:root {
  --vh-bg: #182337;
  --vh-panel: rgba(41, 54, 75, 0.82);
  --vh-panel-strong: rgba(48, 63, 87, 0.92);
  --vh-line: rgba(182, 204, 231, 0.13);
  --vh-text: #d8e5f3;
  --vh-muted: #94a6bb;
  --vh-accent: #38bdf8;
}

html,
body {
  background: radial-gradient(circle at 12% 0%, rgba(14, 116, 144, 0.2), transparent 32%),
    linear-gradient(180deg, #172236 0%, #1a2538 46%, #172236 100%) fixed !important;
}

body {
  letter-spacing: 0 !important;
}

#inner_wrapper > .container {
  max-width: 1760px !important;
  width: calc(100% - 7rem) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#information-widgets {
  width: 100% !important;
  padding: 1.5rem 0 1.15rem !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(207, 224, 242, 0.42) !important;
}

#widgets-wrap {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: minmax(410px, 1.1fr) minmax(520px, 1.8fr) minmax(330px, 0.9fr) !important;
  gap: 1rem !important;
  align-items: center !important;
}

#widgets-wrap > .flex.flex-col {
  width: 100% !important;
  max-width: none !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.85rem !important;
  padding: 0.65rem 0.9rem !important;
  border: 1px solid var(--vh-line) !important;
  border-radius: 10px !important;
  background: rgba(31, 43, 62, 0.58) !important;
}

#widgets-wrap > .flex.flex-col > .flex,
#widgets-wrap > .flex.flex-col .flex-none {
  min-width: 0 !important;
}

#widgets-wrap > .flex.flex-col .ml-3 {
  margin-left: 0.45rem !important;
}

#information-widgets-right {
  grid-column: span 2 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(420px, 1fr) auto auto !important;
  gap: 1rem !important;
  align-items: center !important;
  justify-content: stretch !important;
}

#information-widgets-right > * {
  margin: 0 !important;
}

#information-widgets-right form,
#information-widgets-right input {
  width: 100% !important;
  max-width: none !important;
}

#information-widgets-right form {
  border-radius: 10px !important;
  background: rgba(8, 80, 115, 0.72) !important;
  border: 1px solid rgba(125, 211, 252, 0.22) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.13) !important;
}

#information-widgets-right input {
  color: var(--vh-text) !important;
}

#information-widgets-right input::placeholder {
  color: #9ab0c7 !important;
}

#information-widgets-right .flex.flex-col.justify-center {
  min-width: 210px !important;
  padding: 0.5rem 0.75rem !important;
  border-radius: 10px !important;
  background: rgba(31, 43, 62, 0.5) !important;
  border: 1px solid var(--vh-line) !important;
}

main,
#services {
  padding-top: 0 !important;
}

#services {
  width: 100% !important;
  margin: 1.45rem 0 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
  align-items: start !important;
}

#services .services-group {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: unset !important;
  flex-basis: auto !important;
}

#services .services-group > button {
  height: 2rem !important;
  padding: 0 0.05rem !important;
}

#services h2 {
  color: var(--vh-text) !important;
  font-size: 1.08rem !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

#services ul {
  margin-top: 0.55rem !important;
  gap: 0.55rem !important;
}

#services li.service > div {
  margin-bottom: 0 !important;
  padding: 0 !important;
}

#services li.service .flex.select-none {
  min-height: 4.4rem !important;
  border: 1px solid rgba(148, 163, 184, 0.08) !important;
  border-radius: 10px !important;
  background: var(--vh-panel) !important;
  box-shadow: 0 10px 24px rgba(5, 10, 20, 0.12) !important;
  transition: transform 140ms ease, background 140ms ease, border-color 140ms ease !important;
}

#services li.service .flex.select-none:hover {
  transform: translateY(-1px) !important;
  background: var(--vh-panel-strong) !important;
  border-color: rgba(125, 211, 252, 0.2) !important;
}

#services li.service img,
#services li.service svg {
  max-width: 2.35rem !important;
  max-height: 2.35rem !important;
}

#services li.service a .px-2 {
  padding-left: 0.8rem !important;
  padding-right: 0.8rem !important;
}

#services li.service .font-medium,
#services li.service .text-sm {
  color: var(--vh-text) !important;
}

#services li.service .text-xs,
#services li.service .description {
  color: var(--vh-muted) !important;
}

#services [class*="status"] {
  border-radius: 999px !important;
}

footer {
  opacity: 0.72 !important;
}

@media (max-width: 1280px) {
  #inner_wrapper > .container {
    width: calc(100% - 3rem) !important;
  }

  #widgets-wrap,
  #information-widgets-right,
  #services {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #information-widgets-right {
    grid-column: auto !important;
  }
}

@media (max-width: 760px) {
  #inner_wrapper > .container {
    width: calc(100% - 1.25rem) !important;
  }

  #widgets-wrap,
  #information-widgets-right,
  #services {
    grid-template-columns: 1fr !important;
  }

  #widgets-wrap > .flex.flex-col {
    flex-wrap: wrap !important;
  }
}

/* Final width guard for fullWidth Homepage mode. */
#inner_wrapper > div.relative.m-auto {
  max-width: 1760px !important;
  width: min(1760px, calc(100% - 5rem)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#information-widgets,
#services {
  max-width: 100% !important;
}

#services {
  grid-template-columns: repeat(4, minmax(260px, 1fr)) !important;
}

@media (max-width: 1500px) {
  #inner_wrapper > div.relative.m-auto {
    width: calc(100% - 3rem) !important;
  }

  #services {
    grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
  }
}
