:root {
  --iespn-blue: #1b377a;
  --iespn-blue-light: #0677c7;
  --iespn-green: #2f8f2f;
  --cassiopeia-color-primary: var(--iespn-blue);
  --cassiopeia-color-link: #075da8;
  --cassiopeia-color-hover: #18346f;
  --body-font-family: Tahoma, Arial, Helvetica, sans-serif;
  --body-font-size: 1rem;
}

body {
  background: #eef1f6;
  color: #222;
}

.site-grid {
  background: #fff;
  box-shadow: 0 0 1.5rem rgb(18 44 90 / 10%);
}

.container-header {
  background: linear-gradient(135deg, #142f72 0%, var(--iespn-blue) 56%, #075f9f 100%);
  box-shadow: 0 0.2rem 1rem rgb(0 0 0 / 18%);
}

.container-header .grid-child {
  max-width: 1120px;
}

.container-header .navbar-brand {
  width: min(100%, 900px);
  padding-block: 0.75rem;
}

.container-header .brand-logo img {
  width: min(100%, 900px);
  height: auto;
  max-height: 179px;
  object-fit: contain;
  object-position: left center;
}

.container-header .container-nav {
  padding-block: 0.25rem 0.5rem;
}

.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span {
  border-radius: 0.25rem;
  color: #fff;
  padding: 0.55rem 0.75rem;
}

.container-header .mod-menu > li.active > a,
.container-header .mod-menu > li > a:hover,
.container-header .mod-menu > li > a:focus-visible {
  background: rgb(255 255 255 / 16%);
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
.card-header {
  color: var(--iespn-blue);
}

.card,
.moduletable,
.blog-item,
.item-page {
  border-radius: 0.35rem;
}

.btn-primary {
  --btn-bg: var(--iespn-blue);
  --btn-border-color: var(--iespn-blue);
}

.footer {
  background: var(--iespn-blue);
  color: #fff;
}

.footer a {
  color: #fff;
}

.phoca-dl-category-box,
.pd-category,
.pd-filebox {
  border-color: #d8deea;
  border-radius: 0.35rem;
}

.iespn-gallery,
.iespn-slider-gallery {
  display: grid;
  grid-auto-columns: minmax(220px, 34%);
  grid-auto-flow: column;
  gap: 0.75rem;
  margin-block: 1rem;
  overflow-x: auto;
  padding: 0 0 0.75rem;
  scroll-snap-type: x mandatory;
}

.iespn-gallery-card,
.iespn-slide {
  background: #fff;
  border: 1px solid #d8deea;
  border-radius: 0.35rem;
  box-shadow: 0 0.2rem 0.75rem rgb(18 44 90 / 8%);
  color: inherit;
  overflow: hidden;
  scroll-snap-align: start;
  text-decoration: none;
}

.iespn-gallery-card:hover,
.iespn-gallery-card:focus-visible,
.iespn-slide:hover,
.iespn-slide:focus-within {
  border-color: var(--iespn-blue-light);
  color: inherit;
  text-decoration: none;
}

.iespn-gallery-card img,
.iespn-slide img {
  aspect-ratio: 4 / 3;
  display: block;
  object-fit: cover;
  width: 100%;
}

.iespn-gallery-copy {
  display: block;
  padding: 0.7rem 0.8rem 0.85rem;
}

.iespn-slide {
  margin: 0;
}

.iespn-slide figcaption {
  display: block;
  padding: 0.7rem 0.8rem 0.85rem;
}

.iespn-slide figcaption > strong {
  color: var(--iespn-blue);
  display: block;
  margin-bottom: 0.25rem;
}

.iespn-gallery-title {
  color: var(--iespn-blue);
  display: block;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.iespn-gallery-description {
  display: block;
  font-size: 0.9rem;
}

@media (max-width: 767.98px) {
  .container-header .navbar-brand {
    padding-block: 0.5rem;
  }

  .container-header .brand-logo img {
    min-height: 72px;
    object-fit: contain;
  }

  .iespn-gallery,
  .iespn-slider-gallery {
    grid-auto-columns: minmax(210px, 82%);
  }
}
