html {
  font-size: 14px;
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

.footer {
  position: static;
}

/* Shared public navigation and Services dropdown. */
.desktop-nav .services-menu-item,
.desktop-nav .services-dropdown,
.desktop-nav .areas-menu-item,
.desktop-nav .areas-dropdown {
  position: relative;
}

.desktop-nav .services-dropdown > summary,
.desktop-nav .areas-dropdown > summary {
  position: relative;
  display: flex;
  padding: 12px 18px 12px 0;
  align-items: center;
  color: #0a0a0a;
  cursor: pointer;
  font: inherit;
  list-style: none;
}

.desktop-nav .services-dropdown > summary::-webkit-details-marker,
.desktop-nav .areas-dropdown > summary::-webkit-details-marker,
.mobile-services-dropdown > summary::-webkit-details-marker,
.mobile-areas-dropdown > summary::-webkit-details-marker {
  display: none;
}

.desktop-nav .services-dropdown > summary::after,
.desktop-nav .areas-dropdown > summary::after {
  position: absolute;
  top: 50%;
  right: 1px;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  content: "";
  transform: translateY(-70%) rotate(45deg);
  transition: transform .18s ease;
}

.desktop-nav .services-dropdown[open] > summary,
.desktop-nav .services-dropdown > summary:hover,
.desktop-nav .services-dropdown > summary:focus-visible,
.desktop-nav .services-dropdown > summary[aria-current="page"],
.desktop-nav .areas-dropdown[open] > summary,
.desktop-nav .areas-dropdown > summary:hover,
.desktop-nav .areas-dropdown > summary:focus-visible,
.desktop-nav .areas-dropdown > summary[aria-current="page"] {
  color: #4747b5;
}

.desktop-nav .services-dropdown[open] > summary::after,
.desktop-nav .areas-dropdown[open] > summary::after,
.desktop-nav .areas-menu-item:hover .areas-dropdown > summary::after,
.desktop-nav .areas-dropdown:focus-within > summary::after {
  transform: translateY(-30%) rotate(225deg);
}

.desktop-nav .services-dropdown-menu,
.desktop-nav .areas-dropdown-menu {
  position: absolute;
  z-index: 50;
  top: calc(100% + 6px);
  left: 50%;
  display: grid;
  width: 220px;
  padding: 8px;
  border: 1px solid #e6e6f4;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(33, 33, 95, .18);
  transform: translateX(-50%);
}

.desktop-nav .services-dropdown-menu a,
.desktop-nav .areas-dropdown-menu a,
.desktop-nav .nav-dropdown-placeholder {
  padding: 11px 12px;
  border-radius: 7px;
  color: #0a0a0a;
  font-size: 15px;
  line-height: 1.35;
  text-decoration: none;
  white-space: nowrap;
}

.desktop-nav .services-dropdown-menu a::after,
.desktop-nav .areas-dropdown-menu a::after {
  display: none;
}

.desktop-nav .areas-dropdown:not([open]) > .areas-dropdown-menu {
  display: none;
}

.desktop-nav .areas-menu-item:hover .areas-dropdown-menu,
.desktop-nav .areas-dropdown:focus-within > .areas-dropdown-menu {
  display: grid;
}

.nav-dropdown-placeholder {
  color: #777;
  cursor: default;
}

.mobile-areas-list .nav-dropdown-placeholder {
  padding: 11px 12px;
  font-size: 14px;
  line-height: 1.35;
}

/* Shared Mechanic partner dropdown. */
.desktop-nav .mechanic-menu-item,
.desktop-nav .mechanic-dropdown {
  position: relative;
}

.desktop-nav .mechanic-dropdown > summary {
  position: relative;
  display: flex;
  padding: 12px 18px 12px 0;
  align-items: center;
  color: #0a0a0a;
  cursor: pointer;
  font: inherit;
  list-style: none;
}

.desktop-nav .mechanic-dropdown > summary::-webkit-details-marker,
.mobile-mechanic-dropdown > summary::-webkit-details-marker {
  display: none;
}

.desktop-nav .mechanic-dropdown > summary::after {
  position: absolute;
  top: 50%;
  right: 1px;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  content: "";
  transform: translateY(-70%) rotate(45deg);
  transition: transform .18s ease;
}

.desktop-nav .mechanic-dropdown[open] > summary,
.desktop-nav .mechanic-dropdown > summary:hover,
.desktop-nav .mechanic-dropdown > summary:focus-visible,
.desktop-nav .mechanic-dropdown > summary[aria-current="page"] {
  color: #4747b5;
}

.desktop-nav .mechanic-dropdown[open] > summary::after,
.desktop-nav .mechanic-menu-item:hover .mechanic-dropdown > summary::after,
.desktop-nav .mechanic-dropdown:focus-within > summary::after {
  transform: translateY(-30%) rotate(225deg);
}

.desktop-nav .mechanic-dropdown-menu {
  position: absolute;
  z-index: 50;
  top: calc(100% + 6px);
  left: 50%;
  display: none;
  width: 220px;
  padding: 8px;
  border: 1px solid #e6e6f4;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(33, 33, 95, .18);
  transform: translateX(-50%);
}

.desktop-nav .mechanic-dropdown[open] > .mechanic-dropdown-menu,
.desktop-nav .mechanic-menu-item:hover .mechanic-dropdown-menu,
.desktop-nav .mechanic-dropdown:focus-within > .mechanic-dropdown-menu {
  display: grid;
}

.desktop-nav .mechanic-dropdown-menu a {
  padding: 11px 12px;
  border-radius: 7px;
  color: #0a0a0a;
  font-size: 15px;
  line-height: 1.35;
  text-decoration: none;
  white-space: nowrap;
}

.desktop-nav .mechanic-dropdown-menu a::after {
  display: none;
}

.desktop-nav .mechanic-dropdown-menu a:hover,
.desktop-nav .mechanic-dropdown-menu a:focus-visible {
  color: #4747b5;
  background: #f5f5fc;
}

.mobile-nav-links .mobile-mechanic-dropdown > summary {
  position: relative;
  display: flex;
  padding: 11px 32px 11px 12px;
  align-items: center;
  border: 0;
  border-radius: 7px;
  color: #0a0a0a;
  cursor: pointer;
  font: inherit;
  font-weight: 400;
  list-style: none;
}

.mobile-nav-links .mobile-mechanic-dropdown > summary::after {
  position: absolute;
  top: 50%;
  right: 14px;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  content: "";
  transform: translateY(-70%) rotate(45deg);
  transition: transform .18s ease;
}

.mobile-nav-links .mobile-mechanic-dropdown[open] > summary,
.mobile-nav-links .mobile-mechanic-dropdown > summary:hover,
.mobile-nav-links .mobile-mechanic-dropdown > summary:focus-visible,
.mobile-nav-links .mobile-mechanic-dropdown > summary[aria-current="page"] {
  color: #4747b5;
  background: #f5f5fc;
}

.mobile-nav-links .mobile-mechanic-dropdown[open] > summary::after {
  transform: translateY(-30%) rotate(225deg);
}

.mobile-mechanic-list {
  display: grid;
  margin: 2px 0 4px 12px;
  padding-left: 8px;
  border-left: 2px solid #e6e6f4;
}

.desktop-nav .services-dropdown-menu a:hover,
.desktop-nav .services-dropdown-menu a:focus-visible,
.desktop-nav .areas-dropdown-menu a:hover,
.desktop-nav .areas-dropdown-menu a:focus-visible {
  color: #4747b5;
  background: #f5f5fc;
}

.mobile-nav-links .mobile-services-dropdown > summary,
.mobile-nav-links .mobile-areas-dropdown > summary {
  position: relative;
  display: flex;
  padding: 11px 32px 11px 12px;
  align-items: center;
  border: 0;
  border-radius: 7px;
  color: #0a0a0a;
  cursor: pointer;
  font: inherit;
  font-weight: 400;
  list-style: none;
}

.mobile-nav-links .mobile-services-dropdown > summary::after,
.mobile-nav-links .mobile-areas-dropdown > summary::after {
  position: absolute;
  top: 50%;
  right: 14px;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  content: "";
  transform: translateY(-70%) rotate(45deg);
  transition: transform .18s ease;
}

.mobile-nav-links .mobile-services-dropdown[open] > summary,
.mobile-nav-links .mobile-services-dropdown > summary:hover,
.mobile-nav-links .mobile-services-dropdown > summary:focus-visible,
.mobile-nav-links .mobile-services-dropdown > summary[aria-current="page"],
.mobile-nav-links .mobile-areas-dropdown[open] > summary,
.mobile-nav-links .mobile-areas-dropdown > summary:hover,
.mobile-nav-links .mobile-areas-dropdown > summary:focus-visible,
.mobile-nav-links .mobile-areas-dropdown > summary[aria-current="page"] {
  color: #4747b5;
  background: #f5f5fc;
}

.mobile-nav-links .mobile-services-dropdown[open] > summary::after,
.mobile-nav-links .mobile-areas-dropdown[open] > summary::after {
  transform: translateY(-30%) rotate(225deg);
}

.mobile-services-list,
.mobile-areas-list {
  display: grid;
  margin: 2px 0 4px 12px;
  padding-left: 8px;
  border-left: 2px solid #e6e6f4;
}

.mobile-nav-links a[aria-current="page"] {
  color: #4747b5;
  background: #f5f5fc;
}

@media (max-width: 1000px) {
  .mobile-nav-links {
    max-height: calc(100dvh - 116px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .mobile-nav-links a,
  .mobile-services-list a,
  .mobile-areas-list a,
  .mobile-services-dropdown summary,
  .mobile-areas-dropdown summary {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}
