
/* Pixel Rack Host - Premium V5 Stable Navigation */

.prhV5Shell {
  --v5-bg: linear-gradient(110deg,#20183f,#302168 55%,#402582);
  --v5-text: #f8f7ff;
  --v5-hover: #d7c7ff;
  position: relative;
  z-index: 100;
}

.prhV5Shell *,
.prhV5Shell *::before,
.prhV5Shell *::after {
  box-sizing: border-box;
}

.prhV5Top,
.prhV5CleanNav {
  background: var(--v5-bg) !important;
}

.prhV5Top {
  color: #fff;
  font-size: 12px;
}

.prhV5Container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.prhV5Top .prhV5Container {
  min-height: 37px;
}

.prhV5Top .prhV5Container > div {
  display: flex;
  align-items: center;
  gap: 24px;
}

.prhV5Top a {
  color: #fff;
  text-decoration: none;
}

.prhV5Top a:hover {
  color: #d7c7ff;
}

.prhV5Middle {
  background: linear-gradient(110deg,#f5f9ff,#fff 70%);
  border-bottom: 1px solid #e5e8f0;
}

.prhV5Middle .prhV5Container {
  min-height: 89px;
}

.prhV5Assistance {
  display: flex;
  align-items: center;
  gap: 32px;
}

.prhV5Assistance > a {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #17213c;
}

.prhV5Assistance small {
  display: block;
  margin-bottom: 3px;
  font-size: 12px;
  font-weight: 650;
  color: #43516f;
}

.prhV5Assistance strong {
  display: block;
  font-size: 14px;
  font-weight: 750;
  color: #18223f;
  white-space: nowrap;
}

.prhV5Circle {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid #bfe5eb;
  background: #e8f8fb;
  color: #078fa5;
}

/* Stable navbar dimensions */
.prhV5Shell > .prhV5CleanNav {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 76px !important;
  border-bottom: 1px solid rgba(220,205,255,.24) !important;
  box-shadow: 0 9px 24px rgba(30,20,70,.15);
}

.prhV5Shell .prhV5CleanNav > .prhNavInner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 1440px !important;
  min-height: 76px !important;
  margin: 0 auto !important;
  padding: 0 18px !important;
}

@media (min-width:901px) {

  .prhV5Shell .prhV5CleanNav .prhNavBrand {
    position: absolute !important;
    top: -76px !important;
    left: max(26px,calc((100% - 1268px)/2)) !important;
    z-index: 2;
    margin: 0 !important;
  }

  .prhV5Shell .prhV5CleanNav #hamb {
    display: none !important;
  }

  .prhV5Shell .prhV5CleanNav #menu {
    display: flex !important;
    position: static !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: clamp(9px,1.3vw,20px) !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .prhV5Shell .prhV5CleanNav #menu > .link,
  .prhV5Shell .prhV5CleanNav #menu .prhV5GroupLink,
  .prhV5Shell .prhV5CleanNav #menu .prhV5TextToggle {
    display: inline-flex !important;
    align-items: center;
    height: 40px !important;
    padding: 0 3px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #f8f7ff !important;
    -webkit-text-fill-color: #f8f7ff !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.3;
    text-decoration: none !important;
    white-space: nowrap;
    cursor: pointer;
  }

  .prhV5Shell .prhV5CleanNav #menu > .link:hover,
  .prhV5Shell .prhV5CleanNav #menu .prhV5GroupLink:hover,
  .prhV5Shell .prhV5CleanNav #menu .prhV5TextToggle:hover {
    color: #d7c7ff !important;
    -webkit-text-fill-color: #d7c7ff !important;
  }

  .prhV5Shell .prhV5CleanNav #menu > .btn,
  .prhV5Shell .prhV5CleanNav #menu .prhV5ClientLink {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    white-space: nowrap;
    text-decoration: none;
  }

  .prhV5Shell .prhV5CleanNav #menu .prhV5ClientLink {
    background: rgba(255,255,255,.09) !important;
    border: 1px solid rgba(225,212,255,.45) !important;
    color: white !important;
    -webkit-text-fill-color: white !important;
  }

  .prhV5Shell .prhV5CleanNav #menu .prhCartBtn {
    background: linear-gradient(135deg,#ff7c4e,#ff506d) !important;
    color: white !important;
    -webkit-text-fill-color: white !important;
    border: 0 !important;
  }

  .prhV5Shell .prhV5CleanNav .prhV5Group {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    white-space: nowrap;
  }

  .prhV5Shell .prhV5CleanNav .prhV5Toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 20px !important;
    min-width: 20px !important;
    height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: white !important;
    cursor: pointer;
  }

  .prhV5Shell .prhV5CleanNav .prhV5Toggle::after {
    content: "" !important;
    display: block !important;
    width: 7px !important;
    height: 7px !important;
    border: 0 !important;
    border-right: 1.7px solid #f7f5ff !important;
    border-bottom: 1.7px solid #f7f5ff !important;
    transform: rotate(45deg) translateY(-2px) !important;
  }

  .prhV5Shell .prhV5CleanNav .prhV5TextToggle {
    width: auto !important;
    min-width: 0 !important;
    padding-right: 8px !important;
    gap: 8px;
  }

  .prhV5Shell .prhV5CleanNav .prhV5Dropdown {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 210px !important;
    min-width: 210px !important;
    padding: 9px !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid #e9e5f2 !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 45px rgba(18,13,49,.23) !important;
    z-index: 1000 !important;
  }

  .prhV5Shell .prhV5CleanNav .prhV5Group:hover > .prhV5Dropdown,
  .prhV5Shell .prhV5CleanNav .prhV5Group:focus-within > .prhV5Dropdown {
    display: flex !important;
    flex-direction: column;
  }

  .prhV5Shell .prhV5CleanNav .prhV5Dropdown a {
    display: flex !important;
    align-items: center;
    min-height: 43px;
    padding: 11px 13px !important;
    border-radius: 9px;
    background: transparent !important;
    color: #201a3b !important;
    -webkit-text-fill-color: #201a3b !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    text-decoration: none !important;
    white-space: nowrap;
  }

  .prhV5Shell .prhV5CleanNav .prhV5Dropdown a:hover {
    background: #f1edff !important;
    color: #5835b5 !important;
    -webkit-text-fill-color: #5835b5 !important;
  }

  .prhV5Shell .prhV5CleanNav .prhV5ClientGroup > .prhV5Dropdown {
    left: auto !important;
    right: 0 !important;
  }
}

