1<!DOCTYPE html> 2<html lang="en-US" prefix="og: http://ogp.me/ns#"> 3<head> 4 <title>Personal Insurance in Phoenix » Fasula-Kaplan Agency, Inc.</title> 5 <meta charset="UTF-8" /> 6<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> 7<meta name="description" content="Get insurance to cover the important people and things in your life at affordable rates when you call Fasula-Kaplan Insurance Agency in Phoenix. Our partnership with top providers means you will get great insurance at affordable rates." /><meta name="keywords" content="personal insurance, automobile insurance, mobile home insurance, boat insurance, homeowners insurance, motorcycle insurance, life insurance, renters insurance, travel insurance, vacant property insurance, trailer insurance" /><meta name="og:title" content="Personal Insurance in Phoenix, Arizona" /> 8<meta name="og:type" content="personal insurance" /> 9<meta name="og:description" content="Get insurance to cover the important people and things in your life at affordable rates when you call Fasula-Kaplan Insurance Agency in Phoenix or Garnet Insurance Agency in Casa Grande. Our partnership with top providers means you will get great insurance at affordable rates." /> 10<meta name="og:url" content="https://insuranceagencyaz.com/personal-insurance/" /> 11 12 <link rel="profile" href="http://gmpg.org/xfn/11" /> 13 <link rel="shortcut icon" href="/favicon.ico" /> 14 <link rel="pingback" href="https://insuranceagencyaz.com/xmlrpc.php" /> 15 <!--[if IE 9]> 16 <link rel="stylesheet" href="https://insuranceagencyaz.com/wp-content/themes/University/css/ie9.css" /> 17 <![endif]--> 18 <!--[if lt IE 9]> 19 <link rel="stylesheet" href="https://insuranceagencyaz.com/wp-content/themes/University/css/ie8.css" /> 20 <![endif]--> 21 22 23 <!--[if lt IE 9]>
24<script src="https://insuranceagencyaz.com/wp-content/themes/University/js/html5shiv.js"></script>
vendor: 1 bytes, line 24
24
25<script src="https://insuranceagencyaz.com/wp-content/themes/University/js/respond.js"></script>
25 26<![endif]--> 27 28 29 30<style type="text/css"> 31 .gk-page { max-width: 1240px; } 32 .gk-single-widget .box > .box-title, 33 .gk-single-widget .box > div { 34 margin: 0 auto; 35 max-width: 1240px; 36 } 37 #gk-mainbody-columns > aside { width: 26%;} 38 #gk-mainbody-columns > section { width: 74%; } 39 40 #gk-content-wrap { width: 100%; } 41 42 43 44 45 @media (min-width: 1041px) { 46 #gk-mainmenu-collapse { height: auto!important; } 47 } 48 49 50</style> 51 52 53 54 55
55<script type="text/javascript"> 56 var thickboxL10n = { 57 "next":"Next >", 58 "prev":"< Prev", 59 "image":"Image", 60 "of":"of", 61 "close":"Close", 62 "noiframes":"This feature requires inline frames. You have iframes disabled or your browser does not support them.", 63 "loadingAnimation":"https://insuranceagencyaz.com/wp-includes/js/thickbox/loadingAnimation.gif", 64 "closeImage":"https://insuranceagencyaz.com/wp-includes/js/thickbox/tb-close.png" 65 }; 66 </script>
66 67 68 <meta name='robots' content='max-image-preview:large' /> 69<link rel='dns-prefetch' href='//netdna.bootstrapcdn.com' /> 70<link rel="alternate" type="application/rss+xml" title="Fasula Kaplan Insurance Agency, Inc. » Feed" href="https://insuranceagencyaz.com/feed/" /> 71<link rel="alternate" type="application/rss+xml" title="Fasula Kaplan Insurance Agency, Inc. » Comments Feed" href="https://insuranceagencyaz.com/comments/feed/" /> 72<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://insuranceagencyaz.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Finsuranceagencyaz.com%2Fpersonal-insurance%2F" /> 73<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://insuranceagencyaz.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Finsuranceagencyaz.com%2Fpersonal-insurance%2F&format=xml" /> 74<style type="text/css">#gk-is-widget_gk_image_show-2.gk-is-wrapper-gk-university { 75 min-height: 896px; 76 } 77 #gk-is-widget_gk_image_show-2.gk-is-wrapper-gk-university .gk-is-slide { 78 background-size: 1720px 896px; 79 height: 896px; 80 max-width: 1720px; 81 } 82 @media (max-width: 1040px) { 83 #gk-is-widget_gk_image_show-2.gk-is-wrapper-gk-university { 84 min-height: 542px; 85 } 86 87 #gk-is-widget_gk_image_show-2.gk-is-wrapper-gk-university .gk-is-slide { 88 background-size: 1040px 542px; 89 height: 542px; 90 max-width: 1040px; 91 } 92 } 93 94 @media (max-width: 640px) { 95 #gk-is-widget_gk_image_show-2.gk-is-wrapper-gk-university { 96 min-height: 334px; 97 } 98 99 #gk-is-widget_gk_image_show-2.gk-is-wrapper-gk-university .gk-is-slide { 100 background-size: 640px 334px; 101 height: 334px; 102 max-width: 640px; 103 } 104 } </style><style id="wp-img-auto-sizes-contain-inline-css"> 105img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 106/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 107</style> 108<link rel='stylesheet' id='gavern-normalize-css' href='https://insuranceagencyaz.com/wp-content/themes/University/css/normalize.css?ver=7.1.3' media='all' /> 109<link rel='stylesheet' id='gavern-font-awesome-css' href='//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.css?ver=4.1.0' media='all' /> 110<link rel='stylesheet' id='gavern-template-css' href='https://insuranceagencyaz.com/wp-content/themes/University/css/template.css?ver=7.1.3' media='all' /> 111<link rel='stylesheet' id='gavern-wp-css' href='https://insuranceagencyaz.com/wp-content/themes/University/css/wp.css?ver=7.1.3' media='all' /> 112<link rel='stylesheet' id='gavern-stuff-css' href='https://insuranceagencyaz.com/wp-content/themes/University/css/stuff.css?ver=7.1.3' media='all' /> 113<link rel='stylesheet' id='gavern-wpextensions-css' href='https://insuranceagencyaz.com/wp-content/themes/University/css/wp.extensions.css?ver=7.1.3' media='all' /> 114<link rel='stylesheet' id='gavern-extensions-css' href='https://insuranceagencyaz.com/wp-content/themes/University/css/extensions.css?ver=7.1.3' media='all' /> 115<link rel='stylesheet' id='gavern-shortcodes-typography-css' href='https://insuranceagencyaz.com/wp-content/themes/University/css/shortcodes.typography.css?ver=7.1.3' media='all' /> 116<link rel='stylesheet' id='gavern-shortcodes-elements-css' href='https://insuranceagencyaz.com/wp-content/themes/University/css/shortcodes.elements.css?ver=7.1.3' media='all' /> 117<link rel='stylesheet' id='gavern-shortcodes-template-css' href='https://insuranceagencyaz.com/wp-content/themes/University/css/shortcodes.template.css?ver=7.1.3' media='all' /> 118<link rel='stylesheet' id='gavern-desktop-small-css' href='https://insuranceagencyaz.com/wp-content/themes/University/css/desktop.small.css?ver=7.1.3' media='(max-width: 1240px)' /> 119<link rel='stylesheet' id='gavern-tablet-css' href='https://insuranceagencyaz.com/wp-content/themes/University/css/tablet.css?ver=7.1.3' media='(max-width: 1040px)' /> 120<link rel='stylesheet' id='gavern-tablet-small-css' href='https://insuranceagencyaz.com/wp-content/themes/University/css/tablet.small.css?ver=7.1.3' media='(max-width: 840px)' /> 121<link rel='stylesheet' id='gavern-mobile-css' href='https://insuranceagencyaz.com/wp-content/themes/University/css/mobile.css?ver=7.1.3' media='(max-width: 640px)' /> 122<link rel='stylesheet' id='gavern-style-css' href='https://insuranceagencyaz.com/wp-content/themes/University/css/style1.css?ver=7.1.3' media='all' /> 123<link rel='stylesheet' id='gavern-override-css' href='https://insuranceagencyaz.com/wp-content/themes/University/css/override.css?ver=7.1.3' media='all' /> 124<link rel='stylesheet' id='gavern-thickbox-css' href='https://insuranceagencyaz.com/wp-includes/js/thickbox/thickbox.css?ver=7.1.3' media='all' /> 125<style id="wp-emoji-styles-inline-css"> 126 127 img.wp-smiley, img.emoji { 128 display: inline !important; 129 border: none !important; 130 box-shadow: none !important; 131 height: 1em !important; 132 width: 1em !important; 133 margin: 0 0.07em !important; 134 vertical-align: -0.1em !important; 135 background: none !important; 136 padding: 0 !important; 137 } 138/*# sourceURL=wp-emoji-styles-inline-css */ 139</style> 140<style id="wp-block-library-inline-css"> 141/** 142 * Colors 143 */ 144/** 145 * Typography 146 */ 147/** 148 * SCSS Variables. 149 * 150 * Please use variables from this sheet to ensure consistency across the UI. 151 * Don't add to this sheet unless you're pretty sure the value will be reused in many places. 152 * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. 153 */ 154/** 155 * Fonts & basic variables. 156 */ 157/** 158 * Typography 159 */ 160/** 161 * Grid System. 162 * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ 163 */ 164/** 165 * Radius scale. 166 */ 167/** 168 * Elevation scale. 169 */ 170/** 171 * Dimensions. 172 */ 173/** 174 * Mobile specific styles 175 */ 176/** 177 * Editor styles. 178 */ 179/** 180 * Block & Editor UI. 181 */ 182/** 183 * Block paddings. 184 */ 185/** 186 * React Native specific. 187 * These variables do not appear to be used anywhere else. 188 */ 189/** 190 * Breakpoints & Media Queries 191 */ 192/** 193* Converts a hex value into the rgb equivalent. 194* 195* @param {string} hex - the hexadecimal value to convert 196* @return {string} comma separated rgb values 197*/ 198/** 199 * Long content fade mixin 200 * 201 * Creates a fading overlay to signify that the content is longer 202 * than the space allows. 203 */ 204/** 205 * Breakpoint mixins 206 */ 207/** 208 * Focus styles. 209 */ 210/** 211 * Standard focus rings for the WordPress Design System. 212 * 213 * Apply `outset-ring__focus` inside the relevant pseudo-class at the call site, 214 * e.g. `&:focus { @include outset-ring__focus(); }`. 215 */ 216/** 217 * Applies editor left position to the selector passed as argument 218 */ 219/** 220 * Styles that are reused verbatim in a few places 221 */ 222/** 223 * Allows users to opt-out of animations via OS-level preferences. 224 */ 225/** 226 * Reset default styles for JavaScript UI based pages. 227 * This is a WP-admin agnostic reset 228 */ 229/** 230 * Reset the WP Admin page styles for Gutenberg-like pages. 231 */ 232/** 233 * Creates a checkerboard pattern background to indicate transparency. 234 * @param {String} $size - The size of the squares in the checkerboard pattern. Default is 12px. 235 */ 236:root { 237 --wp-block-synced-color: #7a00df; 238 --wp-block-synced-color--rgb: 122, 0, 223; 239 --wp-bound-block-color: var(--wp-block-synced-color); 240 --wp-editor-canvas-background: #ddd; 241 --wp-admin-theme-color: #007cba;
242 --wp-admin-theme-color--rgb: 0, 124, 186; 243 --wp-admin-theme-color-darker-10: rgb(0, 107, 160.5); 244 --wp-admin-theme-color-darker-10--rgb: 0, 107, 160.5; 245 --wp-admin-theme-color-darker-20: #005a87; 246 --wp-admin-theme-color-darker-20--rgb: 0, 90, 135; 247 --wp-admin-border-width-focus: 2px; 248} 249@media (min-resolution: 192dpi) { 250 :root { 251 --wp-admin-border-width-focus: 1.5px; 252 } 253} 254 255/** 256 * Element styles. 257 */ 258.wp-element-button { 259 cursor: pointer; 260} 261 262:root .has-very-light-gray-background-color { 263 background-color: #eee; 264} 265:root .has-very-dark-gray-background-color { 266 background-color: #313131; 267} 268:root .has-very-light-gray-color { 269 color: #eee; 270} 271:root .has-very-dark-gray-color { 272 color: #313131; 273} 274:root { 275 /* stylelint-disable @stylistic/function-comma-space-after -- We can not use spacing because of WP multi site kses rule. */ 276} 277:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background { 278 background: linear-gradient(135deg, rgb(0, 208, 132) 0%, rgb(6, 147, 227) 100%); 279} 280:root .has-purple-crush-gradient-background { 281 background: linear-gradient(135deg, rgb(52, 226, 228) 0%, rgb(71, 33, 251) 50%, rgb(171, 29, 254) 100%); 282} 283:root .has-hazy-dawn-gradient-background { 284 background: linear-gradient(135deg, rgb(250, 172, 168) 0%, rgb(218, 208, 236) 100%); 285} 286:root .has-subdued-olive-gradient-background { 287 background: linear-gradient(135deg, rgb(250, 250, 225) 0%, rgb(103, 166, 113) 100%); 288} 289:root .has-atomic-cream-gradient-background { 290 background: linear-gradient(135deg, rgb(253, 215, 154) 0%, rgb(0, 74, 89) 100%); 291} 292:root .has-nightshade-gradient-background { 293 background: linear-gradient(135deg, rgb(51, 9, 104) 0%, rgb(49, 205, 207) 100%); 294} 295:root .has-midnight-gradient-background { 296 background: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%); 297} 298:root { 299 /* stylelint-enable @stylistic/function-comma-space-after */ 300 --wp--preset--font-size--normal: 16px; 301 --wp--preset--font-size--huge: 42px; 302} 303 304.has-regular-font-size { 305 font-size: 1em; 306} 307 308.has-larger-font-size { 309 font-size: 2.625em; 310} 311 312.has-normal-font-size { 313 font-size: var(--wp--preset--font-size--normal); 314} 315 316.has-huge-font-size { 317 font-size: var(--wp--preset--font-size--huge); 318} 319 320:root .has-text-align-center { 321 text-align: center; 322} 323 324:root .has-text-align-left { 325 /*rtl:ignore*/ 326 text-align: left; 327} 328 329:root .has-text-align-right { 330 /*rtl:ignore*/ 331 text-align: right; 332} 333 334.has-fit-text { 335 white-space: nowrap !important; 336} 337 338#end-resizable-editor-section { 339 display: none; 340} 341 342.aligncenter { 343 clear: both; 344} 345 346.items-justified-left { 347 justify-content: flex-start; 348} 349 350.items-justified-center { 351 justify-content: center; 352} 353 354.items-justified-right { 355 justify-content: flex-end; 356} 357 358.items-justified-space-between { 359 justify-content: space-between; 360} 361 362.screen-reader-text { 363 border: 0; 364 clip-path: inset(50%); 365 height: 1px; 366 margin: -1px; 367 overflow: hidden; 368 padding: 0; 369 position: absolute; 370 width: 1px; 371 word-wrap: normal !important; 372 word-break: normal !important; 373} 374 375.screen-reader-text:focus { 376 background-color: #ddd; 377 clip-path: none; 378 color: #444; 379 display: block; 380 font-size: 1em; 381 height: auto; 382 left: 5px; 383 line-height: normal; 384 padding: 15px 23px 14px; 385 text-decoration: none; 386 top: 5px; 387 width: auto; 388 z-index: 100000; 389} 390 391/** 392 * The following provide a simple means of applying a default border style when 393 * a user first makes a selection in the border block support panel. 394 * This prevents issues such as where the user could set a border width 395 * and see no border due there being no border style set. 396 * 397 * This is intended to be removed once intelligent defaults can be set while 398 * making border selections via the block support. 399 * 400 * See: https://github.com/WordPress/gutenberg/pull/33743 401 */ 402html :where(.has-border-color) { 403 border-style: solid; 404} 405 406html :where([style^=border-color], 407[style*=";border-color"], 408[style*="; border-color"]) { 409 border-style: solid; 410} 411 412html :where([style^=border-top-color], 413[style*=";border-top-color"], 414[style*="; border-top-color"]) { 415 border-top-style: solid; 416} 417 418html :where([style^=border-right-color], 419[style*=";border-right-color"], 420[style*="; border-right-color"]) { 421 /*rtl:ignore*/ 422 border-right-style: solid; 423} 424 425html :where([style^=border-bottom-color], 426[style*=";border-bottom-color"], 427[style*="; border-bottom-color"]) { 428 border-bottom-style: solid; 429} 430 431html :where([style^=border-left-color], 432[style*=";border-left-color"], 433[style*="; border-left-color"]) { 434 /*rtl:ignore*/ 435 border-left-style: solid; 436} 437 438html :where([style^=border-width], 439[style*=";border-width"], 440[style*="; border-width"]) { 441 border-style: solid; 442} 443 444html :where([style^=border-top-width], 445[style*=";border-top-width"], 446[style*="; border-top-width"]) { 447 border-top-style: solid; 448} 449 450html :where([style^=border-right-width], 451[style*=";border-right-width"], 452[style*="; border-right-width"]) { 453 /*rtl:ignore*/ 454 border-right-style: solid; 455} 456 457html :where([style^=border-bottom-width], 458[style*=";border-bottom-width"], 459[style*="; border-bottom-width"]) { 460 border-bottom-style: solid; 461} 462 463html :where([style^=border-left-width], 464[style*=";border-left-width"], 465[style*="; border-left-width"]) { 466 /*rtl:ignore*/ 467 border-left-style: solid; 468} 469 470/** 471 * Provide baseline responsiveness for images. 472 */ 473html :where(img[class*=wp-image-]) { 474 height: auto; 475 max-width: 100%; 476} 477 478/** 479 * Reset user agent styles for figure element margins. 480 */ 481:where(figure) { 482 margin: 0 0 1em 0; 483} 484 485html :where(.is-position-sticky) { 486 --wp-admin--admin-bar--position-offset: var(--wp-admin--admin-bar--height, 0px); 487} 488 489@media screen and (max-width: 600px) { 490 html :where(.is-position-sticky) { 491 --wp-admin--admin-bar--position-offset: 0px; 492 } 493} 494 495/*# sourceURL=/wp-includes/css/dist/block-library/common.css */ 496</style> 497<style id="classic-theme-styles-inline-css"> 498/** 499 * These rules are needed for backwards compatibility. 500 * They should match the button element rules in the base theme.json file. 501 */ 502.wp-block-button__link { 503 color: #ffffff; 504 background-color: #32373c; 505 border-radius: 9999px; /* 100% causes an oval, but any explicit but really high value retains the pill shape. */ 506 507 /* This needs a low specificity so it won't override the rules from the button element if defined in theme.json. */ 508 box-shadow: none; 509 text-decoration: none; 510 511 /* The extra 2px are added to size solids the same as the outline versions.*/ 512 padding: calc(0.667em + 2px) calc(1.333em + 2px); 513 514 font-size: 1.125em; 515} 516 517.wp-block-file__button { 518 background: #32373c; 519 color: #ffffff; 520 text-decoration: none; 521} 522 523/*# sourceURL=/wp-includes/css/classic-themes.css */ 524</style> 525 526<style id="global-styles-inline-css"> 527:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
5270) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
527.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 528/*# sourceURL=global-styles-inline-css */ 529</style> 530 531<link rel="https://api.w.org/" href="https://insuranceagencyaz.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://insuranceagencyaz.com/wp-json/wp/v2/pages/2429" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://insuranceagencyaz.com/xmlrpc.php?rsd" /> 532<link rel="canonical" href="https://insuranceagencyaz.com/personal-insurance/" /> 533<link rel='shortlink' href='https://insuranceagencyaz.com/?p=2429' /> 534<link href="https://insuranceagencyaz.com/?opensearch_description=1" title="Fasula Kaplan Insurance Agency, Inc." rel="search" type="application/opensearchdescription+xml" /><link rel="shortcut icon" href="https://insuranceagencyaz.com/wp-content/uploads/2014/07/fasula-kaplan-favicon.png" type="image/x-icon" /> 535 536 <link href="https://fonts.googleapis.com/css?family=Raleway:300,400,500" rel="stylesheet" type="text/css" /><link href="https://fonts.googleapis.com/css?family=Raleway:400,500,700" rel="stylesheet" type="text/css" /><style type="text/css"> 537h1, 538h2, 539h4, 540body, 541html, 542body button, 543body input, 544body select, 545body textarea, 546#gk-main-menu, 547#gk-mainbody article > header h1, #gk-mainbody article > header h2 548 { font-family: 'Raleway'; } 549 550h3,h5,h6, 551blockquote, 552#gk-mainbody article > header > time, 553.box.advertisement .box-title, 554#gk-page-title, 555.author-info h2, 556.gk-is-wrapper-gk-university figcaption, 557.gk-is-wrapper-gk-university figcaption h2, 558.gk-video-block, 559.gk-nsp-events time, 560.gk-content p, 561.gk-content a, 562.gk-content-list li a, 563.widget_wysija_cont .wysija-submit 564 { font-family: 'Raleway'; } 565 566a.textLogo { font-family: Times, 'Times New Roman', serif; } 567 568</style> 569
569<script type="text/javascript"> 570 $GK_PAGE_URL = 'https://insuranceagencyaz.com'; 571 $GK_TMPL_URL = 'https://insuranceagencyaz.com/wp-content/themes/University'; 572 $GK_TMPL_NAME = 'university'; 573 $GK_MENU = []; 574 $GK_MENU["mainmenu"] = []; 575 $GK_MENU["mainmenu"]["animation"] = "height_opacity"; 576 $GK_MENU["mainmenu"]["animation_speed"] = "fast"; 577 $GK_MENU["footermenu"] = []; 578 $GK_MENU["footermenu"]["animation"] = "none"; 579 $GK_MENU["footermenu"]["animation_speed"] = "normal"; 580 </script>
580 581 582 583 584
585<script>
vendor: 345 bytes, lines 585-591
585 586 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 587 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 588 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 589 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 590 591 ga('create', '
591UA-34733872-1
vendor: 42 bytes, lines 591-593
591', 'auto'); 592 ga('send', 'pageview'); 593
594</script>
594 595<meta name="google-site-verification" content="m0fW14P-Ho1TWNiTRqgpI_4Fb-25eRiszhjBaXdSGhY" /> 596<style id="core-block-supports-inline-css"> 597/** 598 * Core styles: block-supports 599 */ 600 601/*# sourceURL=core-block-supports-inline-css */ 602</style> 603 604</head> 605<body class="wp-singular page-template-default page page-id-2429 wp-theme-University " data-tablet-width="1040" data-zoom-size="150"> 606 <div id="gk-bg"> 607 <header id="gk-head" class="gk-page"> 608 <div id="gk-header-nav"> 609 <div class="gk-page"> 610 <a href="https://insuranceagencyaz.com" class="imageLogo"><img src="https://insuranceagencyaz.com/wp-content/uploads/2014/07/fasula-kaplan-insurance-logo.png" alt="Fasula-Kaplan Agency, Inc. - Insurance Rates in Phoenix and Casa Grande, Arizona" width="334" height="77" /></a> 611 612 <i id="aside-menu-toggler" class="fa fa-bars"></i> 613 614 <div id ="gk-main-menu"> 615 <nav class="gk-menu-wrap"> 616 <ul id="main-menu" class="menu gk_normal"><li id="menu-item-2346" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-2346"><a href="https://insuranceagencyaz.com/">Home</a></li> 617<li id="menu-item-2489" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-2429 current_page_item menu-item-2489"><a href="https://insuranceagencyaz.com/personal-insurance/">Personal Insurance</a></li> 618<li id="menu-item-2491" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2491"><a href="https://insuranceagencyaz.com/insurance-for-businesses-in-phoenix-and-casa-grande/">Commercial Insurance</a></li> 619<li id="menu-item-2490" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2490"><a href="https://insuranceagencyaz.com/insurance-blog/">Insurance Blog</a></li> 620</ul> </nav> 621 </div> 622 623 </div> 624 </div> 625 626 627 628 </header> 629 630 631<h2 id="gk-page-title" class="gk-page"><span>Personal Insurance in Phoenix</span></h2> 632<div class="gk-page-wrap"> 633 <div class="gk-page"> 634 <div id="gk-mainbody-columns"> 635 636 637 <section> 638 <div id="gk-content-wrap" > 639 640 <!-- Mainbody --> 641 642<section id="gk-mainbody"> 643 644 645<article id="post-2429" class=" page-fullwidth post-2429 page type-page status-publish hentry"> 646 <header> 647 648 649<h1> 650 Personal Insurance in Phoenix 651 </h1> 652 653 654 </header> 655 656 657 658 <section class="content"> 659 <p>Get all of your insurance needs covered from one place with Fasula-Kaplan Insurance. At Fasula-Kaplan Insurance, we understand how important it is to be prepared for anything and to make sure everything you care about is protected. Our friendly staff will listen to your insurance needs and create a customized quote to cover all of your needs.</p> 660<h2>Insurance We Offer Includes:</h2> 661<h3>Automobile Insurance</h3> 662<p>Be prepared for anything when you get insurance from Fasula-Kaplan for your vehicle. We understand that your vehicle is your lifeline and you need to be fully protected for whatever may come your way. When you are in an accident, whether it is your fault or another driverâs, we will ensure youâre taken care of. Make sure you are completely protected today by calling a Fasula-Kaplan representative and discussing your auto insurance needs.</p> 663<h3>Mobile Home Insurance</h3> 664<p>Cover your home and all of your belongings with mobile home insurance. At Fasula-Kaplan, we will find an affordable solution to protecting your assets. You can choose how much coverage you think you need and we will help you find the plan you want.</p> 665<h3>Boat Insurance</h3> 666<p>Take your boat out on the water in confidence when you get the coverage you deserve through Fasula-Kaplan. Our experts will gather all of the lowest quotes with the best quality insurance coverage to fit your specific needs so you can relax and enjoy the water.</p> 667<h3>Homeownerâs Insurance</h3> 668<p>You build your memories and your life at home, make sure you have the protection you deserve by getting a custom quote from the professionals at Fasula-Kaplan. Our partnership with top insurance providers helps us to get affordable homeowner insurance quotes and provide them to our customers. We can help you build the coverage you need today. Weâre just a call away.</p> 669<h3>Motorcycle Insurance</h3> 670<p>Taking on the open road on your motorcycle is all about leaving your worries behind, even if only for a little while. Ride a little easier knowing you have motorcycle insurance that will cover any accidents you may encounter by getting your custom quote from Fasula-Kaplan. We will help you make sure the only thing you take on the road is a well-covered bike and the peace of mind that comes with it.</p> 671<h3>Life Insurance</h3> 672<p>Loss of a loved one is very hard on a family. With a good life insurance policy, you can take away some of the stress for your family and provide for them even when you are gone. We understand this topic can be uncomfortable and hard to handle, but not having a plan can prove to be worse for your loved one
672s in the end. Our caring staff can help you find the insurance you need and protect the most important people in your life.</p> 673<h3>Renters Insurance</h3> 674<p>Many rental properties today require you to have renterâs insurance to avoid conflict in case of an emergency situation at your rental property. Even in the case that your rental property doesnât require renterâs insurance, itâs always a good idea to make sure you have the best possible coverage for your possessions, and at Fasula- Kaplan our agents can help you find an affordable and effective plan.</p> 675<h3>Travel Insurance</h3> 676<p>Going on vacations or travelling for other purposes can be fun! However, we all know how expensive travel can be. If you are going on a big trip, make sure your travel plans are insured so you arenât losing out on all the money youâve spent in case something should go wrong during your journey. The Fasula-Kaplan agents can speak with you about the details of travel insurance and assist with finding the right coverage for your trip quickly.</p> 677<h3>Vacant Property Insurance</h3> 678<p>With real estate being a buyerâs market right now, trying to sell your home may take some time, leaving you with a vacant property. When you have a vacant property, you may need a different kind of coverage. An empty home can have more risk than an occupied home and your insurance company may drop coverage without occupants. Let the Fasula-Kaplan agents find an insurance plan that will best cover the vacant property you own so you can stay protected at a reasonable price.</p> 679<h3>Trailer Insurance</h3> 680<p>If you are towing a boat trailer, horse trailer, car trailer or camping trailer with your car or truck, trailer insurance may be coverage to consider. Just like any vehicles you have on the road, your trailer could be involved in an unexpected accident at any time. Getting the proper coverage for your trailer may be the difference between paying for an extensive amount of repairs and feeling at ease knowing someone is there to help you through it. Let Fasula-Kaplan be the helping hand and get your quote for trailer insurance today.</p> 681<h3></h3> 682 683 </section> 684 685 686 687 688 </article> 689 </section> 690 691 692 </div> 693 694 </section><!-- end of the mainbody section --> 695 696 <aside id="gk-sidebar"> 697 <div id="text-7" class="box widget_text"><h3 class="box-title">SPEAK WITH A REPRESENTATIVE</h3> <div class="textwidget"><p>Fasula-Kaplan Insurance is always ready to help Phoenix and Casa Grande businesses get the coverage they need. Call a location near you to get more information and your customized quote today.</p> 698<h4>Protect Your Business Today!</h4> 699<p>Main Office: <a href="tel://1-602-564-0880">(602) 564-0880</a><br /> 700Garnet: <a href="tel://1-520-836-2558">(520) 836-2558</a></p> 701</div> 702 </div> </aside> 703 704 </div><!-- end of the #gk-mainbody-columns --> 705 </div><!-- end of the .gk-page section --> 706</div><!-- end of the .gk-page-wrap section --> 707 708 709 710<div id="gk-bottom3"> 711 <div class="widget-area gk-page"> <div id="text-10" class="box widget_text col6 nth1 last2"> <div class="textwidget"><ul> 712<li> 713<h3>Fasula-Kaplan Insurance Agency, Inc.</h3><br /> 714<em>Se Habla Español</em><br /> 71511022 N. 28th Drive, Suite 280<br /> 716Phoenix, AZ 85029<br /> 717Tel: <a href="tel://1-602-564-0880">(602) 564-0880</a><br /> 718Fax: (602) 564-8118<br /> 719Hours: Mon-Fri 9amâ5pm 720</li> 721</ul></div> 722 </div><div id="text-12" class="box widget_text col6 nth2 last2"> <div class="textwidget"><ul> 723<li><a href="https://www.google.com/maps/place/Fasula+Kaplan+Insurance+Agency/@33.586404,-112.1247195,17z/data=!4m13!1m7!3m6!1s0x872b6c15aaf4331f:0x6184c4e10a85214e!2s11022+N+28th+Dr+%23125,+Phoenix,+AZ+85029!3b1!8m2!3d33.5863996!4d-112.1225308!3m4!1s0x0:0xe78949909c06bd83!8m2!3d33.5867221!4d-112.122005" target="_blank"><i class="gk-icon-marker"></i>Phoenix, AZ</a> 724<p><iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3323.7282611956716!2d-112.1247194854488!3d33.586404049583145!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0xe78949909c06bd83!2sFasula+Kaplan+Insurance+Agency!5e0!3m2!1sen!2sus!4v1472505004185" frameborder="0" style="border:0" allowfullscreen></iframe></p> 725</li> 726</ul></div> 727 </div> </div></div> 728 729 730</div><!-- end of the gk-bg div --> 731 <footer id="gk-footer"> 732 <div class="gk-page"> 733 <ul id="footer-menu" class="menu gk_normal"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-2346"><a href="https://insuranceagencyaz.com/">Home</a></li> 734<li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-2429 current_page_item menu-item-2489"><a href="https://insuranceagencyaz.com/personal-insurance/" aria-current="page">Personal Insurance</a></li> 735<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2491"><a href="https://insuranceagencyaz.com/insurance-for-businesses-in-phoenix-and-casa-grande/">Commercial Insurance</a></li> 736<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2490"><a href="https://insuranceagencyaz.com/insurance-blog/">Insurance Blog</a></li> 737</ul> 738 <div class="gk-copyrights"> 739 <p>Fasula-Kaplan Insurance Agency, Inc. has been serving Arizona for over 20 years.<br />© 2024 Fasula-Kaplan Insurance Agency, Inc.<br /><a href="https://studioevolve.com" target="_blank">Website design</a> by studioevolve.</p> </div> 740 741 742 </div> 743 </footer> 744 745 <i id="close-menu" class="fa fa-times"></i> 746 <nav id="aside-menu"> 747 <div> 748 <div id="gk-aside-menu"> 749 <ul id="main-menu-aside" class="menu gk_normal"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-2346"><a href="https://insuranceagencyaz.com/">Home</a></li> 750<li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-2429 current_page_item menu-item-2489"><a href="https://insuranceagencyaz.com/personal-insurance/">Personal Insurance</a></li> 751<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2491"><a href="https://insuranceagencyaz.com/insurance-for-businesses-in-phoenix-and-casa-grande/">Commercial Insurance</a></li> 752<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2490"><a href="https://insuranceagencyaz.com/insurance-blog/">Insurance Blog</a></li> 753</ul> </div> 754 </div> 755 </nav> 756 757 758 759 760 761 762
762<script type="speculationrules"> 763{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/University/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 764</script>
vendor: 1 bytes, line 764
764
765<script id="jquery-core-js" src="https://insuranceagencyaz.com/wp-includes/js/jquery/jquery.js?ver=3.7.1"></script>
vendor: 1 bytes, line 765
765
766<script id="jquery-migrate-js" src="https://insuranceagencyaz.com/wp-includes/js/jquery/jquery-migrate.js?ver=3.4.1"></script>
vendor: 1 bytes, line 766
766
767<script id="gavern-scripts-js" src="https://insuranceagencyaz.com/wp-content/themes/University/js/gk.scripts.js?ver=7.1.3"></script>
vendor: 1 bytes, line 767
767
768<script id="gavern-shortcodes-typography-js" src="https://insuranceagencyaz.com/wp-content/themes/University/js/shortcodes.typography.js?ver=7.1.3"></script>
vendor: 1 bytes, line 768
768
769<script id="gavern-shortcodes-elements-js" src="https://insuranceagencyaz.com/wp-content/themes/University/js/shortcodes.elements.js?ver=7.1.3"></script>
vendor: 1 bytes, line 769
769
770<script id="gavern-shortcodes-template-js" src="https://insuranceagencyaz.com/wp-content/themes/University/js/shortcodes.template.js?ver=7.1.3"></script>
vendor: 1 bytes, line 770
770
771<script id="gavern-thickbox-js" src="https://insuranceagencyaz.com/wp-includes/js/thickbox/thickbox.js?ver=7.1.3"></script>
vendor: 1 bytes, line 771
771
772<script id="gavern-menu-js" src="https://insuranceagencyaz.com/wp-content/themes/University/js/gk.menu.js?ver=7.1.3"></script>
vendor: 1 bytes, line 772
772
773<script id="gavern-modernizr-js" src="https://insuranceagencyaz.com/wp-content/themes/University/js/modernizr.js?ver=7.1.3"></script>
vendor: 1 bytes, line 773
773
774<script id="gavern-scrollreveal-js" src="https://insuranceagencyaz.com/wp-content/themes/University/js/scrollreveal.js?ver=7.1.3"></script>
vendor: 1 bytes, line 774
774
775<script id="wp-emoji-settings" type="application/json"> 776{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"wpemoji":"https://insuranceagencyaz.com/wp-includes/js/wp-emoji.js?ver=7.1.3","twemoji":"https://insuranceagencyaz.com/wp-includes/js/twemoji.js?ver=7.1.3"}} 777</script>
vendor: 1 bytes, line 777
777
778<script type="module"> 779/** 780 * @output wp-includes/js/wp-emoji-loader.js 781 */ 782 783/* eslint-env es6 */ 784 785// Note: This is loaded as a script module, so there is no need for an IIFE to prevent pollution of the global scope. 786 787/** 788 * Emoji Settings as exported in PHP via _print_emoji_detection_script(). 789 * @typedef WPEmojiSettings 790 * @type {object} 791 * @property {?object} source 792 * @property {?string} source.concatemoji 793 * @property {?string} source.twemoji 794 * @property {?string} source.wpemoji 795 */ 796 797const selector = 'script#wp-emoji-settings'; 798const script = document.querySelector( selector ); 799if ( ! ( script instanceof HTMLScriptElement ) ) { 800 throw new Error( `Element missing: ${ selector }`); 801} 802const settings = /** @type {WPEmojiSettings} */ ( JSON.parse( script.text ) ); 803 804// For compatibility with other scripts that read from this global, in particular wp-includes/js/wp-emoji.js (source file: js/_enqueues/wp/emoji.js). 805window._wpemojiSettings = settings; 806 807/** 808 * Support tests. 809 * @typedef SupportTests 810 * @type {object} 811 * @property {?boolean} flag 812 * @property {?boolean} emoji 813 */ 814 815const sessionStorageKey = 'wpEmojiSettingsSupports'; 816const tests = [ 'flag', 'emoji' ]; 817 818/** 819 * Checks whether the browser supports offloading to a Worker. 820 * 821 * @since 6.3.0 822 * 823 * @private 824 * 825 * @returns {boolean} 826 */ 827function supportsWorkerOffloading() { 828 return ( 829 typeof Worker !== 'undefined' && 830 typeof OffscreenCanvas !== 'undefined' && 831 typeof URL !== 'undefined' && 832 URL.createObjectURL && 833 typeof Blob !== 'undefined' 834 ); 835} 836 837/** 838 * @typedef SessionSupportTests 839 * @type {object} 840 * @property {number} timestamp 841 * @property {SupportTests} supportTests 842 */ 843 844/** 845 * Get support tests from session. 846 * 847 * @since 6.3.0 848 * 849 * @private 850 * 851 * @returns {?SupportTests} Support tests, or null if not set or older than 1 week. 852 */ 853function getSessionSupportTests() { 854 try { 855 /** @type {SessionSupportTests} */ 856 const item = JSON.parse( 857 sessionStorage.getItem( sessionStorageKey ) 858 ); 859 if ( 860 typeof item === 'object' && 861 typeof item.timestamp === 'number' && 862 new Date().valueOf() < item.timestamp + 604800 && // Note: Number is a week in seconds. 863 typeof item.supportTests === 'object' 864 ) { 865 return item.supportTests; 866 } 867 } catch ( e ) {} 868 return null; 869} 870 871/** 872 * Persist the supports in session storage. 873 * 874 * @since 6.3.0 875 * 876 * @private 877 * 878 * @param {SupportTests} supportTests Support tests. 879 */ 880function setSessionSupportTests( supportTests ) { 881 try { 882 /** @type {SessionSupportTests} */ 883 const item = { 884 supportTests: supportTests, 885 timestamp: new Date().valueOf() 886 }; 887 888 sessionStorage.setItem( 889 sessionStorageKey, 890 JSON.stringify( item ) 891 ); 892 } catch ( e ) {} 893} 894 895/** 896 * Checks if two sets of Emoji characters render the same visually. 897 * 898 * This is used to determine if the browser is rendering an emoji with multiple data points 899 * correctly. set1 is the emoji in the correct form, using a zero-width joiner. set2 is the emoji 900 * in the incorrect form, using a zero-width space. If the two sets render the same, then the browser 901 * does not support the emoji correctly. 902 * 903 * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing 904 * scope. Everything must be passed by parameters. 905 * 906 * @since 4.9.0 907 * 908 * @private 909 * 910 * @param {CanvasRenderingContext2D} context 2D Context. 911 * @param {string} set1 Set of Emoji to test. 912 * @param {string} set2 Set of Emoji to test. 913 * 914 * @return {boolean} True if the two sets render the same. 915 */ 916function emojiSetsRenderIdentically( context, set1, set2 ) { 917 // Cleanup from previous test. 918 context.clearRect( 0, 0, context.canvas.width, context.canvas.height ); 919 context.fillText( set1, 0, 0 ); 920 const rendered1 = new Uint32Array( 921 context.getImageData( 922 0, 923 0, 924 context.canvas.width, 925 context.canvas.height 926 ).data 927 ); 928 929 // Cleanup from previous test. 930 context.clearRect( 0, 0, context.canvas.width, context.canvas.height ); 931 context.fillText( set2, 0, 0 ); 932 const rendered2 = new Uint32Array( 933 context.getImageData( 934 0, 935 0, 936 context.canvas.width,
937 context.canvas.height 938 ).data 939 ); 940 941 return rendered1.every( ( rendered2Data, index ) => { 942 return rendered2Data === rendered2[ index ]; 943 } ); 944} 945 946/** 947 * Checks if the center point of a single emoji is empty. 948 * 949 * This is used to determine if the browser is rendering an emoji with a single data point 950 * correctly. The center point of an incorrectly rendered emoji will be empty. A correctly 951 * rendered emoji will have a non-zero value at the center point. 952 * 953 * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing 954 * scope. Everything must be passed by parameters. 955 * 956 * @since 6.8.2 957 * 958 * @private 959 * 960 * @param {CanvasRenderingContext2D} context 2D Context. 961 * @param {string} emoji Emoji to test. 962 * 963 * @return {boolean} True if the center point is empty. 964 */ 965function emojiRendersEmptyCenterPoint( context, emoji ) { 966 // Cleanup from previous test. 967 context.clearRect( 0, 0, context.canvas.width, context.canvas.height ); 968 context.fillText( emoji, 0, 0 ); 969 970 // Test if the center point (16, 16) is empty (0,0,0,0). 971 const centerPoint = context.getImageData(16, 16, 1, 1); 972 for ( let i = 0; i < centerPoint.data.length; i++ ) { 973 if ( centerPoint.data[ i ] !== 0 ) { 974 // Stop checking the moment it's known not to be empty. 975 return false; 976 } 977 } 978 979 return true; 980} 981 982/** 983 * Determines if the browser properly renders Emoji that Twemoji can supplement. 984 * 985 * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing 986 * scope. Everything must be passed by parameters. 987 * 988 * @since 4.2.0 989 * 990 * @private 991 * 992 * @param {CanvasRenderingContext2D} context 2D Context. 993 * @param {string} type Whether to test for support of "flag" or "emoji". 994 * @param {Function} emojiSetsRenderIdentically Reference to emojiSetsRenderIdentically function, needed due to minification. 995 * @param {Function} emojiRendersEmptyCenterPoint Reference to emojiRendersEmptyCenterPoint function, needed due to minification. 996 * 997 * @return {boolean} True if the browser can render emoji, false if it cannot. 998 */ 999function browserSupportsEmoji( context, type, emojiSetsRenderIdentically, emojiRendersEmptyCenterPoint ) { 1000 let isIdentical; 1001 1002 switch ( type ) { 1003 case 'flag': 1004 /* 1005 * Test for Transgender flag compatibility. Added in Unicode 13. 1006 * 1007 * To test for support, we try to render it, and compare the rendering to how it would look if 1008 * the browser doesn't render it correctly (white flag emoji + transgender symbol). 1009 */ 1010 isIdentical = emojiSetsRenderIdentically( 1011 context, 1012 '\uD83C\uDFF3\uFE0F\u200D\u26A7\uFE0F', // as a zero-width joiner sequence 1013 '\uD83C\uDFF3\uFE0F\u200B\u26A7\uFE0F' // separated by a zero-width space 1014 ); 1015 1016 if ( isIdentical ) { 1017 return false; 1018 } 1019 1020 /* 1021 * Test for Sark flag compatibility. This is the least supported of the letter locale flags, 1022 * so gives us an easy test for full support. 1023 * 1024 * To test for support, we try to render it, and compare the rendering to how it would look if 1025 * the browser doesn't render it correctly ([C] + [Q]). 1026 */ 1027 isIdentical = emojiSetsRenderIdentically( 1028 context, 1029 '\uD83C\uDDE8\uD83C\uDDF6', // as the sequence of two code points 1030 '\uD83C\uDDE8\u200B\uD83C\uDDF6' // as the two code points separated by a zero-width space 1031 ); 1032 1033 if ( isIdentical ) { 1034 return false; 1035 } 1036 1037 /* 1038 * Test for English flag compatibility. England is a country in the United Kingdom, it 1039 * does not have a two letter locale code but rather a five letter sub-division code. 1040 * 1041 * To test for support, we try to render it, and compare the rendering to how it would look if 1042 * the browser doesn't render it correctly (black flag emoji + [G] + [B] + [E] + [N] + [G]). 1043 */ 1044 isIdentical = emojiSetsRenderIdentically( 1045 context, 1046 // as the flag sequence 1047 '\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67\uDB40\uDC7F', 1048 // with each code point separated by a zero-width space 1049 '\uD83C\uDFF4\u200B\uDB40\uDC67\u200B\uDB40\uDC62\u200B\uDB40\uDC65\u200B\uDB40\uDC6E\u200B\uDB40\uDC67\u200B\uDB40\uDC7F' 1050 ); 1051 1052 return ! isIdentical; 1053 case 'emoji': 1054 /* 1055 * Is there a large, hairy, humanoid mythical creature living in the browser? 1056 * 1057 * To test for Emoji 17.0 support, try to render a new emoji: Hairy Creature. 1058 * 1059 * The hairy creature emoji is a single code point emoji. Testing for browser 1060 * support required testing the center point of the emoji to see if it is empty. 1061 * 1062 * 0xD83E 0x1FAC8 (\uD83E\u1FAC8) == ð« Hairy creature. 1063 * 1064 * When updating this test, please ensure that the emoji is either a single code point 1065 * or switch to using the emojiSetsRenderIdentically function and testing with a zero-width 1066 * joiner vs a zero-width space. 1067 */ 1068 const notSupported = emojiRendersEmptyCenterPoint( context, '\uD83E\u1FAC8' ); 1069 return ! notSupported; 1070 } 1071 1072 return false;
1073} 1074 1075/** 1076 * Checks emoji support tests. 1077 * 1078 * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing 1079 * scope. Everything must be passed by parameters. 1080 * 1081 * @since 6.3.0 1082 * 1083 * @private 1084 * 1085 * @param {string[]} tests Tests. 1086 * @param {Function} browserSupportsEmoji Reference to browserSupportsEmoji function, needed due to minification. 1087 * @param {Function} emojiSetsRenderIdentically Reference to emojiSetsRenderIdentically function, needed due to minification. 1088 * @param {Function} emojiRendersEmptyCenterPoint Reference to emojiRendersEmptyCenterPoint function, needed due to minification. 1089 * 1090 * @return {SupportTests} Support tests. 1091 */ 1092function testEmojiSupports( tests, browserSupportsEmoji, emojiSetsRenderIdentically, emojiRendersEmptyCenterPoint ) { 1093 let canvas; 1094 if ( 1095 typeof WorkerGlobalScope !== 'undefined' && 1096 self instanceof WorkerGlobalScope 1097 ) { 1098 canvas = new OffscreenCanvas( 300, 150 ); // Dimensions are default for HTMLCanvasElement. 1099 } else { 1100 canvas = document.createElement( 'canvas' ); 1101 } 1102 1103 const context = canvas.getContext( '2d', { willReadFrequently: true } ); 1104 1105 /* 1106 * Chrome on OS X added native emoji rendering in M41. Unfortunately, 1107 * it doesn't work when the font is bolder than 500 weight. So, we 1108 * check for bold rendering support to avoid invisible emoji in Chrome. 1109 */ 1110 context.textBaseline = 'top'; 1111 context.font = '600 32px Arial'; 1112 1113 const supports = {}; 1114 tests.forEach( ( test ) => { 1115 supports[ test ] = browserSupportsEmoji( context, test, emojiSetsRenderIdentically, emojiRendersEmptyCenterPoint ); 1116 } ); 1117 return supports; 1118} 1119 1120/** 1121 * Adds a script to the head of the document. 1122 * 1123 * @ignore 1124 * 1125 * @since 4.2.0 1126 * 1127 * @param {string} src The url where the script is located. 1128 * 1129 * @return {void} 1130 */ 1131function addScript( src ) { 1132 const script = document.createElement( 'script' ); 1133 script.src = src; 1134 script.defer = true; 1135 document.head.appendChild( script ); 1136} 1137 1138settings.supports = { 1139 everything: true, 1140 everythingExceptFlag: true 1141}; 1142 1143// Obtain the emoji support from the browser, asynchronously when possible. 1144new Promise( ( resolve ) => { 1145 let supportTests = getSessionSupportTests(); 1146 if ( supportTests ) { 1147 resolve( supportTests ); 1148 return; 1149 } 1150 1151 if ( supportsWorkerOffloading() ) { 1152 try { 1153 // Note that the functions are being passed as arguments due to minification. 1154 const workerScript = 1155 'postMessage(' + 1156 testEmojiSupports.toString() + 1157 '(' + 1158 [ 1159 JSON.stringify( tests ), 1160 browserSupportsEmoji.toString(), 1161 emojiSetsRenderIdentically.toString(), 1162 emojiRendersEmptyCenterPoint.toString() 1163 ].join( ',' ) + 1164 '));'; 1165 const blob = new Blob( [ workerScript ], { 1166 type: 'text/javascript' 1167 } ); 1168 const worker = new Worker( URL.createObjectURL( blob ), { name: 'wpTestEmojiSupports' } ); 1169 worker.onmessage = ( event ) => { 1170 supportTests = event.data; 1171 setSessionSupportTests( supportTests ); 1172 worker.terminate(); 1173 resolve( supportTests ); 1174 }; 1175 return; 1176 } catch ( e ) {} 1177 } 1178 1179 supportTests = testEmojiSupports( tests, browserSupportsEmoji, emojiSetsRenderIdentically, emojiRendersEmptyCenterPoint ); 1180 setSessionSupportTests( supportTests ); 1181 resolve( supportTests ); 1182} ) 1183 // Once the browser emoji support has been obtained from the session, finalize the settings. 1184 .then( ( supportTests ) => { 1185 /* 1186 * Tests the browser support for flag emojis and other emojis, and adjusts the 1187 * support settings accordingly. 1188 */ 1189 for ( const test in supportTests ) { 1190 settings.supports[ test ] = supportTests[ test ]; 1191 1192 settings.supports.everything = 1193 settings.supports.everything && settings.supports[ test ]; 1194 1195 if ( 'flag' !== test ) { 1196 settings.supports.everythingExceptFlag = 1197 settings.supports.everythingExceptFlag && 1198 settings.supports[ test ]; 1199 } 1200 } 1201 1202 settings.supports.everythingExceptFlag = 1203 settings.supports.everythingExceptFlag && 1204 ! settings.supports.flag; 1205 1206 // When the browser can not render everything we need to load a polyfill. 1207 if ( ! settings.supports.everything ) { 1208 const src = settings.source || {}; 1209 1210 if ( src.concatemoji ) { 1211 addScript( src.concatemoji ); 1212 } else if ( src.wpemoji && src.twemoji ) { 1213 addScript( src.twemoji ); 1214 addScript( src.wpemoji ); 1215 } 1216 } 1217 } ); 1218//# sourceURL=https://insuranceagencyaz.com/wp-includes/js/wp-emoji-loader.js 1219</script>
1219 1220 1221 </body> 1222</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.