
.or-city-switch { display:inline-block; position:relative; vertical-align:baseline; }
.or-city-button { display:inline-flex; align-items:center; gap:6px; padding:0; border:0; background:transparent; color:inherit; font:inherit; line-height:inherit; cursor:pointer; white-space:nowrap; }
.or-city-label { border-bottom:1px solid currentColor; }
.or-city-arrow { width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-top:-4px; }
.or-city-button[aria-expanded="true"] .or-city-arrow { transform:rotate(225deg); margin-top:4px; }
.or-city-button:focus-visible, .or-city-list a:focus-visible { outline:2px solid #315bff; outline-offset:3px; }
.or-city-list[hidden] { display:none !important; }
.or-city-list { position:absolute; z-index:9999; top:calc(100% + 6px); left:0; width:210px; max-width:calc(100vw - 20px); padding:5px 0; background:#fff; box-shadow:0 4px 18px #0003; border:1px solid #ddd; text-align:left; }
.or-city-list a, .or-city-list a:visited { display:block; padding:10px 12px; color:#262626 !important; font:15px/1.3 Arial,sans-serif; text-decoration:none !important; white-space:normal; }
.or-city-list a:hover, .or-city-list a:focus-visible { background:#f0f3ff; }
.or-city-moscow-location { display:flex; align-items:center; }
.or-city-moscow-location .header-top__contacts-item-text { margin:0; }

.or-city-switch .or-city-list:not([hidden]) { display:block !important; }
.or-city-switch .or-city-list a { display:block !important; width:auto !important; float:none !important; }
.or-city-moscow-location .header-top__contacts-item-text::after { content:none !important; }

.or-city-menu-item { align-items:center; gap:8px; }
.or-city-menu-icon { display:inline-block; flex:0 0 18px; width:18px; height:18px; background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M21 10C21 15.9985 14.8912 21.1164 13 22.5C12.6692 22.742 11.5 22.75 11 22.5C9.5 21.5 3 17 3 10C3 7.61305 3.94821 5.32387 5.63604 3.63604C7.32387 1.94821 9.61305 1 12 1C14.3869 1 16.6761 1.94821 18.364 3.63604C20.0518 5.32387 21 7.61305 21 10Z' fill='%23262626'/%3e%3cpath d='M12 13C13.6569 13 15 11.6569 15 10C15 8.34315 13.6569 7 12 7C10.3431 7 9 8.34315 9 10C9 11.6569 10.3431 13 12 13Z' fill='white'/%3e%3c/svg%3e "); background-size:contain; background-repeat:no-repeat; filter:invert(1); }
.or-city-menu-item .or-city-switch { display:inline-block; color:inherit; }
.or-city-menu-item .or-city-button { color:inherit; font:inherit; }
.or-city-menu-item .or-city-list:not([hidden]) { position:static; width:auto; max-width:none; margin-top:8px; box-shadow:none; }

.or-city-menu-item {display:none;}
@media (max-width:1065px) { header .menu.top .menu__box.all > .or-city-menu-item { display:flex; color:#fff; padding:10px 0; font-size:17px; } }

.or-city-menu-item { align-items:flex-start !important; }
.or-city-menu-item .or-city-menu-icon { margin-top:4px; }
.or-city-menu-item .or-city-label, .or-city-menu-item .or-city-arrow { color:inherit !important; }
.or-city-menu-item .or-city-list:not([hidden]) { width:210px; max-width:calc(75vw - 55px); }

header .contright .mapicon .adrskryt, header .contright .mapicon > br { display:none !important; }
@media (max-width:680px) { body > header.has-mobile-contacts .contright { column-gap:clamp(8px, 3vw, 14px) !important; } }
@media (min-width:1066px) {
 header .menu.top.fixed .sticky-header-contact .or-city-switch { display:inline-block; font-size:13px !important; line-height:22px !important; }
 header .menu.top.fixed .sticky-header-contact .or-city-button { font-size:13px !important; line-height:22px !important; }
 header .menu.top.fixed .sticky-header-contact .or-city-label { font-size:inherit !important; line-height:inherit !important; color:inherit !important; }
 header .menu.top.fixed .sticky-header-contact .or-city-arrow { display:inline-block !important; width:7px !important; height:7px !important; min-width:0 !important; padding:0 !important; margin-left:0 !important; line-height:normal !important; }
}
@media (min-width:1066px) {
 header .menu.top.fixed .sticky-header-contact .or-city-switch,
 header .menu.top.fixed .sticky-header-contact .or-city-label { padding:0 !important; margin:0 !important; }
 header .menu.top.fixed .sticky-header-contact .or-city-arrow { margin: -4px 0 0 !important; }
 header .menu.top.fixed .sticky-header-contact .or-city-button[aria-expanded="true"] .or-city-arrow { margin-top:4px !important; }
 header .menu.top.fixed .sticky-header-contact .or-city-list { padding:5px 0 !important; margin:0 !important; }
}
@media (min-width:1066px) {
 body > header .topname .contright > span.mapicon,
 body > header .topname .contright > span.telicon,
 body > header .topname .contright > span.telicon a { font-size:18px !important; font-weight:400 !important; line-height:1.3; }
 header .menu.top.fixed .sticky-header-contact .or-city-switch,
 header .menu.top.fixed .sticky-header-contact .or-city-button,
 header .menu.top.fixed .sticky-header-contact .telicon a { font-size:15px !important; font-weight:400 !important; }
}
@media (min-width:1500px) {
 body > header .topname .contright { transform:translateY(-18px); }
 body > header .topname .contright > span.telicon { margin-top:4px; }
}

.or-city-button, .or-city-switch .or-city-list a { font-family:Raleway, sans-serif !important; }
@media (min-width:1500px) {
 body > header > .topname .contright { top:calc(50% - 18px) !important; gap:6px !important; }
}

.or-city-switch .or-city-list .or-city-check { display:inline !important; color:#315bff !important; font:inherit !important; padding:0 !important; margin:0 !important; }

.or-city-switch .or-city-list a { display:flex !important; align-items:center; gap:8px; min-height:46px; box-sizing:border-box; }
.or-city-switch .or-city-list .or-city-landmark { width:28px !important; height:28px !important; min-width:28px !important; margin:0 !important; object-fit:contain; flex:0 0 28px; }
.or-city-switch .or-city-list .or-city-option-label { display:inline !important; flex:1 1 auto; color:#262626 !important; font:inherit !important; padding:0 !important; margin:0 !important; white-space:nowrap; }
.or-city-switch .or-city-list .or-city-check { flex:0 0 auto; font-size:18px !important; }
@media (min-width:681px) and (max-width:1065px) {
 body > header.has-mobile-contacts .contright > span,
 body > header.has-mobile-contacts .contright .or-city-button,
 body > header.has-mobile-contacts .contright .telicon a { font-size:18px !important; font-weight:400 !important; line-height:1.3; }
}

.or-city-switch .or-city-list { width:230px; }
.or-city-switch .or-city-list a, .or-city-switch .or-city-list .or-city-option-label { font:14px/1.3 Raleway, sans-serif !important; }
.or-city-switch .or-city-list a { padding:9px 8px !important; gap:5px; }
.or-city-switch .or-city-list .or-city-landmark { width:24px !important; height:24px !important; min-width:24px !important; flex-basis:24px; }
.or-city-menu-item .or-city-list:not([hidden]) { width:230px; max-width:calc(75vw - 35px); }
/* Consistent location and telephone icon size in the header. */
body > header .contright > span.mapicon,
body > header .contright > span.telicon,
header .menu.top.fixed .sticky-header-contact > span.mapicon,
header .menu.top.fixed .sticky-header-contact > span.telicon { background-size:18px 18px !important; }

.or-city-switch .or-city-list .or-city-check { display:inline-block !important; flex:0 0 18px; width:18px; text-align:center; }

/* Dim and dismiss the exposed part of the SPb mobile navigation drawer. */
@media (max-width:1065px) {
  header .menu.top:not(.sticky-clone) .hamburger-menu .menu__backdrop {
    display:none;
    position:fixed;
    inset:0;
    z-index:1001;
    background:rgba(0,0,0,.42);
    touch-action:none;
  }
  header .menu.top:not(.sticky-clone) #menu__toggle:checked ~ .menu__backdrop { display:block; }
  header .menu.top:not(.sticky-clone) .menu__box.all { z-index:1002 !important; }
  header .menu.top:not(.sticky-clone) .menu__btn { z-index:1003 !important; }

  /* Keep the city control on its own full-width row in the mobile drawer. */
  header .menu.top:not(.sticky-clone) .menu__box.all {
    flex-flow:column nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
  }
  header .menu.top:not(.sticky-clone) .menu__box.all > li.or-city-menu-item {
    display:flex !important;
    flex:0 0 100%;
    align-self:stretch;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    justify-content:flex-start;
    min-width:0;
  }
  header .menu.top:not(.sticky-clone) .menu__box.all > li.or-city-menu-item > .or-city-switch {
    display:block;
    flex:1 1 auto;
    min-width:0;
    max-width:100%;
  }
  header .menu.top:not(.sticky-clone) .menu__box.all > li.or-city-menu-item .or-city-list:not([hidden]) {
    position:static !important;
    inset:auto !important;
    transform:none !important;
    width:min(230px, 100%) !important;
    max-width:100% !important;
    margin:8px 0 0 !important;
    box-sizing:border-box;
  }
}

/* Keep the masthead city dropdown above the navigation bar on desktop. */
@media (min-width:1066px) {
  body > header > .container.topname.dflex:has(.contright .or-city-button[aria-expanded="true"]) {
    position:relative;
    z-index:1002;
  }
}

/* Match the visit address size to phone and email on small screens. */
@media (max-width:680px) {
  body.page-id-25 section.nineteen .telcontw > span:last-child > span.p20.wh600 {
    font-size:20px;
    font-weight:500;
    line-height:1.4;
  }
}

/* Slightly clearer active-city check, preserving the light glyph. */
.or-city-switch .or-city-list .or-city-check {
  font-weight:700 !important;
  -webkit-text-stroke:.35px currentColor;
}

/* Keep the denser active-city check blue and slightly more compact. */
.or-city-switch .or-city-list a[aria-current="page"] .or-city-check {
  color:#315bff !important;
  -webkit-text-fill-color:#315bff !important;
  font-size:16px !important;
}