@media (min-width:901px) and (max-width:1190px) {
  .prhV5Shell .prhV5CleanNav #menu {
    gap: 7px !important;
  }

  .prhV5Shell .prhV5CleanNav #menu > .link,
  .prhV5Shell .prhV5CleanNav #menu .prhV5GroupLink,
  .prhV5Shell .prhV5CleanNav #menu .prhV5TextToggle {
    font-size: 12px !important;
  }
}

@media (max-width:900px) {

  .prhV5Top,
  .prhV5Middle {
    display: none !important;
  }

  .prhV5Shell {
    display: contents;
  }

  .prhV5Shell > .prhV5CleanNav {
    min-height: 68px !important;
  }

  .prhV5Shell .prhV5CleanNav > .prhNavInner {
    justify-content: space-between !important;
    min-height: 68px !important;
    padding: 0 16px !important;
  }

  .prhV5Shell .prhV5CleanNav .prhNavBrand {
    position: static !important;
    flex: 1 1 auto;
    min-width: 0;
  }

  .prhV5Shell .prhV5CleanNav #brand,
  .prhV5Shell .prhV5CleanNav #tagline {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }

  .prhV5Shell .prhV5CleanNav #hamb {
    display: inline-flex !important;
    flex: 0 0 auto;
    color: white !important;
    -webkit-text-fill-color: white !important;
    cursor: pointer;
  }

  .prhV5Shell .prhV5CleanNav #menu {
    display: none !important;
    position: absolute !important;
    top: 68px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-height: calc(100dvh - 82px) !important;
    overflow-y: auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 5px !important;
    padding: 14px !important;
    margin: 0 !important;
    background: #241947 !important;
    border: 1px solid rgba(220,205,255,.25) !important;
    border-radius: 0 0 18px 18px !important;
    box-shadow: 0 20px 45px rgba(18,13,49,.28) !important;
    z-index: 1000 !important;
  }

  .prhV5Shell .prhV5CleanNav #menu.open {
    display: flex !important;
  }

  .prhV5Shell .prhV5CleanNav #menu > .link,
  .prhV5Shell .prhV5CleanNav #menu > .btn,
  .prhV5Shell .prhV5CleanNav #menu .prhV5GroupLink,
  .prhV5Shell .prhV5CleanNav #menu .prhV5TextToggle {
    display: flex !important;
    align-items: center;
    min-height: 44px !important;
    padding: 10px 12px !important;
    margin: 0 !important;
    width: auto !important;
    color: #f7f5ff !important;
    -webkit-text-fill-color: #f7f5ff !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    background: transparent !important;
    border: 0 !important;
    text-decoration: none !important;
  }

  .prhV5Shell .prhV5CleanNav #menu .prhV5Group {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
  }

  .prhV5Shell .prhV5CleanNav #menu .prhV5GroupLink,
  .prhV5Shell .prhV5CleanNav #menu .prhV5ClientLink {
    flex: 1 1 auto;
  }

  .prhV5Shell .prhV5CleanNav #menu .prhV5Toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: white !important;
  }

  .prhV5Shell .prhV5CleanNav #menu .prhV5TextToggle {
    width: 100% !important;
    justify-content: space-between;
    flex: 1;
  }

  .prhV5Shell .prhV5CleanNav #menu .prhV5Toggle::after {
    content: "" !important;
    width: 7px !important;
    height: 7px !important;
    border-right: 2px solid #ded2ff !important;
    border-bottom: 2px solid #ded2ff !important;
    transform: rotate(45deg) !important;
  }

  .prhV5Shell .prhV5CleanNav #menu .prhV5Toggle[aria-expanded="true"]::after {
    transform: rotate(225deg) !important;
  }

  .prhV5Shell .prhV5CleanNav #menu .prhV5Dropdown {
    display: none !important;
    position: static !important;
    flex: 0 0 100%;
    width: 100% !important;
    padding: 8px !important;
    margin: 4px 0 8px !important;
    background: white !important;
    border: 1px solid #e9e5f2 !important;
    border-radius: 13px !important;
    box-shadow: 0 12px 30px rgba(10,8,35,.15) !important;
  }

  .prhV5Shell .prhV5CleanNav #menu .prhV5Toggle[aria-expanded="true"] + .prhV5Dropdown {
    display: flex !important;
    flex-direction: column;
  }

  .prhV5Shell .prhV5CleanNav #menu .prhV5Dropdown a {
    display: flex !important;
    padding: 12px !important;
    color: #201a3b !important;
    -webkit-text-fill-color: #201a3b !important;
    font-size: 14px !important;
    text-decoration: none !important;
  }

  .prhV5Shell .prhV5CleanNav #menu .prhV5ClientLink {
    display: inline-flex !important;
    align-items: center;
    padding: 10px 12px !important;
    color: white !important;
    -webkit-text-fill-color: white !important;
    text-decoration: none !important;
  }

  .prhV5Shell .prhV5CleanNav #menu .prhCartBtn {
    background: linear-gradient(135deg,#ff7c4e,#ff506d) !important;
    border-radius: 12px !important;
    justify-content: center;
    color: white !important;
    -webkit-text-fill-color: white !important;
  }
}


