It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: https://ontoplist.com/immigrationlawyerphiladelphia

  1. <!DOCTYPE html>
  2. <html lang="en" style="max-width: 100%;overflow-x: hidden;">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <title>Law Offices of Dizengoff and Yost - On Top List</title>
  7. <meta name="description" content="Philadelphia's premier immigration law firm. Nationwide expertise in complex cases and multilingual services." />
  8. <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
  9. <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
  10. <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
  11. <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
  12. <meta name="viewport" content="width=device-width, initial-scale=1">
  13.  
  14. <link rel="stylesheet" href="/css/styles_global.min.css?id=829e1147d95618c91ba09bd8c87b0c84">
  15.  
  16.  
  17.  
  18.  
  19. <link rel="preconnect" href="//www.google-analytics.com">
  20. <link rel="dns-prefetch" href="//static.ontoplist.com" />
  21. <link rel="preconnect" href="//ajax.googleapis.com">
  22.  
  23. <link rel="canonical" href="https://www.ontoplist.com/immigrationlawyerphiladelphia/"><meta name="robots" content="index,follow">
  24. <meta name="csrf-token" content="oXAMcfRzQn3kenvoqcMASkqXXvraEdJNGL8ABPrb">
  25. <meta name="google-site-verification" content="SodZAaIztRnhP_s7OfQO26qfwtp6ZmPG-3dMG-Cvq-0" />
  26.  
  27.  
  28.  <style> :root {    --primary-blue: #1a73e8;    --primary-blue-hover: #1557b0;    --text-primary: #202124;    --text-secondary: #5f6368;    --text-tertiary: #9aa0a6;    --surface: #ffffff;    --surface-hover: #f8f9fa;    --surface-light: #fafbfc;    --border-light: #e8eaed;    --border-medium: #dadce0;    --shadow-subtle: 0 2px 8px rgba(0, 0, 0, 0.1);    --shadow-elevated: 0 2px 6px 2px rgba(60,64,67,0.15), 0 1px 3px rgba(60,64,67,0.3);    --radius-small: 6px;    --radius-medium: 8px;    --radius-large: 12px;    --spacing-xs: 4px;    --spacing-sm: 8px;    --spacing-md: 12px;    --spacing-lg: 16px;    --spacing-xl: 24px;    --spacing-xxl: 32px;}.breadcrumbs ul {    margin-left: 12px;    padding: 0;    list-style: none;}.cardContentMain {    width: 100%;    display: flex;    flex-wrap: wrap;    line-height: 1.5;    max-width: 1200px;    margin: 0 auto;    padding: var(--spacing-lg);    gap: var(--spacing-xl);}.cardContentBottom {    width: 100%;    margin-top: var(--spacing-xl);}.cardContentBottom > div {    margin: var(--spacing-lg);}.shadow {    background: var(--surface);    box-shadow: var(--shadow-subtle);    border-radius: var(--radius-large);    border: 1px solid var(--border-light);    transition: box-shadow 0.2s ease;}.shadow:hover {    box-shadow: var(--shadow-elevated);}.headContainer {    display: flex;    flex-grow: 1;    flex-basis: 500px;    padding: var(--spacing-xxl);    background: var(--surface);    margin: 0;    min-height: 200px;}.basicInfoBox {    flex-grow: 1;    flex-basis: 280px;    background: var(--surface);    margin: 0;    font-size: 14px;}.headBox {    display: flex;    flex-direction: column;    width: 100%;    gap: var(--spacing-lg);}.titleRow {    display: flex;    align-items: center;    justify-content: space-between;    width: 100%;    gap: var(--spacing-lg);}.titleRow h1 {    margin: 0;    line-height: 1.2;    font-size: 2rem;    font-weight: 400;    color: var(--text-primary);    flex: 1;    min-width: 0;}.logoBox {    flex-shrink: 0;    margin-bottom: 0;}.logoBox img {    width: 100%;    height: auto;    border-radius: var(--radius-medium);    box-shadow: var(--shadow-subtle);    background: var(--surface);    padding: var(--spacing-sm);}.header {    width: 100%;    min-width: 0;}.header h2 {    display: flex;    width: 100%;    font-size: 1.1rem;    font-weight: 500;    color: var(--text-primary);    margin: 0 0 var(--spacing-md) 0;}.header p {    line-height: 1.6;    overflow: hidden;    word-break: break-word;    color: var(--text-secondary);    margin: 0;}.header ul {    list-style: circle;    margin: 0 0 var(--spacing-md) var(--spacing-lg);    padding: 0;}.header li {    padding: var(--spacing-xs) 0;    line-height: 1.5;}.descr {    --max-height: 3;    --line-height: 1.6;    max-height: calc(var(--line-height) * 1rem * var(--max-height));    line-height: var(--line-height);    overflow: hidden;    position: relative;    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);}.expand-btn:not(:checked) ~ .descr::after {    content: "";    position: absolute;    height: 2rem;    width: 100%;    bottom: 0;    background: linear-gradient(to bottom, transparent, var(--surface));    pointer-events: none;}.expand-btn {    display: none;}.expand-btn-label {    display: inline-flex;    align-items: center;    border: 1px solid var(--border-medium);    border-radius: var(--radius-small);    margin-top: var(--spacing-md);    padding: var(--spacing-sm) var(--spacing-md);    cursor: pointer;    font-size: 0.875rem;    font-weight: 500;    color: var(--primary-blue);    background: var(--surface);    transition: all 0.2s ease;}.expand-btn-label:hover {    background-color: var(--surface-hover);    border-color: var(--primary-blue);}.expand-btn-label::before {    content: 'Show more';}.expand-btn:checked ~ .expand-btn-label::before {    content: 'Show less';}.expand-btn:checked ~ .descr {    max-height: none;}.descr li {    margin-top: 10px;    list-style: disc;    font-size: 13px;    color: var(--text-secondary);}.detailsBoxes h2,.basicInfoBox h2 {    display: flex;    align-items: center;    justify-content: center;    width: 100%;    font-size: 1.125rem;    font-weight: 500;    color: var(--text-primary);    padding: var(--spacing-lg) 0;    margin: 0 0 var(--spacing-lg) 0;    border-bottom: 1px solid var(--border-light);    background: var(--surface-light);    border-radius: var(--radius-large) var(--radius-large) 0 0;}.address-book::before,.clock::before,.envelope::before {    margin: 0 var(--spacing-sm) -2px 0;    display: inline-block;    width: 18px;    height: 18px;    background-repeat: no-repeat;    background-size: 18px 18px;    content: '';    opacity: 0.8;}.address-book::before {    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%231a73e8'%3E%3Cpath d='M22 3H2C.9 3 0 3.9 0 5v14c0 1.1.9 2 2 2h20c1.1 0 1.99-.9 1.99-2L24 5c0-1.1-.9-2-2-2zm0 16H2V5h20v14zM21 6h-7v5h7V6zm-1 2l-2.5 1.75L15 8V7l2.5 1.75L20 7v1zM9 12c1.65 0 3-1.35 3-3s-1.35-3-3-3-3 1.35-3 3 1.35 3 3 3zm0-4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm6 8.59c0-2.5-3.97-3.58-6-3.58s-6 1.08-6 3.58V18h12v-1.41zM5.48 16c.74-.5 2.22-1 3.52-1s2.77.49 3.52 1H5.48z'/%3E%3C/svg%3E");}.clock::before {    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%231a73e8'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z'/%3E%3C/svg%3E");}.envelope::before {    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%231a73e8'%3E%3Cpath d='M22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6zm-2 0l-8 5-8-5h16zm0 12H4V8l8 5 8-5v10z'/%3E%3C/svg%3E");}.detailsBoxes {    display: flex;    width: 100%;    flex-wrap: wrap;    gap: var(--spacing-xl);}.detailsBoxes > div {    flex-grow: 1;    flex-basis: calc(33.333% - var(--spacing-lg));    min-width: 280px;    min-height: 200px;    background: var(--surface);    padding: 0 0 var(--spacing-lg) 0;}.detailsBoxes img {    display: block;    margin: 0 auto var(--spacing-lg);    max-width: 100%;    height: auto;    border-radius: var(--radius-medium);    box-shadow: var(--shadow-subtle);}.social-buttons {    display: flex;    flex-direction: column;    gap: var(--spacing-sm);    padding: 0 var(--spacing-lg) var(--spacing-lg);}.social-buttons .button {    width: 100%;    text-align: center;    padding: var(--spacing-md) var(--spacing-lg);    background: linear-gradient(135deg, var(--surface-hover) 0%, #f1f3f4 100%);    border: 1px solid var(--border-light);    border-radius: var(--radius-medium);    color: var(--text-primary);    font-weight: 500;    font-size: 0.875rem;    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);    position: relative;    display: flex;    align-items: center;    justify-content: center;    gap: var(--spacing-sm);    min-height: 44px;}.social-buttons a {    text-decoration: none;    display: block;}.social-buttons .button:hover {    background: linear-gradient(135deg, #e8f0fe 0%, var(--surface-hover) 100%);    border-color: var(--primary-blue);    transform: translateY(-1px);    box-shadow: var(--shadow-elevated);}.facebook::before,.twitter::before,.linkedin::before,.avvo::before,.globe::before {    width: 18px;    height: 18px;    background-repeat: no-repeat;    background-size: 18px 18px;    content: '';    display: inline-block;    margin-right: var(--spacing-sm);    flex-shrink: 0;}.facebook::before {    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 0 24 24' width='24' fill='%234267B2'%3E%3Cpath d='M22 12c0-5.5-4.5-10-10-10S2 6.5 2 12c0 4.8 3.4 8.9 8 9.8V15H8v-3h2V9.5C10 7.6 11.6 6 13.5 6H16v3h-2c-0.5 0-1 0.5-1 1v2h3v3h-3v7C18.1 21.5 22 17.2 22 12z'/%3E%3C/svg%3E");}.twitter::before {    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E");}.linkedin::before {    background-image: url("data:image/svg+xml,%3Csvg role='img' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='%230077B5'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E");}.globe::before {    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%235f6368'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56zm2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z'/%3E%3C/svg%3E");}.avvo::before {    background-image: url('data:image/svg+xml,<svg fill="%23D2691E" width="24px" height="24px" viewBox="0 0 14 14" role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><path d="m 1.0000005,12.701474 c 0,-0.013 0.1204166,-0.3236 0.2675977,-0.6904 1.2413119,-3.0931004 3.7155484,-6.6651004 5.9611652,-8.6059004 1.4776318,-1.277 2.7277507,-1.9339 3.9835856,-2.0931 0.598925,-0.076 0.714504,-0.047 0.788805,0.1965 0.02366,0.077 0.242026,2.494 0.485321,5.3702 0.243295,2.8762 0.458365,5.3682004 0.477935,5.5378004 l 0.03559,0.3085 -1.555006,0 -1.5549963,0 -0.039121,-0.6611 c -0.021469,-0.3635 -0.055628,-0.8262 -0.075666,-1.0282 l -0.036545,-0.3672 -2.3971871,0 -2.3971966,0 -0.2597926,0.5484 c -0.1428778,0.3016 -0.3480727,0.7644 -0.4559705,1.0282 l -0.1961779,0.4799 -1.5161327,0 c -0.8338706,0 -1.5161231,-0.011 -1.5161231,-0.024 z M 9.5596069,8.0098736 c -0.01937,-0.202 -0.079483,-0.9754 -0.1336605,-1.7187 -0.054197,-0.7433 -0.1234891,-1.3778 -0.154013,-1.4102 -0.036068,-0.038 -0.2961752,0.1896 -0.7411155,0.6488 -0.6716803,0.6932 -1.2393463,1.3936 -1.9146143,2.3625 l -0.3378439,0.4847 1.6581994,0 1.658209,0 -0.035113,-0.3671 z"/></svg>');}.centered {    display: flex;    flex-direction: column;    padding: 0 var(--spacing-lg) var(--spacing-lg);}.centered dt {    display: flex;    align-items: center;    color: var(--text-secondary);    font-size: 0.8125rem;    margin-bottom: var(--spacing-xs);    font-weight: 500;    text-transform: uppercase;    letter-spacing: 0.5px;}.centered dd {    color: var(--text-primary);    font-size: 0.9375rem;    padding-left: var(--spacing-xl);    padding-bottom: var(--spacing-lg);    word-break: break-word;    margin: 0;    line-height: 1.4;}.centered dd a {    color: var(--primary-blue);    text-decoration: none;    transition: color 0.2s ease;}.centered dd a:hover {    color: var(--primary-blue-hover);    text-decoration: underline;}.centered > div {    color: var(--text-tertiary);    font-style: italic;    text-align: center;    padding: var(--spacing-xl) 0;    font-size: 0.875rem;}.info-links {    display: flex;    flex-direction: column;    gap: var(--spacing-xs);    padding: 0 0 var(--spacing-lg);}.info-link {    display: flex;    align-items: center;    gap: var(--spacing-md);    padding: var(--spacing-sm) var(--spacing-lg);    color: var(--text-primary);    text-decoration: none;    border-radius: var(--radius-medium);    transition: all 0.2s ease;    border: 1px solid transparent;}.info-link:hover {    background-color: var(--surface-hover);    text-decoration: none;    border-color: var(--border-light);}.info-link .icon {    width: 20px;    height: 20px;    flex-shrink: 0;    background-size: contain;    background-repeat: no-repeat;}.info-link .text {    line-height: 1.4;    font-size: 0.9375rem;    font-weight: 400;}.website .icon {    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%231a73e8'%3E%3Cpath d='M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z'/%3E%3C/svg%3E");}.address .icon {    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 0 24 24' fill='%231a73e8' width='24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zM7 9c0-2.76 2.24-5 5-5s5 2.24 5 5c0 2.88-2.88 7.19-5 9.88C9.92 16.21 7 11.85 7 9z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E");}.phone .icon {    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%231a73e8'%3E%3Cpath d='M6.54 5c.06.89.21 1.76.45 2.59l-1.2 1.2c-.41-1.2-.67-2.47-.76-3.79h1.51m9.86 12.02c.85.24 1.72.39 2.6.45v1.49c-1.32-.09-2.59-.35-3.8-.75l1.2-1.19M7.5 3H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.49c0-.55-.45-1-1-1-1.24 0-2.45-.2-3.57-.57-.1-.04-.21-.05-.31-.05-.26 0-.51.1-.71.29l-2.2 2.2c-2.83-1.45-5.15-3.76-6.59-6.59l2.2-2.2c.28-.28.36-.67.25-1.02C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1z'/%3E%3C/svg%3E");}.gMap {    width: 100%;    margin: var(--spacing-lg) 0 var(--spacing-xl);}#map {    height: 400px;    width: 100%;    border-radius: var(--radius-large);    box-shadow: var(--shadow-subtle);    border: 1px solid var(--border-light);}.card-bottom-container {    display: flex;    width: 100%;    flex-wrap: wrap;    gap: var(--spacing-lg);}.cta-box {    flex-basis: 280px;    flex-grow: 0;}.cta-box > div {    background: var(--surface);    padding: var(--spacing-xl);    border-radius: var(--radius-large);    box-shadow: var(--shadow-subtle);    border: 1px solid var(--border-light);}.cta-box a {    text-decoration: none;}.cta-box p {    color: var(--text-secondary);    margin: 0 0 var(--spacing-lg) 0;    line-height: 1.5;}h6 {    font-size: 1.25rem;    font-weight: 600;    margin-bottom: var(--spacing-md);}address {    line-height: 1.3;    text-align: left;    font-style: normal;}.reviews-section {    padding-left: 0 !important;    padding-top: 0 !important;}@media  screen and (max-width: 1024px) {    .detailsBoxes > div {        flex-basis: calc(50% - var(--spacing-lg));        min-width: 280px;    }        .headContainer,    .basicInfoBox {        flex-basis: 100%;    }}@media  screen and (max-width: 768px) {    .cardContentMain {        padding: var(--spacing-md);        gap: var(--spacing-md);                overflow-x: hidden;    }        .headContainer,    .basicInfoBox,    .detailsBoxes > div {        padding: var(--spacing-lg);        margin: 0;                max-width: 100%;        box-sizing: border-box;    }        .detailsBoxes > div {        flex-basis: 100%;        min-width: auto;                margin: 0;    }            .detailsBoxes h2,    .basicInfoBox h2 {                margin: -16px -16px var(--spacing-md) -16px;        padding: var(--spacing-lg) var(--spacing-lg);              border-radius: var(--radius-large) var(--radius-large) 0 0;                width: calc(100% + 32px);        margin-left: -16px;        margin-right: -16px;    }        .headBox {        gap: var(--spacing-md);    }                .titleRow h1 {        font-size: 1.75rem;        order: 1;    }        .logoBox {        order: 2;           }            #map {        height: 300px;    }        .card-bottom-container {        flex-direction: column;    }}.shadowed {    box-shadow: var(--shadow-elevated) !important;    margin-bottom: var(--spacing-lg);}.reviews-section {    flex-grow: 1;    padding: 30px;    border-top: 1px solid #f1f5f9;}.reviews-header {    display: flex;    align-items: center;    gap: 12px;    margin-bottom: 30px;}.reviews-icon {    width: 22px;    height: 22px;    color: #f59e0b;}.reviews-title {    font-size: 18px;    font-weight: 600;    color: #1e293b;    margin: 0;}.reviews-list {    margin-bottom: 40px;}.review-item {    background: #f8fafc;    border: 1px solid #e2e8f0;    border-radius: 12px;    padding: 24px;    margin-bottom: 20px;    transition: all 0.2s ease;}.review-item:hover {    border-color: #cbd5e1;    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);}.review-header {    display: flex;    justify-content: space-between;    align-items: flex-start;    margin-bottom: 16px;    flex-wrap: wrap;    gap: 16px;}.review-info h4 {    font-size: 16px;    font-weight: 600;    color: #1e293b;    margin: 0 0 4px 0;    line-height: 1.3;}.review-author {    font-size: 14px;    color: #64748b;}.review-author .reviewer-name {    font-weight: 500;    color: #374151;}.review-meta {    text-align: right;    display: flex;    flex-direction: column;    align-items: flex-end;    gap: 8px;}.review-rating {    display: flex;    gap: 2px;}.review-date {    font-size: 13px;    color: #64748b;}.review-content {    font-size: 15px;    line-height: 1.6;    color: #475569;    font-style: italic;}.review-content::before,.review-content::after {    content: '"';    color: #94a3b8;}.no-reviews {    text-align: center;    padding: 15px;    color: #64748b;    font-size: 15px;    background: #f8fafc;    border: 1px solid #e2e8f0;    border-radius: 12px;    margin-bottom: 30px;}.review-form {    background: #ffffff;    border: 1px solid #e2e8f0;    border-radius: 12px;    padding: 30px;    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);}.form-title {    font-size: 18px;    font-weight: 600;    color: #1e293b;    margin: 0 0 24px 0;}.form-group {    margin-bottom: 20px;}.form-label {    display: block;    font-size: 14px;    font-weight: 500;    color: #374151;    margin-bottom: 6px;}.form-input,.form-textarea {    width: 100%;    padding: 12px 16px;    border: 1px solid #d1d5db;    border-radius: 8px;    font-size: 14px;    transition: border-color 0.2s ease;    box-sizing: border-box;}.form-input:focus,.form-textarea:focus {    outline: none;    border-color: #3b82f6;    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);}.form-textarea {    resize: vertical;    min-height: 120px;}.form-error {    display: block;    color: #dc2626;    font-size: 13px;    margin-top: 4px;    font-weight: 500;}.error-border {    border-color: #dc2626 !important;}.rating-group {    display: flex;    align-items: center;    gap: 12px;    flex-wrap: wrap;}.star-rating {    display: inline-flex;    gap: 4px;    padding: 8px 0;    flex-direction: row-reverse;}.star-rating input[type="radio"] {    display: none;}.star-rating label {    cursor: pointer;    width: 24px;    height: 24px;    display: inline-block;    transition: all 0.2s ease;    margin: 0;    order: 1;}.star-rating label:before {    content: '★';    font-size: 24px;    color: #d1d5db;    transition: color 0.2s ease;}.star-rating label:hover:before,.star-rating label:hover ~ label:before {    color: #fbbf24;}.star-rating input[type="radio"]:checked ~ label:before {    color: #fbbf24;}.star-rating input[type="radio"]:checked + label:before {    color: #fbbf24;}.star-rating label[for="star1"] { order: 5; }.star-rating label[for="star2"] { order: 4; }.star-rating label[for="star3"] { order: 3; }.star-rating label[for="star4"] { order: 2; }.star-rating label[for="star5"] { order: 1; }.star-display {    display: flex;    gap: 2px;}.star-display .star {    width: 18px;    height: 18px;    color: #fbbf24;}.star-display .star.empty {    color: #d1d5db;}.captcha-group {    background: #f8fafc;    border: 1px solid #e2e8f0;    border-radius: 8px;    padding: 20px;    margin: 20px 0;}.captcha-container {    display: flex;    align-items: center;    gap: 12px;    margin-bottom: 12px;    flex-wrap: wrap;}.captcha-image {    border: 1px solid #d1d5db;    border-radius: 4px;    overflow: hidden;}.captcha-refresh {    background: none;    border: none;    cursor: pointer;    padding: 8px;    border-radius: 6px;    transition: background 0.2s ease;}.captcha-refresh:hover {    background: #f1f5f9;}.captcha-refresh svg {    width: 20px;    height: 20px;}.captcha-input {    max-width: 150px;}.submit-button {    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);    color: white;    border: none;    padding: 12px 24px;    border-radius: 8px;    font-size: 14px;    font-weight: 600;    cursor: pointer;    transition: all 0.2s ease;    margin-top: 20px;}.submit-button:hover {    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);    transform: translateY(-1px);    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25);}@media (max-width: 768px) {    .reviews-section {        padding: 20px;    }        .review-header {        flex-direction: column;        align-items: flex-start;        gap: 12px;    }        .review-meta {        flex-direction: row;        align-items: center;        text-align: left;        width: 100%;        justify-content: space-between;    }        .review-form {        padding: 20px;    }        .form-input,    .form-textarea {        padding: 10px 12px;    }        .captcha-container {        align-items: flex-start;    }        .captcha-input {        max-width: 100%;        width: 100%;    }        .rating-group {        flex-direction: column;        align-items: flex-start;        gap: 8px;    }}@media (max-width: 480px) {    .reviews-section {        padding: 15px;    }        .review-item {        padding: 16px;    }        .review-form {        padding: 16px;    }}.SLHolder{position:relative;margin:10px 20px 0 5px; width:158px; height:120px;}.SLHolder .caption {position:absolute; bottom:2px; font-size:14px;background: rgba(0, 0, 0, .6);width:150px;}.SLHolder p {padding:10px;}.carousel a {color:#fff !important;}.flickity-enabled{position:relative;}.flickity-enabled:focus{outline:0;}.flickity-viewport{overflow:hidden;position:relative;height:100%;}.flickity-slider{position:absolute;width:100%;height:100%;}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:-webkit-grab;cursor:grab;}.flickity-button{position:absolute;background:hsla(0,0%,100%,.75);border:none;color:#333;}.flickity-button:hover{background:#fff;cursor:pointer;}.flickity-button:focus{outline:0;box-shadow:0 0 0 5px #19f;}.flickity-button:active{opacity:.6;}.flickity-button:disabled{opacity:.3;cursor:auto;pointer-events:none;}.flickity-button-icon{fill:currentColor;}.flickity-prev-next-button{top:50%;width:44px;height:44px;border-radius:50%;transform:translateY(-50%);}.flickity-prev-next-button.previous{left:10px;}.flickity-prev-next-button.next{right:10px;}.flickity-prev-next-button .flickity-button-icon{position:absolute;left:20%;top:20%;width:60%;height:60%;}.flickity-viewport{overflow:hidden;position:relative;height:100%;}.flickity-slider{position:absolute;width:100%;height:100%;}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:-webkit-grab;cursor:grab;}.flickity-button{position:absolute;background:#fff;border:1px solid #e1e1e1;color:#333;}.flickity-button:hover{background:#fff;cursor:pointer;}.flickity-button:focus{outline:0;box-shadow:0 0 0 5px #19f;}.flickity-button:active{opacity:.6;}.flickity-button:disabled{display:none;opacity:.3;cursor:auto;pointer-events:none;}.flickity-button-icon{fill:currentColor;}.flickity-prev-next-button{top:50%;width:30px;height:30px;border-radius:50%;transform:translateY(-50%);}.flickity-prev-next-button.previous{left:-15px;}.flickity-prev-next-button.next{right:-15px;}.flickity-prev-next-button .flickity-button-icon{position:absolute;left:20%;top:20%;width:60%;height:60%;}.flickity-slider{position:absolute;width:100%;height:100%;}.carousel, .main-carousel {padding:10px 20px;background: #fff; height:150px !important;}</style><meta name="ahrefs-site-verification" content="075565c08228677ce2fed894bd8fbc4e36b1f486188955c93c748b96d837f4dc"></head><body><nav class="ontop-navbar">    <div class="ontop-navbar-container">        <a href="/" class="ontop-navbar-brand">            <img src="https://static.ontoplist.com/images/logo-ontoplist.svg" alt="OnToplist.com" />        </a>                        <ul class="ontop-navbar-nav">            <li class="ontop-nav-item">                <a href="https://www.ontoplist.com/" class="ontop-nav-link">Blog Directory</a>                <div class="ontop-mega-menu">                    <div class="ontop-mega-menu-container">                        <div class="ontop-mega-menu-content">                                                            <div class="ontop-mega-menu-column">                                    <span class="ontop-mega-menu-header">Digital Tech</span>                                    <ul>                                                                                                                            <li><a href="/best-marketing-advertising-blogs/">Marketing & Advertising Blogs</a></li>                                                                                    <li><a href="/best-seo-blogs/">SEO Blogs</a></li>                                                                                    <li><a href="/web-design-blogs/">Web Design Blogs</a></li>                                                                            </ul>                                </div>                                                            <div class="ontop-mega-menu-column">                                    <span class="ontop-mega-menu-header">Finance & Business</span>                                    <ul>                                                                                    <li><a href="/legal-blogs/">Legal Blogs</a></li>                                                                                                                            <li><a href="/personal-finance-blogs/">Personal Finance Blogs</a></li>                                                                                    <li><a href="/real-estate-blogs/">Real Estate Blogs</a></li>                                                                            </ul>                                </div>                                                            <div class="ontop-mega-menu-column">                                    <span class="ontop-mega-menu-header">Health & Wellness</span>                                    <ul>                                                                                                                            <li><a href="/diet-nutrition-blogs/">Diet &amp; Nutrition Blogs</a></li>                                                                                    <li><a href="/best-fitness-blogs/">Fitness Blogs</a></li>                                                                                    <li><a href="/best-health-blogs/">Health Blogs</a></li>                                                                            </ul>                                </div>                                                            <div class="ontop-mega-menu-column">                                    <span class="ontop-mega-menu-header">Leisure & Activities</span>                                    <ul>                                                                                                                            <li><a href="/best-food-cooking-blogs/">Food & Cooking Blogs</a></li>                                                                                    <li><a href="/best-photography-blogs/">Photography Blogs</a></li>                                                                                    <li><a href="/best-travel-blogs/">Travel Blogs</a></li>                                                                            </ul>                                </div>                                                            <div class="ontop-mega-menu-column">                                    <span class="ontop-mega-menu-header">Life & Style</span>                                    <ul>                                                                                                                            <li><a href="/best-lifestyle-blogs/">Lifestyle Blogs</a></li>                                                                                    <li><a href="/best-parenting-blogs/">Parenting Blogs</a></li>                                                                                    <li><a href="/best-personal-blogs/">Personal Blogs</a></li>                                                                            </ul>                                </div>                                                    </div>                    </div>                </div>            </li>            <li class="ontop-nav-item">                <a href="https://www.ontoplist.com/" class="ontop-nav-link">Business Directory</a>                <div class="ontop-mega-menu">                    <div class="ontop-mega-menu-container">                        <div class="ontop-mega-menu-content ontop-business-directory">                                                            <div class="ontop-mega-menu-column">                                    <span class="ontop-mega-menu-header">Digital Agencies</span>                                    <ul>                                                                                    <li>                                                <a href="/marketing-agencies/">                                                    Best Digital Marketing Agencies                                                </a>                                            </li>                                                                                    <li>                                                <a href="/best-seo-companies/">                                                    Best SEO Companies                                                </a>                                            </li>                                                                                    <li>                                                <a href="/web-design-companies/">                                                    Best Web Design Companies                                                </a>                                            </li>                                                                                                                    </ul>                                </div>                                                            <div class="ontop-mega-menu-column">                                    <span class="ontop-mega-menu-header">Law Firms</span>                                    <ul>                                                                                    <li>                                                <a href="/criminal-defense-lawyers/">                                                    Best Criminal Defense Lawyers                                                </a>                                            </li>                                                                                    <li>                                                <a href="/best-divorce-lawyers/">                                                    Best Divorce Lawyers                                                </a>                                            </li>                                                                                    <li>                                                <a href="/personal-injury-law-firms/">                                                    Best Personal Injury Lawyers                                                </a>                                            </li>                                                                                                                            <li><a href="/best-law-firms/">more Law Firms</a></li>                                                                            </ul>                                </div>                                                            <div class="ontop-mega-menu-column">                                    <span class="ontop-mega-menu-header">Other Businesses</span>                                    <ul>                                                                                    <li>                                                <a href="/garage-door-companies/">                                                    Best Garage Door Companies                                                </a>                                            </li>                                                                                    <li>                                                <a href="/hvac-companies/">                                                    Best HVAC Companies                                                </a>                                            </li>                                                                                    <li>                                                <a href="/locksmiths-services/">                                                    Best Locksmith Services                                                </a>                                            </li>                                                                                    <li>                                                <a href="/roofing-companies/">                                                    Best Roofing Companies                                                </a>                                            </li>                                                                                                                    </ul>                                </div>                                                        <div class="ontop-mega-menu-column ontop-create-profile">                                <span class="ontop-mega-menu-header">Create a Business Profile</span>                                <a href="/add-your-business-listing/" class="ontop-list-business-btn">List Your Business</a>                            </div>                        </div>                    </div>                </div>            </li>        </ul>                <div class="ontop-search-icon">            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                <circle cx="11" cy="11" r="8"></circle>                <line x1="21" y1="21" x2="16.65" y2="16.65"></line>            </svg>        </div>                <div class="ontop-account-buttons">                                                <button class="ontop-login-button" onclick="openModal();" role="button" aria-label="Log In">                <span aria-hidden="true">Log In</span>            </button>                                    <a href="https://www.ontoplist.com/add-your-business-listing/" class="ontop-signup-button">List Your Business</a>                                    </div>        <button class="ontop-mobile-menu-toggle" aria-label="Toggle mobile menu">        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">            <line x1="3" y1="12" x2="21" y2="12"></line>            <line x1="3" y1="6" x2="21" y2="6"></line>            <line x1="3" y1="18" x2="21" y2="18"></line>        </svg>        </button>    </div>    <div class="ontop-mobile-menu-overlay"></div></nav><div class="ontop-search-container">    <form action="/search/" method="GET" class="ontop-search-form" id="searchBoxForm">        <input type="text" name="q" id="searchBox" placeholder="Search blogs or businesses..." class="ontop-search-input" value="">        <button type="submit" class="ontop-search-button">            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                <circle cx="11" cy="11" r="8"></circle>                <line x1="21" y1="21" x2="16.65" y2="16.65"></line>            </svg>        </button>        <button type="button" class="ontop-search-close">            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                <line x1="18" y1="6" x2="6" y2="18"></line>                <line x1="6" y1="6" x2="18" y2="18"></line>            </svg>        </button>        <ul id="suggestions" class="suggestions"></ul>    </form></div><main role="main" class="page-template-raw"><section id="content"> <div class="container">                                                        <div class='breadcrumbs'>  <div class='inner'><ul class='cf'>  <li><a href="/"><span>Blog Directory &amp; Business Listings</span></a></li><li><a href='/immigration-lawyers/'  title='Immigration Lawyers'><span>Immigration Lawyers</span></a></li><li><span>Law Offices of Dizengoff and Yost</span></li></ul></div>                </div>                                                        <div class="cardContentMain"><div class="headContainer shadow">    <div class="headBox">        <div class="titleRow">            <h1>Law Offices of Dizengoff and Yost</h1>            <div class="logoBox">                            <div style="width:69px;height:100px;">                    <img src="/photos/logos/immigrationlawyerphiladelphia.jpg" border="0" width="69" height="100" alt="Law Offices of Dizengoff and Yost Logo" />                </div>                        </div>        </div>        <div class="header">            <h2>About</h2>            <input type="checkbox" class="expand-btn" id="expand-toggle" aria-label="Toggle full description"  />            <div class="descr" aria-expanded="false"><p>The Law Offices of Dizengoff and Yost is a top immigration lawyer in Philadelphia. Their attorneys handle complex cases nationwide. Founder Bruce Dizengoff has 4 decades of experience, including government work. The firm also manages personal injury and traffic violation cases. Dizengoff and Yost provides affordable, multilingual services. The firm's expertise also extends to various legal issues beyond immigration law.</p></div>           <label for="expand-toggle" class="expand-btn-label" role="button" tabindex="0"></label>        </div>    </div></div><div class="basicInfoBox shadow">    <h2>Company Details</h2>    <div class="info-links">                <a href="https://www.hunteryostlaw.com/"             target="_blank"             rel="noopener"             class="info-link website">           <span class="icon"></span>           <span class="text">Law Offices of Dizengoff and Yost</span>         </a>                       <a href="https://www.google.com/maps/dir/?api=1&destination=39.93531920,-75.15661190"            target="_blank"             rel="noopener nofollow"            class="info-link address">           <span class="icon"></span>           <address class="text">1117 E Passyunk Ave, Philadelphia, PA 19147, USA</address>         </a>                       <a href="tel:(267) 223-5862"            rel="nofollow"            class="info-link phone">           <span class="icon"></span>           <span class="text">(267) 223-5862</span>         </a>            </div></div><div class="detailsBoxes">    <div class="shadow">        <h2>Contact Information</h2>        <div class="centered">                            <dt class="address-book"> Contact Person</dt>                <dd>Law Offices of Dizengoff and Yost</dd>                                                        <dt class="clock">Opening Hours</dt>                <dd>24 hours daily</dd>                                </div>    </div>    <div class="shadow">        <h2>Visit Website</h2>        <a href="https://www.hunteryostlaw.com/" target="_blank" rel="noopener"><picture>                        <source type="image/webp" srcset="                        https://static.ontoplist.com/screens/big/law-offices-dizengoff-yost-immigration-lawyers.webp 650w,                        https://static.ontoplist.com/screens/mobile/law-offices-dizengoff-yost-immigration-lawyers.webp 320w"                                                sizes="(min-width: 440px) 210px, (max-width: 440px) 100vw">                                                <img srcset="https://static.ontoplist.com/screens/big/law-offices-dizengoff-yost-immigration-lawyers.jpg 650w,                         https://static.ontoplist.com/screens/mobile/law-offices-dizengoff-yost-immigration-lawyers.jpg 320w"                                                    sizes="(min-width: 440px) 210px, (max-width: 440px) 100vw"                        src="https://static.ontoplist.com/screens/big/law-offices-dizengoff-yost-immigration-lawyers.jpg"                        alt= "Law Offices of Dizengoff and Yost"                         loading="lazy"                        width="210"                        height="131"                        decoding="async">                    </picture></a>    </div>    <div class="shadow">            <h2>Social Networks</h2>            <div class="social-buttons">                                <a href="https://twitter.com/dizengoffyost" rel="nofollow noopener" title="https://twitter.com/dizengoffyost"><div class="button twitter">Visit X Profile</div></a>                                                <a href="https://www.facebook.com/immigrationlawyersouthphiladelphia" rel="nofollow noopener" title="https://www.facebook.com/immigrationlawyersouthphiladelphia"><div class="button facebook">Visit Facebook Profile</div></a>                                                                <a href="https://www.brucedizengofflaw.com/" rel="nofollow noopener" title="https://www.brucedizengofflaw.com/"><div class="button linkedin">Visit LinkedIn Profile</div></a>                                                                <a href="https://dizengofflaw.com/" rel="nofollow noopener" title="https://dizengofflaw.com/"><div class="button globe">Visit Profile</div></a>                                            </div>    </div></div><div class="gMap">    <div id="map"></div>    <script>        let map;        let marker;        async function initMap() {            const { Map } = await google.maps.importLibrary("maps");            const { AdvancedMarkerElement } = await google.maps.importLibrary("marker");            const coords = {                lat: 39.93531920,                lng: -75.15661190            };            map = new Map(document.getElementById('map'), {                zoom: 13,                center: coords,                mapId: 'my_map_id',                styles: [                    {                        featureType: 'poi',                        elementType: 'labels',                        stylers: [{ visibility: 'off' }]                    },                    {                        featureType: 'road',                        elementType: 'labels',                        stylers: [{ visibility: 'simplified' }]                    }                ]            });            marker = new AdvancedMarkerElement({                map: map,                position: coords,                title: 'Law Offices of Dizengoff and Yost'            });        }                (g => {            var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;            b = b[c] || (b[c] = {});            var d = b.maps || (b.maps = {}),r=new Set,e=new URLSearchParams,            u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));            e.set("libraries",[...r]+"");            for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);            e.set("callback",c+".maps."+q);            a.src=`https://maps.googleapis.com/maps/api/js?`+e;            d[q]=f;            a.onerror=()=>h=n(Error(p+" could not load."));            a.nonce=m.querySelector("script[nonce]")?.nonce||"";            m.head.append(a)}));            d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})            ({key: "AIzaSyCW3WF0FeW7YzbD3uO2Fn5B0K4V-MjDSOw", v: "weekly"});        initMap();    </script></div><div class="card-bottom-container">    <div class="reviews-section">    <div class="reviews-header">        <svg class="reviews-icon" fill="currentColor" viewBox="0 0 24 24">            <path d="M20,2H4C2.9,2,2,2.9,2,4v18l4-4h14c1.1,0,2-0.9,2-2V4C22,2.9,21.1,2,20,2z M20,16H5.17L4,17.17V4h16V16z"/>            <polygon points="12,15 13.57,11.57 17,10 13.57,8.43 12,5 10.43,8.43 7,10 10.43,11.57"/>        </svg>        <h2 class="reviews-title">Reviews</h2>    </div>    <div class="reviews-list">                    <div class="review-item">                <div class="review-header">                    <div class="review-info">                        <h4>Hands-down the best lawyers in Philadelphia </h4>                        <div class="review-author">                            by <span class="reviewer-name">Johnn</span>                        </div>                    </div>                    <div class="review-meta">                        <div class="star-display">                                                            <span class="star ">★</span>                                                            <span class="star ">★</span>                                                            <span class="star ">★</span>                                                            <span class="star ">★</span>                                                            <span class="star ">★</span>                                                    </div>                        <div class="review-date">July 06, 2021</div>                    </div>                </div>                <div class="review-content">                    These guys are great they really help me and my family thank you so much                </div>            </div>                </div>    <div class="review-form">        <h3 class="form-title">Write a Review</h3>                <form method="POST" id="addReview" action="/review/add/#review_form">            <input type="hidden" name="site_id" value="10246" >            <input type="hidden" name="_token" value="oXAMcfRzQn3kenvoqcMASkqXXvraEdJNGL8ABPrb">            <a id="review_form"></a>                        <div class="form-group">                <label class="form-label" for="reviewer_name">Your Name:</label>                <input type="text"                        name="reviewer_name"                        id="reviewer_name"                        class="form-input "                       value="">                            </div>            <div class="form-group">                <label class="form-label" for="title">Review Title:</label>                <input type="text"                        name="title"                        id="title"                        class="form-input "                       value="">                            </div>            <div class="form-group">                <label class="form-label" for="review">Review:</label>                <textarea name="review"                           id="review"                           class="form-textarea "></textarea>                            </div>            <div class="form-group">                <div class="rating-group">                    <label class="form-label">Rating:</label>                    <div class="star-rating">                        <input type="radio" name="rating" value="5" id="star5">                        <label for="star5"></label>                        <input type="radio" name="rating" value="4" id="star4">                        <label for="star4"></label>                        <input type="radio" name="rating" value="3" id="star3">                        <label for="star3"></label>                        <input type="radio" name="rating" value="2" id="star2">                        <label for="star2"></label>                        <input type="radio" name="rating" value="1" id="star1" checked>                        <label for="star1"></label>                    </div>                </div>            </div>            <div class="captcha-group">                <label class="form-label" for="captcha">Security Verification:</label>                <div class="captcha-container">                    <div class="captcha-image" id="captchaIMG">                        <img src="https://www.ontoplist.com/captcha/default/?lOTuValy" >                    </div>                    <button type="button" class="captcha-refresh" onclick="reloadImage()" title="Refresh captcha">                        <svg fill="currentColor" viewBox="0 0 30 30">                            <path d="M 15 3 C 12.031398 3 9.3028202 4.0834384 7.2070312 5.875 A 1.0001 1.0001 0 1 0 8.5058594 7.3945312 C 10.25407 5.9000929 12.516602 5 15 5 C 20.19656 5 24.450989 8.9379267 24.951172 14 L 22 14 L 26 20 L 30 14 L 26.949219 14 C 26.437925 7.8516588 21.277839 3 15 3 z M 4 10 L 0 16 L 3.0507812 16 C 3.562075 22.148341 8.7221607 27 15 27 C 17.968602 27 20.69718 25.916562 22.792969 24.125 A 1.0001 1.0001 0 1 0 21.494141 22.605469 C 19.74593 24.099907 17.483398 25 15 25 C 9.80344 25 5.5490109 21.062074 5.0488281 16 L 8 16 L 4 10 z"/>                        </svg>                    </button>                </div>                <input type="text"                        name="captcha"                        id="captcha"                        class="form-input captcha-input "                       autocomplete="off"                        placeholder="Enter code above" />                            </div>            <button type="submit" class="button">Submit Review</button>        </form>    </div></div>    <div class="cta-box">        <div class="shadow">            <h6>Get Your Business Listed</h6>            <p>Get found by more potential customers near you.</p>            <a href="/add-your-business-listing/"><div class="button cta-button">List Your Business</div></a>        </div>    </div></div><script type="application/ld+json"> {"@context": "http://schema.org","@type": "http://schema.org/LocalBusiness","@id": "https://www.ontoplist.com/immigrationlawyerphiladelphia/","name": "Law Offices of Dizengoff and Yost","description": "The Law Offices of Dizengoff and Yost is a top immigration lawyer in Philadelphia. Their attorneys handle complex cases nationwide. Founder Bruce Dizengoff has 4 decades of experience, including government work. The firm also manages personal injury and traffic violation cases. Dizengoff and Yost provides affordable, multilingual services. The firm's expertise also extends to various legal issues beyond immigration law.", "telephone" : "(267) 223-5862", "email": "",  "url" : "https://www.hunteryostlaw.com/","sameAs": [ "https://www.facebook.com/immigrationlawyersouthphiladelphia", "https://twitter.com/dizengoffyost", "https://www.brucedizengofflaw.com/", "https://dizengofflaw.com/"],"image":{"@type":"ImageObject","url":"https://static.ontoplist.com/screens/large/law-offices-dizengoff-yost-immigration-lawyers.webp"},"logo": { "@type": "ImageObject", "url": "https://static.ontoplist.com/photos/logos/606cdd5d54f4e.jpg"},"address": [{ "@type": "PostalAddress", "streetAddress": "", "addressLocality": "", "addressRegion": "", "postalCode": "", "addressCountry": ""}],"geo": { "@type": "GeoCoordinates", "latitude": "39.93531920", "longitude": "-75.15661190"}}</script><div class="cardContentBottom">    <div><h6>You might also like</h6><div class="carousel shadow" data-flickity='{ "cellAlign": "left", "contain": true, "pageDots": false }'><a href='/gldlaw/' title='Davis & Associates'><div class='IMGBorder SLHolder carousel-cell loading'><div class="ScreenShot_Border" style="cursor:pointer"><picture><source type="image/webp" srcset="https://static.ontoplist.com/screens/big/davis-associates-immigration-lawyers.webp 650w,https://static.ontoplist.com/screens/mobile/davis-associates-immigration-lawyers.webp 320w"sizes="(min-width: 768px) 150px, (max-width: 768px) 150px"><img srcset="https://static.ontoplist.com/screens/big/davis-associates-immigration-lawyers.jpg 650w, https://static.ontoplist.com/screens/mobile/davis-associates-immigration-lawyers.jpg 320w"sizes="(min-width: 768px) 1500px, (max-width: 768px) 0px"src="https://static.ontoplist.com/screens/big/davis-associates-immigration-lawyers.jpg"alt= "Davis & Associates" loading="lazy"decoding="async"></picture></div><div class='caption'><p>Davis & Associates</p></div></div></a><a href='/gurnanilaw/' title='Gurnani & Gurnani, Attorneys at Law'><div class='IMGBorder SLHolder carousel-cell loading'><div class="ScreenShot_Border" style="cursor:pointer"><picture><source type="image/webp" srcset="https://static.ontoplist.com/screens/big/gurnani-attorneys-law-immigration-lawyers.webp 650w,https://static.ontoplist.com/screens/mobile/gurnani-attorneys-law-immigration-lawyers.webp 320w"sizes="(min-width: 768px) 150px, (max-width: 768px) 150px"><img srcset="https://static.ontoplist.com/screens/big/gurnani-attorneys-law-immigration-lawyers.jpg 650w, https://static.ontoplist.com/screens/mobile/gurnani-attorneys-law-immigration-lawyers.jpg 320w"sizes="(min-width: 768px) 1500px, (max-width: 768px) 0px"src="https://static.ontoplist.com/screens/big/gurnani-attorneys-law-immigration-lawyers.jpg"alt= "Gurnani & Gurnani, Attorneys at Law" loading="lazy"decoding="async"></picture></div><div class='caption'><p>Gurnani & Gurnani, Attorneys at Law</p></div></div></a><a href='/blogs/goldstein-immigration-lawyers_5ffee866c510f/' title='Goldstein Immigration Lawyers'><div class='IMGBorder SLHolder carousel-cell loading'><div class="ScreenShot_Border" style="cursor:pointer"><picture><source type="image/webp" srcset="https://static.ontoplist.com/screens/big/goldstein-immigration-lawyers.webp 650w,https://static.ontoplist.com/screens/mobile/goldstein-immigration-lawyers.webp 320w"sizes="(min-width: 768px) 150px, (max-width: 768px) 150px"><img srcset="https://static.ontoplist.com/screens/big/goldstein-immigration-lawyers.jpg 650w, https://static.ontoplist.com/screens/mobile/goldstein-immigration-lawyers.jpg 320w"sizes="(min-width: 768px) 1500px, (max-width: 768px) 0px"src="https://static.ontoplist.com/screens/big/goldstein-immigration-lawyers.jpg"alt= "Goldstein Immigration Lawyers" loading="lazy"decoding="async"></picture></div><div class='caption'><p>Goldstein Immigration Lawyers</p></div></div></a><a href='/blogs/gogia-raj-law_5f9284ed7335c/' title='Gogia & Raj Law | Long Island Immigration Attorney'><div class='IMGBorder SLHolder carousel-cell loading'><div class="ScreenShot_Border" style="cursor:pointer"><picture><source type="image/webp" srcset="https://static.ontoplist.com/screens/big/gogia-raj-law-immigration-lawyers.webp 650w,https://static.ontoplist.com/screens/mobile/gogia-raj-law-immigration-lawyers.webp 320w"sizes="(min-width: 768px) 150px, (max-width: 768px) 150px"><img srcset="https://static.ontoplist.com/screens/big/gogia-raj-law-immigration-lawyers.jpg 650w, https://static.ontoplist.com/screens/mobile/gogia-raj-law-immigration-lawyers.jpg 320w"sizes="(min-width: 768px) 1500px, (max-width: 768px) 0px"src="https://static.ontoplist.com/screens/big/gogia-raj-law-immigration-lawyers.jpg"alt= "Gogia & Raj Law | Long Island Immigration Attorney" loading="lazy"decoding="async"></picture></div><div class='caption'><p>Gogia & Raj Law | Long Island Immigration Attorney</p></div></div></a><a href='/blogs/the-law-offices-of-mana-yegani_6023902dc8a44/' title='The Law Office of Mana Yegani'><div class='IMGBorder SLHolder carousel-cell loading'><div class="ScreenShot_Border" style="cursor:pointer"><picture><source type="image/webp" srcset="https://static.ontoplist.com/screens/big/law-offices-mana-yegani-immigration-lawyers.webp 650w,https://static.ontoplist.com/screens/mobile/law-offices-mana-yegani-immigration-lawyers.webp 320w"sizes="(min-width: 768px) 150px, (max-width: 768px) 150px"><img srcset="https://static.ontoplist.com/screens/big/law-offices-mana-yegani-immigration-lawyers.jpg 650w, https://static.ontoplist.com/screens/mobile/law-offices-mana-yegani-immigration-lawyers.jpg 320w"sizes="(min-width: 768px) 1500px, (max-width: 768px) 0px"src="https://static.ontoplist.com/screens/big/law-offices-mana-yegani-immigration-lawyers.jpg"alt= "The Law Office of Mana Yegani" loading="lazy"decoding="async"></picture></div><div class='caption'><p>The Law Office of Mana Yegani</p></div></div></a></div></div></div></div>                    </div><!-- end of subcontent class -->                           </section><!-- end of content id -->            <div class="back-to-top-container">  <button onclick="window.scrollTo({top: 0, behavior: 'smooth'})" class="back-to-top" aria-label="Scroll to top"></button></div><script>document.addEventListener('DOMContentLoaded', function() {    const backToTop = document.querySelector('.back-to-top');    window.addEventListener('scroll', function() {        if (window.scrollY > 300) {            backToTop.style.display = 'block';        } else {            backToTop.style.display = 'none';        }    });});</script>  </main><!-- end of main -->       <!-- modal box --><div id="popup" class="modal">  <div class="modal-content animate">    <p class="success msg" id="modal-success" style="display:none;"><span></span></p>    <p class="failure msg" id="modal-error"  style="display:none;"><span></span></p>           <div class="imgcontainer">        <span onclick="document.getElementById('popup').style.display='none'" class="close-modal" title="Close Window">&times;</span>      </div>      <form  id="login"  class="hide"  onsubmit="return false;">        <input type="hidden" name="_token" value="oXAMcfRzQn3kenvoqcMASkqXXvraEdJNGL8ABPrb">      <div class="modal-container">        <span class="form-title">Log In</span>        <label for="loginemail"><b>Email:</b></label>        <input type="hidden" name="modal" value="1" />        <input type="text" placeholder="Email address" name="loginemail" id="loginemail" required>        <label for="loginpassword"><b>Password:</b></label>        <input type="password" placeholder="Password" name="loginpassword" id="loginpassword" required>                  <button type="submit" class="button login-button" onclick="makeRequest('login', 'https://www.ontoplist.com/ajax/login/', this); return false;">            <span class="button-text">Log In</span>            <svg class="spinner" viewBox="0 0 50 50">                <circle class="path" cx="25" cy="25" r="20" fill="none" stroke-width="5"></circle>            </svg>        </button>        <label class="label-remember">          <input type="checkbox" checked="checked" name="remember" id="remember" value="1"> Remember me        </label>      </div>      <div class="modal-container" style="background-color:#f1f1f1">        <p style="margin-bottom: 5px">Are you looking to list your website or blog?</p>        <button type="button" onclick="showhide('register');return false;" class="register-btn">Register</button>        <span class="psw"><a href="#" onclick="showhide('retrieve-pass');return false;">Forgot Password?</a></span>      </div>      </form>      <form  id="register" style="display:none;" class="hide"  onsubmit="return false;">      <input type="hidden" name="_token" value="oXAMcfRzQn3kenvoqcMASkqXXvraEdJNGL8ABPrb">      <input type="hidden" name="modal" value="1" />      <div class="modal-container">        <span class="form-title">List Your Website or Blog</span>        <div class="register-options-wrapper">            <div>                <span>Standard Listing</span>                <ul>                    <li>Social Media Links</li>                      <li>RSS Feed</li>                        <li>Analytics</li>                     <li>$29.99/y or $109.99 one-time</li>                   </ul>                <a href="https://www.ontoplist.com/join/" title="Add your standard listing" class="button">Add Your Standard Listing</a>            </div>            <div>            <span>Business Listing</span>                <ul>                    <li>Google Maps</li>                     <li>Social Media Links</li>                       <li>Detailed Contact Info</li>                     <li>$39.99/y or $149.99 one-time</li>                   </ul>                <a href="https://www.ontoplist.com/add-your-business-listing/" title="Add your business listing" class="button">Add Your Business Listing</a>            </div>        </div>      </div>      <div class="modal-container" style="background-color:#f1f1f1">        <button type="button" onclick="showhide('login');return false;" class="register-btn">Log In</button>      </div>      </form>      <form  id="retrieve-pass" style="display:none;" class="hide"  onsubmit="return false;">      <input type="hidden" name="_token" value="oXAMcfRzQn3kenvoqcMASkqXXvraEdJNGL8ABPrb">      <div class="modal-container">      <span class="form-title">Retrieve Password</span>        <label for="retrieve-pass-email"><b>Email:</b></label>        <input type="hidden" name="modal" value="1" />        <input type="text" placeholder="Email Address" name="retrieve-pass-email" id="retrieve-pass-email" required>        <button type="submit" class="button" onclick="makeRequest('retrieve-pass','https://www.ontoplist.com/ajax/retrievePassword/', this); return false;">Retrieve Password</button>      </div>      <div class="modal-container" style="background-color:#f1f1f1">        <button type="button" onclick="showhide('login');return false;" class="register-btn">Log In</button>      </div>      </form>     </div></div><!-- end of modal box -->    <!-- FOOTER --><footer id="footer"><div id="footerContent"><ul><li>&copy; 2006-2025 <a href="https://www.ontoplist.com/">OnToplist.com</a>, All Rights Reserved</li>  <li><a href="https://www.ontoplist.com/join/">Submit Your Blog</a></li>  <li><a href="https://www.ontoplist.com/add-your-business-listing/">List Your Business</a></li>  <li><a href="https://www.ontoplist.com/contact/">Contact Us</a></li><li><a href="https://www.ontoplist.com/privacy-policy/">Privacy Policy</a></li><li><a href="https://www.ontoplist.com/terms-of-service/">Terms of Service</a></li></ul></div></footer>
  29.    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  30.  
  31.    
  32.  
  33.        <script src="https://cdnjs.cloudflare.com/ajax/libs/flickity/2.2.1/flickity.pkgd.min.js" defer async></script>
  34.  
  35.  
  36.  
  37.    <script>
  38.  
  39. document.addEventListener('DOMContentLoaded', function() {
  40.    const navItems = document.querySelectorAll('.ontop-nav-item');
  41.    const navbar = document.querySelector('.ontop-navbar');
  42.  
  43.    function closeAllMegaMenus() {
  44.        navItems.forEach(item => {
  45.            item.classList.remove('active');
  46.        });
  47.    }
  48.  
  49.    navItems.forEach(item => {
  50.        const link = item.querySelector('.ontop-nav-link');
  51.        
  52.        if (window.innerWidth > 768) {
  53.            item.addEventListener('mouseenter', function() {
  54.                closeAllMegaMenus();
  55.                item.classList.add('active');
  56.            });
  57.        }
  58.  
  59.    });
  60.  
  61.    navbar.addEventListener('mouseleave', function() {
  62.        if (window.innerWidth > 768) {
  63.            closeAllMegaMenus();
  64.        }
  65.    });
  66.  
  67. });
  68.  
  69.  
  70. document.addEventListener('DOMContentLoaded', function() {
  71.    
  72.    const mobileMenuToggle = document.querySelector('.ontop-mobile-menu-toggle');
  73.    const navbar = document.querySelector('.ontop-navbar');
  74.    const mobileMenuOverlay = document.querySelector('.ontop-mobile-menu-overlay');
  75.    const navItems = document.querySelectorAll('.ontop-nav-item');
  76.  
  77.    mobileMenuToggle.addEventListener('click', function() {
  78.        navbar.classList.toggle('ontop-mobile-menu-active');
  79.        document.body.style.overflow = navbar.classList.contains('ontop-mobile-menu-active') ? 'hidden' : '';
  80.    });
  81.  
  82.    mobileMenuOverlay.addEventListener('click', function() {
  83.        navbar.classList.remove('ontop-mobile-menu-active');
  84.        document.body.style.overflow = '';
  85.    });
  86.  
  87.    navItems.forEach(item => {
  88.        const link = item.querySelector('.ontop-nav-link');
  89.        const megaMenu = item.querySelector('.ontop-mega-menu');
  90.        
  91.        link.addEventListener('click', function(e) {
  92.            if (window.innerWidth <= 768) {
  93.                e.preventDefault();
  94.                navItems.forEach(otherItem => {
  95.                    if (otherItem !== item) {
  96.                        otherItem.classList.remove('active');
  97.                        otherItem.querySelector('.ontop-mega-menu').style.display = 'none';
  98.                    }
  99.                });
  100.                item.classList.toggle('active');
  101.                megaMenu.style.display = item.classList.contains('active') ? 'block' : 'none';
  102.            }
  103.        });
  104.    });
  105.  
  106.    const directoryLinks = document.querySelectorAll('.ontop-nav-link');
  107.    directoryLinks.forEach(link => {
  108.        link.addEventListener('click', function(e) {
  109.            e.preventDefault();
  110.        });
  111.    });
  112. });
  113.  
  114. document.addEventListener('DOMContentLoaded', function() {
  115.    const accountToggle = document.querySelector('.ontop-account-toggle');
  116.    const dropdownList = document.querySelector('.ontop-account-dropdown-list');
  117.  
  118.    if (accountToggle && dropdownList) {
  119.        accountToggle.addEventListener('click', function(e) {
  120.            e.stopPropagation();
  121.            dropdownList.style.display = dropdownList.style.display === 'none' ? 'block' : 'none';
  122.        });
  123.  
  124.        document.addEventListener('click', function() {
  125.            dropdownList.style.display = 'none';
  126.        });
  127.  
  128.        dropdownList.addEventListener('click', function(e) {
  129.            e.stopPropagation();
  130.        });
  131.    }
  132. });
  133.  
  134. document.addEventListener('DOMContentLoaded', function() {
  135.    const searchIcon = document.querySelector('.ontop-search-icon');
  136.    const searchContainer = document.querySelector('.ontop-search-container');
  137.    const searchClose = document.querySelector('.ontop-search-close');
  138.    const searchInput = document.querySelector('.ontop-search-input');
  139.  
  140.    if (searchIcon) {
  141.        searchIcon.addEventListener('click', function() {
  142.            searchContainer.classList.add('active');
  143.            searchInput.focus();
  144.        });
  145.    }  
  146.  
  147.    if (searchClose) {
  148.        searchClose.addEventListener('click', function() {
  149.            searchContainer.classList.remove('active');
  150.        });
  151.    }
  152. });
  153.  
  154.  
  155.  
  156. function makeRequest(action, url, button) {
  157.    let form = button.closest('form');
  158.    let formData = new FormData(form);
  159.  
  160.    let token = document.querySelector('meta[name="csrf-token"]').getAttribute('content');
  161.    formData.append('_token', token);
  162.  
  163.    button.classList.add('loading');
  164.  
  165.    fetch(url, {
  166.        method: 'POST',
  167.        body: formData,
  168.        headers: {
  169.            'X-Requested-With': 'XMLHttpRequest',
  170.            'X-CSRF-TOKEN': token
  171.        },
  172.        credentials: 'same-origin'
  173.    })
  174.    .then(response => response.text())
  175.    .then(data => {
  176.        eval(data);
  177.    })
  178.    .catch(error => {
  179.        let errorDiv = document.getElementById("modal-error");
  180.        errorDiv.style.display = "inline-block";
  181.        errorDiv.innerHTML = "An error occurred. Please refresh your browser and try again.";
  182.    })
  183.    .finally(() => {
  184.        button.classList.remove('loading');
  185.    });
  186.  
  187.    return false;
  188. }
  189.  
  190. function makeRequest2(formId, actionUrl, button)
  191. {
  192. var form_data = $("form#"+formId).serialize();
  193.  
  194. var old_value = button.value;
  195. $.ajax({  
  196.             url: actionUrl,  
  197.             type: "POST",  
  198.   data: form_data,      
  199.             cache: false,  
  200.             beforeSend: function() {
  201.             $('#ok-odpowiedz').hide();
  202.             $('#err-odpowiedz').hide();
  203.             button.disabled = 'true';
  204.             button.value = 'Trwa wysyłanie...';
  205.             },
  206.             success: function (data) {                
  207.  
  208.             //console.log(data);
  209.             eval(data);
  210.                
  211.                button.value = old_value;
  212.                button.removeAttribute('disabled');  
  213.             }        
  214.        });
  215. }
  216.  
  217. function showhide(id){
  218.        if (document.getElementById) {
  219.          var divid = document.getElementById(id);
  220.          var divs = document.getElementsByClassName("hide");
  221.          for(var i=0;i<divs.length;i++) {
  222.            divs[i].style.display = "none";
  223.          }
  224.          divid.style.display = "block";
  225.        }
  226.        return false;
  227. }
  228.  
  229. var modal = document.getElementById('popup');
  230. window.onclick = function(event) {
  231.    if (event.target == modal) {
  232.        modal.style.display = "none";
  233.    }
  234.  
  235. }
  236.  
  237. function openModal()
  238. {
  239.  document.getElementById('popup').style.display='block';
  240.  showhide('login');
  241.  
  242.  const boxes = document.querySelectorAll('#popup');
  243.  
  244.  for (const box of boxes) {
  245.    box.classList.remove(
  246.      'hideIt'
  247.    );
  248.  }
  249.  
  250. }
  251.  
  252. document.addEventListener('DOMContentLoaded', () => {
  253.  const autocompleteField = document.getElementById('searchBox');
  254.  const suggestionsList = document.getElementById('suggestions');
  255.  const searchIcon = document.querySelector('.search-icon');
  256.  const minLetters = 1;
  257.  let selectedIndex = -1;
  258.  
  259.  const debounce = (func, delay) => {
  260.    let timeoutId;
  261.    return (...args) => {
  262.      clearTimeout(timeoutId);
  263.      timeoutId = setTimeout(() => func(...args), delay);
  264.    };
  265.  };
  266.  
  267.  const fetchSuggestions = async (query) => {
  268.    try {
  269.      const response = await fetch('/ajax/autocomplete/', {
  270.        method: 'POST',
  271.        headers: {
  272.          'Content-Type': 'application/x-www-form-urlencoded',
  273.          'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content')
  274.        },
  275.        body: `q=${encodeURIComponent(query)}`
  276.      });
  277.      
  278.      if (!response.ok) {
  279.        throw new Error(`HTTP error! status: ${response.status}`);
  280.      }
  281.      
  282.      const text = await response.text();
  283.      return text ? JSON.parse(text) : null;
  284.    } catch (error) {
  285.      console.error('Error fetching suggestions:', error);
  286.      return null;
  287.    }
  288.  };
  289.  
  290.  const buildResponse = (suggestions) => {
  291.    suggestionsList.innerHTML = '';
  292.    if (!suggestions || suggestions.length === 0) {
  293.      suggestionsList.innerHTML = '<li class="msg">No matches found</li>';
  294.      showSuggestions();
  295.      return;
  296.    }
  297.  
  298.    const groups = new Set();
  299.    const fragment = document.createDocumentFragment();
  300.  
  301.    suggestions.forEach(({ group, label, value }) => {
  302.      if (!groups.has(group)) {
  303.        groups.add(group);
  304.        fragment.appendChild(createListItem('group', group));
  305.      }
  306.      fragment.appendChild(createListItem('sr', label, value));
  307.    });
  308.  
  309.    suggestionsList.appendChild(fragment);
  310.    showSuggestions();
  311.  };
  312.  
  313.  const createListItem = (className, content, url = '') => {
  314.    const li = document.createElement('li');
  315.    li.className = className;
  316.    li.innerHTML = highlightMatch(content, autocompleteField.value);
  317.    if (url) li.dataset.url = url;
  318.    return li;
  319.  };
  320.  
  321.  const highlightMatch = (text, query) => {
  322.    const regex = new RegExp(`(${query})`, 'gi');
  323.    return text.replace(regex, '<strong>$1</strong>');
  324.  };
  325.  
  326.  const handleKeyNavigation = (e) => {
  327.    const items = suggestionsList.querySelectorAll('li.sr');
  328.    const maxIndex = items.length - 1;
  329.  
  330.    switch (e.key) {
  331.      case 'ArrowDown':
  332.        e.preventDefault();
  333.        selectedIndex = (selectedIndex < maxIndex) ? selectedIndex + 1 : 0;
  334.        break;
  335.      case 'ArrowUp':
  336.        e.preventDefault();
  337.        selectedIndex = (selectedIndex > 0) ? selectedIndex - 1 : maxIndex;
  338.        break;
  339.      case 'Escape':
  340.        hideSuggestions();
  341.        autocompleteField.blur();
  342.        return;
  343.      case 'Enter':
  344.        e.preventDefault();
  345.        if (selectedIndex !== -1) {
  346.          window.location = items[selectedIndex].dataset.url;
  347.        }
  348.        return;
  349.      default:
  350.        return;
  351.    }
  352.  
  353.    items.forEach((item, index) => {
  354.      item.classList.toggle('selected', index === selectedIndex);
  355.    });
  356.  };
  357.  
  358.  const showSuggestions = () => {
  359.    suggestionsList.style.display = 'block';
  360.  };
  361.  
  362.  const hideSuggestions = () => {
  363.    suggestionsList.style.display = 'none';
  364.  };
  365.  
  366.  const debouncedFetch = debounce(async (query) => {
  367.    if (query.length >= minLetters) {
  368.      const suggestions = await fetchSuggestions(query);
  369.      buildResponse(suggestions);
  370.    } else {
  371.      hideSuggestions();
  372.    }
  373.  }, 300);
  374.  
  375.  autocompleteField.addEventListener('input', (e) => debouncedFetch(e.target.value));
  376.  
  377.  document.addEventListener('keydown', handleKeyNavigation);
  378.  
  379.  document.addEventListener('click', (e) => {
  380.    if (!e.target.closest('.searchboxWrapper')) {
  381.      hideSuggestions();
  382.    }
  383.  });
  384.  
  385.  suggestionsList.addEventListener('click', (e) => {
  386.    const li = e.target.closest('li.sr');
  387.    if (li && li.dataset.url) {
  388.      window.location = li.dataset.url;
  389.    }
  390.  });
  391.  
  392.  if (searchIcon) {
  393.    searchIcon.addEventListener('mouseenter', () => {
  394.      searchIcon.style.backgroundColor = '#f0f0f0';
  395.    });
  396.    searchIcon.addEventListener('mouseleave', () => {
  397.      searchIcon.style.backgroundColor = 'transparent';
  398.    });
  399.  }
  400. });
  401.  
  402. document.addEventListener('DOMContentLoaded', function() {
  403.        const searchBox = document.getElementById('searchBox');
  404.        const searchForm = document.getElementById('searchBoxForm');
  405.  
  406.        if (searchBox) {
  407.            searchBox.addEventListener('keydown', function(event) {
  408.                if (event.key === 'Enter') {
  409.                    event.preventDefault();
  410.                    searchForm.submit();
  411.                }
  412.            });
  413.        }
  414.    });
  415. </script>
  416.  
  417.  
  418.  
  419.  
  420. <script>
  421. document.addEventListener('DOMContentLoaded', function() {
  422.    if($(window).width() >= 768){
  423.    $('.pagescreen').click(function(){
  424.    var c = $(this).attr("src").replace('bp/r_','bp/big_');
  425.    $("#photoHolder").show();
  426.    $("#photoHolder").html('<img src="'+ c +'" />');
  427.    $("#photoHolder").fadeIn(2000);        
  428.    $(".close").show();        
  429.    }) ;
  430.    }
  431.    
  432.    $(".close").click(function() {
  433.        $("#photoHolder").slideToggle();
  434.        $(".close").hide();
  435.    });
  436. });
  437.  
  438. </script>
  439.  
  440.  
  441.  
  442. <script src="/jquery.validate.min.js"></script>
  443. <script>
  444. document.addEventListener('DOMContentLoaded', function() {
  445. $.validator.messages.required = "You can't leave this empty.";
  446.    $('#addReview').validate({
  447. ignore:'',
  448.        rules: {
  449.          
  450.            review: {
  451.                required: true,
  452.                minlength: 10,
  453. maxlength: 2500
  454.            },
  455. reviewer_name: {
  456.                required: true,
  457. minlength: 5,
  458. maxlength: 20
  459.                //url: true
  460.            },
  461. title: {
  462.                required: true,
  463.                minlength: 3,
  464. maxlength: 255
  465.            },
  466. rating: {
  467.                required: true
  468.            }
  469.        },
  470. messages: {
  471. rating: "Please choose a star rating.",
  472. },
  473. highlight: function (element) {
  474.            $(element).addClass('errorborder')
  475.        },
  476.        unhighlight: function (element) {
  477.            $(element).removeClass('errorborder')
  478.        },
  479.        submitHandler: function (form) {
  480.            form.submit();
  481.        }
  482.    });
  483.  
  484. });
  485. </script>
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493. <script>
  494. function reloadImage() {
  495.    const img = document.getElementById('captchaIMG').getElementsByTagName('img')[0];
  496.    img.src = '/captcha/default?' + Math.random();
  497. }
  498.  
  499.  
  500. document.addEventListener('DOMContentLoaded', function() {
  501.    const starRating = document.querySelector('.star-rating');
  502.    const stars = starRating.querySelectorAll('input[type="radio"]');
  503.    const labels = starRating.querySelectorAll('label');
  504.    
  505.  
  506.    labels.forEach((label, index) => {
  507.        label.addEventListener('mouseenter', function() {
  508.            const starValue = parseInt(label.getAttribute('for').replace('star', ''));
  509.            // Highlight stars from 1 to current star
  510.            labels.forEach(lbl => {
  511.                const lblValue = parseInt(lbl.getAttribute('for').replace('star', ''));
  512.                if (lblValue <= starValue) {
  513.                    lbl.querySelector('::before') || (lbl.style.color = '#fbbf24');
  514.                    lbl.style.setProperty('--star-color', '#fbbf24');
  515.                } else {
  516.                    lbl.style.setProperty('--star-color', '#d1d5db');
  517.                }
  518.            });
  519.        });
  520.    });
  521.    
  522.  
  523.    starRating.addEventListener('mouseleave', function() {
  524.        const checkedStar = starRating.querySelector('input[type="radio"]:checked');
  525.        if (checkedStar) {
  526.            const checkedValue = parseInt(checkedStar.value);
  527.            labels.forEach(lbl => {
  528.                const lblValue = parseInt(lbl.getAttribute('for').replace('star', ''));
  529.                if (lblValue <= checkedValue) {
  530.                    lbl.style.setProperty('--star-color', '#fbbf24');
  531.                } else {
  532.                    lbl.style.setProperty('--star-color', '#d1d5db');
  533.                }
  534.            });
  535.        } else {
  536.            labels.forEach(lbl => lbl.style.setProperty('--star-color', '#d1d5db'));
  537.        }
  538.    });
  539. });
  540. </script>
  541.  
  542. </body>
  543. </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda