@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Sora:wght@100..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
:root {
  --bg-color: #4a4aff;
  --font-standard: "Open Sans", sans-serif;
  --font-special: "Sora", sans-serif;
  --link-color: #1456ff;
}
/* Prevent selection/highlight while dragging over */
.no-drag-highlight,
.no-drag-highlight * {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

  -webkit-tap-highlight-color: transparent;
}
.accordion{border:none;box-shadow: none;}
.widget-section{padding: 75px 15px;}
.widget-section h2 {font-size:32px;margin-bottom: 42px;}
h1,hero h1,.best-business-awards h1 span:not(text_carousel span) {font-size:30px;font-weight:800;line-height:1.2;text-transform:none;}
h2 {font-size:30px;font-weight:800;line-height:1.2;}
.pagination ul {padding: 0;list-style: none;display: flex;flex-direction: row;width:100%;}
nav.pagination li.pg_prev a, nav.pagination li.pg_next a {color: #fff;font-weight: 500;padding: 0;width: 100%;display: flex;align-items:center;justify-content:center;flex: 1;align-self: stretch;}
nav.pagination li.pg_next a{width:100%;}
nav.pagination li.pg_prev {width: 75px;}
nav.pagination .current_page span, nav.pagination .pg_num a,  nav.pagination .pg_ellipsis span{font-weight: 500;padding: 16px;width: 100%;display: flex;align-items:center;justify-content:center;}
nav.pagination .pg_num a{font-weight:600;}
nav.pagination li.pg_prev, nav.pagination li.pg_next{padding: 0;}
nav.pagination .current_page, nav.pagination .pg_num {padding: 0;border-radius: 8px;}
nav.pagination li{display:flex;align-items:center;}
li.pg_next a:hover,li.pg_prev a:hover  {background:#333;border:none;}
[icon] {line-height:1;}
.countdown{opacity:0;}
[data-type="dialog"] {display:none;}
[data-type="dialog"].show_popup {display:block;}
[is-hidden], [hidden], .is-hidden, .hidden {display: none!important;}
.spns-explainer svg {fill: #fff;width:10px;height:10px;}
.owner-only--hide { display: none !important; }
.not-owner-only--hide { display: none !important; }
.content, p{line-height:1.4;}
/*html{scrollbar-width: none;}*/
.city {font-family: "Poppins", serif;font-weight: 700;font-style: italic;text-transform: uppercase;font-size: 36px;line-height: 28px;letter-spacing:  -2px;margin-right: -2px;}
[role="button"]{cursor:pointer;}
header nav a {font-size: 15px; display: flex; align-items:center;gap: 7px;padding: 10px 15px; flex: 0 0 max-content;background: var(--bg-color);color:#fff;border: none;border-radius:999px;}
header nav a:hover{background: var(--bg-color);filter:brightness(.7);border: none;}
.right_header{gap:15px;}
.right_header .btn{padding: 0;border-radius: 999px;flex: 0 0 40px;width:40px;height:40px;background:transparent;border:none;line-height:1;}
.right_header .btn.active{background:transparent;}
.right_header .btn:hover{border: none;background:transparent;}
.right_header .btn.active svg{fill:#fff;}
.right_header .btn svg {fill:#fff;width:24px;height:22px;}
.alt_cta:hover{background: #eeeeee!important;}
.cta:hover{background: var(--bg-color);border: 1px solid var(--bg-color);filter: brightness(.8);}
.avatar.avatar--initials {display:inline-flex;align-items:center;justify-content:center; /*width:defined in the function */; /*height:defined in the function */;border-radius:999px;font-weight:600;line-height:1;text-transform:uppercase;color:#fff;background: var(--bg-color);width:40px;height:40px;}
img.avatar {border-radius: 999px;object-fit: cover;}
.header-modal,.mobile_menu {display: none;background: #fff;border-radius: 13px;z-index: 60000;max-width: 100%;top: 60px!important;box-shadow: 0 0 10px #00000022;padding: 15px;gap: 5px;width: 350px;right:14px;left: auto!important;margin-right:0;}
.header-modal [icon] {line-height: 1;width: 40px;height: 40px;display: grid;place-content: center;border-radius: 999px;background: #eaeaf1;}
.header-modal.show_popup {display: flex;flex-direction: column;}
[open_popup="user-account-modal"]{cursor:pointer;}
.header-modal a{padding: 7px 10px;display: flex;align-items: center;color:#000;text-decoration: none;font-weight: 500;border-radius:5px;font-size: 15px; font-weight: 600;gap:12px;}
.header-modal a:hover {background: #eee;}
.header-modal a svg {width: 22px;height: 22px;}
.custom_header nav a [icon="chevron"] svg {width: 12px; height: 12px;margin-top:2px;fill:#fff}
.custom_header nav a [icon="chevron"] svg path {stroke:#fff!important;color:#fff;}
.custom_header [open_popup="mobile_menu"] svg {width: 22px;height:22px;line-height:1;}
.custom_header [open_popup="ds-search"] svg {width: 22px; height: 22px; line-height:1;}
.custom_header [open_popup="header-notifications"] svg {width: 22px; height: 22px;}
.custom_header [open_popup="header-notifications"] svg path {stroke:#000; stroke-path: .5;}
.custom_header [open_popup="header-notifications"] svg path {stroke: #000;stroke-width: .2 !important;}
.custom_header [open_popup="header-notifications"] {z-index:1;}
.custom_header [open_popup="header-notifications"]::after {
    content: attr(data-placeholder);
    position: absolute;
    top: -3px;
    left: 23px;
    background: #ff1c2f;
    color: #fff;
    font-size: 11px;
    padding: 0 4px;
    border-radius: 20px;
    min-width: 8px;
    height: 16px;
    line-height: 0;
    display: grid;
    place-content: center;
    place-items: center;
    font-weight: 600;
}

.header-icon {width: 40px; height:40px;display:grid; place-content: center;background:transparent;border-radius:999px;align-self:start;position:relative;}
.header-icon svg{fill:#fff;}
.custom_header [icon="ellipsis"]{margin-top:1px;}
.custom_header .header-icon:hover {background:transparent}
.custom_header .header-icon.dp_active {background:transparent;}
.custom_header .header-icon.dp_active svg {fill:#fff;}
.custom_header [open_popup="ds-search"]{display: none;}
.mobile_menu a {padding: 10px 10px;border-radius: 5px;font-size: 15px; font-weight: 600}
.mobile_menu a:hover{background: #eee;}
.scrolled.scroll-up .mobile_menu {transform: translateY(0);}
.scrolled.scroll-up #cba-business-modal {transform: translateY(0); transition: transform .7s cubic-bezier(.19,1,.22,1)}
:focus-visible{outline: none!important;}
.cta:hover, .cta {border: 1px solid var(--bg-color);}
.scrolled header{transform: none;}
.desktop-search{display: block;}
.mmi {border: none;width: 40px;
    flex: 0 0 40px;
}
.head_logo {
    text-decoration: none;
    color: #000;
}
.best-business-awards hero span, .best-business-awards hero p {
    color: #fff!important;
}
.custom_header .right-side{display: flex;align-items: center;gap: 10px;}
@keyframes stretch {
    0% {
        width: 32px;
    }
    25% {
        width: 52px;
    }
    50% {
        width: 22px;
    }
    100% {
        width: 32px;
    }
}
@keyframes stretcho {
    0% {
        width: 32px;
    }
    25% {
        width: 22px;
    }
    50% {
        width: 52px;
    }
    100% {
        width: 32px;
    }
}
.service_partners h3 {
    width: 95%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.service_partners h2 {
    display: flex;
    justify-content: start;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
}
.service_partners flex {
    gap: 0;
}
.service_partners h2 a {
    background: gold;
    text-decoration: none;
    color: #000;
    padding: 8px 15px;
    font-size: 20px;
    line-height: 20px;
    font-weight: 800;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    align-self: center;
    margin-bottom: -5px;
}
.service_partners h3 span {
    background: #888;
    color: #fff;
    padding: 4px 5px;
    font-size: 10px;
    line-height: 10px;
    font-weight: 600;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    align-self: center;
}
.service_partners .item:nth-child(1), .service_partners .item:nth-child(2),.service_partners .item:nth-child(3),.service_partners .item:nth-child(4),.service_partners .item:nth-child(5),.service_partners .item:nth-child(6),.service_partners .item:nth-child(7),.service_partners .item:nth-child(8) {
    order: 1;
}
.service_partners .item:nth-child(17) {
    grid-row: span 2;
    grid-column: span 2;
    order: 0;
}
.service_partners .item:nth-child(17) img {
    height: 508px;
}
.service_partners .item:nth-child(9) ,.service_partners .item:nth-child(10),.service_partners .item:nth-child(11),.service_partners .item:nth-child(12) {
    order: 1;
}
.service_partners .item:nth-child(13),.service_partners .item:nth-child(14),.service_partners .item:nth-child(15),.service_partners .item:nth-child(16) {
    order: 3;
}
.service_partners .item:nth-child(18) {
    grid-row: span 2;
    grid-column: span 2;
    order: 2;
}
.service_partners .item:nth-child(18) img {
    height: 508px;
}
.best-business-awards .service_partners .item:nth-child(17) img, .best-business-awards .service_partners .item:nth-child(18) img {
    height: 528px;
}
.popular_services_list {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 15px;
}
.popular_services_list div {
    margin-bottom: 0;
    border: 1px solid #999;
    border-radius: 20px;
    padding: 20px;
}
.popular_services_list .service_list_name {
    font-size: 18px;
}
.popular_services_list p {
    font-size: 13px;
}
.grid-container {display: block;column-count: 3;gap: 0;}
.grid-item img {width: 100%;height: auto;padding: 10px;}
/*Logo / Awards */


@font-face {
    font-family: 'best'; /* Replace with your font name */
    src: url('https://ranklabel.com/push-content/uploads/fonts/Blacksword.woff2') format('woff2');
    font-weight: normal; /* Set weight, e.g., normal, bold, etc. */
    font-style: normal; /* Set style, e.g., normal, italic, etc. */
}
.stacked {
    overflow: hidden;
}
.head_logo .citybestawards {
    display: inline-block;
    width: fit-content;
    margin: auto;
    color: #000;
    text-decoration: none;
    text-align: left;
}
.head_logo .city {
    font-family: "Poppins", serif;
    font-weight: 700;
    font-style: italic;
    text-transform: uppercase;
    font-size: 28px;
    line-height: 1;
    display: inline;
}
.head_logo .best {
    font-family: "best";
    font-size: 25px;
    line-height: 1;
    text-transform: none;
    display: inline-block;
    margin: -3px;
    transform: translateY(-3px);
}
.head_logo .awards {
    font-family: "Poppins", serif;
    font-weight: 700;
    font-style: italic;
    text-transform: uppercase;
    font-size: 28px;
    line-height: 1;
    letter-spacing: -3px;
    display: inline;
}
.head_logo .citybestawards .bestawards {
    display: inline-block;
}
/**/
.stacked .citybestawards {
    display: flex;
    flex-direction: column;
    width: fit-content;
    margin: auto;
    color: #fff;
    text-decoration: none;
    padding: 106px 0 93px;
    transform: scale(2);
}
.stacked .city {
    font-family: "Poppins", serif;
    font-weight: 700;
    font-style: italic;
    text-transform: uppercase;
    font-size: 34px;
    line-height: 27px;
    max-width: 320px;
    text-align: center;
}
.stacked .best {
    font-family: "best";
    font-size: 80px;
    line-height: 80px;
    text-transform: none;
    display: flex;
    flex: 0 0 max-content;
}
.stacked .awards {
    font-family: "Poppins", serif;
    font-weight: 700;
    font-style: italic;
    text-transform: uppercase;
    font-size: 31px;
    line-height: 31px;
    letter-spacing: -2px;
    align-self: end;
    margin: -19px 19px 0 0;
}
.stacked .citybestawards .bestawards {
    display: flex;
    flex-direction: column;
    width: 220px;
    position: relative;
    align-self: center;
}
.btn {
    border: 1px solid var(--bg-color);
    line-height: 1;
    cursor: pointer;
    padding: 10px 12px;
    border-radius: 999px;
}
.alt_cta {border: 1px solid var(--bg-color); color: var(--bg-color);}
a{cursor:pointer;}
.pg_next {width: 250px; margin-left: auto;}
.pagination .pg_prev, .pagination .pg_next{display:flex;align-items:center;justify-content:center;border-radius: 8px; padding: 16px 16px;}
.pagination{width: 700px;max-width:100%;margin:auto;}
.pagination .current_page, .pagination .pg_num{padding: 16px 16px;border-radius: 8px;}
.custom_header.user_select_none.background_fff{box-shadow: none!important;}
/* Sidebar sponsored / sticky units */
.sidebar .pu-unit.stk:first-child,
.sb .pu-unit.stk,.sb .pu-unit.stk:first-child,
.sb .pu-unit.stk {
    flex-direction:row!important;
}
.sb .pu-unit.stk img, .sidebar .pu-unit.stk img {
    width:150px!important;
    height:150px!important;
    aspect-ratio:1/1;
}
.sb .pu-unit a.iw, .sidebar .pu-unit a.iw {
    flex:0 0 150px;
}
.global-left-sidebar {
    position: fixed;
    left: 0;
    top: 65px;
    background: #fff;
    padding: 15px;
    height: calc(100dvh - 65px);
    width: 235px;
    z-index: 5000;
}
.account .global-left-sidebar {display: none;}
.right_header {
    background: #111;
    box-shadow: 0 0 20px #00000030;
    padding: 10px 15px;
    width: 100%;
    flex: 0 0 100%;
    align-items: center;
    justify-content: space-between;
}
.logo_section .site_logo {
    width: 165px;
    height: auto;
    filter: invert(1);
}
header.section{animation: none!important;}
@media(max-width: 1260px){
    .right_header .alt_cta{display: none;}
    header nav{display: none!important;} 
}

@media(min-width: 900px) {
    .header_flex.padding_y_15px{padding-bottom:0;}
    .mb-search-icon{display: none;}
    .stacked .citybestawards {
        padding: 50px 0 30px;
        transform: scale(1.15);
    }
    .logo_section {
        flex: 0 0 fit-content!important;
    }
    .scrolled.scroll-up header {
        background: transparent;
    }
    .right_header .alt_cta {
        background: transparent;
        color: #000;
    }
    .mmi {
        background: transparent;
    }
    header {
        position: fixed!important;
        top: 0!important;
        width: 100%!important;
    }
    body {
        margin-top: 65px;
    }
    .header_flex {
        flex-direction: column;
        align-items: center;
    }
    .logo_section {
        display: block;
        margin: 0;
    }
    .head_logo {
        height: auto;
        transition: 400ms ease;
        display: flex;
        align-items: center;
        justify-self: start;
        max-width: 400px;
    }
    .scrolled .head_logo {
        transition: 400ms ease;
    }
    header .container {
        max-width: 1500px;
        width: 100%;
    }
    header nav {
        /*flex: 1;*/
    }
    .custom_header {
        background: transparent;
        backdrop-filter: blur(5px);
    }
    .login-container {
        flex-direction: column;
        display: flex;
        margin: auto;
        max-width: 700px;
        min-height: 500px;
        align-items: center;
        justify-content: center;
    }
    .login-container h1 {
        font-size: 28px;
        text-align: center;
    }
    
    .login-container form {
        display: flex;
        flex-direction: column;
        gap: 15px;
        width: 380px;
    }
    .login-container [type=submit] {
        width: max-content;
        font-size: 15px;
        padding: 8px 16px;
        
    }
    .login-container form input {
        font-size: 14px;
    }
}
@media (max-width: 970px) {
    nav a:last-child {
        display: flex;
    }
}
@media(max-width: 900px) {
    .global-left-sidebar {
        display: none;
    }
    hero h1{width: 100%;}
    .right_header{gap: 10px;}
    .custom_header [open_popup="ds-search"]{display: grid;}
    .pg_next{width:auto;}
    .pg_prev{margin-right:auto;}
    .pg_next, .pg_prev{flex:1;padding: 16px 5px;}
    .pagination .current_page, .pagination .pg_num, .pagination .pg_prev, .pagination .pg_next {padding: 16px 16px;display: flex; align-items:center;justify-content:center;}
    .mobile_menu {left: 0!important;top: 39px!important;width: 100%;clip-path:inset(10px -20px -20px -20px);}
    .custom_header .padding_y_15px{padding-top:5px;padding-bottom:5px;}
    .archive.biz .pu-unit {flex-direction:row!important;}
    .archive.biz .pu-unit img {height:110px!important;width:110px!important;}
    .archive.biz .pu-unit .iw {flex: 0 0 110px!important;}
    .pu-unit .ttl{line-height:1.2}
    .pu-unit .pb {line-height:1;}
    .desktop-search {position: fixed;width: 100%;background: #fff;top: 47px;
        z-index: 50000;padding: 6px 4px;left: 0;}
    /*.ds-search_active header .padding_x_10px,.ds-search_active header .padding_y_15px {padding-left: 0;padding-right: 0;padding-top: 0;padding-bottom: 0;}*/
    .hide_mobile {display: none;}
    .right_header .btn {
        padding: 9px 9px;
        font-size: 14px;
    }
    .auth-popup {
    & .top-section {
        p {display: none!important;}
        .tiny {margin-top: 0!important;}
    }
    }
    .auth-popup {
    .auth-card {margin: 0!important;width: 100vh!important;height:100vh;border-radius:0!important;}
    }
    .auth-popup{align-items:start!important;}
    header .mobile_flex_0_fit_content {
        width: 100%;
        flex: 0 0 100%;
        justify-content: space-between;
    }
    .stacked .citybestawards {
        transform: scale(1.3);
    }
    .stacked .citybestawards {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-decoration: none;
      color: #fff;
    
      /* Let it shrink to the viewport */
      max-width: 100%;
      margin: 0 auto;
    
      /* Responsive vertical space */
      padding: clamp(24px, 10vw, 106px) 0 clamp(20px, 9vw, 93px);
    
      /* Avoid hard scaling on small screens */
      transform: none;
    }
    
    .stacked .city {
      font-family: "Poppins", serif;
      font-weight: 700;
      font-style: italic;
      text-transform: uppercase;
    
      /* Responsive type + tighter leading */
      font-size: clamp(20px, 8vw, 34px);
      line-height: 1.1;
    
      /* Let long names wrap instead of overflow */
      max-width: 100%;
      text-align: center;
      word-break: break-word;   /* ensures wrap for ultra-long words */
      hyphens: auto;            /* allows soft hyphenation when available */
      text-wrap: balance;       /* nicer line breaks where supported */
    }
    
    /* Make "Best Awards" wrap nicely too */
    .stacked .bestawards {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 0.25em;
    
      font-size: clamp(16px, 6vw, 28px);
      line-height: 1.1;
    }
/**/
    .service_partners grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }    
    .masonry-grid {
        display: none;
    }
    .head_logo {
        display: flex;
        flex-direction: column;
        align-items: start;
        justify-content: center;        
    }
    .city {
        font-size: 26px;
        line-height: 22px;
    }
    .city_logo {
        width: 160px;
    }
    .logo_section .site_logo {
        width: 150px;
    }
    .logo_section {
        flex-direction: column;
        align-items: start;
        justify-content: start;
        flex:1;
    }
}