/* PRH_V5_BRAND_POLISH */

@media (min-width: 901px) {

  /* Brand is positioned inside the existing middle strip. */
  .prhV5Shell .prhV5CleanNav .prhNavBrand {
    position: absolute !important;
    top: -82px !important;
    left: max(26px, calc((100% - 1268px)/2)) !important;

    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: auto !important;
    height: 76px !important;
    min-height: 0 !important;

    gap: 13px !important;
    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
    z-index: 10 !important;
    text-decoration: none !important;
  }

  .prhV5Shell .prhV5CleanNav .prhNavBrand .logo {
    position: relative !important;
    display: block !important;

    width: 52px !important;
    height: 52px !important;

    min-width: 52px !important;
    min-height: 52px !important;

    max-width: 52px !important;
    max-height: 52px !important;

    flex: 0 0 52px !important;
    aspect-ratio: 1 / 1 !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 14px !important;
    overflow: hidden !important;

    background-image: url("/assets/prh-datacenter-logo.webp?v=300") !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;

    box-shadow:
      0 0 0 1px rgba(60,110,170,.12),
      0 5px 15px rgba(24,86,145,.17) !important;

    transform: none !important;
    animation: none !important;
  }

  /* Remove the old animated scanning effect. */
  .prhV5Shell .prhV5CleanNav .prhNavBrand .logo::before,
  .prhV5Shell .prhV5CleanNav .prhNavBrand .logo::after {
    content: none !important;
    display: none !important;
    animation: none !important;
  }

  .prhV5Shell .prhV5CleanNav .prhNavBrand > div:last-child {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;

    gap: 4px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .prhV5Shell .prhV5CleanNav #brand {
    display: block !important;

    font-size: 23px !important;
    font-weight: 850 !important;
    line-height: 1.1 !important;
    letter-spacing: -.45px !important;

    color: #102B50 !important;
    -webkit-text-fill-color: #102B50 !important;

    white-space: nowrap !important;
    opacity: 1 !important;
  }

  .prhV5Shell .prhV5CleanNav #tagline {
    display: block !important;

    font-size: 10px !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    letter-spacing: 1px !important;

    color: #078da5 !important;
    -webkit-text-fill-color: #078da5 !important;

    white-space: nowrap !important;
    opacity: 1 !important;
  }

  /* Readable premium support strip. */
  .prhV5Top {
    font-size: 13px !important;
    font-weight: 600 !important;
  }

  .prhV5Top .prhV5Container {
    min-height: 40px !important;
  }

  .prhV5Top a,
  .prhV5Top span {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #f7f5ff !important;
  }

  .prhV5Top a:hover {
    color: #d7c7ff !important;
  }

  .prhV5Assistance small {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #465575 !important;
  }

  .prhV5Assistance strong {
    font-size: 14px !important;
    font-weight: 750 !important;
    color: #18223f !important;
  }
}

@media (max-width: 900px) {

  .prhV5Shell .prhV5CleanNav .prhNavBrand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  .prhV5Shell .prhV5CleanNav .prhNavBrand .logo {
    position: relative !important;
    display: block !important;

    width: 44px !important;
    height: 44px !important;

    min-width: 44px !important;
    min-height: 44px !important;

    max-width: 44px !important;
    max-height: 44px !important;

    flex: 0 0 44px !important;
    aspect-ratio: 1 / 1 !important;

    border-radius: 12px !important;
    overflow: hidden !important;

    background-image: url("/assets/prh-datacenter-logo.webp?v=300") !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;

    transform: none !important;
    animation: none !important;
  }

  .prhV5Shell .prhV5CleanNav .prhNavBrand .logo::before,
  .prhV5Shell .prhV5CleanNav .prhNavBrand .logo::after {
    content: none !important;
    display: none !important;
  }

  .prhV5Shell .prhV5CleanNav #brand {
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }

  .prhV5Shell .prhV5CleanNav #tagline {
    font-size: 8px !important;
    font-weight: 700 !important;
    letter-spacing: .5px !important;
    color: #d7c7ff !important;
    -webkit-text-fill-color: #d7c7ff !important;
    opacity: 1 !important;
  }
}
