diff --git a/wp-content/plugins/classic-editor/LICENSE.md b/wp-content/plugins/classic-editor/LICENSE.md new file mode 100755 index 00000000..7918e383 --- /dev/null +++ b/wp-content/plugins/classic-editor/LICENSE.md @@ -0,0 +1,400 @@ +### WordPress - Web publishing software + + Copyright 2011-2019 by the contributors + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +This program incorporates work covered by the following copyright and +permission notices: + + b2 is (c) 2001, 2002 Michel Valdrighi - m@tidakada.com - + http://tidakada.com + + Wherever third party code has been used, credit has been given in the code's + comments. + + b2 is released under the GPL + +and + + WordPress - Web publishing software + + Copyright 2003-2010 by the contributors + + WordPress is released under the GPL + +--- + +### GNU GENERAL PUBLIC LICENSE + +Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +### Preamble + +The licenses for most software are designed to take away your freedom +to share and change it. By contrast, the GNU General Public License is +intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the software, or if you modify it. + +For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + +We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + +Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, +we want its recipients to know that what they have is not the +original, so that any problems introduced by others will not reflect +on the original authors' reputations. + +Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at +all. + +The precise terms and conditions for copying, distribution and +modification follow. + +### TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +**0.** This License applies to any program or other work which +contains a notice placed by the copyright holder saying it may be +distributed under the terms of this General Public License. The +"Program", below, refers to any such program or work, and a "work +based on the Program" means either the Program or any derivative work +under copyright law: that is to say, a work containing the Program or +a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is +included without limitation in the term "modification".) Each licensee +is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the Program +(independent of having been made by running the Program). Whether that +is true depends on what the Program does. + +**1.** You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a +fee. + +**2.** You may modify your copy or copies of the Program or any +portion of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + +**a)** You must cause the modified files to carry prominent notices +stating that you changed the files and the date of any change. + + +**b)** You must cause any work that you distribute or publish, that in +whole or in part contains or is derived from the Program or any part +thereof, to be licensed as a whole at no charge to all third parties +under the terms of this License. + + +**c)** If the modified program normally reads commands interactively +when run, you must cause it, when started running for such interactive +use in the most ordinary way, to print or display an announcement +including an appropriate copyright notice and a notice that there is +no warranty (or else, saying that you provide a warranty) and that +users may redistribute the program under these conditions, and telling +the user how to view a copy of this License. (Exception: if the +Program itself is interactive but does not normally print such an +announcement, your work based on the Program is not required to print +an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + +**3.** You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + +**a)** Accompany it with the complete corresponding machine-readable +source code, which must be distributed under the terms of Sections 1 +and 2 above on a medium customarily used for software interchange; or, + + +**b)** Accompany it with a written offer, valid for at least three +years, to give any third party, for a charge no more than your cost of +physically performing source distribution, a complete machine-readable +copy of the corresponding source code, to be distributed under the +terms of Sections 1 and 2 above on a medium customarily used for +software interchange; or, + + +**c)** Accompany it with the information you received as to the offer +to distribute corresponding source code. (This alternative is allowed +only for noncommercial distribution and only if you received the +program in object code or executable form with such an offer, in +accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + +**4.** You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt otherwise +to copy, modify, sublicense or distribute the Program is void, and +will automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + +**5.** You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +**6.** Each time you redistribute the Program (or any work based on +the Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + +**7.** If, as a consequence of a court judgment or allegation of +patent infringement or for any other reason (not limited to patent +issues), conditions are imposed on you (whether by court order, +agreement or otherwise) that contradict the conditions of this +License, they do not excuse you from the conditions of this License. +If you cannot distribute so as to satisfy simultaneously your +obligations under this License and any other pertinent obligations, +then as a consequence you may not distribute the Program at all. For +example, if a patent license would not permit royalty-free +redistribution of the Program by all those who receive copies directly +or indirectly through you, then the only way you could satisfy both it +and this License would be to refrain entirely from distribution of the +Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + +**8.** If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + +**9.** The Free Software Foundation may publish revised and/or new +versions of the General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Program does not specify a +version number of this License, you may choose any version ever +published by the Free Software Foundation. + +**10.** If you wish to incorporate parts of the Program into other +free programs whose distribution conditions are different, write to +the author to ask for permission. For software which is copyrighted by +the Free Software Foundation, write to the Free Software Foundation; +we sometimes make exceptions for this. Our decision will be guided by +the two goals of preserving the free status of all derivatives of our +free software and of promoting the sharing and reuse of software +generally. + +**NO WARRANTY** + +**11.** BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +**12.** IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + +### END OF TERMS AND CONDITIONS + +### How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. + +To do so, attach the following notices to the program. It is safest to +attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + one line to give the program's name and an idea of what it does. + Copyright (C) yyyy name of author + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +Also add information on how to contact you by electronic and paper +mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details + type `show w'. This is free software, and you are welcome + to redistribute it under certain conditions; type `show c' + for details. + +The hypothetical commands \`show w' and \`show c' should show the +appropriate parts of the General Public License. Of course, the +commands you use may be called something other than \`show w' and +\`show c'; they could even be mouse-clicks or menu items--whatever +suits your program. + +You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the program, +if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright + interest in the program `Gnomovision' + (which makes passes at compilers) written + by James Hacker. + + signature of Ty Coon, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, +you may consider it more useful to permit linking proprietary +applications with the library. If this is what you want to do, use the +[GNU Lesser General Public +License](http://www.gnu.org/licenses/lgpl.html) instead of this +License. diff --git a/wp-content/plugins/classic-editor/classic-editor.php b/wp-content/plugins/classic-editor/classic-editor.php new file mode 100755 index 00000000..b0c1af48 --- /dev/null +++ b/wp-content/plugins/classic-editor/classic-editor.php @@ -0,0 +1,1033 @@ +=' ) ) { + add_filter( 'block_editor_settings_all', array( __CLASS__, 'remember_block_editor' ), 10, 2 ); + } else { + add_filter( 'block_editor_settings', array( __CLASS__, 'remember_block_editor' ), 10, 2 ); + } + + // Post state (edit.php) + add_filter( 'display_post_states', array( __CLASS__, 'add_post_state' ), 10, 2 ); + // Row actions (edit.php) + add_filter( 'page_row_actions', array( __CLASS__, 'add_edit_links' ), 15, 2 ); + add_filter( 'post_row_actions', array( __CLASS__, 'add_edit_links' ), 15, 2 ); + + // Switch editors while editing a post + add_action( 'add_meta_boxes', array( __CLASS__, 'add_meta_box' ), 10, 2 ); + add_action( 'enqueue_block_editor_assets', array( __CLASS__, 'enqueue_block_editor_scripts' ) ); + } else { + if ( $settings['editor'] === 'classic' ) { + // Also used in Gutenberg. + // Consider disabling other Block Editor functionality. + add_filter( 'use_block_editor_for_post_type', '__return_false', 100 ); + + if ( $gutenberg ) { + // Support older Gutenberg versions. + add_filter( 'gutenberg_can_edit_post_type', '__return_false', 100 ); + self::remove_gutenberg_hooks(); + } + } else { + // $settings['editor'] === 'block', nothing to do :) + return; + } + } + + if ( $block_editor ) { + // Move the Privacy Page notice back under the title. + add_action( 'admin_init', array( __CLASS__, 'on_admin_init' ) ); + } + if ( $gutenberg ) { + // These are handled by this plugin. All are older, not used in 5.3+. + remove_action( 'admin_init', 'gutenberg_add_edit_link_filters' ); + remove_action( 'admin_print_scripts-edit.php', 'gutenberg_replace_default_add_new_button' ); + remove_filter( 'redirect_post_location', 'gutenberg_redirect_to_classic_editor_when_saving_posts' ); + remove_filter( 'display_post_states', 'gutenberg_add_gutenberg_post_state' ); + remove_action( 'edit_form_top', 'gutenberg_remember_classic_editor_when_saving_posts' ); + } + } + + public static function remove_gutenberg_hooks( $remove = 'all' ) { + remove_action( 'admin_menu', 'gutenberg_menu' ); + remove_action( 'admin_init', 'gutenberg_redirect_demo' ); + + if ( $remove !== 'all' ) { + return; + } + + // Gutenberg 5.3+ + remove_action( 'wp_enqueue_scripts', 'gutenberg_register_scripts_and_styles' ); + remove_action( 'admin_enqueue_scripts', 'gutenberg_register_scripts_and_styles' ); + remove_action( 'admin_notices', 'gutenberg_wordpress_version_notice' ); + remove_action( 'rest_api_init', 'gutenberg_register_rest_widget_updater_routes' ); + remove_action( 'admin_print_styles', 'gutenberg_block_editor_admin_print_styles' ); + remove_action( 'admin_print_scripts', 'gutenberg_block_editor_admin_print_scripts' ); + remove_action( 'admin_print_footer_scripts', 'gutenberg_block_editor_admin_print_footer_scripts' ); + remove_action( 'admin_footer', 'gutenberg_block_editor_admin_footer' ); + remove_action( 'admin_enqueue_scripts', 'gutenberg_widgets_init' ); + remove_action( 'admin_notices', 'gutenberg_build_files_notice' ); + + remove_filter( 'load_script_translation_file', 'gutenberg_override_translation_file' ); + remove_filter( 'block_editor_settings', 'gutenberg_extend_block_editor_styles' ); + remove_filter( 'default_content', 'gutenberg_default_demo_content' ); + remove_filter( 'default_title', 'gutenberg_default_demo_title' ); + remove_filter( 'block_editor_settings', 'gutenberg_legacy_widget_settings' ); + remove_filter( 'rest_request_after_callbacks', 'gutenberg_filter_oembed_result' ); + + // Previously used, compat for older Gutenberg versions. + remove_filter( 'wp_refresh_nonces', 'gutenberg_add_rest_nonce_to_heartbeat_response_headers' ); + remove_filter( 'get_edit_post_link', 'gutenberg_revisions_link_to_editor' ); + remove_filter( 'wp_prepare_revision_for_js', 'gutenberg_revisions_restore' ); + + remove_action( 'rest_api_init', 'gutenberg_register_rest_routes' ); + remove_action( 'rest_api_init', 'gutenberg_add_taxonomy_visibility_field' ); + remove_filter( 'registered_post_type', 'gutenberg_register_post_prepare_functions' ); + + remove_action( 'do_meta_boxes', 'gutenberg_meta_box_save' ); + remove_action( 'submitpost_box', 'gutenberg_intercept_meta_box_render' ); + remove_action( 'submitpage_box', 'gutenberg_intercept_meta_box_render' ); + remove_action( 'edit_page_form', 'gutenberg_intercept_meta_box_render' ); + remove_action( 'edit_form_advanced', 'gutenberg_intercept_meta_box_render' ); + remove_filter( 'redirect_post_location', 'gutenberg_meta_box_save_redirect' ); + remove_filter( 'filter_gutenberg_meta_boxes', 'gutenberg_filter_meta_boxes' ); + + remove_filter( 'body_class', 'gutenberg_add_responsive_body_class' ); + remove_filter( 'admin_url', 'gutenberg_modify_add_new_button_url' ); // old + remove_action( 'admin_enqueue_scripts', 'gutenberg_check_if_classic_needs_warning_about_blocks' ); + remove_filter( 'register_post_type_args', 'gutenberg_filter_post_type_labels' ); + + // phpcs:disable Squiz.PHP.CommentedOutCode.Found + // Keep + // remove_filter( 'wp_kses_allowed_html', 'gutenberg_kses_allowedtags', 10, 2 ); // not needed in 5.0 + // remove_filter( 'bulk_actions-edit-wp_block', 'gutenberg_block_bulk_actions' ); + // remove_filter( 'wp_insert_post_data', 'gutenberg_remove_wpcom_markdown_support' ); + // remove_filter( 'the_content', 'do_blocks', 9 ); + // remove_action( 'init', 'gutenberg_register_post_types' ); + + // Continue to manage wpautop for posts that were edited in Gutenberg. + // remove_filter( 'wp_editor_settings', 'gutenberg_disable_editor_settings_wpautop' ); + // remove_filter( 'the_content', 'gutenberg_wpautop', 8 ); + // phpcs:enable Squiz.PHP.CommentedOutCode.Found + + } + + private static function get_settings( $refresh = 'no', $user_id = 0 ) { + /** + * Can be used to override the plugin's settings. Always hides the settings UI when used (as users cannot change the settings). + * + * Has to return an associative array with two keys. + * The defaults are: + * 'editor' => 'classic', // Accepted values: 'classic', 'block'. + * 'allow-users' => false, + * + * @param boolean To override the settings return an array with the above keys. Default false. + */ + $settings = apply_filters( 'classic_editor_plugin_settings', false ); + + if ( is_array( $settings ) ) { + return array( + 'editor' => ( isset( $settings['editor'] ) && $settings['editor'] === 'block' ) ? 'block' : 'classic', + 'allow-users' => ! empty( $settings['allow-users'] ), + 'hide-settings-ui' => true, + ); + } + + if ( ! empty( self::$settings ) && $refresh === 'no' ) { + return self::$settings; + } + + if ( is_multisite() ) { + $defaults = array( + 'editor' => get_network_option( null, 'classic-editor-replace' ) === 'block' ? 'block' : 'classic', + 'allow-users' => false, + ); + + /** + * Filters the default network options. + * + * @param array $defaults The default options array. See `classic_editor_plugin_settings` for supported keys and values. + */ + $defaults = apply_filters( 'classic_editor_network_default_settings', $defaults ); + + if ( get_network_option( null, 'classic-editor-allow-sites' ) !== 'allow' ) { + // Per-site settings are disabled. Return default network options nad hide the settings UI. + $defaults['hide-settings-ui'] = true; + return $defaults; + } + + // Override with the site options. + $editor_option = get_option( 'classic-editor-replace' ); + $allow_users_option = get_option( 'classic-editor-allow-users' ); + + if ( $editor_option ) { + $defaults['editor'] = $editor_option; + } + if ( $allow_users_option ) { + $defaults['allow-users'] = ( $allow_users_option === 'allow' ); + } + + $editor = ( isset( $defaults['editor'] ) && $defaults['editor'] === 'block' ) ? 'block' : 'classic'; + $allow_users = ! empty( $defaults['allow-users'] ); + } else { + $allow_users = ( get_option( 'classic-editor-allow-users' ) === 'allow' ); + $option = get_option( 'classic-editor-replace' ); + + // Normalize old options. + if ( $option === 'block' || $option === 'no-replace' ) { + $editor = 'block'; + } else { + // empty( $option ) || $option === 'classic' || $option === 'replace' + $editor = 'classic'; + } + } + + // Override the defaults with the user options. + if ( ( ! isset( $GLOBALS['pagenow'] ) || $GLOBALS['pagenow'] !== 'options-writing.php' ) && $allow_users ) { + + $user_options = get_user_option( 'classic-editor-settings', $user_id ); + + if ( $user_options === 'block' || $user_options === 'classic' ) { + $editor = $user_options; + } + } + + self::$settings = array( + 'editor' => $editor, + 'hide-settings-ui' => false, + 'allow-users' => $allow_users, + ); + + return self::$settings; + } + + private static function is_classic( $post_id = 0 ) { + if ( ! $post_id ) { + $post_id = self::get_edited_post_id(); + } + + if ( $post_id ) { + $settings = self::get_settings(); + + if ( $settings['allow-users'] && ! isset( $_GET['classic-editor__forget'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended + $which = get_post_meta( $post_id, 'classic-editor-remember', true ); + + if ( $which ) { + // The editor choice will be "remembered" when the post is opened in either the classic or the block editor. + if ( 'classic-editor' === $which ) { + return true; + } elseif ( 'block-editor' === $which ) { + return false; + } + } + + return ( ! self::has_blocks( $post_id ) ); + } + } + + if ( isset( $_GET['classic-editor'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended + return true; + } + + return false; + } + + /** + * Get the edited post ID (early) when loading the Edit Post screen. + */ + private static function get_edited_post_id() { + // phpcs:disable WordPress.Security.NonceVerification.Recommended + if ( + ! empty( $_GET['post'] ) && + ! empty( $_GET['action'] ) && + $_GET['action'] === 'edit' && + ! empty( $GLOBALS['pagenow'] ) && + $GLOBALS['pagenow'] === 'post.php' + ) { + return (int) $_GET['post']; // post_ID + } + // phpcs:enable WordPress.Security.NonceVerification.Recommended + + return 0; + } + + public static function register_settings() { + // Add an option to Settings -> Writing + register_setting( 'writing', 'classic-editor-replace', array( + 'sanitize_callback' => array( __CLASS__, 'validate_option_editor' ), + ) ); + + register_setting( 'writing', 'classic-editor-allow-users', array( + 'sanitize_callback' => array( __CLASS__, 'validate_option_allow_users' ), + ) ); + + $allowed_options = array( + 'writing' => array( + 'classic-editor-replace', + 'classic-editor-allow-users' + ), + ); + + if ( function_exists( 'add_allowed_options' ) ) { + add_allowed_options( $allowed_options ); + } else { + add_option_whitelist( $allowed_options ); + } + + $heading_1 = __( 'Default editor for all users', 'classic-editor' ); + $heading_2 = __( 'Allow users to switch editors', 'classic-editor' ); + + add_settings_field( 'classic-editor-1', $heading_1, array( __CLASS__, 'settings_1' ), 'writing' ); + add_settings_field( 'classic-editor-2', $heading_2, array( __CLASS__, 'settings_2' ), 'writing' ); + } + + public static function save_user_settings( $user_id ) { + if ( + isset( $_POST['classic-editor-user-settings'] ) && + isset( $_POST['classic-editor-replace'] ) && + wp_verify_nonce( $_POST['classic-editor-user-settings'], 'allow-user-settings' ) // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized + ) { + $user_id = (int) $user_id; + + if ( $user_id !== get_current_user_id() && ! current_user_can( 'edit_user', $user_id ) ) { + return; + } + + $editor = self::validate_option_editor( $_POST['classic-editor-replace'] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized + update_user_option( $user_id, 'classic-editor-settings', $editor ); + } + } + + /** + * Validate + */ + public static function validate_option_editor( $value ) { + if ( $value === 'block' ) { + return 'block'; + } + + return 'classic'; + } + + public static function validate_option_allow_users( $value ) { + if ( $value === 'allow' ) { + return 'allow'; + } + + return 'disallow'; + } + + public static function settings_1( $user_id = 0 ) { + $settings = self::get_settings( 'refresh', $user_id ); + + ?> +
+

+ /> + +

+

+ /> + +

+
+ + +
+

+ /> + +

+

+ /> + +

+
+ ID; + } else { + $user_id = 0; + } + + ?> + + + + + +
+ + +
+ + +

+ + + + + + + + + + +
+

+ /> + +

+

+ /> + +

+
+ > + +

