:root {
  color-scheme: light;
  --bg: #fff;
  --surface: #fff;
  --surface-dark: #fff;
  --border: #ececec;
  --text: #494949;
  --muted: #9a9a9a;
  --blue: #5d9dbd;
  --blue-bright: #2e2e2e;
  --orange: #5d9dbd;
}

body {
  background: var(--bg);
  color: var(--text);
  font-family: "Roboto", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.75;
}

a { color: #4f91b3; }
a:hover, a:focus-visible { color: #222; }

.site-header {
  border-top: 4px solid #222;
  background: #fff;
  box-shadow: 0 1px 8px rgba(0, 0, 0, .08);
}

.addohms-header-inner {
  display: flex;
  align-items: center;
  min-height: 104px;
  gap: 22px;
}

.brand { flex: 0 1 410px; margin-right: auto; }
.brand img { width: min(410px, 100%); max-height: 82px; object-fit: contain; object-position: left center; }
.brand span { color: #222; font-size: 42px; }

.primary-nav { height: auto; background: transparent; }
.menu { display: flex; align-items: center; width: auto; height: auto; margin: 0; padding: 0; }
.menu-item > a {
  height: auto;
  padding: 16px 15px;
  color: #525252;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
}
.menu-item:hover > a, .menu-item:focus-within > a { color: #111; }
.submenu { top: 48px; background: #fff; border: 1px solid #eee; }
.submenu a { color: #525252; }

.social-nav { display: flex; align-items: center; gap: 15px; }
.social-nav a { color: #777; }
.social-nav a:hover { color: #111; }
.site-search { display: flex; align-items: center; justify-content: center; width: 24px; height: 44px; margin-left: 0; color: #777; }
.site-search:hover, .site-search:focus-visible { color: #111; }
.mobile-toggle { display: none; }

.search-header p { margin: 6px 0 0; color: #777; }
.pagefind-search { min-height: 360px; }
.pagefind-search pagefind-input { display: block; margin-bottom: 12px; }
.pagefind-search pagefind-summary { display: block; margin: 0 0 16px; color: #777; font-size: 14px; }
.pagefind-search pagefind-results { display: block; }

.site-main {
  grid-template-columns: minmax(0, 770px) minmax(280px, 335px);
  column-gap: 45px;
  margin-top: 65px;
}
.main-content { padding-inline: 0; }
.post-card {
  margin-bottom: 48px;
  padding: 30px;
  border: 1px solid #f1f1f1;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .04);
}
.post-meta { color: var(--muted); }
.post-meta .category { color: var(--blue); }
.date-link, .post-meta time { color: var(--muted); }
.post-title, .archive-header h1, .post-content h2, .post-content h3, .post-content h4 { color: #222; }
.post-title { margin-bottom: 24px; }
.post-title a:hover { color: var(--blue); }
.post-summary, .post-content, .post-summary p { color: var(--text); }
.featured-image, .featured-video { margin-inline: -30px; }
.post-content blockquote { color: #555; }

.sidebar {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.widget { margin-bottom: 42px; }
.widget-title { margin-bottom: 22px; color: #222; font-size: 18px; font-weight: 700; }
.link-list { padding-left: 18px; }
.link-list li { color: #777; }
.taxonomy-list { padding-left: 0; }
.taxonomy-list li { padding: 9px 0; border-bottom: 1px solid #eee; }
.taxonomy-list li::before { content: "○"; margin-right: 10px; color: var(--blue); }
.taxonomy-list a { margin-right: auto; color: #555; }
.recent-posts a { color: #444; }
.recent-posts span { color: var(--muted); }

.archive-header { background: #fafafa; }
.pagination { background: #fafafa; }
.site-footer { background: #222; }
.footer-rule { height: 90px; border-bottom-color: #333; }
.footer-main { min-height: 225px; }
.footer-social a { color: #bbb; }

@media (max-width: 1050px) {
  .addohms-header-inner { gap: 12px; }
  .brand { flex-basis: 310px; }
  .menu-item > a { padding-inline: 10px; font-size: 13px; }
  .social-nav { gap: 10px; }
}

@media (max-width: 760px) {
  .addohms-header-inner { position: relative; min-height: 84px; flex-wrap: wrap; padding-block: 12px; }
  .brand { flex: 1 1 calc(100% - 50px); }
  .brand img { max-height: 58px; }
  .mobile-toggle { display: grid; order: 2; margin: 0; }
  .primary-nav { order: 5; display: none; width: 100%; border-top: 1px solid #eee; }
  .primary-nav.is-open { display: block; }
  .menu { display: block; width: 100%; }
  .menu-item > a { height: 46px; padding: 0 6px; border-bottom: 1px solid #eee; line-height: 46px; }
  .social-nav { order: 3; display: none; }
  .site-search { order: 4; }
  .site-main { width: 100%; margin-top: 45px; padding-inline: 22px; }
  .post-card { padding: 22px 0; border: 0; box-shadow: none; }
  .featured-image, .featured-video { margin-inline: 0; }
}