+
+ + + ID, 'classic-editor' ); + } + } + + /** + * Remember when the block editor was used to edit a post. + */ + public static function remember_block_editor( $editor_settings, $context ) { + if ( is_a( $context, 'WP_Post' ) ) { + $post = $context; + } elseif ( ! empty( $context->post ) ) { + $post = $context->post; + } else { + return $editor_settings; + } + + $post_type = get_post_type( $post ); + + if ( $post_type && self::can_edit_post_type( $post_type ) ) { + self::remember( $post->ID, 'block-editor' ); + } + + return $editor_settings; + } + + private static function remember( $post_id, $editor ) { + if ( get_post_meta( $post_id, 'classic-editor-remember', true ) !== $editor ) { + update_post_meta( $post_id, 'classic-editor-remember', $editor ); + } + } + + /** + * Choose which editor to use for a post. + * + * Passes through `$which_editor` for block editor (it's sets to `true` but may be changed by another plugin). + * + * @uses `use_block_editor_for_post` filter. + * + * @param boolean $use_block_editor True for block editor, false for classic editor. + * @param WP_Post $post The post being edited. + * @return boolean True for block editor, false for classic editor. + */ + public static function choose_editor( $use_block_editor, $post ) { + $settings = self::get_settings(); + $editors = self::get_enabled_editors_for_post( $post ); + + // If no editor is supported, pass through `$use_block_editor`. + if ( ! $editors['block_editor'] && ! $editors['classic_editor'] ) { + return $use_block_editor; + } + + // Open the default editor when no $post and for "Add New" links, + // or the alternate editor when the user is switching editors. + // phpcs:disable WordPress.Security.NonceVerification.Recommended + if ( empty( $post->ID ) || $post->post_status === 'auto-draft' ) { + if ( + ( $settings['editor'] === 'classic' && ! isset( $_GET['classic-editor__forget'] ) ) || // Add New + ( isset( $_GET['classic-editor'] ) && isset( $_GET['classic-editor__forget'] ) ) // Switch to classic editor when no draft post. + ) { + $use_block_editor = false; + } + } elseif ( self::is_classic( $post->ID ) ) { + $use_block_editor = false; + } + // phpcs:enable WordPress.Security.NonceVerification.Recommended + + // Enforce the editor if set by plugins. + if ( $use_block_editor && ! $editors['block_editor'] ) { + $use_block_editor = false; + } elseif ( ! $use_block_editor && ! $editors['classic_editor'] && $editors['block_editor'] ) { + $use_block_editor = true; + } + + return $use_block_editor; + } + + /** + * Keep the `classic-editor` query arg through redirects when saving posts. + */ + public static function redirect_location( $location ) { + if ( + isset( $_REQUEST['classic-editor'] ) || // phpcs:ignore WordPress.Security.NonceVerification.Recommended + ( isset( $_POST['_wp_http_referer'] ) && strpos( $_POST['_wp_http_referer'], '&classic-editor' ) !== false ) // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.NonceVerification.Missing + ) { + $location = add_query_arg( 'classic-editor', '', $location ); + } + + return $location; + } + + /** + * Keep the `classic-editor` query arg when looking at revisions. + */ + public static function get_edit_post_link( $url ) { + $settings = self::get_settings(); + + if ( isset( $_REQUEST['classic-editor'] ) || $settings['editor'] === 'classic' ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended + $url = add_query_arg( 'classic-editor', '', $url ); + } + + return $url; + } + + public static function add_meta_box( $post_type, $post ) { + $editors = self::get_enabled_editors_for_post( $post ); + + if ( ! $editors['block_editor'] || ! $editors['classic_editor'] ) { + // Editors cannot be switched. + return; + } + + $id = 'classic-editor-switch-editor'; + $title = __( 'Editor', 'classic-editor' ); + $callback = array( __CLASS__, 'do_meta_box' ); + $args = array( + '__back_compat_meta_box' => true, + ); + + add_meta_box( $id, $title, $callback, null, 'side', 'default', $args ); + } + + public static function do_meta_box( $post ) { + $edit_url = get_edit_post_link( $post->ID, 'raw' ); + + // Switching to block editor. + $edit_url = remove_query_arg( 'classic-editor', $edit_url ); + // Forget the previous value when going to a specific editor. + $edit_url = add_query_arg( 'classic-editor__forget', '', $edit_url ); + + ?> +

+ +

+ __( 'Switch to classic editor', 'classic-editor' ) ) + ); + } + + /** + * Add a link to the settings on the Plugins screen. + */ + public static function add_settings_link( $links, $file ) { + $settings = self::get_settings(); + + if ( $file === 'classic-editor/classic-editor.php' && ! $settings['hide-settings-ui'] && current_user_can( 'manage_options' ) ) { + if ( current_filter() === 'plugin_action_links' ) { + $url = admin_url( 'options-writing.php#classic-editor-options' ); + } else { + $url = admin_url( '/network/settings.php#classic-editor-options' ); + } + + // Prevent warnings in PHP 7.0+ when a plugin uses this filter incorrectly. + $links = (array) $links; + $links[] = sprintf( '%s', $url, __( 'Settings', 'classic-editor' ) ); + } + + return $links; + } + + private static function can_edit_post_type( $post_type ) { + $can_edit = false; + + if ( function_exists( 'gutenberg_can_edit_post_type' ) ) { + $can_edit = gutenberg_can_edit_post_type( $post_type ); + } elseif ( function_exists( 'use_block_editor_for_post_type' ) ) { + $can_edit = use_block_editor_for_post_type( $post_type ); + } + + return $can_edit; + } + + /** + * Checks which editors are enabled for the post type. + * + * @param string $post_type The post type. + * @return array Associative array of the editors and whether they are enabled for the post type. + */ + private static function get_enabled_editors_for_post_type( $post_type ) { + if ( isset( self::$supported_post_types[ $post_type ] ) ) { + return self::$supported_post_types[ $post_type ]; + } + + $classic_editor = post_type_supports( $post_type, 'editor' ); + $block_editor = self::can_edit_post_type( $post_type ); + + $editors = array( + 'classic_editor' => $classic_editor, + 'block_editor' => $block_editor, + ); + + /** + * Filters the editors that are enabled for the post type. + * + * @param array $editors Associative array of the editors and whether they are enabled for the post type. + * @param string $post_type The post type. + */ + $editors = apply_filters( 'classic_editor_enabled_editors_for_post_type', $editors, $post_type ); + self::$supported_post_types[ $post_type ] = $editors; + + return $editors; + } + + /** + * Checks which editors are enabled for the post. + * + * @param WP_Post $post The post object. + * @return array Associative array of the editors and whether they are enabled for the post. + */ + private static function get_enabled_editors_for_post( $post ) { + $post_type = get_post_type( $post ); + + if ( ! $post_type ) { + return array( + 'classic_editor' => false, + 'block_editor' => false, + ); + } + + $editors = self::get_enabled_editors_for_post_type( $post_type ); + + /** + * Filters the editors that are enabled for the post. + * + * @param array $editors Associative array of the editors and whether they are enabled for the post. + * @param WP_Post $post The post object. + */ + return apply_filters( 'classic_editor_enabled_editors_for_post', $editors, $post ); + } + + /** + * Adds links to the post/page screens to edit any post or page in + * the classic editor or block editor. + * + * @param array $actions Post actions. + * @param WP_Post $post Edited post. + * @return array Updated post actions. + */ + public static function add_edit_links( $actions, $post ) { + // This is in Gutenberg, don't duplicate it. + if ( array_key_exists( 'classic', $actions ) ) { + unset( $actions['classic'] ); + } + + if ( ! array_key_exists( 'edit', $actions ) ) { + return $actions; + } + + $edit_url = get_edit_post_link( $post->ID, 'raw' ); + + if ( ! $edit_url ) { + return $actions; + } + + $editors = self::get_enabled_editors_for_post( $post ); + + // Do not show the links if only one editor is available. + if ( ! $editors['classic_editor'] || ! $editors['block_editor'] ) { + return $actions; + } + + // Forget the previous value when going to a specific editor. + $edit_url = add_query_arg( 'classic-editor__forget', '', $edit_url ); + + // Build the edit actions. See also: WP_Posts_List_Table::handle_row_actions(). + $title = _draft_or_post_title( $post->ID ); + + // Link to the block editor. + $url = remove_query_arg( 'classic-editor', $edit_url ); + $text = _x( 'Edit (block editor)', 'Editor Name', 'classic-editor' ); + /* translators: %s: post title */ + $label = sprintf( __( 'Edit “%s” in the block editor', 'classic-editor' ), $title ); + $edit_block = sprintf( '%s', esc_url( $url ), esc_attr( $label ), $text ); + + // Link to the classic editor. + $url = add_query_arg( 'classic-editor', '', $edit_url ); + $text = _x( 'Edit (classic editor)', 'Editor Name', 'classic-editor' ); + /* translators: %s: post title */ + $label = sprintf( __( 'Edit “%s” in the classic editor', 'classic-editor' ), $title ); + $edit_classic = sprintf( '%s', esc_url( $url ), esc_attr( $label ), $text ); + + $edit_actions = array( + 'classic-editor-block' => $edit_block, + 'classic-editor-classic' => $edit_classic, + ); + + // Insert the new Edit actions instead of the Edit action. + $edit_offset = array_search( 'edit', array_keys( $actions ), true ); + array_splice( $actions, $edit_offset, 1, $edit_actions ); + + return $actions; + } + + /** + * Show the editor that will be used in a "post state" in the Posts list table. + */ + public static function add_post_state( $post_states, $post ) { + if ( get_post_status( $post ) === 'trash' ) { + return $post_states; + } + + $editors = self::get_enabled_editors_for_post( $post ); + + if ( ! $editors['classic_editor'] && ! $editors['block_editor'] ) { + return $post_states; + } elseif ( $editors['classic_editor'] && ! $editors['block_editor'] ) { + // Forced to classic editor. + $state = '' . _x( 'classic editor', 'Editor Name', 'classic-editor' ) . ''; + } elseif ( ! $editors['classic_editor'] && $editors['block_editor'] ) { + // Forced to block editor. + $state = '' . _x( 'block editor', 'Editor Name', 'classic-editor' ) . ''; + } else { + $last_editor = get_post_meta( $post->ID, 'classic-editor-remember', true ); + + if ( $last_editor ) { + $is_classic = ( $last_editor === 'classic-editor' ); + } elseif ( ! empty( $post->post_content ) ) { + $is_classic = ! self::has_blocks( $post->post_content ); + } else { + $settings = self::get_settings(); + $is_classic = ( $settings['editor'] === 'classic' ); + } + + $state = $is_classic ? _x( 'Classic editor', 'Editor Name', 'classic-editor' ) : _x( 'Block editor', 'Editor Name', 'classic-editor' ); + } + + // Fix PHP 7+ warnings if another plugin returns unexpected type. + $post_states = (array) $post_states; + $post_states['classic-editor-plugin'] = $state; + + return $post_states; + } + + public static function add_edit_php_inline_style() { + ?> + + post_content; + } + } + + return false !== strpos( (string) $post, ' +
+
+

Our Team

+

Meet the dedicated professionals ready to help you with all your real estate needs.

+
+
@@ -122,7 +122,7 @@ $agent_count = count($agents_data); - View Profile + Profile
diff --git a/wp-content/themes/homeproz/archive-property.php b/wp-content/themes/homeproz/archive-property.php index 745dc8d3..00c94bcc 100755 --- a/wp-content/themes/homeproz/archive-property.php +++ b/wp-content/themes/homeproz/archive-property.php @@ -14,11 +14,12 @@ if (!defined('ABSPATH')) { get_header(); -// Check if map view is enabled -$show_map = isset($_GET['view']) && $_GET['view'] === 'map'; +// Map view is default on desktop, grid view requires ?view=grid +$show_map = !isset($_GET['view']) || $_GET['view'] !== 'grid'; +$view_class = $show_map ? 'is-map-view' : 'is-grid-view'; ?> -
+
- -
- + 'property', + 'posts_per_page' => -1, +)); + +$markers = array(); +$city_coords = array( + 'Albert Lea' => array(43.6480, -93.3685), + 'Austin' => array(43.6666, -92.9746), + 'Glenville' => array(43.5733, -93.2779), + 'Emmons' => array(43.5013, -93.4896), + 'Clarks Grove' => array(43.7627, -93.3196), + 'Alden' => array(43.6719, -93.5768), + 'Hartland' => array(43.8030, -93.4846), + 'Geneva' => array(43.8255, -93.2682), + 'Owatonna' => array(44.0838, -93.2260), + 'Faribault' => array(44.2949, -93.2688), + 'Rochester' => array(44.0234, -92.4699), + 'Mankato' => array(44.1636, -93.9994), +); + +if ($map_properties->have_posts()) : + while ($map_properties->have_posts()) : + $map_properties->the_post(); + $city = get_field('city'); + $price = get_field('property_price'); + $address = get_field('street_address'); + + // Get coords for city, default to Albert Lea + $coords = isset($city_coords[$city]) ? $city_coords[$city] : $city_coords['Albert Lea']; + // Add small random offset (seeded by post ID for consistency) + srand(get_the_ID()); + $lat = $coords[0] + (rand(-50, 50) / 10000); + $lng = $coords[1] + (rand(-50, 50) / 10000); + + $markers[] = array( + 'id' => get_the_ID(), + 'lat' => $lat, + 'lng' => $lng, + 'title' => get_the_title(), + 'price' => '$' . number_format($price), + 'address' => $address . ', ' . $city, + 'url' => get_permalink(), + ); + endwhile; + wp_reset_postdata(); +endif; +?> - *:first-child{margin-top:0}.entry-content>*:last-child{margin-bottom:0}.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{margin-top:2rem}.entry-content ul,.entry-content ol{margin-bottom:1rem;padding-left:1.5rem}.entry-content ul li,.entry-content ol li{margin-bottom:.5rem}.entry-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:4px solid var(--color-accent);background-color:var(--color-bg-card)}.entry-content blockquote p:last-child{margin-bottom:0}.entry-content table{width:100%;margin-bottom:1rem;border-collapse:collapse}.entry-content table th,.entry-content table td{padding:.75rem;border:1px solid var(--color-border);text-align:left}.entry-content table th{background-color:var(--color-bg-card);font-weight:600;color:var(--color-text)}.entry-content img{max-width:100%;height:auto;border-radius:.25rem}.entry-content code{padding:.125rem .375rem;background-color:var(--color-bg-card);border-radius:.25rem;font-size:.875em}.entry-content pre{margin-bottom:1rem;padding:1rem;background-color:var(--color-bg-card);border-radius:.25rem;overflow-x:auto}.entry-content pre code{padding:0;background:none}.page-links{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-border);font-weight:500}.page-links .page-numbers{display:inline-block;padding:.25rem .5rem;margin:0 .25rem;background-color:var(--color-bg-card);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none}.page-links .page-numbers.current,.page-links .page-numbers:hover{background-color:var(--color-accent);color:#fff}.archive-header{margin-bottom:2rem;padding:2rem 0;border-bottom:1px solid var(--color-border)}.archive-title{margin-bottom:0}.posts-grid{display:grid;grid-template-columns:1fr;gap:2rem;padding:2rem 0}@media (min-width: 768px){.posts-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.posts-grid{grid-template-columns:repeat(3,1fr)}}.post-card{display:flex;flex-direction:column}.post-card-image{display:block;aspect-ratio:16/10;overflow:hidden}.post-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.post-card-content{display:flex;flex-direction:column;flex-grow:1;padding:1.25rem}.post-card-header{margin-bottom:.75rem}.post-card-meta{margin-bottom:.5rem}.post-card-meta time{font-size:.8125rem;color:var(--color-text-muted)}.post-card-title{font-family:var(--font-body);font-size:1.125rem;font-weight:600;line-height:1.4;margin-bottom:0}.post-card-title a{color:var(--color-text);text-decoration:none}.post-card-title a:hover{color:var(--color-accent-light)}.post-card-excerpt{flex-grow:1;margin-bottom:1rem}.post-card-excerpt p{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:0;line-height:1.6}.post-card-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-accent-light);text-decoration:none}.post-card-link:hover{color:var(--color-accent-hover)}.post-card-link svg{width:16px;height:16px}.pagination,.nav-links{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:2rem 0;flex-wrap:wrap}.pagination .page-numbers,.nav-links .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;background-color:var(--color-bg-card);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none;font-size:.875rem;font-weight:500}.pagination .page-numbers.current,.nav-links .page-numbers.current{background-color:var(--color-accent);color:#fff}.pagination .page-numbers:hover:not(.current):not(.dots),.nav-links .page-numbers:hover:not(.current):not(.dots){background-color:var(--color-border);color:var(--color-text)}.pagination .page-numbers.dots,.nav-links .page-numbers.dots{background:none;cursor:default}.pagination .prev,.pagination .next,.nav-links .prev,.nav-links .next{padding:0 1rem}.no-posts{text-align:center;padding:4rem 0;color:var(--color-text-muted)}.Single_Post .single-post-main{padding:0}.Single_Post .single-post-hero{width:100%;max-height:60vh;overflow:hidden}.Single_Post .single-post-hero img{width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.Single_Post .single-post-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.Single_Post .single-post-section{padding:3rem 0}}.Single_Post .single-post-layout{display:grid;grid-template-columns:1fr 320px;gap:3rem}@media (max-width: 1024px){.Single_Post .single-post-layout{grid-template-columns:1fr;gap:3rem}}.Single_Post .related-posts-section{padding:4rem 0;background-color:var(--color-bg-card)}@media (max-width: 768px){.Single_Post .related-posts-section{padding:3rem 0}}.Single_Post .related-posts-header{text-align:center;margin-bottom:2rem}.Single_Post .related-posts-title{font-family:var(--font-display);font-size:1.875rem;color:var(--color-text);margin-bottom:0}.Single_Post .related-posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 1024px){.Single_Post .related-posts-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.Single_Post .related-posts-grid{grid-template-columns:1fr}}.single-post{padding:0;max-width:none}.post-header{margin-bottom:2rem}.post-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;color:var(--color-text-muted)}.post-meta time{color:var(--color-text-muted)}.post-meta .meta-separator{color:var(--color-border)}.post-meta .post-categories a{color:var(--color-accent-light);text-decoration:none}.post-meta .post-categories a:hover{color:var(--color-accent-hover)}.post-title{font-size:2.5rem;margin-bottom:0}@media (max-width: 768px){.post-title{font-size:2rem}}.post-featured-image{margin-bottom:2rem;border-radius:.5rem;overflow:hidden}.post-featured-image img{width:100%;height:auto;display:block}.post-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.post-tags .tags-label{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.post-tags .tag-link{display:inline-block;padding:.25rem .75rem;background-color:var(--color-bg-card);border-radius:.25rem;font-size:.8125rem;color:var(--color-text-muted);text-decoration:none}.post-tags .tag-link:hover{background-color:var(--color-accent);color:#fff}.post-navigation{margin-top:3rem;padding:1.5rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.post-navigation .nav-links{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 640px){.post-navigation .nav-links{grid-template-columns:1fr 1fr}}.post-navigation .nav-previous a,.post-navigation .nav-next a{display:block;text-decoration:none}.post-navigation .nav-next{text-align:right}.post-navigation .nav-subtitle{display:block;font-size:.8125rem;color:var(--color-text-muted);margin-bottom:.25rem}.post-navigation .nav-title{display:block;font-size:1rem;font-weight:500;color:var(--color-text);line-height:1.4}.post-navigation a:hover .nav-title{color:var(--color-accent-light)}.comments-area{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border)}.comments-title{margin-bottom:1.5rem}.comment-list{list-style:none;margin:0;padding:0}.comment-list .comment{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.comment-list .comment:last-child{border-bottom:none}.comment-list .comment-body{display:flex;gap:1rem}.comment-list .comment-author{flex-shrink:0}.comment-list .comment-author img{border-radius:50%}.comment-list .comment-content{flex-grow:1}.comment-list .fn{font-weight:600;color:var(--color-text)}.comment-list .comment-metadata{margin-bottom:.5rem;font-size:.8125rem;color:var(--color-text-muted)}.comment-list .comment-metadata a{color:var(--color-text-muted);text-decoration:none}.comment-list .comment-metadata a:hover{color:var(--color-accent-light)}.comment-respond{margin-top:2rem}.comment-reply-title{margin-bottom:1rem}.comment-form label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text)}.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{margin-bottom:1rem}.comment-form .form-submit{margin-top:1rem}.error-404{text-align:center;padding:4rem 0;max-width:600px;margin:0 auto}.error-header{margin-bottom:2rem}.error-title{font-size:8rem;line-height:1;color:var(--color-accent);margin-bottom:.5rem}@media (max-width: 640px){.error-title{font-size:5rem}}.error-subtitle{font-size:1.5rem;font-weight:500;color:var(--color-text);margin-bottom:0}.error-content{margin-bottom:2rem}.error-content p{font-size:1rem;color:var(--color-text-muted)}.error-actions{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.error-search{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}.error-search p{margin-bottom:1rem;color:var(--color-text-muted)}.search-form{display:flex;max-width:400px;margin:0 auto}.search-form .search-field{flex-grow:1;border-radius:.25rem 0 0 .25rem}.search-form .search-submit{flex-shrink:0;padding:.75rem 1.25rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:0 .25rem .25rem 0;font-weight:600;cursor:pointer}.search-form .search-submit:hover{background-color:var(--color-accent-hover)}.Home_Page .homepage-main{padding:0}.Home_Page .hero-desktop-only{display:none}@media (min-width: 1450px){.Home_Page .hero-desktop-only{display:block}}.Home_Page .hero-mobile-only{display:block}@media (min-width: 1450px){.Home_Page .hero-mobile-only{display:none}}.Home_Page .section-header{text-align:center;margin-bottom:3rem}@media (max-width: 768px){.Home_Page .section-header{margin-bottom:2rem}}.Home_Page .section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.Home_Page .section-title{font-size:1.875rem}}.Home_Page .section-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.Home_Page .section-footer{text-align:center;margin-top:2.5rem}.Home_Page .featured-properties-section{padding:4rem 0;background-color:var(--color-bg-card)}@media (max-width: 768px){.Home_Page .featured-properties-section{padding:3rem 0}}.Home_Page .featured-properties-section--alt{background-color:var(--color-bg-dark)}.Home_Page .property-grid--3col{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 1024px){.Home_Page .property-grid--3col{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.Home_Page .property-grid--3col{grid-template-columns:1fr}}.Home_Page .no-properties-message{text-align:center;color:var(--color-text-muted);font-size:1.125rem;padding:3rem 0}.About_Page .about-page-main{padding:0}.About_Page .about-story-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.About_Page .about-story-section{padding:3rem 0}}.About_Page .about-story-content{max-width:800px;margin:0 auto}.About_Page .about-story-content h2,.About_Page .about-story-content h3{font-family:var(--font-display);color:var(--color-text);margin-top:2rem}.About_Page .about-story-content p{font-size:1.125rem;line-height:1.8;color:var(--color-text-muted)}.About_Page .about-values-section{padding:4rem 0;background-color:var(--color-bg-card)}@media (max-width: 768px){.About_Page .about-values-section{padding:3rem 0}}.About_Page .about-values-header{text-align:center;margin-bottom:3rem}.About_Page .about-values-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:0}@media (max-width: 768px){.About_Page .about-values-title{font-size:1.875rem}}.About_Page .about-team-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.About_Page .about-team-section{padding:3rem 0}}.About_Page .about-team-header{text-align:center;margin-bottom:3rem}.About_Page .about-team-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.About_Page .about-team-title{font-size:1.875rem}}.About_Page .about-team-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.About_Page .about-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}@media (max-width: 1024px){.About_Page .about-team-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.About_Page .about-team-grid{grid-template-columns:1fr}}.About_Page .about-broker-section{padding:3rem 0;background-color:var(--color-bg-card);border-top:1px solid var(--color-border)}.About_Page .about-broker-content{text-align:center}.About_Page .about-broker-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.5rem}.About_Page .about-broker-text{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:0}.Contact_Page .contact-page-main{padding:0}.Contact_Page .contact-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.Contact_Page .contact-section{padding:3rem 0}}.Contact_Page .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}@media (max-width: 1024px){.Contact_Page .contact-grid{grid-template-columns:1fr;gap:2rem}}.Contact_Page .contact-form-wrapper{background-color:var(--color-bg-card);padding:2rem;border-radius:.5rem}.Contact_Page .contact-form-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:1.5rem}.Contact_Page .contact-form-notice{color:var(--color-text-muted);font-style:italic;margin-bottom:1.5rem}.Contact_Page .contact-form .form-group{margin-bottom:1.25rem}.Contact_Page .contact-form label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.Contact_Page .contact-form label .required{color:var(--color-accent)}.Contact_Page .contact-form input,.Contact_Page .contact-form textarea{width:100%}.Contact_Page .contact-form button[type=submit]{width:100%;margin-top:.5rem}.Contact_Page .wpcf7-form .form-group,.Contact_Page .wpcf7-form p{margin-bottom:1.25rem}.Contact_Page .wpcf7-form label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.Contact_Page .wpcf7-form input[type=text],.Contact_Page .wpcf7-form input[type=email],.Contact_Page .wpcf7-form input[type=tel],.Contact_Page .wpcf7-form textarea{width:100%}.Contact_Page .wpcf7-form input[type=submit]{width:100%;margin-top:.5rem;background-color:var(--color-accent);color:#fff;padding:.75rem 1.5rem;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;border:none;cursor:pointer}.Contact_Page .wpcf7-form input[type=submit]:hover{background-color:var(--color-accent-hover)}.Contact_Page .wpcf7-form .wpcf7-response-output{margin:1rem 0 0;padding:1rem;border-radius:.25rem}.Contact_Page .wpcf7-form .wpcf7-mail-sent-ok{background-color:var(--color-success);color:#fff;border:none}.Contact_Page .wpcf7-form .wpcf7-validation-errors,.Contact_Page .wpcf7-form .wpcf7-mail-sent-ng{background-color:var(--color-accent);color:#fff;border:none}.Contact_Page .contact-info-wrapper{display:flex;flex-direction:column}.Contact_Page .contact-info-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:1.5rem}.Contact_Page .contact-info-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.Contact_Page .contact-info-item{display:flex;gap:1rem}.Contact_Page .contact-info-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-card);border-radius:.5rem;color:var(--color-accent)}.Contact_Page .contact-info-content{flex:1}.Contact_Page .contact-info-label{font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.25rem}.Contact_Page .contact-info-value{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:0;line-height:1.5}.Contact_Page .contact-info-value a{color:var(--color-text-muted)}.Contact_Page .contact-info-value a:hover{color:var(--color-accent-light)}.Contact_Page .contact-map{border-radius:.5rem;overflow:hidden;background-color:var(--color-bg-card)}.Contact_Page .contact-map iframe{display:block}.Contact_Page .contact-additional-content{padding:3rem 0;background-color:var(--color-bg-card)}.Contact_Page .contact-additional-content .entry-content{max-width:800px;margin:0 auto}.Blog_Archive .archive-main,.Archive_Page .archive-main{padding:0}.Blog_Archive .archive-content-section,.Archive_Page .archive-content-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.Blog_Archive .archive-content-section,.Archive_Page .archive-content-section{padding:3rem 0}}.Blog_Archive .archive-layout,.Archive_Page .archive-layout{display:grid;grid-template-columns:1fr 320px;gap:3rem}@media (max-width: 1024px){.Blog_Archive .archive-layout,.Archive_Page .archive-layout{grid-template-columns:1fr;gap:3rem}}.Blog_Archive .posts-grid,.Archive_Page .posts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media (max-width: 768px){.Blog_Archive .posts-grid,.Archive_Page .posts-grid{grid-template-columns:1fr}}.Blog_Archive .no-posts-message,.Archive_Page .no-posts-message{text-align:center;padding:3rem;background-color:var(--color-bg-card);border-radius:.5rem}.Blog_Archive .no-posts-message h2,.Archive_Page .no-posts-message h2{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:.5rem}.Blog_Archive .no-posts-message p,.Archive_Page .no-posts-message p{color:var(--color-text-muted);margin-bottom:0}.Blog_Archive .navigation.pagination,.Archive_Page .navigation.pagination{margin-top:3rem}.Blog_Archive .navigation.pagination .nav-links,.Archive_Page .navigation.pagination .nav-links{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap}.Blog_Archive .navigation.pagination .page-numbers,.Archive_Page .navigation.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;background-color:var(--color-bg-card);color:var(--color-text-muted);border-radius:.25rem;font-size:.875rem}.Blog_Archive .navigation.pagination .page-numbers:hover,.Archive_Page .navigation.pagination .page-numbers:hover,.Blog_Archive .navigation.pagination .page-numbers.current,.Archive_Page .navigation.pagination .page-numbers.current{background-color:var(--color-accent);color:#fff}.Blog_Archive .navigation.pagination .page-numbers svg,.Archive_Page .navigation.pagination .page-numbers svg{width:16px;height:16px}.Blog_Archive .navigation.pagination .prev,.Blog_Archive .navigation.pagination .next,.Archive_Page .navigation.pagination .prev,.Archive_Page .navigation.pagination .next{display:inline-flex;align-items:center;gap:.5rem}@media (max-width: 1024px){.Blog_Archive .archive-sidebar,.Archive_Page .archive-sidebar{max-width:400px}}.sidebar-widgets{display:flex;flex-direction:column;gap:2rem}.sidebar-widget{background-color:var(--color-bg-card);padding:1.5rem;border-radius:.5rem}.widget-title{font-family:var(--font-display);font-size:1.125rem;color:var(--color-text);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.widget-search .search-form{display:flex;gap:.5rem}.widget-search .search-field{flex:1}.widget-search .search-submit{flex-shrink:0;padding:.75rem 1rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:.25rem;cursor:pointer}.widget-search .search-submit:hover{background-color:var(--color-accent-hover)}.category-list{list-style:none;margin:0;padding:0}.category-list li{padding:.5rem 0;border-bottom:1px solid var(--color-border)}.category-list li:last-child{border-bottom:none;padding-bottom:0}.category-list a{display:flex;justify-content:space-between;align-items:center;color:var(--color-text-muted);font-size:.9375rem}.category-list a:hover{color:var(--color-accent-light)}.category-list .count{font-size:.8125rem;color:var(--color-sold)}.recent-posts-list{list-style:none;margin:0;padding:0}.recent-posts-list li{padding:.75rem 0;border-bottom:1px solid var(--color-border)}.recent-posts-list li:last-child{border-bottom:none;padding-bottom:0}.recent-posts-list a{display:block;color:var(--color-text);font-size:.9375rem;font-weight:500;line-height:1.4;margin-bottom:.25rem}.recent-posts-list a:hover{color:var(--color-accent-light)}.recent-posts-list .post-date{display:block;font-size:.8125rem;color:var(--color-sold)}.widget-cta{background-color:var(--color-accent);text-align:center}.widget-cta .widget-title{color:#fff;border-bottom-color:#fff3}.widget-cta p{color:#ffffffe6;font-size:.9375rem;margin-bottom:1rem}.widget-cta .btn-primary,.widget-cta .comment-form .form-submit input[type=submit],.comment-form .form-submit .widget-cta input[type=submit]{background-color:#fff;color:var(--color-accent)}.widget-cta .btn-primary:hover,.widget-cta .comment-form .form-submit input[type=submit]:hover,.comment-form .form-submit .widget-cta input[type=submit]:hover{background-color:var(--color-text)}.widget-cta .btn-small{padding:.5rem 1rem;font-size:.8125rem}.full-width-main{padding:0}.full-width-hero{width:100%;max-height:50vh;overflow:hidden}.full-width-hero img{width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.full-width-content .page-header{padding:3rem 0 2rem}.full-width-content .page-title{font-size:2.5rem;margin-bottom:0}@media (max-width: 768px){.full-width-content .page-title{font-size:2rem}}.full-width-content .entry-content--wide{padding-bottom:4rem}.full-width-content .entry-content--wide>.alignfull{max-width:none}.full-width-content .entry-content--wide>.alignwide{max-width:calc(var(--container-max) + 200px);margin-left:auto;margin-right:auto}.landing-page-site{display:flex;flex-direction:column;min-height:100vh}.landing-header{padding:1rem 0;background-color:var(--color-bg-card);border-bottom:1px solid var(--color-border)}.landing-header-content{text-align:center}.landing-logo{display:inline-block}.landing-logo .custom-logo{max-height:40px;width:auto}.landing-logo .site-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text)}.landing-main{flex:1;padding:0}.landing-content .entry-content>*:first-child{margin-top:0}.landing-content .entry-content>.alignfull{max-width:none;width:100vw;margin-left:calc(-50vw + 50%)}.landing-footer{padding:1.5rem 0;background-color:var(--color-bg-card);border-top:1px solid var(--color-border)}.landing-footer-text{text-align:center;font-size:.875rem;color:var(--color-text-muted);margin:0}.landing-footer-links{display:inline-block;margin-left:1rem;padding-left:1rem;border-left:1px solid var(--color-border)}.landing-footer-links a{color:var(--color-text-muted)}.landing-footer-links a:hover{color:var(--color-accent-light)}.Search_Page .search-main{padding:0}.Search_Page .search-content-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.Search_Page .search-content-section{padding:3rem 0}}.Search_Page .search-form-wrapper{max-width:600px;margin:0 auto 2rem}.Search_Page .search-form-wrapper .search-form{display:flex;gap:.5rem}.Search_Page .search-form-wrapper .search-field{flex:1;padding:1rem 1.25rem;font-size:1rem}.Search_Page .search-form-wrapper .search-submit{padding:1rem 1.5rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:.25rem;font-weight:600;cursor:pointer}.Search_Page .search-form-wrapper .search-submit:hover{background-color:var(--color-accent-hover)}.Search_Page .search-results-count{text-align:center;color:var(--color-text-muted);margin-bottom:2rem}.Search_Page .search-results{display:flex;flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto}.Search_Page .search-result-item{display:flex;gap:1.5rem;padding:1.5rem;background-color:var(--color-bg-card);border-radius:.5rem}@media (max-width: 640px){.Search_Page .search-result-item{flex-direction:column;gap:1rem}}.Search_Page .search-result-image{flex-shrink:0}.Search_Page .search-result-image img{width:120px;height:90px;-o-object-fit:cover;object-fit:cover;border-radius:.25rem}@media (max-width: 640px){.Search_Page .search-result-image img{width:100%;height:200px}}.Search_Page .search-result-content{flex:1}.Search_Page .search-result-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem;font-size:.8125rem}.Search_Page .search-result-type{display:inline-block;padding:.125rem .5rem;background-color:var(--color-accent);color:#fff;border-radius:.25rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em}.Search_Page .search-result-date{color:var(--color-text-muted)}.Search_Page .search-result-title{font-family:var(--font-display);font-size:1.25rem;margin-bottom:.5rem}.Search_Page .search-result-title a{color:var(--color-text)}.Search_Page .search-result-title a:hover{color:var(--color-accent-light)}.Search_Page .search-result-excerpt{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:.75rem}.Search_Page .search-result-excerpt p{margin:0}.Search_Page .search-result-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-accent-light)}.Search_Page .search-result-link:hover{color:var(--color-accent-hover)}.Search_Page .no-results-message{text-align:center;padding:3rem;background-color:var(--color-bg-card);border-radius:.5rem;max-width:500px;margin:0 auto}.Search_Page .no-results-message h2{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:.5rem}.Search_Page .no-results-message p{color:var(--color-text-muted);margin-bottom:1.5rem}.Search_Page .no-results-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.Search_Page .navigation.pagination{margin-top:3rem;max-width:800px;margin-left:auto;margin-right:auto}.Search_Page .navigation.pagination .nav-links{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap}.Search_Page .navigation.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;background-color:var(--color-bg-card);color:var(--color-text-muted);border-radius:.25rem;font-size:.875rem}.Search_Page .navigation.pagination .page-numbers:hover,.Search_Page .navigation.pagination .page-numbers.current{background-color:var(--color-accent);color:#fff}.communities-page-main{padding:0}.communities-grid-section{padding:4rem 0;background-color:var(--color-bg-card)}.communities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}@media (max-width: 1024px){.communities-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.communities-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.communities-grid{grid-template-columns:1fr}}.community-card{display:block;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;text-decoration:none;transition:border-color .2s ease,transform .2s ease}.community-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.community-card:hover .community-card-arrow{transform:translate(4px)}.community-card-content{display:flex;flex-direction:column;gap:.5rem}.community-card-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin:0}.community-card-count{font-size:.875rem;color:var(--color-text-muted)}.community-card-arrow{margin-top:.5rem;color:var(--color-accent);transition:transform .2s ease}.communities-about-section{padding:4rem 0;background-color:var(--color-bg-dark)}.communities-about-content{max-width:800px;margin:0 auto;text-align:center}.communities-about-content h2{font-family:var(--font-display);font-size:2rem;color:var(--color-text);margin-bottom:1.5rem}.communities-about-content p{font-size:1.125rem;color:var(--color-text-muted);line-height:1.7;margin-bottom:1rem}.communities-about-content p:last-child{margin-bottom:0}.no-communities-message{text-align:center;color:var(--color-text-muted);font-size:1.125rem;padding:3rem 0}.community-page-main{padding:0}.community-about-section{padding:4rem 0;background-color:var(--color-bg-card)}.community-about-content{max-width:800px;margin:0 auto}.community-about-content h2,.community-about-content h3,.community-about-content h4{font-family:var(--font-display);color:var(--color-text)}.community-about-content p{font-size:1.125rem;color:var(--color-text-muted);line-height:1.7}.community-about-content ul,.community-about-content ol{color:var(--color-text-muted);margin-bottom:1rem;padding-left:1.5rem}.community-about-content li{margin-bottom:.5rem}.community-properties-section{padding:4rem 0;background-color:var(--color-bg-dark)}.community-properties-section .section-header{text-align:center;margin-bottom:3rem}.community-properties-section .section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}.community-properties-section .section-subtitle{font-size:1.125rem;color:var(--color-text-muted)}.community-properties-section .section-footer{text-align:center;margin-top:2.5rem}.community-properties-section .property-grid--3col{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 1024px){.community-properties-section .property-grid--3col{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.community-properties-section .property-grid--3col{grid-template-columns:1fr}}.community-properties-section .no-properties-message{text-align:center;color:var(--color-text-muted);font-size:1.125rem;padding:3rem 0}.community-properties-section .no-properties-message a{color:var(--color-accent-light)}.community-properties-section .no-properties-message a:hover{color:var(--color-accent-hover)}.resources-page-main{padding:0}.resources-featured-section{padding:4rem 0;background-color:var(--color-bg-card)}.resources-featured-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (max-width: 768px){.resources-featured-grid{grid-template-columns:1fr}}.resource-featured-card{background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;padding:2.5rem;text-align:center;transition:border-color .2s ease}.resource-featured-card:hover{border-color:var(--color-accent)}.resource-featured-icon{display:flex;align-items:center;justify-content:center;width:100px;height:100px;margin:0 auto 1.5rem;background-color:#9f37301a;border-radius:50%;color:var(--color-accent)}.resource-featured-title{font-family:var(--font-display);font-size:1.75rem;color:var(--color-text);margin-bottom:1rem}.resource-featured-description{font-size:1rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:1.5rem}.resources-additional-section{padding:4rem 0;background-color:var(--color-bg-dark)}.resources-additional-section .section-header{text-align:center;margin-bottom:3rem}.resources-additional-section .section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}.resources-additional-section .section-subtitle{font-size:1.125rem;color:var(--color-text-muted)}.resources-additional-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 992px){.resources-additional-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.resources-additional-grid{grid-template-columns:1fr}}.resource-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;transition:border-color .2s ease}.resource-card:hover{border-color:var(--color-accent)}.resource-card-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:1rem;background-color:#9f37301a;border-radius:.5rem;color:var(--color-accent)}.resource-card-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.5rem}.resource-card-description{font-size:.875rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:0}.resource-page-main{padding:0}.resource-content-section{padding:4rem 0;background-color:var(--color-bg-card)}.resource-content-layout{display:grid;grid-template-columns:1fr 320px;gap:3rem}@media (max-width: 992px){.resource-content-layout{grid-template-columns:1fr}}.resource-content h2,.resource-content h3,.resource-content h4{font-family:var(--font-display);color:var(--color-text);margin-top:2rem;margin-bottom:1rem}.resource-content h2:first-child,.resource-content h3:first-child,.resource-content h4:first-child{margin-top:0}.resource-content h2{font-size:1.75rem}.resource-content h3{font-size:1.5rem}.resource-content h4{font-size:1.25rem}.resource-content p{font-size:1.125rem;color:var(--color-text-muted);line-height:1.7}.resource-content ul,.resource-content ol{color:var(--color-text-muted);margin-bottom:1.5rem;padding-left:1.5rem;font-size:1.125rem;line-height:1.7}.resource-content li{margin-bottom:.5rem}.resource-content blockquote{border-left:4px solid var(--color-accent);padding-left:1.5rem;margin:1.5rem 0;font-style:italic;color:var(--color-text-muted)}@media (max-width: 992px){.resource-sidebar{order:-1}}.resource-sidebar-sticky{position:sticky;top:100px}@media (max-width: 992px){.resource-sidebar-sticky{position:static}}.resource-sidebar-card{background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.resource-sidebar-card h3{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.75rem}.resource-sidebar-card p{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1rem}.resource-sidebar-phone{text-align:center;margin-top:1rem;margin-bottom:0}.resource-sidebar-phone a{color:var(--color-accent-light)}.resource-sidebar-phone a:hover{color:var(--color-accent-hover)}.resource-sidebar-links{list-style:none;padding:0;margin:0}.resource-sidebar-links li{margin-bottom:.5rem}.resource-sidebar-links li:last-child{margin-bottom:0}.resource-sidebar-links a{color:var(--color-text-muted);font-size:.875rem}.resource-sidebar-links a:hover{color:var(--color-accent-light)}.btn-block{display:block;width:100%;text-align:center}.property-card{display:flex;flex-direction:column;height:100%;background-color:var(--color-bg-dark);border:1px solid var(--color-accent);border-radius:.5rem;overflow:hidden}.property-card-image{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background-color:var(--color-bg-dark)}.property-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.property-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-dark);color:var(--color-border)}.property-card-badge{position:absolute;top:.75rem;left:.75rem}.property-card-content{display:flex;flex-direction:column;flex-grow:1;padding:1.25rem}.property-card-price{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:.5rem}.property-card-title{font-family:var(--font-body);font-size:1rem;font-weight:500;line-height:1.4;margin-bottom:.75rem}.property-card-title a{color:var(--color-text-muted);text-decoration:none}.property-card-title a:hover{color:var(--color-accent-light)}.property-card-specs{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;margin:0 0 .75rem;padding:0}.spec-item{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--color-text-muted)}.spec-item svg{color:var(--color-accent);flex-shrink:0}.property-card-excerpt{flex-grow:1;font-size:.875rem;color:var(--color-sold);margin-bottom:1rem;line-height:1.5}.property-card-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-accent-light);text-decoration:none;margin-top:auto}.property-card-link:hover{color:var(--color-accent-hover)}.property-card-link svg{width:16px;height:16px}.properties-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 0}@media (min-width: 640px){.properties-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.properties-grid{grid-template-columns:repeat(3,1fr);gap:2rem}}.properties-meta{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--color-border)}.properties-count{font-size:.9375rem;color:var(--color-text-muted)}.properties-count strong{color:var(--color-text)}.no-properties{text-align:center;padding:4rem 0;color:var(--color-text-muted)}.no-properties h3{color:var(--color-text);margin-bottom:.5rem}.no-properties p{margin-bottom:1.5rem}.archive-hero{position:relative;background-color:var(--color-bg-card);background-size:cover;background-position:center;background-repeat:no-repeat;padding:3rem 0;border-bottom:1px solid var(--color-border);margin-bottom:2rem}.archive-hero.has-background{padding:4rem 0}@media (max-width: 768px){.archive-hero.has-background{padding:3rem 0}}.archive-hero .container{position:relative;z-index:2}.archive-hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#0a0a0abf,#0a0a0aa6);z-index:1}.archive-hero-title{margin-bottom:.5rem}.has-background .archive-hero-title{text-shadow:0 2px 4px rgba(0,0,0,.3)}.archive-hero-subtitle{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:0;max-width:600px}.has-background .archive-hero-subtitle{color:var(--color-text);opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.3)}.view-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem}.view-toggle-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--color-text-muted);background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.25rem;text-decoration:none;transition:all .15s ease}.view-toggle-btn:hover{color:var(--color-text);border-color:var(--color-accent)}.view-toggle-btn.active{color:var(--color-text);background-color:var(--color-accent);border-color:var(--color-accent)}.view-toggle-btn svg{flex-shrink:0}.property-map-layout{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 1024px){.property-map-layout{grid-template-columns:1fr 1fr;gap:2rem}}.property-map-container{position:relative}@media (min-width: 1024px){.property-map-container{position:sticky;top:100px;height:calc(50vh - 75px)}}.property-map{width:100%;height:200px;background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden;border:1px solid var(--color-border)}@media (min-width: 1024px){.property-map{height:100%}}.property-list-container .property-grid{grid-template-columns:1fr}@media (min-width: 640px){.property-list-container .property-grid{grid-template-columns:repeat(2,1fr)}}.property-marker{background:transparent}.property-marker .marker-pin{width:30px;height:30px;border-radius:50% 50% 50% 0;background:var(--color-accent);position:absolute;transform:rotate(-45deg);left:50%;top:50%;margin:-20px 0 0 -15px;box-shadow:0 2px 8px #0000004d}.property-marker .marker-pin:after{content:"";width:14px;height:14px;margin:8px 0 0 8px;background:var(--color-bg-dark);position:absolute;border-radius:50%}.map-popup{font-family:var(--font-body);padding:.25rem}.map-popup strong{font-size:1rem;color:var(--color-accent)}.map-popup span{font-size:.875rem;color:#666}.map-popup a{display:inline-block;margin-top:.5rem;font-size:.875rem;color:var(--color-accent);font-weight:500}.map-popup a:hover{text-decoration:underline}.leaflet-popup-content-wrapper{border-radius:.5rem}.leaflet-popup-tip-container{margin-top:-1px}.property-filters{background-color:var(--color-bg-card);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.filters-form{display:block}.filters-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media (min-width: 768px){.filters-row{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1200px){.filters-row{grid-template-columns:repeat(7,1fr)}}.filter-item{display:flex;flex-direction:column;gap:.375rem}.filter-item-button .btn,.filter-item-button .comment-form .form-submit input[type=submit],.comment-form .form-submit .filter-item-button input[type=submit]{width:100%;padding:.625rem 1rem}.filter-label{font-size:.8125rem;font-weight:500;color:var(--color-text);text-transform:uppercase;letter-spacing:.03em}.filter-select{width:100%;padding:.625rem 2rem .625rem .75rem;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-size:.9375rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.filter-select:focus{outline:none;border-color:var(--color-accent)}.property-filters.is-loading{pointer-events:none;opacity:.7}.property-results-loading{display:flex;justify-content:center;align-items:center;padding:4rem 0}.property-results-loading .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.property-gallery{margin-bottom:2rem}.gallery-main{position:relative;margin-bottom:.75rem}.gallery-main-image{display:block;width:100%;padding:0;border:none;background:none;cursor:pointer;border-radius:.5rem;overflow:hidden}.gallery-main-image img{width:100%;height:auto;aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;display:block}.gallery-count{position:absolute;bottom:1rem;right:1rem;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#000000bf;border-radius:.25rem;color:#fff;font-size:.875rem;font-weight:500}.gallery-thumbnails{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}@media (max-width: 640px){.gallery-thumbnails{grid-template-columns:repeat(4,1fr)}}.gallery-thumbnail{position:relative;padding:0;border:2px solid transparent;background:none;cursor:pointer;border-radius:.25rem;overflow:hidden}.gallery-thumbnail.is-active{border-color:var(--color-accent)}.gallery-thumbnail img{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;display:block}.thumbnail-more{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:#000000b3;color:#fff;font-size:1rem;font-weight:600}.gallery-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;background-color:var(--color-bg-card);border-radius:.5rem;color:var(--color-text-muted)}.gallery-placeholder svg{margin-bottom:1rem}.gallery-placeholder p{margin:0}.gallery-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:none}.gallery-lightbox[aria-hidden=false]{display:block}.lightbox-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#000000f2}.lightbox-container{position:relative;display:flex;align-items:center;justify-content:center;height:100%;padding:4rem 1rem}.lightbox-close{position:absolute;top:1rem;right:1rem;z-index:10;padding:.5rem;background:none;border:none;color:#fff;cursor:pointer;opacity:.8}.lightbox-close:hover{opacity:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;padding:1rem;background-color:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;opacity:.8}.lightbox-nav:hover{opacity:1;background-color:#fff3}.lightbox-nav.lightbox-prev{left:1rem}.lightbox-nav.lightbox-next{right:1rem}.lightbox-image-container{max-width:90vw;max-height:calc(100vh - 8rem);display:flex;align-items:center;justify-content:center}.lightbox-image{max-width:100%;max-height:calc(100vh - 8rem);-o-object-fit:contain;object-fit:contain}.lightbox-counter{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);padding:.5rem 1rem;background-color:#000000bf;border-radius:.25rem;color:#fff;font-size:.875rem}.breadcrumbs{background-color:var(--color-bg-card);padding:1rem 0;border-bottom:1px solid var(--color-border)}.breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;list-style:none;margin:0;padding:0;font-size:.875rem}.breadcrumb-list li{display:flex;align-items:center}.breadcrumb-list li:not(:last-child):after{content:"/";margin-left:.5rem;color:var(--color-text-muted)}.breadcrumb-list li a{color:var(--color-text-muted);text-decoration:none}.breadcrumb-list li a:hover{color:var(--color-accent-light)}.breadcrumb-list li:last-child{color:var(--color-text)}.single-property-main{padding-bottom:4rem}.single-property-layout{display:grid;grid-template-columns:1fr;gap:2rem;padding-top:2rem}@media (min-width: 1024px){.single-property-layout{grid-template-columns:1fr 350px;gap:3rem}}.section-title{font-size:1.25rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.property-specs-section{margin-bottom:2rem}.property-specs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;list-style:none;margin:0;padding:0}@media (min-width: 640px){.property-specs-grid{grid-template-columns:repeat(3,1fr)}}.property-specs-grid .spec-item{display:flex;flex-direction:column;gap:.25rem;padding:1rem;background-color:var(--color-bg-card);border-radius:.25rem}.spec-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.spec-value{font-size:1.25rem;font-weight:600;color:var(--color-text)}.property-documents{margin-bottom:2rem}.documents-list{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;list-style:none;margin:0;padding:0}.document-item{margin:0}.document-link{display:inline-flex;align-items:center;gap:.5rem}.document-link svg{flex-shrink:0}.document-ext{font-size:.75rem;opacity:.7;text-transform:uppercase}.property-description{margin-bottom:2rem}.property-short-desc{font-size:1.125rem;color:var(--color-text);margin-bottom:1rem}.property-full-desc{color:var(--color-text-muted);line-height:1.7}.property-features{margin-bottom:2rem}.features-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;list-style:none;margin:0;padding:0}@media (min-width: 640px){.features-list{grid-template-columns:repeat(3,1fr)}}.feature-item{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--color-text-muted)}.feature-item svg{flex-shrink:0;color:var(--color-success)}.single-property-sidebar{display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 1024px){.single-property-sidebar{align-self:start}}.sidebar-widget{background-color:var(--color-bg-card);border-radius:.5rem;padding:1.5rem}.widget-title{font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.property-header-widget .property-header-top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}.property-header-widget .property-type{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.property-header-widget .property-title{font-size:1.75rem;margin-bottom:.75rem;line-height:1.2}.property-header-widget .property-address{display:flex;align-items:flex-start;gap:.5rem;font-size:.9375rem;color:var(--color-text-muted);margin-bottom:.5rem;line-height:1.4}.property-header-widget .property-address svg{flex-shrink:0;margin-top:.125rem;color:var(--color-accent)}.property-header-widget .property-mls{font-size:.8125rem;color:var(--color-sold);margin-bottom:0}.property-documents-widget .sidebar-documents-list{display:flex;flex-direction:column;gap:.75rem}.property-documents-widget .document-btn{display:flex;align-items:center;gap:.625rem;width:100%;padding:.75rem 1rem;background-color:var(--color-accent);border:none;border-radius:.25rem;color:#fff;text-decoration:none;font-weight:600;font-size:.875rem;cursor:pointer}.property-documents-widget .document-btn:hover{background-color:var(--color-accent-hover);color:#fff}.property-documents-widget .document-btn svg{flex-shrink:0;stroke:#fff}.property-documents-widget .document-btn-label{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-documents-widget .document-btn-ext{flex-shrink:0;font-size:.625rem;font-weight:700;text-transform:uppercase;background-color:#0003;color:#fff;padding:.1875rem .375rem;border-radius:.1875rem;letter-spacing:.03em}.agent-card{padding:1.5rem}.agent-info-link{display:block;text-decoration:none;color:inherit;border-radius:.375rem;margin:-.5rem;padding:.5rem}.agent-info-link:hover{background-color:var(--color-bg-dark)}.agent-info-link:hover .agent-name{color:var(--color-accent-light)}.agent-card-header{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.agent-card-title{font-size:1.125rem;margin-bottom:0}.agent-info{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.agent-avatar{flex-shrink:0}.agent-avatar img{width:64px;height:64px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.agent-avatar-placeholder{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-dark);border-radius:50%;color:var(--color-text-muted)}.agent-name{font-weight:600;color:var(--color-text);margin-bottom:.25rem}.agent-role{font-size:.8125rem;color:var(--color-text-muted);margin-bottom:0}.agent-contact{display:flex;flex-direction:column;gap:.75rem}.agent-contact .btn,.agent-contact .comment-form .form-submit input[type=submit],.comment-form .form-submit .agent-contact input[type=submit]{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.agent-card-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.agent-card-note{font-size:.8125rem;color:var(--color-text-muted);text-align:center;margin-bottom:0}.property-inquiry-card .inquiry-note{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:1rem;line-height:1.5}.property-inquiry-card .btn-block{display:flex;width:100%;text-align:center;justify-content:center}.generic-contact-card .contact-note{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:1.25rem;line-height:1.5}.generic-contact-card .generic-contact-actions{display:flex;flex-direction:column;gap:.75rem}.generic-contact-card .btn-block{display:flex;width:100%;text-align:center;justify-content:center}body.lightbox-open{overflow:hidden}.Single_Agent{padding-bottom:4rem}.Single_Agent .agent-header{background-color:var(--color-bg-card);padding:3rem 0;border-bottom:1px solid var(--color-border)}.Single_Agent .agent-header-layout{display:flex;flex-direction:column;align-items:center;gap:2rem;text-align:center}@media (min-width: 768px){.Single_Agent .agent-header-layout{flex-direction:row;text-align:left;align-items:flex-start}}.Single_Agent .agent-photo-wrapper{flex-shrink:0}.Single_Agent .agent-photo{width:200px;height:200px;border-radius:.5rem;-o-object-fit:cover;object-fit:cover;border:3px solid var(--color-border)}@media (min-width: 768px){.Single_Agent .agent-photo{width:240px;height:240px}}.Single_Agent .agent-photo-placeholder{width:200px;height:200px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-dark);border-radius:.5rem;border:3px solid var(--color-border);color:var(--color-text-muted)}@media (min-width: 768px){.Single_Agent .agent-photo-placeholder{width:240px;height:240px}}.Single_Agent .agent-info-wrapper{flex:1}.Single_Agent .agent-info-content{display:flex;flex-direction:column;align-items:center}@media (min-width: 768px){.Single_Agent .agent-info-content{align-items:flex-start}}.Single_Agent .agent-title-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:.5rem;font-weight:600}.Single_Agent .agent-name{font-size:2.5rem;font-family:var(--font-heading);margin-bottom:.5rem;line-height:1.1}@media (min-width: 768px){.Single_Agent .agent-name{font-size:3rem}}.Single_Agent .agent-license{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.5rem}.Single_Agent .agent-contact-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;justify-content:center}@media (min-width: 768px){.Single_Agent .agent-contact-actions{justify-content:flex-start}}.Single_Agent .agent-contact-actions .btn,.Single_Agent .agent-contact-actions .comment-form .form-submit input[type=submit],.comment-form .form-submit .Single_Agent .agent-contact-actions input[type=submit]{display:inline-flex;align-items:center;gap:.5rem}.Single_Agent .agent-social-links{display:flex;gap:.75rem}.Single_Agent .social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-bg-dark);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none}.Single_Agent .social-link:hover{background-color:var(--color-accent);color:#fff}.Single_Agent .social-link svg{width:20px;height:20px}.Single_Agent .agent-content-layout{display:grid;grid-template-columns:1fr;gap:2rem;padding-top:2rem}@media (min-width: 1024px){.Single_Agent .agent-content-layout{grid-template-columns:1fr 350px;gap:3rem}}.Single_Agent .agent-main-content{min-width:0}.Single_Agent .agent-section{margin-bottom:2.5rem}.Single_Agent .agent-section:last-child{margin-bottom:0}.Single_Agent .section-title{font-size:1.25rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.Single_Agent .agent-bio .agent-short-bio{font-size:1.125rem;color:var(--color-text);line-height:1.6;margin-bottom:1.5rem}.Single_Agent .agent-bio .agent-full-bio{color:var(--color-text-muted);line-height:1.7}.Single_Agent .agent-bio .agent-full-bio p{margin-bottom:1rem}.Single_Agent .agent-bio .agent-full-bio p:last-child{margin-bottom:0}.Single_Agent .agent-gallery-section .agent-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (min-width: 640px){.Single_Agent .agent-gallery-section .agent-gallery-grid{grid-template-columns:repeat(3,1fr)}}.Single_Agent .agent-gallery-section .gallery-item{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:.375rem;border:1px solid var(--color-border)}.Single_Agent .agent-gallery-section .gallery-item:hover img{transform:scale(1.05)}.Single_Agent .agent-gallery-section .gallery-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.Single_Agent .agent-listings .agent-listings-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:1.5rem}@media (min-width: 640px){.Single_Agent .agent-listings .agent-listings-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1200px){.Single_Agent .agent-listings .agent-listings-grid{grid-template-columns:repeat(3,1fr)}}.Single_Agent .agent-listings .agent-listings-cta{text-align:center}.Single_Agent .agent-sidebar{display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 1024px){.Single_Agent .agent-sidebar{align-self:start}}.Single_Agent .sidebar-widget{background-color:var(--color-bg-card);border-radius:.5rem;padding:1.5rem}.Single_Agent .widget-title{font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.Single_Agent .agent-contact-card .contact-list{list-style:none;margin:0;padding:0}.Single_Agent .agent-contact-card .contact-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.Single_Agent .agent-contact-card .contact-item:first-child{padding-top:0}.Single_Agent .agent-contact-card .contact-item:last-child{padding-bottom:0;border-bottom:none}.Single_Agent .agent-contact-card .contact-item svg{flex-shrink:0;margin-top:.125rem;color:var(--color-accent)}.Single_Agent .agent-contact-card .contact-item>div{flex:1;min-width:0}.Single_Agent .agent-contact-card .contact-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.25rem}.Single_Agent .agent-contact-card a{color:var(--color-text);text-decoration:none;word-break:break-word}.Single_Agent .agent-contact-card a:hover{color:var(--color-accent-light)}.Single_Agent .agent-quick-contact .widget-note{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:1rem;line-height:1.5}.Single_Agent .agent-quick-contact .btn-block{display:block;width:100%;text-align:center}.Agents_Archive .agents-section{padding:1.125rem 0 5.875rem}.Agents_Archive .agents-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 640px){.Agents_Archive .agents-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.Agents_Archive .agents-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.Agents_Archive .agents-grid{grid-template-columns:repeat(4,1fr)}}.Agents_Archive .agent-card-item{background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden;display:flex;flex-direction:column}.Agents_Archive .agent-card-link{display:block;text-decoration:none;color:inherit;flex:1}.Agents_Archive .agent-card-link:hover .agent-card-image img{transform:scale(1.05)}.Agents_Archive .agent-card-link:hover .agent-card-name{color:var(--color-accent-light)}.Agents_Archive .agent-card-image{aspect-ratio:1/1;overflow:hidden;background-color:var(--color-bg-dark)}.Agents_Archive .agent-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.Agents_Archive .agent-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.Agents_Archive .agent-card-content{padding:1.25rem}.Agents_Archive .agent-card-title-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:.375rem;font-weight:600}.Agents_Archive .agent-card-name{font-size:1.25rem;font-family:var(--font-display);margin-bottom:.5rem;line-height:1.2}.Agents_Archive .agent-card-bio{font-size:.875rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.Agents_Archive .agent-card-actions{display:flex;align-items:center;gap:.5rem;padding:0 1.25rem 1.25rem;margin-top:auto}.Agents_Archive .agent-action-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;width:40px;height:40px;background-color:var(--color-bg-dark);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none}.Agents_Archive .agent-action-btn:hover{background-color:var(--color-accent);color:#fff}.Agents_Archive .agent-action-btn.agent-action-profile{flex:1;width:auto;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.Agents_Archive .no-agents-message{text-align:center;padding:3rem;color:var(--color-text-muted)}.Agents_Archive .no-agents-message p{margin-bottom:0}.hero-section--split{display:flex;min-height:70vh;max-height:725px;width:100%}@media (max-width: 768px){.hero-section--split{flex-direction:column;max-height:none}}.hero-section--split.hero-section--small{min-height:300px;max-height:400px}@media (max-width: 768px){.hero-section--split.hero-section--small{max-height:none}}.hero-section--split.hero-section--small .hero-section-title{font-size:2.5rem}@media (max-width: 768px){.hero-section--split.hero-section--small .hero-section-title{font-size:2rem}}.hero-section--split.hero-section--small .hero-section-logo{max-width:280px;margin-bottom:1.5rem}.hero-split-content{width:40%;max-width:800px;background-color:var(--color-bg-dark);display:flex;align-items:center;justify-content:center;padding:3rem}@media (max-width: 1024px){.hero-split-content{width:45%;max-width:none;padding:2rem}}@media (max-width: 768px){.hero-split-content{width:100%;padding:3rem 1.5rem;order:2}}.hero-split-image{flex:1;background-size:cover;background-position:center center;background-repeat:no-repeat;position:relative;overflow:hidden}@media (max-width: 768px){.hero-split-image{width:100%;flex:none;height:300px;order:1}}.hero-split-inner{max-width:420px;text-align:center}@media (max-width: 768px){.hero-split-inner{margin:0 auto}}.hero-section-logo{display:block;max-width:320px;height:auto;margin:0 auto 2rem}@media (max-width: 768px){.hero-section-logo{max-width:280px;margin-bottom:1.5rem}}.hero-section-title{font-family:var(--font-display);font-size:3rem;color:var(--color-text);margin-bottom:1.25rem;line-height:1.1}@media (max-width: 1024px){.hero-section-title{font-size:2.5rem}}@media (max-width: 768px){.hero-section-title{font-size:2.25rem;margin-bottom:1rem}}.hero-section-subtitle{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:2rem;line-height:1.6}@media (max-width: 768px){.hero-section-subtitle{font-size:1rem;margin-bottom:1.5rem}}.hero-section-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.hero-location-search{margin-bottom:2rem}.hero-location-search-inner{display:flex;gap:0;background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden;box-shadow:0 4px 20px #0000004d}@media (max-width: 480px){.hero-location-search-inner{flex-direction:column}}.hero-location-select{flex:1;padding:.875rem 2rem .875rem 1rem;font-size:1rem;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg-card);border:none;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;min-width:180px}.hero-location-select:focus{box-shadow:inset 0 0 0 2px var(--color-accent)}.hero-location-select option{background-color:var(--color-bg-card);color:var(--color-text)}@media (max-width: 480px){.hero-location-select{text-align:center;background-position:right 1.5rem center}}.hero-search-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;border-radius:0;white-space:nowrap}.hero-search-btn svg{flex-shrink:0}@media (max-width: 480px){.hero-search-btn{width:100%;justify-content:center}}.hero-section--card{position:relative;display:flex;align-items:center;justify-content:flex-start;background-color:var(--color-bg-dark);background-size:cover;background-position:center;background-repeat:no-repeat;min-height:70vh;max-height:725px;padding:4rem 0}@media (max-width: 768px){.hero-section--card{min-height:auto;max-height:none;padding:3rem 0;justify-content:center}}.hero-section--card.hero-section--small{min-height:300px;max-height:400px;padding:2rem 0}.hero-section--card.hero-section--small .hero-section-title{font-size:2.25rem}@media (max-width: 768px){.hero-section--card.hero-section--small .hero-section-title{font-size:1.8rem}}.hero-section--card.hero-section--small .hero-card{padding:1.5rem}.hero-card{background-color:#0a0a0ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:1rem;padding:2.375rem;width:520px;text-align:center;border:1px solid var(--color-border);position:absolute;top:50%;left:50vw;transform:translate(-50%,-50%)}@media (min-width: 1800px){.hero-card{left:calc(50vw - 410px)}}@media (min-width: 1650px) and (max-width: 1799px){.hero-card{left:32vw}}@media (min-width: 1400px) and (max-width: 1649px){.hero-card{left:410px}}@media (max-width: 768px){.hero-card{position:relative;top:auto;left:auto;transform:none;padding:1.125rem 2.375rem;margin:0 auto;border-radius:.75rem;width:calc(100% - 2rem);max-width:520px}}.hero-section--card .hero-section-logo{display:block;max-width:360px;height:auto;margin:0 auto 1.75rem}@media (max-width: 768px){.hero-section--card .hero-section-logo{max-width:280px;margin-bottom:1.25rem}}.hero-section--card .hero-section-title{font-family:var(--font-display);font-size:2.475rem;color:var(--color-text);margin-bottom:1.8125rem;line-height:1.1}@media (max-width: 1450px){.hero-section--card .hero-section-title{font-size:32px}}@media (max-width: 768px){.hero-section--card .hero-section-title{font-size:1.6rem;margin-bottom:.875rem}}@media (max-width: 600px){.hero-section--card .hero-section-title{font-size:1.5rem}}.hero-section--card .hero-section-subtitle{font-size:1rem;color:var(--color-text-muted);margin-bottom:1.75rem;line-height:1.6}@media (max-width: 768px){.hero-section--card .hero-section-subtitle{font-size:.9rem;margin-bottom:1.25rem}}@media (max-width: 650px){.hero-section--card .hero-section-subtitle{font-size:.775rem}}.hero-section--card .hero-section-actions{display:flex;flex-wrap:wrap;gap:.875rem;justify-content:center}.hero-section--card .hero-section-actions .btn,.hero-section--card .hero-section-actions .comment-form .form-submit input[type=submit],.comment-form .form-submit .hero-section--card .hero-section-actions input[type=submit]{font-size:.8rem;padding:.675rem 1.25rem}.hero-section--card .hero-location-search{margin-bottom:1.75rem}.hero-section--card .hero-location-search-inner{display:flex;gap:0;background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden}@media (max-width: 480px){.hero-section--card .hero-location-search-inner{flex-direction:column}}.hero-section--card .hero-location-select{flex:1;padding:.75rem 2rem .75rem .875rem;font-size:.9rem;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg-card);border:none;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.hero-section--card .hero-location-select:focus{box-shadow:inset 0 0 0 2px var(--color-accent)}.hero-section--card .hero-search-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:0;white-space:nowrap;font-size:.8rem}@media (max-width: 480px){.hero-section--card .hero-search-btn{width:100%;justify-content:center}}.cta-section{padding:4rem 0}@media (max-width: 768px){.cta-section{padding:3rem 0}}.cta-section--default{background-color:var(--color-bg-card)}.cta-section--accent{background-color:var(--color-accent)}.cta-section--accent .cta-section-title{color:#fff}.cta-section--accent .cta-section-text{color:#ffffffe6}.cta-section--accent .btn-primary,.cta-section--accent .comment-form .form-submit input[type=submit],.comment-form .form-submit .cta-section--accent input[type=submit]{background-color:#fff;color:var(--color-accent)}.cta-section--accent .btn-primary:hover,.cta-section--accent .comment-form .form-submit input[type=submit]:hover,.comment-form .form-submit .cta-section--accent input[type=submit]:hover{background-color:var(--color-text)}.cta-section-content{text-align:center;max-width:700px;margin:0 auto}.cta-section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:1rem}@media (max-width: 768px){.cta-section-title{font-size:1.875rem}}.cta-section-text{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:1.5rem}.testimonial{background-color:var(--color-bg-card);border-radius:.5rem;padding:2rem;margin:0}.testimonial-quote{position:relative;margin-bottom:1.5rem}.testimonial-quote p{font-size:1.125rem;color:var(--color-text);line-height:1.7;font-style:italic;margin:0;padding-left:3.5rem}@media (max-width: 640px){.testimonial-quote p{font-size:1rem;padding-left:0;padding-top:3rem}}.testimonial-quote-icon{position:absolute;top:0;left:0;color:var(--color-accent);opacity:.5}@media (max-width: 640px){.testimonial-quote-icon{top:0;left:0}}.testimonial-footer{display:flex;flex-direction:column;gap:.25rem;padding-left:3.5rem}@media (max-width: 640px){.testimonial-footer{padding-left:0}}.testimonial-name{font-style:normal;font-weight:600;color:var(--color-text);font-size:.9375rem}.testimonial-location{font-size:.8125rem;color:var(--color-text-muted)}.testimonials-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.testimonials-section{padding:3rem 0}}.testimonials-section-header{text-align:center;margin-bottom:3rem}.testimonials-section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.testimonials-section-title{font-size:1.875rem}}.testimonials-section-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.testimonials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (max-width: 768px){.testimonials-grid{grid-template-columns:1fr}}.agent-card-component{display:flex;flex-direction:column;text-align:center;padding:1.5rem}.agent-card-photo{margin-bottom:1rem}.agent-card-photo img{width:120px;height:120px;border-radius:50%;-o-object-fit:cover;object-fit:cover;margin:0 auto}.agent-card-photo-placeholder{width:120px;height:120px;border-radius:50%;background-color:var(--color-bg-dark);display:flex;align-items:center;justify-content:center;margin:0 auto;color:var(--color-text-muted)}.agent-card-body{flex:1}.agent-card-name{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.25rem}.agent-card-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent-light);margin-bottom:.75rem}.agent-card-bio{font-size:.875rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:1rem}.agent-card-contact{display:flex;flex-direction:column;gap:.5rem;align-items:center}.agent-card-phone,.agent-card-email{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-muted)}.agent-card-phone:hover,.agent-card-email:hover{color:var(--color-accent-light)}.agent-card-phone svg,.agent-card-email svg{flex-shrink:0}.team-section{padding:4rem 0;background-color:var(--color-bg-card)}@media (max-width: 768px){.team-section{padding:3rem 0}}.team-section-header{text-align:center;margin-bottom:3rem}.team-section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.team-section-title{font-size:1.875rem}}.team-section-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}@media (max-width: 1024px){.team-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.team-grid{grid-template-columns:1fr}}.feature-block{text-align:center;padding:1.5rem}.feature-block-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 1.25rem;border-radius:50%;background-color:var(--color-bg-card);color:var(--color-accent)}.feature-block-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.75rem}.feature-block-text{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:0}.features-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.features-section{padding:3rem 0}}.features-section-header{text-align:center;margin-bottom:3rem}.features-section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.features-section-title{font-size:1.875rem}}.features-section-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}@media (max-width: 768px){.features-grid{grid-template-columns:1fr;gap:1.5rem}}.service-cards-section{padding:5rem 0;background-color:var(--color-bg-card)}.service-cards-header{text-align:center;margin-bottom:3rem}.service-cards-title{font-family:var(--font-display);font-size:2.5rem;color:var(--color-text);margin-bottom:1rem}@media (max-width: 768px){.service-cards-title{font-size:2rem}}.service-cards-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.service-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}@media (max-width: 992px){.service-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.service-cards-grid{grid-template-columns:1fr;gap:1.5rem}}.service-card{background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;padding:2rem;text-align:center;transition:border-color .2s ease,transform .2s ease}.service-card:hover{border-color:var(--color-accent);transform:translateY(-4px)}.service-card-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 1.5rem;background-color:#9f37301a;border-radius:50%;color:var(--color-accent)}.service-card-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:1rem}.service-card-description{font-size:1rem;color:var(--color-text-muted);margin-bottom:1.5rem;line-height:1.6}.service-card-btn{display:inline-flex;align-items:center;gap:.5rem}.service-card-btn svg{transition:transform .2s ease}.service-card-btn:hover svg{transform:translate(4px)}.btn-outline{background-color:transparent;border:2px solid var(--color-accent);color:var(--color-accent)}.btn-outline:hover{background-color:var(--color-accent);color:var(--color-text)}:root{--color-bg-dark: #0A0A0A;--color-bg-card: #161616;--color-accent: #9F3730;--color-accent-hover: #C8473F;--color-accent-light: #BF524B;--color-text: #F5F5F5;--color-text-muted: #B0B0B0;--color-border: #2A2A2A;--color-success: #2E7D32;--color-warning: #F9A825;--color-sold: #757575;--font-display: "Abril Fatface", Georgia, serif;--font-body: "Inter", "Droid Sans", Arial, sans-serif;--container-max: 1200px;--container-padding: 1.5rem;--transition-fast: .15s ease}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-bg-dark);color:var(--color-text-muted);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text);font-weight:400;line-height:1.2;margin-bottom:1rem}h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.875rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}p{margin-bottom:1rem}a{color:var(--color-accent-light);text-decoration:none}a:hover{color:var(--color-accent-hover)}.container{max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.site-main{min-height:50vh;padding:2rem 0}.btn,.comment-form .form-submit input[type=submit]{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-family:var(--font-body);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;border:none;cursor:pointer}.btn-primary,.comment-form .form-submit input[type=submit]{background-color:var(--color-accent);color:#fff}.btn-primary:hover,.comment-form .form-submit input[type=submit]:hover{background-color:var(--color-accent-hover);color:#fff}.btn-secondary{background-color:transparent;border:2px solid var(--color-accent);color:var(--color-accent)}.btn-secondary:hover{background-color:var(--color-accent);color:#fff}.badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem}.badge-success{background-color:var(--color-success);color:#fff}.badge-warning{background-color:var(--color-warning);color:#000}.badge-muted{background-color:var(--color-sold);color:#fff}.card{background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],textarea,select{width:100%;padding:.75rem 1rem;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-family:var(--font-body);font-size:1rem}input[type=text]::-moz-placeholder,input[type=email]::-moz-placeholder,input[type=tel]::-moz-placeholder,input[type=number]::-moz-placeholder,input[type=search]::-moz-placeholder,textarea::-moz-placeholder,select::-moz-placeholder{color:var(--color-sold)}input[type=text]::placeholder,input[type=email]::placeholder,input[type=tel]::placeholder,input[type=number]::placeholder,input[type=search]::placeholder,textarea::placeholder,select::placeholder{color:var(--color-sold)}input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=number]:focus,input[type=search]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.alignwide{max-width:calc(var(--container-max) + 200px)}.alignfull{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.wp-block-image img{max-width:100%;height:auto}@media (max-width: 768px){:root{--container-padding: 1rem}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}}::view-transition-old(root),::view-transition-new(root){animation:none} + */*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:solid}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.site-header{position:sticky;top:0;z-index:100;background-color:var(--color-bg-dark);border-bottom:1px solid var(--color-border)}.header-container{padding-top:1rem;padding-bottom:1rem}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.site-branding{flex-shrink:0}.site-branding .custom-logo-link{display:block}.site-branding .custom-logo-link img{max-height:60px;width:auto}.site-branding .site-title-link{text-decoration:none}.site-branding .site-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);letter-spacing:.02em}.main-navigation{display:none;flex-grow:1;justify-content:center}@media (min-width: 1024px){.main-navigation{display:flex}}.main-navigation .nav-menu{display:flex;align-items:center;gap:2rem;list-style:none;margin:0;padding:0}.main-navigation .menu-item a{display:block;padding:.5rem 0;color:var(--color-text-muted);font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;text-decoration:none}.main-navigation .menu-item a:hover{color:var(--color-text)}.main-navigation .menu-item.current-menu-item a,.main-navigation .menu-item.current_page_item a{color:var(--color-accent-light)}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;padding:0;background:transparent;border:none;cursor:pointer}@media (min-width: 1024px){.menu-toggle{display:none}}.menu-toggle .menu-toggle-icon{display:flex;flex-direction:column;gap:5px}.menu-toggle .bar{display:block;width:24px;height:2px;background-color:var(--color-text)}.menu-toggle[aria-expanded=true] .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] .bar:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.header-cta{display:none;flex-shrink:0}@media (min-width: 1024px){.header-cta{display:block}}.header-cta .header-phone{display:inline-flex;align-items:center;padding:.625rem 1.25rem;background-color:var(--color-accent);color:#fff;font-size:.875rem;font-weight:600;text-decoration:none;border-radius:.25rem}.header-cta .header-phone:hover{background-color:var(--color-accent-hover);color:#fff}.mobile-navigation{display:none;position:absolute;top:100%;left:0;right:0;background-color:var(--color-bg-card);border-bottom:1px solid var(--color-border);padding:1rem}.mobile-navigation.is-open{display:block}@media (min-width: 1024px){.mobile-navigation{display:none!important}}.mobile-navigation .mobile-nav-menu{list-style:none;margin:0;padding:0}.mobile-navigation .menu-item{border-bottom:1px solid var(--color-border)}.mobile-navigation .menu-item:last-child{border-bottom:none}.mobile-navigation .menu-item a{display:block;padding:1rem 0;color:var(--color-text);font-size:1rem;text-decoration:none}.mobile-navigation .menu-item a:hover{color:var(--color-accent-light)}.mobile-navigation .mobile-menu-cta{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.mobile-navigation .mobile-menu-cta .btn,.mobile-navigation .mobile-menu-cta .comment-form .form-submit input[type=submit],.comment-form .form-submit .mobile-navigation .mobile-menu-cta input[type=submit]{display:block;width:100%;text-align:center}.site-footer{background-color:var(--color-bg-card);border-top:1px solid var(--color-border);margin-top:auto}.footer-container{padding-top:3rem;padding-bottom:1.5rem}.footer-inner{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 768px){.footer-inner{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.footer-inner{grid-template-columns:1.5fr 1fr 1.25fr 1fr;gap:2rem}}.footer-column{min-width:0}.footer-heading{font-family:var(--font-body);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text);margin-bottom:1.25rem}.footer-about .footer-logo{margin-bottom:1rem}.footer-about .footer-logo img{max-height:50px;width:auto}.footer-about .footer-logo .site-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text)}.footer-about .footer-tagline{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.25rem;line-height:1.6}.footer-social{display:flex;gap:1rem}.footer-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-bg-dark);border-radius:.25rem;color:var(--color-text-muted)}.footer-social a:hover{background-color:var(--color-accent);color:#fff}.footer-social a svg{width:20px;height:20px}.footer-links .footer-menu{list-style:none;margin:0;padding:0}.footer-links .menu-item{margin-bottom:.75rem}.footer-links .menu-item:last-child{margin-bottom:0}.footer-links .menu-item a{color:var(--color-text-muted);font-size:.9375rem;text-decoration:none}.footer-links .menu-item a:hover{color:var(--color-accent-light)}.contact-list{list-style:none;margin:0;padding:0}.contact-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;font-size:.9375rem}.contact-item:last-child{margin-bottom:0}.contact-item svg{flex-shrink:0;color:var(--color-accent);margin-top:.125rem}.contact-item a{color:var(--color-text-muted);text-decoration:none}.contact-item a:hover{color:var(--color-accent-light)}.contact-item span{color:var(--color-text-muted)}.footer-hours .hours-list{list-style:none;margin:0;padding:0}.footer-hours .hours-item{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.5rem;font-size:.875rem}.footer-hours .hours-item:last-child{margin-bottom:0}.footer-hours .hours-day{color:var(--color-text-muted)}.footer-hours .hours-time{color:var(--color-text);text-align:right}.footer-legal{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding-top:2rem;margin-top:2rem;border-top:1px solid var(--color-border)}.footer-legal-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}@media (max-width: 640px){.footer-legal-inner{gap:1rem}}.legal-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text-muted);font-size:.8125rem;text-decoration:none}.legal-item:hover{border-color:var(--color-accent);color:var(--color-accent-light)}.legal-item:hover svg{color:var(--color-accent)}.legal-item svg{flex-shrink:0;color:var(--color-text-muted)}@media (max-width: 640px){.legal-item{width:calc(50% - .5rem);justify-content:center;padding:.625rem .75rem;font-size:.75rem}}.footer-license{margin:0;font-size:.75rem;color:var(--color-sold);text-align:center}.footer-temp-link{text-align:center;padding:1rem 0;margin-top:1.5rem;border-top:2px dashed var(--color-accent);border-bottom:2px dashed var(--color-accent)}.footer-temp-link a{display:inline-block;padding:.75rem 2rem;background-color:var(--color-accent);color:#fff;font-size:.875rem;font-weight:700;letter-spacing:.1em;text-decoration:none;border-radius:.25rem}.footer-temp-link a:hover{background-color:var(--color-accent-hover);color:#fff}.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding-top:1.5rem;margin-top:2rem;border-top:1px solid var(--color-border);text-align:center}@media (min-width: 768px){.footer-bottom{flex-direction:row;justify-content:space-between}}.footer-bottom p{margin:0;font-size:.8125rem;color:var(--color-text-muted)}.footer-bottom .copyright{color:var(--color-sold)}.footer-bottom .footer-credits a{color:var(--color-text-muted);text-decoration:none}.footer-bottom .footer-credits a:hover{color:var(--color-accent-light)}.page-content{padding:2rem 0 4rem}.page-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.page-title{margin-bottom:0}.entry-content{max-width:800px}.entry-content>*:first-child{margin-top:0}.entry-content>*:last-child{margin-bottom:0}.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{margin-top:2rem}.entry-content ul,.entry-content ol{margin-bottom:1rem;padding-left:1.5rem}.entry-content ul li,.entry-content ol li{margin-bottom:.5rem}.entry-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:4px solid var(--color-accent);background-color:var(--color-bg-card)}.entry-content blockquote p:last-child{margin-bottom:0}.entry-content table{width:100%;margin-bottom:1rem;border-collapse:collapse}.entry-content table th,.entry-content table td{padding:.75rem;border:1px solid var(--color-border);text-align:left}.entry-content table th{background-color:var(--color-bg-card);font-weight:600;color:var(--color-text)}.entry-content img{max-width:100%;height:auto;border-radius:.25rem}.entry-content code{padding:.125rem .375rem;background-color:var(--color-bg-card);border-radius:.25rem;font-size:.875em}.entry-content pre{margin-bottom:1rem;padding:1rem;background-color:var(--color-bg-card);border-radius:.25rem;overflow-x:auto}.entry-content pre code{padding:0;background:none}.page-links{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-border);font-weight:500}.page-links .page-numbers{display:inline-block;padding:.25rem .5rem;margin:0 .25rem;background-color:var(--color-bg-card);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none}.page-links .page-numbers.current,.page-links .page-numbers:hover{background-color:var(--color-accent);color:#fff}.archive-header{margin-bottom:2rem;padding:2rem 0;border-bottom:1px solid var(--color-border)}.archive-title{margin-bottom:0}.posts-grid{display:grid;grid-template-columns:1fr;gap:2rem;padding:2rem 0}@media (min-width: 768px){.posts-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.posts-grid{grid-template-columns:repeat(3,1fr)}}.post-card{display:flex;flex-direction:column}.post-card-image{display:block;aspect-ratio:16/10;overflow:hidden}.post-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.post-card-content{display:flex;flex-direction:column;flex-grow:1;padding:1.25rem}.post-card-header{margin-bottom:.75rem}.post-card-meta{margin-bottom:.5rem}.post-card-meta time{font-size:.8125rem;color:var(--color-text-muted)}.post-card-title{font-family:var(--font-body);font-size:1.125rem;font-weight:600;line-height:1.4;margin-bottom:0}.post-card-title a{color:var(--color-text);text-decoration:none}.post-card-title a:hover{color:var(--color-accent-light)}.post-card-excerpt{flex-grow:1;margin-bottom:1rem}.post-card-excerpt p{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:0;line-height:1.6}.post-card-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-accent-light);text-decoration:none}.post-card-link:hover{color:var(--color-accent-hover)}.post-card-link svg{width:16px;height:16px}.pagination,.nav-links{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:2rem 0;flex-wrap:wrap}.pagination .page-numbers,.nav-links .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;background-color:var(--color-bg-card);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none;font-size:.875rem;font-weight:500}.pagination .page-numbers.current,.nav-links .page-numbers.current{background-color:var(--color-accent);color:#fff}.pagination .page-numbers:hover:not(.current):not(.dots),.nav-links .page-numbers:hover:not(.current):not(.dots){background-color:var(--color-border);color:var(--color-text)}.pagination .page-numbers.dots,.nav-links .page-numbers.dots{background:none;cursor:default}.pagination .prev,.pagination .next,.nav-links .prev,.nav-links .next{padding:0 1rem}.no-posts{text-align:center;padding:4rem 0;color:var(--color-text-muted)}.Single_Post .single-post-main{padding:0}.Single_Post .single-post-hero{width:100%;max-height:60vh;overflow:hidden}.Single_Post .single-post-hero img{width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.Single_Post .single-post-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.Single_Post .single-post-section{padding:3rem 0}}.Single_Post .single-post-layout{display:grid;grid-template-columns:1fr 320px;gap:3rem}@media (max-width: 1024px){.Single_Post .single-post-layout{grid-template-columns:1fr;gap:3rem}}.Single_Post .related-posts-section{padding:4rem 0;background-color:var(--color-bg-card)}@media (max-width: 768px){.Single_Post .related-posts-section{padding:3rem 0}}.Single_Post .related-posts-header{text-align:center;margin-bottom:2rem}.Single_Post .related-posts-title{font-family:var(--font-display);font-size:1.875rem;color:var(--color-text);margin-bottom:0}.Single_Post .related-posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 1024px){.Single_Post .related-posts-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.Single_Post .related-posts-grid{grid-template-columns:1fr}}.single-post{padding:0;max-width:none}.post-header{margin-bottom:2rem}.post-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;color:var(--color-text-muted)}.post-meta time{color:var(--color-text-muted)}.post-meta .meta-separator{color:var(--color-border)}.post-meta .post-categories a{color:var(--color-accent-light);text-decoration:none}.post-meta .post-categories a:hover{color:var(--color-accent-hover)}.post-title{font-size:2.5rem;margin-bottom:0}@media (max-width: 768px){.post-title{font-size:2rem}}.post-featured-image{margin-bottom:2rem;border-radius:.5rem;overflow:hidden}.post-featured-image img{width:100%;height:auto;display:block}.post-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.post-tags .tags-label{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.post-tags .tag-link{display:inline-block;padding:.25rem .75rem;background-color:var(--color-bg-card);border-radius:.25rem;font-size:.8125rem;color:var(--color-text-muted);text-decoration:none}.post-tags .tag-link:hover{background-color:var(--color-accent);color:#fff}.post-navigation{margin-top:3rem;padding:1.5rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.post-navigation .nav-links{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 640px){.post-navigation .nav-links{grid-template-columns:1fr 1fr}}.post-navigation .nav-previous a,.post-navigation .nav-next a{display:block;text-decoration:none}.post-navigation .nav-next{text-align:right}.post-navigation .nav-subtitle{display:block;font-size:.8125rem;color:var(--color-text-muted);margin-bottom:.25rem}.post-navigation .nav-title{display:block;font-size:1rem;font-weight:500;color:var(--color-text);line-height:1.4}.post-navigation a:hover .nav-title{color:var(--color-accent-light)}.comments-area{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border)}.comments-title{margin-bottom:1.5rem}.comment-list{list-style:none;margin:0;padding:0}.comment-list .comment{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.comment-list .comment:last-child{border-bottom:none}.comment-list .comment-body{display:flex;gap:1rem}.comment-list .comment-author{flex-shrink:0}.comment-list .comment-author img{border-radius:50%}.comment-list .comment-content{flex-grow:1}.comment-list .fn{font-weight:600;color:var(--color-text)}.comment-list .comment-metadata{margin-bottom:.5rem;font-size:.8125rem;color:var(--color-text-muted)}.comment-list .comment-metadata a{color:var(--color-text-muted);text-decoration:none}.comment-list .comment-metadata a:hover{color:var(--color-accent-light)}.comment-respond{margin-top:2rem}.comment-reply-title{margin-bottom:1rem}.comment-form label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text)}.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{margin-bottom:1rem}.comment-form .form-submit{margin-top:1rem}.error-404{text-align:center;padding:4rem 0;max-width:600px;margin:0 auto}.error-header{margin-bottom:2rem}.error-title{font-size:8rem;line-height:1;color:var(--color-accent);margin-bottom:.5rem}@media (max-width: 640px){.error-title{font-size:5rem}}.error-subtitle{font-size:1.5rem;font-weight:500;color:var(--color-text);margin-bottom:0}.error-content{margin-bottom:2rem}.error-content p{font-size:1rem;color:var(--color-text-muted)}.error-actions{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.error-search{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}.error-search p{margin-bottom:1rem;color:var(--color-text-muted)}.search-form{display:flex;max-width:400px;margin:0 auto}.search-form .search-field{flex-grow:1;border-radius:.25rem 0 0 .25rem}.search-form .search-submit{flex-shrink:0;padding:.75rem 1.25rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:0 .25rem .25rem 0;font-weight:600;cursor:pointer}.search-form .search-submit:hover{background-color:var(--color-accent-hover)}.Home_Page .homepage-main{padding:0}.Home_Page .hero-desktop-only{display:none}@media (min-width: 1450px){.Home_Page .hero-desktop-only{display:block}}.Home_Page .hero-mobile-only{display:block}@media (min-width: 1450px){.Home_Page .hero-mobile-only{display:none}}.Home_Page .section-header{text-align:center;margin-bottom:3rem}@media (max-width: 768px){.Home_Page .section-header{margin-bottom:2rem}}.Home_Page .section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.Home_Page .section-title{font-size:1.875rem}}.Home_Page .section-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.Home_Page .section-footer{text-align:center;margin-top:2.5rem}.Home_Page .featured-properties-section{padding:4rem 0;background-color:var(--color-bg-card)}@media (max-width: 768px){.Home_Page .featured-properties-section{padding:3rem 0}}.Home_Page .featured-properties-section--alt{background-color:var(--color-bg-dark)}.Home_Page .property-grid--3col{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 1024px){.Home_Page .property-grid--3col{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.Home_Page .property-grid--3col{grid-template-columns:1fr}}.Home_Page .no-properties-message{text-align:center;color:var(--color-text-muted);font-size:1.125rem;padding:3rem 0}.About_Page .about-page-main{padding:0}.About_Page .about-story-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.About_Page .about-story-section{padding:3rem 0}}.About_Page .about-story-layout{display:grid;grid-template-columns:1fr 2fr;gap:3rem;align-items:center}@media (max-width: 1300px){.About_Page .about-story-layout{grid-template-columns:1fr;gap:2rem}}.About_Page .about-story-image img{width:100%;height:auto;border-radius:.5rem;display:block}@media (max-width: 1300px){.About_Page .about-story-image{max-width:500px;margin:0 auto}}.About_Page .about-story-content h2,.About_Page .about-story-content h3{font-family:var(--font-display);color:var(--color-text);margin-top:2rem}.About_Page .about-story-content h2:first-child,.About_Page .about-story-content h3:first-child{margin-top:0}.About_Page .about-story-content p{font-size:1.125rem;line-height:1.8;color:var(--color-text-muted)}.About_Page .about-values-section{padding:4rem 0;background-color:var(--color-bg-card)}@media (max-width: 768px){.About_Page .about-values-section{padding:3rem 0}}.About_Page .about-values-header{text-align:center;margin-bottom:3rem}.About_Page .about-values-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:0}@media (max-width: 768px){.About_Page .about-values-title{font-size:1.875rem}}.About_Page .about-team-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.About_Page .about-team-section{padding:3rem 0}}.About_Page .about-team-header{text-align:center;margin-bottom:3rem}.About_Page .about-team-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.About_Page .about-team-title{font-size:1.875rem}}.About_Page .about-team-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.About_Page .about-broker-section{padding:3rem 0;background-color:var(--color-bg-card);border-top:1px solid var(--color-border)}.About_Page .about-broker-content{text-align:center}.About_Page .about-broker-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.5rem}.About_Page .about-broker-text{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:0}.Contact_Page .contact-page-main{padding:0}.Contact_Page .contact-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.Contact_Page .contact-section{padding:3rem 0}}.Contact_Page .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}@media (max-width: 1024px){.Contact_Page .contact-grid{grid-template-columns:1fr;gap:2rem}}.Contact_Page .contact-form-wrapper{background-color:var(--color-bg-card);padding:2rem;border-radius:.5rem}.Contact_Page .contact-form-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:1.5rem}.Contact_Page .contact-form-notice{color:var(--color-text-muted);font-style:italic;margin-bottom:1.5rem}.Contact_Page .contact-form .form-group{margin-bottom:1.25rem}.Contact_Page .contact-form label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.Contact_Page .contact-form label .required{color:var(--color-accent)}.Contact_Page .contact-form input,.Contact_Page .contact-form textarea{width:100%}.Contact_Page .contact-form button[type=submit]{width:100%;margin-top:.5rem}.Contact_Page .wpcf7-form .form-group,.Contact_Page .wpcf7-form p{margin-bottom:1.25rem}.Contact_Page .wpcf7-form label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.Contact_Page .wpcf7-form input[type=text],.Contact_Page .wpcf7-form input[type=email],.Contact_Page .wpcf7-form input[type=tel],.Contact_Page .wpcf7-form textarea{width:100%}.Contact_Page .wpcf7-form input[type=submit]{width:100%;margin-top:.5rem;background-color:var(--color-accent);color:#fff;padding:.75rem 1.5rem;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;border:none;cursor:pointer}.Contact_Page .wpcf7-form input[type=submit]:hover{background-color:var(--color-accent-hover)}.Contact_Page .wpcf7-form .wpcf7-response-output{margin:1rem 0 0;padding:1rem;border-radius:.25rem}.Contact_Page .wpcf7-form .wpcf7-mail-sent-ok{background-color:var(--color-success);color:#fff;border:none}.Contact_Page .wpcf7-form .wpcf7-validation-errors,.Contact_Page .wpcf7-form .wpcf7-mail-sent-ng{background-color:var(--color-accent);color:#fff;border:none}.Contact_Page .contact-info-wrapper{display:flex;flex-direction:column}.Contact_Page .contact-info-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:1.5rem}.Contact_Page .contact-info-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.Contact_Page .contact-info-item{display:flex;gap:1rem}.Contact_Page .contact-info-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-card);border-radius:.5rem;color:var(--color-accent)}.Contact_Page .contact-info-content{flex:1}.Contact_Page .contact-info-label{font-family:Times New Roman,Times,serif;font-size:1rem;font-weight:600;color:var(--color-text);margin-bottom:.25rem}.Contact_Page .contact-info-value{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:0;line-height:1.5}.Contact_Page .contact-info-value a{color:var(--color-text-muted)}.Contact_Page .contact-info-value a:hover{color:var(--color-accent-light)}.Contact_Page .contact-map{border-radius:.5rem;overflow:hidden;background-color:var(--color-bg-card)}.Contact_Page .contact-map iframe{display:block}.Contact_Page .contact-additional-content{padding:3rem 0;background-color:var(--color-bg-card)}.Contact_Page .contact-additional-content .entry-content{max-width:800px;margin:0 auto}.Blog_Archive .archive-main,.Archive_Page .archive-main{padding:0}.Blog_Archive .archive-content-section,.Archive_Page .archive-content-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.Blog_Archive .archive-content-section,.Archive_Page .archive-content-section{padding:3rem 0}}.Blog_Archive .archive-layout,.Archive_Page .archive-layout{display:grid;grid-template-columns:1fr 320px;gap:3rem}@media (max-width: 1024px){.Blog_Archive .archive-layout,.Archive_Page .archive-layout{grid-template-columns:1fr;gap:3rem}}.Blog_Archive .posts-grid,.Archive_Page .posts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media (max-width: 768px){.Blog_Archive .posts-grid,.Archive_Page .posts-grid{grid-template-columns:1fr}}.Blog_Archive .no-posts-message,.Archive_Page .no-posts-message{text-align:center;padding:3rem;background-color:var(--color-bg-card);border-radius:.5rem}.Blog_Archive .no-posts-message h2,.Archive_Page .no-posts-message h2{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:.5rem}.Blog_Archive .no-posts-message p,.Archive_Page .no-posts-message p{color:var(--color-text-muted);margin-bottom:0}.Blog_Archive .navigation.pagination,.Archive_Page .navigation.pagination{margin-top:3rem}.Blog_Archive .navigation.pagination .nav-links,.Archive_Page .navigation.pagination .nav-links{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap}.Blog_Archive .navigation.pagination .page-numbers,.Archive_Page .navigation.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;background-color:var(--color-bg-card);color:var(--color-text-muted);border-radius:.25rem;font-size:.875rem}.Blog_Archive .navigation.pagination .page-numbers:hover,.Archive_Page .navigation.pagination .page-numbers:hover,.Blog_Archive .navigation.pagination .page-numbers.current,.Archive_Page .navigation.pagination .page-numbers.current{background-color:var(--color-accent);color:#fff}.Blog_Archive .navigation.pagination .page-numbers svg,.Archive_Page .navigation.pagination .page-numbers svg{width:16px;height:16px}.Blog_Archive .navigation.pagination .prev,.Blog_Archive .navigation.pagination .next,.Archive_Page .navigation.pagination .prev,.Archive_Page .navigation.pagination .next{display:inline-flex;align-items:center;gap:.5rem}@media (max-width: 1024px){.Blog_Archive .archive-sidebar,.Archive_Page .archive-sidebar{max-width:400px}}.sidebar-widgets{display:flex;flex-direction:column;gap:2rem}.sidebar-widget{background-color:var(--color-bg-card);padding:1.5rem;border-radius:.5rem}.widget-title{font-family:var(--font-display);font-size:1.125rem;color:var(--color-text);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.widget-search .search-form{display:flex;gap:.5rem}.widget-search .search-field{flex:1}.widget-search .search-submit{flex-shrink:0;padding:.75rem 1rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:.25rem;cursor:pointer}.widget-search .search-submit:hover{background-color:var(--color-accent-hover)}.category-list{list-style:none;margin:0;padding:0}.category-list li{padding:.5rem 0;border-bottom:1px solid var(--color-border)}.category-list li:last-child{border-bottom:none;padding-bottom:0}.category-list a{display:flex;justify-content:space-between;align-items:center;color:var(--color-text-muted);font-size:.9375rem}.category-list a:hover{color:var(--color-accent-light)}.category-list .count{font-size:.8125rem;color:var(--color-sold)}.recent-posts-list{list-style:none;margin:0;padding:0}.recent-posts-list li{padding:.75rem 0;border-bottom:1px solid var(--color-border)}.recent-posts-list li:last-child{border-bottom:none;padding-bottom:0}.recent-posts-list a{display:block;color:var(--color-text);font-size:.9375rem;font-weight:500;line-height:1.4;margin-bottom:.25rem}.recent-posts-list a:hover{color:var(--color-accent-light)}.recent-posts-list .post-date{display:block;font-size:.8125rem;color:var(--color-sold)}.widget-cta{background-color:var(--color-accent);text-align:center}.widget-cta .widget-title{color:#fff;border-bottom-color:#fff3}.widget-cta p{color:#ffffffe6;font-size:.9375rem;margin-bottom:1rem}.widget-cta .btn-primary,.widget-cta .comment-form .form-submit input[type=submit],.comment-form .form-submit .widget-cta input[type=submit]{background-color:#fff;color:var(--color-accent)}.widget-cta .btn-primary:hover,.widget-cta .comment-form .form-submit input[type=submit]:hover,.comment-form .form-submit .widget-cta input[type=submit]:hover{background-color:var(--color-text)}.widget-cta .btn-small{padding:.5rem 1rem;font-size:.8125rem}.full-width-main{padding:0}.full-width-hero{width:100%;max-height:50vh;overflow:hidden}.full-width-hero img{width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.full-width-content .page-header{padding:3rem 0 2rem}.full-width-content .page-title{font-size:2.5rem;margin-bottom:0}@media (max-width: 768px){.full-width-content .page-title{font-size:2rem}}.full-width-content .entry-content--wide{padding-bottom:4rem}.full-width-content .entry-content--wide>.alignfull{max-width:none}.full-width-content .entry-content--wide>.alignwide{max-width:calc(var(--container-max) + 200px);margin-left:auto;margin-right:auto}.landing-page-site{display:flex;flex-direction:column;min-height:100vh}.landing-header{padding:1rem 0;background-color:var(--color-bg-card);border-bottom:1px solid var(--color-border)}.landing-header-content{text-align:center}.landing-logo{display:inline-block}.landing-logo .custom-logo{max-height:40px;width:auto}.landing-logo .site-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text)}.landing-main{flex:1;padding:0}.landing-content .entry-content>*:first-child{margin-top:0}.landing-content .entry-content>.alignfull{max-width:none;width:100vw;margin-left:calc(-50vw + 50%)}.landing-footer{padding:1.5rem 0;background-color:var(--color-bg-card);border-top:1px solid var(--color-border)}.landing-footer-text{text-align:center;font-size:.875rem;color:var(--color-text-muted);margin:0}.landing-footer-links{display:inline-block;margin-left:1rem;padding-left:1rem;border-left:1px solid var(--color-border)}.landing-footer-links a{color:var(--color-text-muted)}.landing-footer-links a:hover{color:var(--color-accent-light)}.Search_Page .search-main{padding:0}.Search_Page .search-content-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.Search_Page .search-content-section{padding:3rem 0}}.Search_Page .search-form-wrapper{max-width:600px;margin:0 auto 2rem}.Search_Page .search-form-wrapper .search-form{display:flex;gap:.5rem}.Search_Page .search-form-wrapper .search-field{flex:1;padding:1rem 1.25rem;font-size:1rem}.Search_Page .search-form-wrapper .search-submit{padding:1rem 1.5rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:.25rem;font-weight:600;cursor:pointer}.Search_Page .search-form-wrapper .search-submit:hover{background-color:var(--color-accent-hover)}.Search_Page .search-results-count{text-align:center;color:var(--color-text-muted);margin-bottom:2rem}.Search_Page .search-results{display:flex;flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto}.Search_Page .search-result-item{display:flex;gap:1.5rem;padding:1.5rem;background-color:var(--color-bg-card);border-radius:.5rem}@media (max-width: 640px){.Search_Page .search-result-item{flex-direction:column;gap:1rem}}.Search_Page .search-result-image{flex-shrink:0}.Search_Page .search-result-image img{width:120px;height:90px;-o-object-fit:cover;object-fit:cover;border-radius:.25rem}@media (max-width: 640px){.Search_Page .search-result-image img{width:100%;height:200px}}.Search_Page .search-result-content{flex:1}.Search_Page .search-result-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem;font-size:.8125rem}.Search_Page .search-result-type{display:inline-block;padding:.125rem .5rem;background-color:var(--color-accent);color:#fff;border-radius:.25rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em}.Search_Page .search-result-date{color:var(--color-text-muted)}.Search_Page .search-result-title{font-family:var(--font-display);font-size:1.25rem;margin-bottom:.5rem}.Search_Page .search-result-title a{color:var(--color-text)}.Search_Page .search-result-title a:hover{color:var(--color-accent-light)}.Search_Page .search-result-excerpt{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:.75rem}.Search_Page .search-result-excerpt p{margin:0}.Search_Page .search-result-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-accent-light)}.Search_Page .search-result-link:hover{color:var(--color-accent-hover)}.Search_Page .no-results-message{text-align:center;padding:3rem;background-color:var(--color-bg-card);border-radius:.5rem;max-width:500px;margin:0 auto}.Search_Page .no-results-message h2{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:.5rem}.Search_Page .no-results-message p{color:var(--color-text-muted);margin-bottom:1.5rem}.Search_Page .no-results-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.Search_Page .navigation.pagination{margin-top:3rem;max-width:800px;margin-left:auto;margin-right:auto}.Search_Page .navigation.pagination .nav-links{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap}.Search_Page .navigation.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;background-color:var(--color-bg-card);color:var(--color-text-muted);border-radius:.25rem;font-size:.875rem}.Search_Page .navigation.pagination .page-numbers:hover,.Search_Page .navigation.pagination .page-numbers.current{background-color:var(--color-accent);color:#fff}.communities-page-main{padding:0}.communities-grid-section{padding:4rem 0;background-color:var(--color-bg-card)}.communities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}@media (max-width: 1024px){.communities-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.communities-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.communities-grid{grid-template-columns:1fr}}.community-card{display:block;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;text-decoration:none;transition:border-color .2s ease,transform .2s ease}.community-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.community-card:hover .community-card-arrow{transform:translate(4px)}.community-card-content{display:flex;flex-direction:column;gap:.5rem}.community-card-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin:0}.community-card-count{font-size:.875rem;color:var(--color-text-muted)}.community-card-arrow{margin-top:.5rem;color:var(--color-accent);transition:transform .2s ease}.communities-about-section{padding:4rem 0;background-color:var(--color-bg-dark)}.communities-about-content{max-width:800px;margin:0 auto;text-align:center}.communities-about-content h2{font-family:var(--font-display);font-size:2rem;color:var(--color-text);margin-bottom:1.5rem}.communities-about-content p{font-size:1.125rem;color:var(--color-text-muted);line-height:1.7;margin-bottom:1rem}.communities-about-content p:last-child{margin-bottom:0}.no-communities-message{text-align:center;color:var(--color-text-muted);font-size:1.125rem;padding:3rem 0}.community-page-main{padding:0}.community-about-section{padding:4rem 0;background-color:var(--color-bg-card)}.community-about-content{max-width:800px;margin:0 auto}.community-about-content h2,.community-about-content h3,.community-about-content h4{font-family:var(--font-display);color:var(--color-text)}.community-about-content p{font-size:1.125rem;color:var(--color-text-muted);line-height:1.7}.community-about-content ul,.community-about-content ol{color:var(--color-text-muted);margin-bottom:1rem;padding-left:1.5rem}.community-about-content li{margin-bottom:.5rem}.community-properties-section{padding:4rem 0;background-color:var(--color-bg-dark)}.community-properties-section .section-header{text-align:center;margin-bottom:3rem}.community-properties-section .section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}.community-properties-section .section-subtitle{font-size:1.125rem;color:var(--color-text-muted)}.community-properties-section .section-footer{text-align:center;margin-top:2.5rem}.community-properties-section .property-grid--3col{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 1024px){.community-properties-section .property-grid--3col{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.community-properties-section .property-grid--3col{grid-template-columns:1fr}}.community-properties-section .no-properties-message{text-align:center;color:var(--color-text-muted);font-size:1.125rem;padding:3rem 0}.community-properties-section .no-properties-message a{color:var(--color-accent-light)}.community-properties-section .no-properties-message a:hover{color:var(--color-accent-hover)}.resources-page-main{padding:0}.resources-featured-section{padding:4rem 0;background-color:var(--color-bg-card)}.resources-featured-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (max-width: 768px){.resources-featured-grid{grid-template-columns:1fr}}.resource-featured-card{position:relative;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;padding:2.5rem;text-align:center;cursor:pointer}.resource-featured-card:hover{border-color:var(--color-accent)}.resource-featured-card:hover .btn,.resource-featured-card:hover .comment-form .form-submit input[type=submit],.comment-form .form-submit .resource-featured-card:hover input[type=submit]{background-color:var(--color-accent-hover)}.resource-card-link-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.resource-featured-icon{display:flex;align-items:center;justify-content:center;width:100px;height:100px;margin:0 auto 1.5rem;background-color:#9f37301a;border-radius:50%;color:var(--color-accent)}.resource-featured-title{font-family:var(--font-display);font-size:1.75rem;color:var(--color-text);margin-bottom:1rem}.resource-featured-description{font-size:1rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:1.5rem}.resources-additional-section{padding:4rem 0;background-color:var(--color-bg-dark)}.resources-additional-section .section-header{text-align:center;margin-bottom:3rem}.resources-additional-section .section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}.resources-additional-section .section-subtitle{font-size:1.125rem;color:var(--color-text-muted)}.resources-additional-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 992px){.resources-additional-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.resources-additional-grid{grid-template-columns:1fr}}.resource-card{position:relative;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;cursor:pointer}.resource-card:hover{border-color:var(--color-accent)}.resource-card-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:1rem;background-color:#9f37301a;border-radius:.5rem;color:var(--color-accent)}.resource-card-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.5rem}.resource-card-description{font-size:.875rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:0}.resource-page-main{padding:0}.resource-content-section{padding:4rem 0;background-color:var(--color-bg-card)}.resource-content-layout{display:grid;grid-template-columns:1fr 320px;gap:3rem}@media (max-width: 992px){.resource-content-layout{grid-template-columns:1fr}}.resource-content h2,.resource-content h3,.resource-content h4{font-family:var(--font-display);color:var(--color-text);margin-top:2rem;margin-bottom:1rem}.resource-content h2:first-child,.resource-content h3:first-child,.resource-content h4:first-child{margin-top:0}.resource-content h2{font-size:1.75rem}.resource-content h3{font-size:1.5rem}.resource-content h4{font-size:1.25rem}.resource-content p{font-size:1.125rem;color:var(--color-text-muted);line-height:1.7}.resource-content ul,.resource-content ol{color:var(--color-text-muted);margin-bottom:1.5rem;padding-left:1.5rem;font-size:1.125rem;line-height:1.7}.resource-content li{margin-bottom:.5rem}.resource-content blockquote{border-left:4px solid var(--color-accent);padding-left:1.5rem;margin:1.5rem 0;font-style:italic;color:var(--color-text-muted)}@media (max-width: 992px){.resource-sidebar{order:-1}}.resource-sidebar-sticky{position:sticky;top:100px}@media (max-width: 992px){.resource-sidebar-sticky{position:static}}.resource-sidebar-card{background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.resource-sidebar-card h3{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.75rem}.resource-sidebar-card p{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1rem}.resource-sidebar-phone{text-align:center;margin-top:1rem;margin-bottom:0}.resource-sidebar-phone a{color:var(--color-accent-light)}.resource-sidebar-phone a:hover{color:var(--color-accent-hover)}.resource-sidebar-links{list-style:none;padding:0;margin:0}.resource-sidebar-links li{margin-bottom:.5rem}.resource-sidebar-links li:last-child{margin-bottom:0}.resource-sidebar-links a{color:var(--color-text-muted);font-size:.875rem}.resource-sidebar-links a:hover{color:var(--color-accent-light)}.btn-block{display:block;width:100%;text-align:center}.property-card{display:flex;flex-direction:column;height:100%;background-color:var(--color-bg-dark);border:1px solid var(--color-accent);border-radius:.5rem;overflow:hidden;position:relative;cursor:pointer}.property-card:hover{border-color:var(--color-accent-hover)}.property-card:hover .property-card-link{color:var(--color-accent-hover)}.property-card-link-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.property-card-image{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background-color:var(--color-bg-dark)}.property-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.property-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-dark);color:var(--color-border)}.property-card-badge{position:absolute;top:.75rem;left:.75rem}.property-card-content{display:flex;flex-direction:column;flex-grow:1;padding:1.25rem}.property-card-price{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:.5rem}.property-card-title{font-family:var(--font-body);font-size:1rem;font-weight:500;line-height:1.4;margin-bottom:.75rem;color:var(--color-text-muted)}.property-card-specs{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;margin:0 0 .75rem;padding:0}.spec-item{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--color-text-muted)}.spec-item svg{color:var(--color-accent);flex-shrink:0}.property-card-excerpt{flex-grow:1;font-size:.875rem;color:var(--color-sold);margin-bottom:1rem;line-height:1.5}.property-card-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-accent-light);text-decoration:none;margin-top:auto}.property-card-link:hover{color:var(--color-accent-hover)}.property-card-link svg{width:16px;height:16px}.properties-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 0}@media (min-width: 640px){.properties-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.properties-grid{grid-template-columns:repeat(3,1fr);gap:2rem}}.properties-meta{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--color-border)}.properties-count{font-size:.9375rem;color:var(--color-text-muted)}.properties-count strong{color:var(--color-text)}.no-properties{text-align:center;padding:4rem 0;color:var(--color-text-muted)}.no-properties h3{color:var(--color-text);margin-bottom:.5rem}.no-properties p{margin-bottom:1.5rem}.archive-hero{position:relative;background-color:var(--color-bg-card);background-size:cover;background-position:center;background-repeat:no-repeat;padding:3rem 0;border-bottom:1px solid var(--color-border);margin-bottom:2rem}.archive-hero.has-background{padding:4rem 0}@media (max-width: 768px){.archive-hero.has-background{padding:3rem 0}}.archive-hero .container{position:relative;z-index:2}.archive-hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#0a0a0abf,#0a0a0aa6);z-index:1}.archive-hero-title{margin-bottom:.5rem}.has-background .archive-hero-title{text-shadow:0 2px 4px rgba(0,0,0,.3)}.archive-hero-subtitle{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:0;max-width:600px}.has-background .archive-hero-subtitle{color:var(--color-text);opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.3)}.view-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem}.view-toggle-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--color-text-muted);background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.25rem;text-decoration:none;transition:all .15s ease}.view-toggle-btn:hover{color:var(--color-text);border-color:var(--color-accent)}.view-toggle-btn.active{color:var(--color-text);background-color:var(--color-accent);border-color:var(--color-accent)}.view-toggle-btn svg{flex-shrink:0}.property-map-layout{display:none}@media (min-width: 1024px){.is-map-view .property-map-layout{display:grid;grid-template-columns:38% 1fr;gap:2rem}}.grid-view-container{display:block}.grid-view-container .view-toggle{display:none}@media (min-width: 1024px){.grid-view-container .view-toggle{display:flex}.grid-view-container{display:none}.is-grid-view .grid-view-container{display:block}}.property-map-container{position:relative}@media (min-width: 1024px){.property-map-container{position:sticky;top:100px;height:calc(50vh - 75px)}}.property-map-container .view-toggle{margin-bottom:1.4rem}.property-map{width:100%;height:200px;background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden;border:1px solid var(--color-border)}@media (min-width: 1024px){.property-map{height:calc(100% - 44px)}}.property-list-container .properties-meta{padding-top:0;padding-bottom:0}.property-list-container .properties-grid{grid-template-columns:1fr}@media (min-width: 640px){.property-list-container .properties-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.property-list-container .properties-grid{grid-template-columns:repeat(2,1fr)}}.property-marker{background:transparent}.property-marker .marker-pin{width:30px;height:30px;border-radius:50% 50% 50% 0;background:var(--color-accent);position:absolute;transform:rotate(-45deg);left:50%;top:50%;margin:-20px 0 0 -15px;box-shadow:0 2px 8px #0000004d}.property-marker .marker-pin:after{content:"";width:14px;height:14px;margin:8px 0 0 8px;background:var(--color-bg-dark);position:absolute;border-radius:50%}.property-marker.property-marker-amber .marker-pin{background:#f59e0b}.property-marker.property-marker-blue .marker-pin{background:#3b82f6}.property-card-highlighted{border-color:#f59e0b!important;box-shadow:0 0 0 2px #f59e0b4d}.map-popup{font-family:var(--font-body);padding:.25rem}.map-popup strong{font-size:1rem;color:var(--color-accent)}.map-popup span{font-size:.875rem;color:#666}.map-popup a{display:inline-block;margin-top:.5rem;font-size:.875rem;color:var(--color-accent);font-weight:500}.map-popup a:hover{text-decoration:underline}.leaflet-popup-content-wrapper{border-radius:.5rem}.leaflet-popup-tip-container{margin-top:-1px}.property-filters{background-color:var(--color-bg-card);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.filters-form{display:block}.filters-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media (min-width: 768px){.filters-row{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1200px){.filters-row{grid-template-columns:repeat(7,1fr)}}.filter-item{display:flex;flex-direction:column;gap:.375rem}.filter-item-button .btn,.filter-item-button .comment-form .form-submit input[type=submit],.comment-form .form-submit .filter-item-button input[type=submit]{width:100%;padding:.625rem 1rem}.filter-label{font-size:.8125rem;font-weight:500;color:var(--color-text);text-transform:uppercase;letter-spacing:.03em}.filter-select{width:100%;padding:.625rem 2rem .625rem .75rem;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-size:.9375rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.filter-select:focus{outline:none;border-color:var(--color-accent)}.property-filters.is-loading{pointer-events:none;opacity:.7}.property-results-loading{display:flex;justify-content:center;align-items:center;padding:4rem 0}.property-results-loading .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.property-gallery{margin-bottom:2rem}.gallery-main{position:relative;margin-bottom:.75rem}.gallery-main-image{display:block;width:100%;padding:0;border:none;background:none;cursor:pointer;border-radius:.5rem;overflow:hidden}.gallery-main-image img{width:100%;height:auto;aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;display:block}.gallery-count{position:absolute;bottom:1rem;right:1rem;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#000000bf;border-radius:.25rem;color:#fff;font-size:.875rem;font-weight:500}.gallery-playback-btn{position:absolute;bottom:1rem;left:1rem;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background-color:#000000bf;border:none;border-radius:.25rem;color:#fff;cursor:pointer;z-index:2}.gallery-playback-btn .icon-play{display:none}.gallery-playback-btn .icon-pause{display:block}.gallery-playback-btn:not(.is-playing) .icon-play{display:block}.gallery-playback-btn:not(.is-playing) .icon-pause{display:none}.gallery-playback-btn:hover{background-color:#000000e6}.gallery-thumbnails-container{display:flex;align-items:center;gap:.5rem}.gallery-thumbnails-viewport{flex:1;overflow:hidden}.gallery-thumbnails{display:flex;gap:.5rem}.gallery-thumbnail{position:relative;flex-shrink:0;width:calc((100% - 2rem)/5);padding:0;border:2px solid transparent;background:none;cursor:pointer;border-radius:.25rem;overflow:hidden}@media (max-width: 640px){.gallery-thumbnail{width:calc((100% - 1.5rem)/4)}}.gallery-thumbnail.is-active{border-color:var(--color-accent)}.gallery-thumbnail img{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;display:block}.gallery-thumbnails-nav{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);cursor:pointer}.gallery-thumbnails-nav:hover:not(:disabled){background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.gallery-thumbnails-nav:disabled{opacity:.3;cursor:not-allowed}.gallery-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;background-color:var(--color-bg-card);border-radius:.5rem;color:var(--color-text-muted)}.gallery-placeholder svg{margin-bottom:1rem}.gallery-placeholder p{margin:0}.gallery-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:none}.gallery-lightbox[aria-hidden=false]{display:block}.lightbox-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#000000f2}.lightbox-container{position:relative;display:flex;align-items:center;justify-content:center;height:100%;padding:4rem 1rem}.lightbox-close{position:absolute;top:1rem;right:1rem;z-index:10;padding:.5rem;background:none;border:none;color:#fff;cursor:pointer;opacity:.8}.lightbox-close:hover{opacity:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;padding:1rem;background-color:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;opacity:.8}.lightbox-nav:hover{opacity:1;background-color:#fff3}.lightbox-nav.lightbox-prev{left:1rem}.lightbox-nav.lightbox-next{right:1rem}.lightbox-image-container{max-width:90vw;max-height:calc(100vh - 8rem);display:flex;align-items:center;justify-content:center}.lightbox-image{max-width:100%;max-height:calc(100vh - 8rem);-o-object-fit:contain;object-fit:contain}.lightbox-counter{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);padding:.5rem 1rem;background-color:#000000bf;border-radius:.25rem;color:#fff;font-size:.875rem}.breadcrumbs{background-color:var(--color-bg-card);padding:1rem 0;border-bottom:1px solid var(--color-border)}.breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;list-style:none;margin:0;padding:0;font-size:.875rem}.breadcrumb-list li{display:flex;align-items:center}.breadcrumb-list li:not(:last-child):after{content:"/";margin-left:.5rem;color:var(--color-text-muted)}.breadcrumb-list li a{color:var(--color-text-muted);text-decoration:none}.breadcrumb-list li a:hover{color:var(--color-accent-light)}.breadcrumb-list li:last-child{color:var(--color-text)}.single-property-main{padding-bottom:4rem}.property-address-header{padding-top:2rem;padding-bottom:1.5rem}.property-address-title{font-size:2rem;margin-bottom:0;color:var(--color-text)}@media (max-width: 768px){.property-address-title{font-size:1.5rem}}.single-property-layout{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 1024px){.single-property-layout{grid-template-columns:1fr 350px;gap:3rem}}.section-title{font-size:1.25rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.property-specs-section{margin-bottom:2rem}.property-specs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;list-style:none;margin:0;padding:0}@media (min-width: 640px){.property-specs-grid{grid-template-columns:repeat(3,1fr)}}.property-specs-grid .spec-item{display:flex;flex-direction:column;gap:.25rem;padding:1rem;background-color:var(--color-bg-card);border-radius:.25rem}.spec-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.spec-value{font-size:1.25rem;font-weight:600;color:var(--color-text)}.property-documents{margin-bottom:2rem}.documents-list{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;list-style:none;margin:0;padding:0}.document-item{margin:0}.document-link{display:inline-flex;align-items:center;gap:.5rem}.document-link svg{flex-shrink:0}.document-ext{font-size:.75rem;opacity:.7;text-transform:uppercase}.property-description{margin-bottom:2rem}.property-short-desc{font-size:1.125rem;color:var(--color-text);margin-bottom:1rem}.property-full-desc{color:var(--color-text-muted);line-height:1.7}.property-features{margin-bottom:2rem}.features-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;list-style:none;margin:0;padding:0}@media (min-width: 640px){.features-list{grid-template-columns:repeat(3,1fr)}}.feature-item{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--color-text-muted)}.feature-item svg{flex-shrink:0;color:var(--color-success)}.single-property-sidebar{display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 1024px){.single-property-sidebar{align-self:start}}.sidebar-widget{background-color:var(--color-bg-card);border-radius:.5rem;padding:1.5rem}.widget-title{font-family:Times New Roman,Times,serif;font-size:18px;font-weight:700;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.property-header-widget .property-header-top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}.property-header-widget .property-title{font-family:var(--font-display);font-size:1.75rem;color:var(--color-text);margin-bottom:.5rem;line-height:1.2}.property-header-widget .property-mls{font-size:.8125rem;color:var(--color-sold);margin-bottom:0}.badge-type-residential{background-color:#93c5fd;color:#1e3a5f}.badge-type-commercial{background-color:var(--color-accent);color:#fff}.badge-type-land{background-color:#86efac;color:#14532d}.badge-type-multi-family{background-color:#c4b5fd;color:#3b1d66}.property-documents-widget .sidebar-documents-list{display:flex;flex-direction:column;gap:.75rem}.property-documents-widget .document-btn{display:flex;align-items:center;gap:.625rem;width:100%;padding:.75rem 1rem;background-color:var(--color-accent);border:none;border-radius:.25rem;color:#fff;text-decoration:none;font-weight:600;font-size:.875rem;cursor:pointer}.property-documents-widget .document-btn:hover{background-color:var(--color-accent-hover);color:#fff}.property-documents-widget .document-btn svg{flex-shrink:0;stroke:#fff}.property-documents-widget .document-btn-label{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-documents-widget .document-btn-ext{flex-shrink:0;font-size:.625rem;font-weight:700;text-transform:uppercase;background-color:#0003;color:#fff;padding:.1875rem .375rem;border-radius:.1875rem;letter-spacing:.03em}.agent-card{padding:1.5rem}.agent-info-link{display:block;text-decoration:none;color:inherit;border-radius:.375rem;margin:-.5rem;padding:.5rem}.agent-info-link:hover{background-color:var(--color-bg-dark)}.agent-info-link:hover .agent-name{color:var(--color-accent-light)}.agent-card-header{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.agent-card-title{font-size:1.125rem;margin-bottom:0}.agent-info{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.agent-avatar{flex-shrink:0;background-color:#000;border-radius:50%}.agent-avatar img{width:64px;height:64px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.agent-avatar-placeholder{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background-color:#000;border-radius:50%;color:var(--color-text-muted)}.agent-name{font-weight:600;color:var(--color-text);margin-bottom:.25rem}.agent-role{font-size:.8125rem;color:var(--color-text-muted);margin-bottom:0}.agent-contact{display:flex;flex-direction:column;gap:.75rem}.agent-contact .btn,.agent-contact .comment-form .form-submit input[type=submit],.comment-form .form-submit .agent-contact input[type=submit]{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.agent-card-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.agent-card-note{font-size:.8125rem;color:var(--color-text-muted);text-align:center;margin-bottom:0}.property-inquiry-card .inquiry-note{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:1rem;line-height:1.5}.property-inquiry-card .btn-block{display:flex;width:100%;text-align:center;justify-content:center}.generic-contact-card .contact-note{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:1.25rem;line-height:1.5}.generic-contact-card .generic-contact-actions{display:flex;flex-direction:column;gap:.75rem}.generic-contact-card .btn-block{display:flex;width:100%;text-align:center;justify-content:center}body.lightbox-open{overflow:hidden}.Single_Agent{padding-bottom:4rem}.Single_Agent .agent-header{background-color:var(--color-bg-card);padding:3rem 0;border-bottom:1px solid var(--color-border)}.Single_Agent .agent-header-layout{display:flex;flex-direction:column;align-items:center;gap:2rem;text-align:center}@media (min-width: 768px){.Single_Agent .agent-header-layout{flex-direction:row;text-align:left;align-items:flex-start}}.Single_Agent .agent-photo-wrapper{flex-shrink:0;background-color:#000}.Single_Agent .agent-photo{width:200px;height:200px;border-radius:.5rem;-o-object-fit:cover;object-fit:cover;border:3px solid var(--color-border)}@media (min-width: 768px){.Single_Agent .agent-photo{width:240px;height:240px}}.Single_Agent .agent-photo-placeholder{width:200px;height:200px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-dark);border-radius:.5rem;border:3px solid var(--color-border);color:var(--color-text-muted)}@media (min-width: 768px){.Single_Agent .agent-photo-placeholder{width:240px;height:240px}}.Single_Agent .agent-info-wrapper{flex:1}.Single_Agent .agent-info-content{display:flex;flex-direction:column;align-items:center}@media (min-width: 768px){.Single_Agent .agent-info-content{align-items:flex-start}}.Single_Agent .agent-title-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:.5rem;font-weight:600}.Single_Agent .agent-name{font-size:2.5rem;font-family:var(--font-heading);margin-bottom:.5rem;line-height:1.1}@media (min-width: 768px){.Single_Agent .agent-name{font-size:3rem}}.Single_Agent .agent-license{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.5rem}.Single_Agent .agent-contact-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;justify-content:center}@media (min-width: 768px){.Single_Agent .agent-contact-actions{justify-content:flex-start}}.Single_Agent .agent-contact-actions .btn,.Single_Agent .agent-contact-actions .comment-form .form-submit input[type=submit],.comment-form .form-submit .Single_Agent .agent-contact-actions input[type=submit]{display:inline-flex;align-items:center;gap:.5rem}.Single_Agent .agent-social-links{display:flex;gap:.75rem}.Single_Agent .social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-bg-dark);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none}.Single_Agent .social-link:hover{background-color:var(--color-accent);color:#fff}.Single_Agent .social-link svg{width:20px;height:20px}.Single_Agent .agent-content-layout{display:grid;grid-template-columns:1fr;gap:2rem;padding-top:2rem}@media (min-width: 1024px){.Single_Agent .agent-content-layout{grid-template-columns:1fr 350px;gap:3rem}}.Single_Agent .agent-main-content{min-width:0}.Single_Agent .agent-section{margin-bottom:2.5rem}.Single_Agent .agent-section:last-child{margin-bottom:0}.Single_Agent .section-title{font-size:1.25rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.Single_Agent .agent-bio .agent-short-bio{font-size:1.125rem;color:var(--color-text);line-height:1.6;margin-bottom:1.5rem}.Single_Agent .agent-bio .agent-full-bio{color:var(--color-text-muted);line-height:1.7}.Single_Agent .agent-bio .agent-full-bio p{margin-bottom:1rem}.Single_Agent .agent-bio .agent-full-bio p:last-child{margin-bottom:0}.Single_Agent .agent-gallery-section .agent-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (min-width: 640px){.Single_Agent .agent-gallery-section .agent-gallery-grid{grid-template-columns:repeat(3,1fr)}}.Single_Agent .agent-gallery-section .gallery-item{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:.375rem;border:1px solid var(--color-border)}.Single_Agent .agent-gallery-section .gallery-item:hover img{transform:scale(1.05)}.Single_Agent .agent-gallery-section .gallery-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.Single_Agent .agent-listings .agent-listings-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:1.5rem}@media (min-width: 640px){.Single_Agent .agent-listings .agent-listings-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1200px){.Single_Agent .agent-listings .agent-listings-grid{grid-template-columns:repeat(3,1fr)}}.Single_Agent .agent-listings .agent-listings-cta{text-align:center}.Single_Agent .agent-sidebar{display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 1024px){.Single_Agent .agent-sidebar{align-self:start}}.Single_Agent .sidebar-widget{background-color:var(--color-bg-card);border-radius:.5rem;padding:1.5rem}.Single_Agent .widget-title{font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.Single_Agent .agent-contact-card .contact-list{list-style:none;margin:0;padding:0}.Single_Agent .agent-contact-card .contact-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.Single_Agent .agent-contact-card .contact-item:first-child{padding-top:0}.Single_Agent .agent-contact-card .contact-item:last-child{padding-bottom:0;border-bottom:none}.Single_Agent .agent-contact-card .contact-item svg{flex-shrink:0;margin-top:.125rem;color:var(--color-accent)}.Single_Agent .agent-contact-card .contact-item>div{flex:1;min-width:0}.Single_Agent .agent-contact-card .contact-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.25rem}.Single_Agent .agent-contact-card a{color:var(--color-text);text-decoration:none;word-break:break-word}.Single_Agent .agent-contact-card a:hover{color:var(--color-accent-light)}.Single_Agent .agent-quick-contact .widget-note{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:1rem;line-height:1.5}.Single_Agent .agent-quick-contact .btn-block{display:block;width:100%;text-align:center}.Agents_Archive .agents-section{padding:1.125rem 0 5.875rem}.Agents_Archive .agents-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 640px){.Agents_Archive .agents-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.Agents_Archive .agents-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.Agents_Archive .agents-grid{grid-template-columns:repeat(4,1fr)}}.Agents_Archive .agent-card-item{background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden;display:flex;flex-direction:column}.Agents_Archive .agent-card-link{display:block;text-decoration:none;color:inherit;flex:1}.Agents_Archive .agent-card-link:hover .agent-card-image img{transform:scale(1.05)}.Agents_Archive .agent-card-link:hover .agent-card-name{color:var(--color-accent-light)}.Agents_Archive .agent-card-image{aspect-ratio:1/1;overflow:hidden;background-color:var(--color-bg-dark)}.Agents_Archive .agent-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.Agents_Archive .agent-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.Agents_Archive .agent-card-content{padding:1.25rem}.Agents_Archive .agent-card-title-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:.375rem;font-weight:600}.Agents_Archive .agent-card-name{font-size:1.25rem;font-family:var(--font-display);margin-bottom:.5rem;line-height:1.2}.Agents_Archive .agent-card-bio{font-size:.875rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.Agents_Archive .agent-card-actions{display:flex;align-items:center;gap:.5rem;padding:0 1.25rem 1.25rem;margin-top:auto}.Agents_Archive .agent-action-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;height:40px;padding:0 .75rem;background-color:transparent;border:2px solid var(--color-accent);border-radius:.25rem;color:var(--color-accent);text-decoration:none;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.Agents_Archive .agent-action-btn:hover{background-color:var(--color-accent);color:#fff}.Agents_Archive .agent-action-btn:not(.agent-action-profile){width:40px;padding:0}.Agents_Archive .agent-action-btn.agent-action-profile{flex:1}.Agents_Archive .no-agents-message{text-align:center;padding:3rem;color:var(--color-text-muted)}.Agents_Archive .no-agents-message p{margin-bottom:0}.hero-section--split{display:flex;min-height:70vh;max-height:725px;width:100%}@media (max-width: 768px){.hero-section--split{flex-direction:column;max-height:none}}.hero-section--split.hero-section--small{min-height:300px;max-height:400px}@media (max-width: 768px){.hero-section--split.hero-section--small{max-height:none}}.hero-section--split.hero-section--small .hero-section-title{font-size:2.5rem}@media (max-width: 768px){.hero-section--split.hero-section--small .hero-section-title{font-size:2rem}}.hero-section--split.hero-section--small .hero-section-logo{max-width:280px;margin-bottom:1.5rem}.hero-split-content{width:40%;max-width:800px;background-color:var(--color-bg-dark);display:flex;align-items:center;justify-content:center;padding:3rem}@media (max-width: 1024px){.hero-split-content{width:45%;max-width:none;padding:2rem}}@media (max-width: 768px){.hero-split-content{width:100%;padding:3rem 1.5rem;order:2}}.hero-split-image{flex:1;background-size:cover;background-position:center center;background-repeat:no-repeat;position:relative;overflow:hidden}@media (max-width: 768px){.hero-split-image{width:100%;flex:none;height:300px;order:1}}.hero-split-inner{max-width:420px;text-align:center}@media (max-width: 768px){.hero-split-inner{margin:0 auto}}.hero-section-logo{display:block;max-width:320px;height:auto;margin:0 auto 2rem}@media (max-width: 768px){.hero-section-logo{max-width:280px;margin-bottom:1.5rem}}.hero-section-title{font-family:var(--font-display);font-size:3rem;color:var(--color-text);margin-bottom:1.25rem;line-height:1.1}@media (max-width: 1024px){.hero-section-title{font-size:2.5rem}}@media (max-width: 768px){.hero-section-title{font-size:2.25rem;margin-bottom:1rem}}.hero-section-subtitle{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:2rem;line-height:1.6}@media (max-width: 768px){.hero-section-subtitle{font-size:1rem;margin-bottom:1.5rem}}.hero-section-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.hero-location-search{margin-bottom:2rem}.hero-location-search-inner{display:flex;gap:0;background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden;box-shadow:0 4px 20px #0000004d}@media (max-width: 480px){.hero-location-search-inner{flex-direction:column}}.hero-location-select{flex:1;padding:.875rem 2rem .875rem 1rem;font-size:1rem;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg-card);border:none;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;min-width:180px}.hero-location-select:focus{box-shadow:inset 0 0 0 2px var(--color-accent)}.hero-location-select option{background-color:var(--color-bg-card);color:var(--color-text)}@media (max-width: 480px){.hero-location-select{text-align:center;background-position:right 1.5rem center}}.hero-search-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;border-radius:0;white-space:nowrap}.hero-search-btn svg{flex-shrink:0}@media (max-width: 480px){.hero-search-btn{width:100%;justify-content:center}}.hero-section--card{position:relative;display:flex;align-items:center;justify-content:flex-start;background-color:var(--color-bg-dark);background-size:cover;background-position:center;background-repeat:no-repeat;min-height:70vh;max-height:725px;padding:4rem 0}@media (max-width: 768px){.hero-section--card{min-height:auto;max-height:none;padding:3rem 0;justify-content:center}}.hero-section--card.hero-section--small{min-height:300px;max-height:400px;padding:2rem 0}.hero-section--card.hero-section--small .hero-section-title{font-size:2.25rem}@media (max-width: 768px){.hero-section--card.hero-section--small .hero-section-title{font-size:1.8rem}}.hero-section--card.hero-section--small .hero-card{padding:1.5rem}.hero-card{background-color:#0a0a0ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:1rem;padding:2.375rem;width:520px;text-align:center;border:1px solid var(--color-border);position:absolute;top:50%;left:50vw;transform:translate(-50%,-50%)}@media (min-width: 1800px){.hero-card{left:calc(50vw - 410px)}}@media (min-width: 1650px) and (max-width: 1799px){.hero-card{left:32vw}}@media (min-width: 1500px) and (max-width: 1649px){.hero-card{left:410px}}@media (max-width: 768px){.hero-card{position:relative;top:auto;left:auto;transform:none;padding:1.125rem 2.375rem;margin:0 auto;border-radius:.75rem;width:calc(100% - 2rem);max-width:520px}}.hero-section--card .hero-section-logo{display:block;max-width:360px;height:auto;margin:0 auto 1.75rem}@media (max-width: 768px){.hero-section--card .hero-section-logo{max-width:280px;margin-bottom:1.25rem}}.hero-section--card .hero-section-title{font-family:var(--font-display);font-size:2.475rem;color:var(--color-text);margin-bottom:1.8125rem;line-height:1.1}@media (max-width: 1450px){.hero-section--card .hero-section-title{font-size:42px}}@media (max-width: 768px){.hero-section--card .hero-section-title{font-size:1.6rem;margin-bottom:.875rem}}@media (max-width: 600px){.hero-section--card .hero-section-title{font-size:1.5rem}}.hero-section--card .hero-section-subtitle{font-size:1rem;color:var(--color-text-muted);margin-bottom:1.75rem;line-height:1.6}@media (max-width: 768px){.hero-section--card .hero-section-subtitle{font-size:.9rem;margin-bottom:1.25rem}}@media (max-width: 650px){.hero-section--card .hero-section-subtitle{font-size:.775rem}}.hero-section--card .hero-section-actions{display:flex;flex-wrap:wrap;gap:.875rem;justify-content:center}.hero-section--card .hero-section-actions .btn,.hero-section--card .hero-section-actions .comment-form .form-submit input[type=submit],.comment-form .form-submit .hero-section--card .hero-section-actions input[type=submit]{font-size:.8rem;padding:.675rem 1.25rem}.hero-section--card .hero-location-search{margin-bottom:1.75rem}.hero-section--card .hero-location-search-inner{display:flex;gap:0;background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden}@media (max-width: 480px){.hero-section--card .hero-location-search-inner{flex-direction:column}}.hero-section--card .hero-location-select{flex:1;padding:.75rem 2rem .75rem .875rem;font-size:.9rem;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg-card);border:none;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.hero-section--card .hero-location-select:focus{box-shadow:inset 0 0 0 2px var(--color-accent)}.hero-section--card .hero-search-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:0;white-space:nowrap;font-size:.8rem}@media (max-width: 480px){.hero-section--card .hero-search-btn{width:100%;justify-content:center}}.cta-section{padding:4rem 0}@media (max-width: 768px){.cta-section{padding:3rem 0}}.cta-section--default{background-color:var(--color-bg-card)}.cta-section--accent{background-color:var(--color-accent)}.cta-section--accent .cta-section-title{color:#fff}.cta-section--accent .cta-section-text{color:#ffffffe6}.cta-section--accent .btn-primary,.cta-section--accent .comment-form .form-submit input[type=submit],.comment-form .form-submit .cta-section--accent input[type=submit]{background-color:#fff;color:var(--color-accent)}.cta-section--accent .btn-primary:hover,.cta-section--accent .comment-form .form-submit input[type=submit]:hover,.comment-form .form-submit .cta-section--accent input[type=submit]:hover,.cta-section--accent .btn-primary:active,.cta-section--accent .comment-form .form-submit input[type=submit]:active,.comment-form .form-submit .cta-section--accent input[type=submit]:active{background-color:var(--color-text);color:#000}.cta-section-content{text-align:center;max-width:700px;margin:0 auto}.cta-section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:1rem}@media (max-width: 768px){.cta-section-title{font-size:1.875rem}}.cta-section-text{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:1.5rem}.testimonial{background-color:var(--color-bg-card);border-radius:.5rem;padding:2rem;margin:0}.testimonial-quote{position:relative;margin-bottom:1.5rem}.testimonial-quote p{font-size:1.125rem;color:var(--color-text);line-height:1.7;font-style:italic;margin:0;padding-left:3.5rem}@media (max-width: 640px){.testimonial-quote p{font-size:1rem;padding-left:0;padding-top:3rem}}.testimonial-quote-icon{position:absolute;top:0;left:0;color:var(--color-accent);opacity:.5}@media (max-width: 640px){.testimonial-quote-icon{top:0;left:0}}.testimonial-footer{display:flex;flex-direction:column;gap:.25rem;padding-left:3.5rem}@media (max-width: 640px){.testimonial-footer{padding-left:0}}.testimonial-name{font-style:normal;font-weight:600;color:var(--color-text);font-size:.9375rem}.testimonial-location{font-size:.8125rem;color:var(--color-text-muted)}.testimonials-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.testimonials-section{padding:3rem 0}}.testimonials-section-header{text-align:center;margin-bottom:3rem}.testimonials-section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.testimonials-section-title{font-size:1.875rem}}.testimonials-section-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.testimonials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (max-width: 768px){.testimonials-grid{grid-template-columns:1fr}}.feature-block{text-align:center;padding:1.5rem}.feature-block-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 1.25rem;border-radius:50%;background-color:var(--color-bg-card);color:var(--color-accent)}.feature-block-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.75rem}.feature-block-text{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:0}.features-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.features-section{padding:3rem 0}}.features-section-header{text-align:center;margin-bottom:3rem}.features-section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.features-section-title{font-size:1.875rem}}.features-section-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}@media (max-width: 768px){.features-grid{grid-template-columns:1fr;gap:1.5rem}}.service-cards-section{padding:5rem 0;background-color:var(--color-bg-card)}.service-cards-header{text-align:center;margin-bottom:3rem}.service-cards-title{font-family:var(--font-display);font-size:2.5rem;color:var(--color-text);margin-bottom:1rem}@media (max-width: 768px){.service-cards-title{font-size:2rem}}.service-cards-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.service-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}@media (max-width: 992px){.service-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.service-cards-grid{grid-template-columns:1fr;gap:1.5rem}}.service-card{position:relative;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;padding:2rem;text-align:center;cursor:pointer}.service-card:hover{border-color:var(--color-accent)}.service-card:hover .service-card-btn{background-color:var(--color-accent);color:var(--color-text)}.service-card-link-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.service-card-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 1.5rem;background-color:#9f37301a;border-radius:50%;color:var(--color-accent)}.service-card-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:1rem}.service-card-description{font-size:1rem;color:var(--color-text-muted);margin-bottom:1.5rem;line-height:1.6}.service-card-btn{display:inline-flex;align-items:center;gap:.5rem}.service-card-btn svg{transition:transform .2s ease}.service-card-btn:hover svg{transform:translate(4px)}.btn-outline{background-color:transparent;border:2px solid var(--color-accent);color:var(--color-accent)}.btn-outline:hover{background-color:var(--color-accent);color:var(--color-text)}:root{--color-bg-dark: #0A0A0A;--color-bg-card: #161616;--color-accent: #9F3730;--color-accent-hover: #C8473F;--color-accent-light: #BF524B;--color-text: #F5F5F5;--color-text-muted: #B0B0B0;--color-border: #2A2A2A;--color-success: #2E7D32;--color-warning: #F9A825;--color-sold: #757575;--font-display: "Abril Fatface", Georgia, serif;--font-body: "Inter", "Droid Sans", Arial, sans-serif;--container-max: 1400px;--container-padding: 1.5rem;--transition-fast: .15s ease}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-bg-dark);color:var(--color-text-muted);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text);font-weight:400;line-height:1.2;margin-bottom:1rem}h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.875rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}p{margin-bottom:1rem}a{color:var(--color-accent-light);text-decoration:none}a:hover{color:var(--color-accent-hover)}.container{max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.site-main{min-height:50vh;padding:2rem 0}.btn,.comment-form .form-submit input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-family:var(--font-body);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;border:none;cursor:pointer}.btn svg,.comment-form .form-submit input[type=submit] svg{flex-shrink:0}.btn-primary,.comment-form .form-submit input[type=submit]{background-color:var(--color-accent);color:#fff}.btn-primary:hover,.comment-form .form-submit input[type=submit]:hover{background-color:var(--color-accent-hover);color:#fff}.btn-secondary{background-color:transparent;border:2px solid var(--color-accent);color:var(--color-accent)}.btn-secondary:hover{background-color:var(--color-accent);color:#fff}.badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem}.badge-success{background-color:var(--color-success);color:#fff}.badge-warning{background-color:var(--color-warning);color:#000}.badge-muted{background-color:var(--color-sold);color:#fff}.card{background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],textarea,select{width:100%;padding:.75rem 1rem;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-family:var(--font-body);font-size:1rem}input[type=text]::-moz-placeholder,input[type=email]::-moz-placeholder,input[type=tel]::-moz-placeholder,input[type=number]::-moz-placeholder,input[type=search]::-moz-placeholder,textarea::-moz-placeholder,select::-moz-placeholder{color:var(--color-sold)}input[type=text]::placeholder,input[type=email]::placeholder,input[type=tel]::placeholder,input[type=number]::placeholder,input[type=search]::placeholder,textarea::placeholder,select::placeholder{color:var(--color-sold)}input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=number]:focus,input[type=search]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.alignwide{max-width:calc(var(--container-max) + 200px)}.alignfull{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.wp-block-image img{max-width:100%;height:auto}@media (max-width: 768px){:root{--container-padding: 1rem}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}}::view-transition-old(root),::view-transition-new(root){animation:none} diff --git a/wp-content/themes/homeproz/dist/assets/main.js b/wp-content/themes/homeproz/dist/assets/main.js index be3fb607..17819245 100644 --- a/wp-content/themes/homeproz/dist/assets/main.js +++ b/wp-content/themes/homeproz/dist/assets/main.js @@ -1 +1 @@ -(function(i){var o=i(".menu-toggle"),t=i(".mobile-navigation");o.length&&(o.on("click",function(){var e=i(this).attr("aria-expanded")==="true";i(this).attr("aria-expanded",!e),t.toggleClass("is-open"),e?i("body").removeClass("mobile-menu-open"):i("body").addClass("mobile-menu-open")}),i(document).on("keydown",function(e){e.key==="Escape"&&t.hasClass("is-open")&&(o.attr("aria-expanded","false"),t.removeClass("is-open"),i("body").removeClass("mobile-menu-open"))}),i(document).on("click",function(e){t.hasClass("is-open")&&!i(e.target).closest(".mobile-navigation").length&&!i(e.target).closest(".menu-toggle").length&&(o.attr("aria-expanded","false"),t.removeClass("is-open"),i("body").removeClass("mobile-menu-open"))}))})(jQuery);(function(i){var o=6e3,t=1450,e=1e3,r=[],n=0,s=null,c=!1,u=!1,h=null;function m(){if(i(".Home_Page").length&&(h=i(".hero-split-image"),!!h.length)){var a=h.data("gallery-images");!a||!a.length||(r=a,f(),i(window).on("resize",x(f,150)))}}function f(){var a=i(window).width();a>=t?c||p():c&&d()}function p(){c=!0,u||(v(),u=!0),s=setInterval(b,o)}function d(){c=!1,s&&(clearInterval(s),s=null)}function v(){i.each(r,function(a,l){var g=new Image;g.src=l})}function b(){n=(n+1)%r.length;var a=r[n],l=i('
');l.css({position:"absolute",top:0,left:0,right:0,bottom:0,"background-image":"url("+a+")","background-size":"cover","background-position":"center center","background-repeat":"no-repeat",opacity:0,transform:"scale(1.02)",transition:"opacity "+e+"ms ease-in-out, transform "+e+"ms ease-in-out","z-index":1}),h.css("position","relative"),h.append(l),l[0].offsetHeight,l.css({opacity:1,transform:"scale(1)"}),setTimeout(function(){h.css("background-image","url("+a+")"),l.remove()},e)}function x(a,l){var g;return function(){var y=this,I=arguments;clearTimeout(g),g=setTimeout(function(){a.apply(y,I)},l)}}i(document).ready(m)})(jQuery);(function(i){var o={$form:null,$results:null,$filters:null,isFirstLoad:!0,isLoading:!1,init:function(){this.$form=i(".filters-form"),this.$results=i("#property-results"),this.$filters=i("#property-filters"),!(!this.$form.length||!this.$results.length)&&(this.bindEvents(),this.initFromUrl())},bindEvents:function(){var t=this;this.$form.on("submit",function(e){e.preventDefault(),t.filterProperties(1)}),this.$form.find("select").on("change",function(){t.filterProperties(1)}),i(".filters-reset").on("click",function(e){e.preventDefault(),t.resetFilters()}),this.$results.on("click",".pagination a",function(e){e.preventDefault();var r=t.getPageFromUrl(i(this).attr("href"));t.filterProperties(r)}),i(window).on("popstate",function(e){e.originalEvent.state&&e.originalEvent.state.propertyFilters&&(t.setFormFromState(e.originalEvent.state.propertyFilters),t.filterProperties(e.originalEvent.state.page||1,!1))})},initFromUrl:function(){var t=new URLSearchParams(window.location.search),e=!1;if(this.$form.find("select").each(function(){var n=i(this).attr("name");t.has(n)&&(i(this).val(t.get(n)),e=!0)}),e){var r=this.getFormState();r.page=parseInt(t.get("paged"))||1,history.replaceState({propertyFilters:r,page:r.page},"",window.location.href)}},filterProperties:function(t,e){if(!this.isLoading){e=e!==!1,t=t||1;var r=this,n=this.getFormData();n.paged=t,this.isLoading=!0,this.$filters.addClass("is-loading"),this.isFirstLoad&&this.$results.html('
'),i.ajax({url:homeprozAjax.ajaxUrl,type:"POST",data:{action:"homeproz_filter_properties",nonce:homeprozAjax.nonce,property_type:n.property_type,property_location:n.property_location,min_price:n.min_price,max_price:n.max_price,beds:n.beds,paged:t},success:function(s){s.success&&(r.$results.html(s.data.html),r.isFirstLoad=!1,e&&r.updateUrl(n,t),t>1&&i("html, body").animate({scrollTop:r.$filters.offset().top-100},300))},error:function(){r.$results.html('

Error

Something went wrong. Please try again.

')},complete:function(){r.isLoading=!1,r.$filters.removeClass("is-loading")}})}},getFormData:function(){return{property_type:this.$form.find('[name="property_type"]').val()||"",property_location:this.$form.find('[name="property_location"]').val()||"",min_price:this.$form.find('[name="min_price"]').val()||"",max_price:this.$form.find('[name="max_price"]').val()||"",beds:this.$form.find('[name="beds"]').val()||""}},getFormState:function(){return this.getFormData()},setFormFromState:function(t){for(var e in t)this.$form.find('[name="'+e+'"]').val(t[e])},updateUrl:function(t,e){var r=new URL(homeprozAjax.archiveUrl);for(var n in t)t[n]&&r.searchParams.set(n,t[n]);e>1&&r.searchParams.set("paged",e);var s={propertyFilters:t,page:e};history.pushState(s,"",r.toString())},getPageFromUrl:function(t){var e=t.match(/[?&]paged=(\d+)/);return e?parseInt(e[1]):1},resetFilters:function(){this.$form.find("select").val(""),this.filterProperties(1)}};i(function(){o.init()})})(jQuery);(function(i){var o={$gallery:null,$lightbox:null,$mainImage:null,$thumbnails:null,$lightboxImage:null,$lightboxCounter:null,images:[],currentIndex:0,init:function(){if(this.$gallery=i(".property-gallery"),this.$lightbox=i("#property-lightbox"),!!this.$gallery.length){this.$mainImage=this.$gallery.find(".gallery-main-image img"),this.$thumbnails=this.$gallery.find(".gallery-thumbnail"),this.$lightboxImage=this.$lightbox.find(".lightbox-image"),this.$lightboxCounter=this.$lightbox.find(".lightbox-current");var t=i("#gallery-images-data");t.length&&(this.images=JSON.parse(t.text())),this.images.length!==0&&this.bindEvents()}},bindEvents:function(){var t=this;this.$thumbnails.on("click",function(){var e=parseInt(i(this).data("index"));t.setMainImage(e)}),this.$gallery.find("[data-lightbox-trigger]").on("click",function(){t.openLightbox(t.currentIndex)}),this.$lightbox.find(".lightbox-close, .lightbox-overlay").on("click",function(){t.closeLightbox()}),this.$lightbox.find(".lightbox-prev").on("click",function(){t.prevImage()}),this.$lightbox.find(".lightbox-next").on("click",function(){t.nextImage()}),i(document).on("keydown",function(e){if(t.$lightbox.is('[aria-hidden="false"]'))switch(e.key){case"Escape":t.closeLightbox();break;case"ArrowLeft":t.prevImage();break;case"ArrowRight":t.nextImage();break}})},setMainImage:function(t){if(!(t<0||t>=this.images.length)){this.currentIndex=t;var e=this.images[t];this.$mainImage.attr("src",e.url),this.$mainImage.attr("alt",e.alt||"Property photo"),this.$thumbnails.removeClass("is-active"),this.$thumbnails.filter('[data-index="'+t+'"]').addClass("is-active")}},openLightbox:function(t){this.currentIndex=t,this.updateLightboxImage(),this.$lightbox.attr("aria-hidden","false"),i("body").addClass("lightbox-open")},closeLightbox:function(){this.$lightbox.attr("aria-hidden","true"),i("body").removeClass("lightbox-open")},prevImage:function(){var t=this.currentIndex-1;t<0&&(t=this.images.length-1),this.currentIndex=t,this.updateLightboxImage()},nextImage:function(){var t=this.currentIndex+1;t>=this.images.length&&(t=0),this.currentIndex=t,this.updateLightboxImage()},updateLightboxImage:function(){var t=this.images[this.currentIndex];this.$lightboxImage.attr("src",t.url),this.$lightboxImage.attr("alt",t.alt||"Property photo"),this.$lightboxCounter.text(this.currentIndex+1)}};i(function(){o.init()})})(jQuery);(function(i){i(function(){})})(jQuery); +(function(a){var l=a(".menu-toggle"),e=a(".mobile-navigation");l.length&&(l.on("click",function(){var r=a(this).attr("aria-expanded")==="true";a(this).attr("aria-expanded",!r),e.toggleClass("is-open"),r?a("body").removeClass("mobile-menu-open"):a("body").addClass("mobile-menu-open")}),a(document).on("keydown",function(r){r.key==="Escape"&&e.hasClass("is-open")&&(l.attr("aria-expanded","false"),e.removeClass("is-open"),a("body").removeClass("mobile-menu-open"))}),a(document).on("click",function(r){e.hasClass("is-open")&&!a(r.target).closest(".mobile-navigation").length&&!a(r.target).closest(".menu-toggle").length&&(l.attr("aria-expanded","false"),e.removeClass("is-open"),a("body").removeClass("mobile-menu-open"))}))})(jQuery);(function(a){var l=6e3,e=1450,r=1e3,t=[],i=0,n=null,o=!1,s=!1,u=null;function c(){if(a(".Home_Page").length&&(u=a(".hero-split-image"),!!u.length)){var h=u.data("gallery-images");!h||!h.length||(t=h,d(),a(window).on("resize",y(d,150)))}}function d(){var h=a(window).width();h>=e?o||g():o&&f()}function g(){o=!0,s||(v(),s=!0),n=setInterval(b,l)}function f(){o=!1,n&&(clearInterval(n),n=null)}function v(){a.each(t,function(h,m){var p=new Image;p.src=m})}function b(){i=(i+1)%t.length;var h=t[i],m=a('
');m.css({position:"absolute",top:0,left:0,right:0,bottom:0,"background-image":"url("+h+")","background-size":"cover","background-position":"center center","background-repeat":"no-repeat",opacity:0,transform:"scale(1.02)",transition:"opacity "+r+"ms ease-in-out, transform "+r+"ms ease-in-out","z-index":1}),u.css("position","relative"),u.append(m),m[0].offsetHeight,m.css({opacity:1,transform:"scale(1)"}),setTimeout(function(){u.css("background-image","url("+h+")"),m.remove()},r)}function y(h,m){var p;return function(){var x=this,I=arguments;clearTimeout(p),p=setTimeout(function(){h.apply(x,I)},m)}}a(document).ready(c)})(jQuery);(function(a){var l={map:null,markers:{},markerLayer:null,selectedPropertyId:null,hoveredPropertyId:null,baseZIndex:400,init:function(t){var i=a("#property-map");!i.length||typeof L>"u"||(this.map=L.map("property-map").setView([43.648,-93.3685],10),L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© OpenStreetMap'}).addTo(this.map),this.markerLayer=L.layerGroup().addTo(this.map),t&&t.length>0&&this.updateMarkers(t),this.bindCardHoverEvents())},createIcon:function(t){return t=t||"red",L.divIcon({className:"property-marker property-marker-"+t,html:'
',iconSize:[30,40],iconAnchor:[15,40],popupAnchor:[0,-40]})},updateMarkers:function(t){if(!(!this.map||!this.markerLayer)){this.markerLayer.clearLayers(),this.markers={},this.selectedPropertyId=null,this.hoveredPropertyId=null,a(".property-card").removeClass("property-card-highlighted");var i=this;t.forEach(function(n,o){if(n.lat&&n.lng){var s=L.marker([n.lat,n.lng],{icon:i.createIcon("red"),zIndexOffset:i.baseZIndex+o});s.propertyId=n.id,s.defaultZIndex=i.baseZIndex+o,s.bindPopup('
'+n.price+"
"+n.address+'
View Details
'),s.on("click",function(u){i.onMarkerClick(n.id)}),i.markerLayer.addLayer(s),i.markers[n.id]=s}}),this.fitBounds(t)}},onMarkerClick:function(t){var i=this;if(this.selectedPropertyId!==t){this.selectedPropertyId&&(this.setMarkerColor(this.selectedPropertyId,"red"),this.resetMarkerZIndex(this.selectedPropertyId),a("#property-"+this.selectedPropertyId).removeClass("property-card-highlighted")),this.selectedPropertyId=t,this.setMarkerColor(t,"amber"),this.setMarkerZIndex(t,1e4);var n=a("#property-"+t);if(n.length){var o=n.offset().top,s=o+n.outerHeight(),u=a(window).scrollTop(),c=u+a(window).height(),d=o>=u&&s<=c;d?i.flashCard(n):a("html, body").animate({scrollTop:o-120},400,function(){i.flashCard(n)})}}},flashCard:function(t){t.removeClass("property-card-highlighted"),setTimeout(function(){t.addClass("property-card-highlighted"),setTimeout(function(){t.removeClass("property-card-highlighted"),setTimeout(function(){t.addClass("property-card-highlighted")},150)},150)},50)},setMarkerColor:function(t,i){var n=this.markers[t];n&&n.setIcon(this.createIcon(i))},setMarkerZIndex:function(t,i){var n=this.markers[t];n&&n.setZIndexOffset(i)},resetMarkerZIndex:function(t){var i=this.markers[t];i&&i.setZIndexOffset(i.defaultZIndex)},bindCardHoverEvents:function(){var t=this;a(document).on("mouseenter",".property-card[data-property-id]",function(){var i=a(this).data("property-id");i!==t.selectedPropertyId&&(t.hoveredPropertyId=i,t.setMarkerColor(i,"blue"),t.setMarkerZIndex(i,9e3))}),a(document).on("mouseleave",".property-card[data-property-id]",function(){var i=a(this).data("property-id");i!==t.selectedPropertyId&&(t.hoveredPropertyId===i&&(t.hoveredPropertyId=null),t.setMarkerColor(i,"red"),t.resetMarkerZIndex(i))})},fitBounds:function(t){if(!this.map||!t||t.length===0){this.map&&this.map.setView([43.648,-93.3685],10);return}var i=L.latLngBounds(t.map(function(n){return[n.lat,n.lng]}));this.map.fitBounds(i,{padding:[50,50]})}},e={$form:null,$results:null,$filters:null,isFirstLoad:!0,isLoading:!1,init:function(){this.$form=a(".filters-form"),this.$results=a("#property-results"),this.$filters=a("#property-filters"),!(!this.$form.length||!this.$results.length)&&(this.bindEvents(),this.initFromUrl())},bindEvents:function(){var t=this;this.$form.on("submit",function(i){i.preventDefault(),t.filterProperties(1)}),this.$form.find("select").on("change",function(){t.filterProperties(1)}),a(".filters-reset").on("click",function(i){i.preventDefault(),t.resetFilters()}),this.$results.on("click",".pagination a",function(i){i.preventDefault();var n=t.getPageFromUrl(a(this).attr("href"));t.filterProperties(n)}),a(window).on("popstate",function(i){i.originalEvent.state&&i.originalEvent.state.propertyFilters&&(t.setFormFromState(i.originalEvent.state.propertyFilters),t.filterProperties(i.originalEvent.state.page||1,!1))})},initFromUrl:function(){var t=new URLSearchParams(window.location.search),i=!1;if(this.$form.find("select").each(function(){var o=a(this).attr("name");t.has(o)&&(a(this).val(t.get(o)),i=!0)}),i){var n=this.getFormState();n.page=parseInt(t.get("paged"))||1,history.replaceState({propertyFilters:n,page:n.page},"",window.location.href)}},filterProperties:function(t,i){if(!this.isLoading){i=i!==!1,t=t||1;var n=this,o=this.getFormData();o.paged=t,this.isLoading=!0,this.$filters.addClass("is-loading"),this.isFirstLoad&&this.$results.html('
'),a.ajax({url:homeprozAjax.ajaxUrl,type:"POST",data:{action:"homeproz_filter_properties",nonce:homeprozAjax.nonce,property_type:o.property_type,property_location:o.property_location,min_price:o.min_price,max_price:o.max_price,beds:o.beds,paged:t},success:function(s){s.success&&(n.$results.html(s.data.html),n.isFirstLoad=!1,s.data.markers&&l.updateMarkers(s.data.markers),i&&n.updateUrl(o,t),t>1&&a("html, body").animate({scrollTop:n.$filters.offset().top-100},300))},error:function(){n.$results.html('

Error

Something went wrong. Please try again.

')},complete:function(){n.isLoading=!1,n.$filters.removeClass("is-loading")}})}},getFormData:function(){return{property_type:this.$form.find('[name="property_type"]').val()||"",property_location:this.$form.find('[name="property_location"]').val()||"",min_price:this.$form.find('[name="min_price"]').val()||"",max_price:this.$form.find('[name="max_price"]').val()||"",beds:this.$form.find('[name="beds"]').val()||""}},getFormState:function(){return this.getFormData()},setFormFromState:function(t){for(var i in t)this.$form.find('[name="'+i+'"]').val(t[i])},updateUrl:function(t,i){var n=new URL(homeprozAjax.archiveUrl);for(var o in t)t[o]&&n.searchParams.set(o,t[o]);i>1&&n.searchParams.set("paged",i);var s={propertyFilters:t,page:i};history.pushState(s,"",n.toString())},getPageFromUrl:function(t){var i=t.match(/[?&]paged=(\d+)/);return i?parseInt(i[1]):1},resetFilters:function(){this.$form.find("select").val(""),this.filterProperties(1)}},r={breakpoint:1024,isMapView:!0,isAboveBreakpoint:!0,mapInitialized:!1,init:function(){var t=this;typeof homeprozMapData<"u"&&(this.isMapView=homeprozMapData.isMapView!==!1),this.isAboveBreakpoint=window.innerWidth>=this.breakpoint,this.isAboveBreakpoint&&this.isMapView&&typeof homeprozMapData<"u"&&homeprozMapData.properties&&(l.init(homeprozMapData.properties),this.mapInitialized=!0);var i;a(window).on("resize",function(){clearTimeout(i),i=setTimeout(function(){t.handleResize()},150)})},handleResize:function(){var t=this.isAboveBreakpoint;this.isAboveBreakpoint=window.innerWidth>=this.breakpoint;var i=a(".property-archive-main");!t&&this.isAboveBreakpoint&&(this.isMapView?(i.removeClass("is-grid-view").addClass("is-map-view"),!this.mapInitialized&&typeof homeprozMapData<"u"?(l.init(homeprozMapData.properties),this.mapInitialized=!0):l.map&&setTimeout(function(){l.map.invalidateSize()},100)):i.removeClass("is-map-view").addClass("is-grid-view"))},setMapView:function(t){this.isMapView=t}};a(function(){e.init(),r.init()})})(jQuery);(function(a){var l={$gallery:null,$lightbox:null,$mainImage:null,$mainImageContainer:null,$thumbnails:null,$thumbnailsContainer:null,$thumbnailsViewport:null,$playbackBtn:null,$prevBtn:null,$nextBtn:null,$lightboxImage:null,$lightboxImageContainer:null,$lightboxCounter:null,images:[],currentIndex:0,isPlaying:!0,isTransitioning:!1,autoplayInterval:null,autoplayDelay:5e3,fadeDuration:1e3,slideDuration:300,thumbnailsPerPage:5,thumbnailPage:0,swipeStartX:0,swipeStartY:0,swipeThreshold:50,isSwiping:!1,init:function(){if(this.$gallery=a(".property-gallery"),this.$lightbox=a("#property-lightbox"),!!this.$gallery.length){this.$mainImageContainer=this.$gallery.find(".gallery-main-image"),this.$mainImage=this.$mainImageContainer.find("img"),this.$thumbnailsContainer=this.$gallery.find(".gallery-thumbnails-container"),this.$thumbnailsViewport=this.$gallery.find(".gallery-thumbnails-viewport"),this.$thumbnails=this.$gallery.find(".gallery-thumbnail"),this.$playbackBtn=this.$gallery.find(".gallery-playback-btn"),this.$prevBtn=this.$gallery.find(".gallery-thumbnails-prev"),this.$nextBtn=this.$gallery.find(".gallery-thumbnails-next"),this.$lightboxImage=this.$lightbox.find(".lightbox-image"),this.$lightboxImageContainer=this.$lightbox.find(".lightbox-image-container"),this.$lightboxCounter=this.$lightbox.find(".lightbox-current");var e=a("#gallery-images-data");e.length&&(this.images=JSON.parse(e.text())),this.images.length!==0&&(this.calculateThumbnailsPerPage(),this.bindEvents(),this.bindSwipeEvents(),this.updateThumbnailNavigation(),this.images.length>1&&this.startAutoplay())}},calculateThumbnailsPerPage:function(){a(window).width()<=640?this.thumbnailsPerPage=4:this.thumbnailsPerPage=5},bindEvents:function(){var e=this;this.$thumbnails.on("click",function(r){r.stopPropagation();var t=parseInt(a(this).data("index"));e.stopAutoplay(),e.setMainImage(t,!1)}),this.$playbackBtn.on("click",function(r){r.stopPropagation(),r.preventDefault(),e.isPlaying?e.stopAutoplay():e.startAutoplay()}),this.$prevBtn.on("click",function(){e.prevThumbnailPage()}),this.$nextBtn.on("click",function(){e.nextThumbnailPage()}),this.$gallery.find("[data-lightbox-trigger]").on("click",function(r){if(e.isSwiping){e.isSwiping=!1;return}e.stopAutoplay(),e.openLightbox(e.currentIndex)}),this.$lightbox.find(".lightbox-close, .lightbox-overlay").on("click",function(){e.closeLightbox()}),this.$lightbox.find(".lightbox-prev").on("click",function(){e.slideLightboxImage("prev")}),this.$lightbox.find(".lightbox-next").on("click",function(){e.slideLightboxImage("next")}),a(document).on("keydown",function(r){if(e.$lightbox.is('[aria-hidden="false"]'))switch(r.key){case"Escape":e.closeLightbox();break;case"ArrowLeft":e.slideLightboxImage("prev");break;case"ArrowRight":e.slideLightboxImage("next");break}}),a(window).on("resize",function(){e.calculateThumbnailsPerPage(),e.updateThumbnailNavigation()})},bindSwipeEvents:function(){var e=this;this.$mainImageContainer[0].addEventListener("touchstart",function(r){e.handleSwipeStart(r)},{passive:!0}),this.$mainImageContainer[0].addEventListener("touchend",function(r){e.handleMainGallerySwipeEnd(r)},{passive:!0}),this.$lightboxImageContainer[0].addEventListener("touchstart",function(r){e.handleSwipeStart(r)},{passive:!0}),this.$lightboxImageContainer[0].addEventListener("touchend",function(r){e.handleLightboxSwipeEnd(r)},{passive:!0})},handleSwipeStart:function(e){e.touches.length===1&&(this.swipeStartX=e.touches[0].clientX,this.swipeStartY=e.touches[0].clientY)},handleMainGallerySwipeEnd:function(e){if(e.changedTouches.length===1){var r=e.changedTouches[0].clientX-this.swipeStartX,t=e.changedTouches[0].clientY-this.swipeStartY;Math.abs(r)>Math.abs(t)&&Math.abs(r)>this.swipeThreshold&&(this.isSwiping=!0,this.stopAutoplay(),r>0?this.slideMainImage("prev"):this.slideMainImage("next"))}},handleLightboxSwipeEnd:function(e){if(e.changedTouches.length===1){var r=e.changedTouches[0].clientX-this.swipeStartX,t=e.changedTouches[0].clientY-this.swipeStartY;Math.abs(r)>Math.abs(t)&&Math.abs(r)>this.swipeThreshold&&(r>0?this.slideLightboxImage("prev"):this.slideLightboxImage("next"))}},startAutoplay:function(){var e=this;this.images.length<=1||(this.isPlaying=!0,this.$playbackBtn.addClass("is-playing"),this.$playbackBtn.attr("aria-label","Pause slideshow"),this.autoplayInterval=setInterval(function(){e.advanceImage()},this.autoplayDelay))},stopAutoplay:function(){this.isPlaying=!1,this.$playbackBtn.removeClass("is-playing"),this.$playbackBtn.attr("aria-label","Play slideshow"),this.autoplayInterval&&(clearInterval(this.autoplayInterval),this.autoplayInterval=null)},advanceImage:function(){if(!this.isTransitioning){var e=this.currentIndex+1;e>=this.images.length&&(e=0),this.setMainImage(e,!0)}},slideMainImage:function(e){var r=this;if(!(this.isTransitioning||this.images.length<=1)){var t;e==="prev"?(t=this.currentIndex-1,t<0&&(t=this.images.length-1)):(t=this.currentIndex+1,t>=this.images.length&&(t=0)),this.isTransitioning=!0;var i=this.images[t],n=e==="next"?"100%":"-100%",o=e==="next"?"-100%":"100%",s=a('');s.attr("src",i.url),s.attr("alt",i.alt||"Property photo"),s.css({position:"absolute",top:0,left:0,width:"100%",height:"100%","object-fit":"cover",transform:"translateX("+n+")","z-index":2,"border-radius":"0.5rem"}),this.$mainImageContainer.css({position:"relative",overflow:"hidden"}),this.$mainImageContainer.append(s),this.$mainImage.css({transition:"transform "+this.slideDuration+"ms ease-out"}),s.css({transition:"transform "+this.slideDuration+"ms ease-out"}),s[0].offsetHeight,this.$mainImage.css("transform","translateX("+o+")"),s.css("transform","translateX(0)"),setTimeout(function(){r.$mainImage.attr("src",i.url),r.$mainImage.attr("alt",i.alt||"Property photo"),r.$mainImage.css({transition:"",transform:""}),s.remove(),r.isTransitioning=!1},this.slideDuration),this.currentIndex=t,this.$thumbnails.removeClass("is-active"),this.$thumbnails.filter('[data-index="'+t+'"]').addClass("is-active"),this.scrollToThumbnail(t)}},setMainImage:function(e,r){var t=this;if(!(e<0||e>=this.images.length)&&!this.isTransitioning){var i=this.images[e];if(r){this.isTransitioning=!0;var n=a('');n.attr("src",i.url),n.attr("alt",i.alt||"Property photo"),n.css({position:"absolute",top:0,left:0,width:"100%",height:"100%","object-fit":"cover",opacity:0,transform:"scale(1.02)",transition:"opacity "+this.fadeDuration+"ms ease-in-out, transform "+this.fadeDuration+"ms ease-in-out","z-index":2,"border-radius":"0.5rem"}),this.$mainImageContainer.css("position","relative"),this.$mainImageContainer.append(n),n[0].offsetHeight,n.css({opacity:1,transform:"scale(1)"}),setTimeout(function(){t.$mainImage.attr("src",i.url),t.$mainImage.attr("alt",i.alt||"Property photo"),n.remove(),t.isTransitioning=!1},this.fadeDuration)}else this.$mainImage.attr("src",i.url),this.$mainImage.attr("alt",i.alt||"Property photo");this.currentIndex=e,this.$thumbnails.removeClass("is-active"),this.$thumbnails.filter('[data-index="'+e+'"]').addClass("is-active"),this.scrollToThumbnail(e)}},scrollToThumbnail:function(e){var r=Math.floor(e/this.thumbnailsPerPage);r!==this.thumbnailPage&&(this.thumbnailPage=r,this.scrollThumbnails())},scrollThumbnails:function(){var e=this.$gallery.find(".gallery-thumbnails"),r=this.$thumbnails.first().outerWidth(!0),t=this.thumbnailPage*this.thumbnailsPerPage*r;e.css("transform","translateX(-"+t+"px)"),this.updateThumbnailNavigation()},updateThumbnailNavigation:function(){var e=Math.ceil(this.images.length/this.thumbnailsPerPage);this.$prevBtn.prop("disabled",this.thumbnailPage===0),this.$nextBtn.prop("disabled",this.thumbnailPage>=e-1),e<=1?(this.$prevBtn.hide(),this.$nextBtn.hide()):(this.$prevBtn.show(),this.$nextBtn.show())},prevThumbnailPage:function(){this.thumbnailPage>0&&(this.thumbnailPage--,this.scrollThumbnails())},nextThumbnailPage:function(){var e=Math.ceil(this.images.length/this.thumbnailsPerPage);this.thumbnailPage=this.images.length&&(t=0)),this.isTransitioning=!0;var i=this.images[t],n=e==="next"?"100%":"-100%",o=e==="next"?"-100%":"100%",s=a('');s.attr("src",i.url),s.attr("alt",i.alt||"Property photo"),s.css({position:"absolute","max-width":"100%","max-height":"calc(100vh - 8rem)","object-fit":"contain",transform:"translateX("+n+")",left:"50%",top:"50%","margin-left":"-45vw","margin-top":"calc(-50vh + 4rem)"}),this.$lightboxImageContainer.css({position:"relative",overflow:"hidden"}),this.$lightboxImageContainer.append(s),this.$lightboxImage.css({transition:"transform "+this.slideDuration+"ms ease-out"}),s.css({transition:"transform "+this.slideDuration+"ms ease-out"}),s[0].offsetHeight,this.$lightboxImage.css("transform","translateX("+o+")"),s.css("transform","translateX(0)"),setTimeout(function(){r.$lightboxImage.attr("src",i.url),r.$lightboxImage.attr("alt",i.alt||"Property photo"),r.$lightboxImage.css({transition:"",transform:""}),s.remove(),r.isTransitioning=!1,r.$lightboxCounter.text(t+1)},this.slideDuration),this.currentIndex=t}},prevImage:function(){this.slideLightboxImage("prev")},nextImage:function(){this.slideLightboxImage("next")},updateLightboxImage:function(){var e=this.images[this.currentIndex];this.$lightboxImage.attr("src",e.url),this.$lightboxImage.attr("alt",e.alt||"Property photo"),this.$lightboxCounter.text(this.currentIndex+1)}};a(function(){l.init()})})(jQuery);(function(a){a(function(){})})(jQuery); diff --git a/wp-content/themes/homeproz/front-page.php b/wp-content/themes/homeproz/front-page.php index 9e9c1d64..ee18c0c4 100755 --- a/wp-content/themes/homeproz/front-page.php +++ b/wp-content/themes/homeproz/front-page.php @@ -94,6 +94,7 @@ $featured_commercial = new WP_Query(array( 'show_location_search' => true, 'primary_cta_text' => 'View All Properties', 'primary_cta_url' => home_url('/properties/'), + 'primary_cta_icon' => 'map', 'secondary_cta_text' => 'Contact Us', 'secondary_cta_url' => home_url('/contact/'), 'background_image' => $hero_image_split ?: $fallback_image, @@ -115,6 +116,7 @@ $featured_commercial = new WP_Query(array( 'show_location_search' => true, 'primary_cta_text' => 'View All Properties', 'primary_cta_url' => home_url('/properties/'), + 'primary_cta_icon' => 'map', 'secondary_cta_text' => 'Contact Us', 'secondary_cta_url' => home_url('/contact/'), 'background_image' => $hero_image_card ?: $fallback_image, diff --git a/wp-content/themes/homeproz/inc/ajax-handlers.php b/wp-content/themes/homeproz/inc/ajax-handlers.php index ef5efb97..2d92d12f 100755 --- a/wp-content/themes/homeproz/inc/ajax-handlers.php +++ b/wp-content/themes/homeproz/inc/ajax-handlers.php @@ -197,10 +197,51 @@ function homeproz_ajax_filter_properties() { array(43.6480, -93.3685), + 'Austin' => array(43.6666, -92.9746), + 'Glenville' => array(43.5733, -93.2779), + 'Emmons' => array(43.5013, -93.4896), + 'Clarks Grove' => array(43.7627, -93.3196), + 'Alden' => array(43.6719, -93.5768), + 'Hartland' => array(43.8030, -93.4846), + 'Geneva' => array(43.8255, -93.2682), + 'Owatonna' => array(44.0838, -93.2260), + 'Faribault' => array(44.2949, -93.2688), + 'Rochester' => array(44.0234, -92.4699), + 'Mankato' => array(44.1636, -93.9994), + ); + + foreach ($sorted_properties as $prop) { + $city = get_field('city', $prop->ID); + $price = get_field('property_price', $prop->ID); + $address = get_field('street_address', $prop->ID); + + // Get coords for city, default to Albert Lea + $coords = isset($city_coords[$city]) ? $city_coords[$city] : $city_coords['Albert Lea']; + // Add small random offset to prevent overlapping markers (seeded by post ID for consistency) + srand($prop->ID); + $lat = $coords[0] + (rand(-50, 50) / 10000); + $lng = $coords[1] + (rand(-50, 50) / 10000); + + $markers[] = array( + 'id' => $prop->ID, + 'lat' => $lat, + 'lng' => $lng, + 'title' => $prop->post_title, + 'price' => '$' . number_format($price), + 'address' => $address . ', ' . $city, + 'url' => get_permalink($prop->ID), + ); + } + wp_send_json_success(array( 'html' => $html, 'found_posts' => $total, 'max_pages' => $max_pages, + 'markers' => $markers, )); } add_action('wp_ajax_homeproz_filter_properties', 'homeproz_ajax_filter_properties'); diff --git a/wp-content/themes/homeproz/inc/template-functions.php b/wp-content/themes/homeproz/inc/template-functions.php index b7b361e3..35c11182 100755 --- a/wp-content/themes/homeproz/inc/template-functions.php +++ b/wp-content/themes/homeproz/inc/template-functions.php @@ -153,8 +153,6 @@ function homeproz_footer_fallback_menu() { echo ''; echo ''; echo ''; - echo ''; - echo ''; echo ''; } diff --git a/wp-content/themes/homeproz/page-about.php b/wp-content/themes/homeproz/page-about.php index 6c24b3fc..f75e2831 100755 --- a/wp-content/themes/homeproz/page-about.php +++ b/wp-content/themes/homeproz/page-about.php @@ -40,95 +40,139 @@ get_header();
-
- -
-
-
- - -
-
-
-

Our Values

-
- -
- 'handshake', - 'title' => 'Integrity', - 'text' => 'We believe in honest, transparent communication throughout every transaction. Your trust is our priority.', - )); - - get_template_part('template-parts/components/feature-block', null, array( - 'icon' => 'personalized', - 'title' => 'Client-Focused', - 'text' => 'Your goals are our goals. We listen carefully and work tirelessly to exceed your expectations.', - )); - - get_template_part('template-parts/components/feature-block', null, array( - 'icon' => 'local-expertise', - 'title' => 'Community', - 'text' => 'We live and work in the communities we serve. Local knowledge means better results for you.', - )); - ?> +
+
+ HomeProz Real Estate Team +
+
+ +
-
+

Meet Our Team

A dedicated group of real estate professionals committed to your success

-
- 'Heidi Johnson', - 'title' => 'REALTOR', - 'phone' => '507-402-2310', - 'email' => 'heidi@homeprozrealestate.com', - 'bio' => 'With deep roots in the Albert Lea community, Heidi brings years of local knowledge and dedication to every client relationship.', - ), - array( - 'name' => 'Kyra Johnson', - 'title' => 'REALTOR', - 'phone' => '507-516-4870', - 'email' => 'kyra@homeprozrealestate.com', - 'bio' => 'Kyra combines her passion for real estate with a commitment to exceptional service, guiding buyers and sellers to successful outcomes.', - ), - array( - 'name' => 'John Hill', - 'title' => 'REALTOR', - 'phone' => '507-383-1738', - 'email' => 'john@homeprozrealestate.com', - 'bio' => 'John\'s expertise in the local market and attention to detail ensure a smooth experience whether you\'re buying or selling.', - ), - array( - 'name' => 'Mindy Moreno', - 'title' => 'REALTOR', - 'phone' => '507-438-5900', - 'email' => 'mindy@homeprozrealestate.com', - 'bio' => 'Mindy\'s bilingual skills and warm approach help her connect with a diverse range of clients in our community.', - ), - ); + 'agent', + 'posts_per_page' => -1, + 'post_status' => 'publish', + ]); - foreach ($team_members as $member) : - get_template_part('template-parts/components/agent-card', null, $member); - endforeach; - ?> -
+ // Filter out disabled agents and add sorting data + $agents_data = []; + foreach ($all_agents as $agent) { + $disabled = get_field('agent_disabled', $agent->ID); + if ($disabled) continue; + + $order = get_field('agent_order', $agent->ID); + $agents_data[] = [ + 'post' => $agent, + 'order' => $order ? (int) $order : 10, + ]; + } + + // Sort by order, then by title + usort($agents_data, function($a, $b) { + if ($a['order'] !== $b['order']) { + return $a['order'] - $b['order']; + } + return strcmp($a['post']->post_title, $b['post']->post_title); + }); + ?> + + +
+ ID; + $agent_phone = get_field('agent_phone', $agent_id); + $agent_email = get_field('agent_email', $agent_id); + $agent_title = get_field('agent_title', $agent_id); + $agent_short_bio = get_field('agent_short_bio', $agent_id); + $agent_permalink = get_permalink($agent_id); + + // Get featured image + $agent_photo_id = get_post_thumbnail_id($agent_id); + $agent_photo_url = $agent_photo_id ? wp_get_attachment_image_url($agent_photo_id, 'medium_large') : ''; + ?> + + +
+ +
+

No team members to display at this time.

+
+
diff --git a/wp-content/themes/homeproz/page-contact.php b/wp-content/themes/homeproz/page-contact.php index 5e12ee77..8566e414 100755 --- a/wp-content/themes/homeproz/page-contact.php +++ b/wp-content/themes/homeproz/page-contact.php @@ -132,7 +132,9 @@ if ($property_inquiry) {

Office Address

-

+

+ +

@@ -196,7 +198,7 @@ if ($property_inquiry) {