.current {
  color: green;
}

html {
  background-color: #EFEEEF;
}

body {
  background-color: #E6EDF5;
  color: #0B1F3A;
  font-family: "Montserrat", sans-serif;
  margin: 0;
  padding: 0;
  font-size: 16px;
  max-width: 1199px;
  margin: 0 auto;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto 1fr auto;
  grid-template-areas: "header" "content" "footer";
  gap: 0;
  min-height: 100vh;
}

h1,
h2,
h3 {
  color: #0B1F3A;
  margin-top: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}

h1 {
  font-size: 1.4rem;
}

h2 {
  font-size: 1.2rem;
}

h3 {
  font-size: 1.1rem;
}

a {
  color: #4FA3FF;
  text-decoration: none;
  transition: color 0.3s ease;
}
a:hover, a:focus {
  color: hsl(211.3636363636, 100%, -14.5098039216%);
}

header {
  background-color: #f8f8f8;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-columns: 1fr auto;
}

header.main {
  padding: 0 1rem;
  grid-area: header;
}
header.main nav {
  text-align: right;
  align-self: anchor-center;
}
header.main nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
header.main nav ul li {
  display: inline-block;
  margin: 0;
  padding: 0;
}
header.main nav ul li a {
  text-decoration: none;
  color: #0B1F3A;
  font-weight: 500;
  font-size: 1.1rem;
  padding: 0.5rem 1rem;
  transition: color 0.3s ease;
  position: relative;
}
header.main nav ul li a:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.1em;
  background-color: #4FA3FF;
  opacity: 0;
  transition: opacity 300ms, transform 300ms;
}
header.main nav ul li a:hover, header.main nav ul li a:focus, header.main nav ul li a.current {
  color: #4FA3FF;
}
header.main nav ul li a:hover:after, header.main nav ul li a:focus:after, header.main nav ul li a.current:after {
  opacity: 1;
  transform: translate3d(0, 0.2em, 0);
}
header.main .hamburger-btn {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  align-self: anchor-center;
  color: #0B1F3A;
  font-size: 1.5rem;
  transition: color 0.3s ease;
}
header.main .hamburger-btn:hover, header.main .hamburger-btn:focus {
  color: #4FA3FF;
}
header.main .logo > a {
  text-transform: uppercase;
  text-decoration: none;
  color: #0B1F3A;
  letter-spacing: 1px;
  display: grid;
  grid-template: auto/auto;
  grid-template-areas: "icon title";
  align-items: anchor-center;
  width: 28rem;
}
header.main .logo > a > span {
  grid-area: title;
  display: grid;
  grid-template-rows: auto auto;
  align-items: anchor-center;
}
header.main .logo > a > span .main {
  font-weight: 400;
  font-size: 1.6rem;
}
header.main .logo > a > span .main strong {
  font-weight: 900;
  letter-spacing: 2px;
}
header.main .logo > a > span .main .sub {
  grid-area: subtitle;
  font-size: 1.3rem;
}
header.main {
  /* Responsive styles for screens 760px and wider */
}
@media (min-width: 760px) {
  header.main {
    padding: 0 1rem;
  }
  header.main .logo > a {
    width: 28rem;
  }
  header.main .logo > a > span .main {
    font-size: 1.6rem;
  }
  header.main .logo > a > span .main .sub {
    font-size: 1.3rem;
  }
  header.main nav {
    display: block !important;
  }
  header.main .hamburger-btn {
    display: none !important;
  }
}
header.main {
  /* Responsive styles for screens under 760px */
}
@media (max-width: 759px) {
  header.main {
    position: relative;
    padding: 0 0.5rem;
    grid-template-columns: 1fr auto;
  }
  header.main .logo > a {
    width: auto;
  }
  header.main .logo > a img {
    max-width: 40px;
  }
  header.main .logo > a > span .main {
    font-size: 0.9rem;
  }
  header.main .logo > a > span .main strong {
    letter-spacing: 1px;
  }
  header.main .logo > a > span .main .sub {
    font-size: 0.7rem;
    display: block;
  }
  header.main nav {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    background-color: #f8f8f8;
    border-top: 1px solid #ddd;
    text-align: left;
    z-index: 1000;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }
  header.main nav.active {
    display: block;
  }
  header.main nav ul {
    flex-direction: column;
  }
  header.main nav ul li {
    display: block;
    border-bottom: 1px solid #eee;
  }
  header.main nav ul li a {
    display: block;
    padding: 1rem;
    font-size: 1rem;
  }
  header.main nav ul li a:after {
    display: none;
  }
  header.main .hamburger-btn {
    display: block;
  }
}

article, .card, aside {
  background-color: #FFFFFF;
  padding: 1rem;
  margin: 2rem 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  position: relative;
}
article:first-of-type, .card:first-of-type, aside:first-of-type {
  margin-top: 0;
}

article, aside {
  display: grid;
  padding: 0;
}
article header, aside header {
  padding: 1rem;
  box-sizing: border-box;
  top: 0;
  left: 0;
  width: 100%;
  display: grid;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  align-items: anchor-center;
}
article header h1, aside header h1 {
  margin: 0;
  align-self: anchor-center;
}
article .articleContent, aside .articleContent {
  padding: 1rem;
}
article .articleContent img, aside .articleContent img {
  max-width: 100%;
  height: auto;
}
article .articleContent .moreLink, aside .articleContent .moreLink {
  float: right;
}
article .articleContent .info, aside .articleContent .info {
  display: grid;
  grid-template-columns: auto auto;
  gap: 1rem;
  width: auto;
  float: right;
}

.postMainImage {
  display: block;
  overflow: hidden;
}
.postMainImage img {
  width: 100%;
  height: auto;
  display: block;
}

.postMainImageBanner {
  --post-banner-height: 260px;
  max-height: var(--post-banner-height);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.postMainImageBanner img {
  height: var(--post-banner-height);
  object-fit: cover;
}

.postMainImageFigure {
  margin: 0 0 1rem;
}
.postMainImageFigure figcaption {
  margin-top: 0.4rem;
  font-size: 0.9rem;
  color: rgb(27.2608695652, 76.8260869565, 143.7391304348);
}

.postMainImageFloatRight {
  float: right;
  width: min(42%, 320px);
  margin: 0 0 1rem 1rem;
}
.postMainImageFloatRight img {
  border-radius: 8px;
}

.postGallery {
  margin-top: 1.25rem;
  clear: both;
}

.inlineImageFigure {
  margin: 1rem 0;
  display: inline-block;
  max-width: 100%;
}
.inlineImageFigure img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}
.inlineImageFigure figcaption {
  margin-top: 0.4rem;
  font-size: 0.9rem;
  color: rgb(27.2608695652, 76.8260869565, 143.7391304348);
  text-align: center;
  font-style: italic;
}

article header {
  background-color: #0B1F3A;
  color: #FFFFFF;
}
article header h1 {
  color: #FFFFFF;
}
article header a {
  color: #FFFFFF;
}
article header a:hover, article header a:focus {
  color: #4FA3FF;
}

.buttonLink {
  padding: 0.5rem 1rem;
  background-color: rgb(27.2608695652, 76.8260869565, 143.7391304348);
  color: #FFFFFF;
  border-radius: 5px;
  font-size: 0.9rem;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
.buttonLink:hover, .buttonLink:focus {
  background-color: rgb(35.3913043478, 99.7391304348, 186.6086956522);
  color: white;
}

.contentArea,
.main-no-side {
  grid-area: content;
  margin: 0;
  padding: 1rem;
}

.contentArea {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 1rem;
}
@media (max-width: 779px) {
  .contentArea {
    grid-template-columns: 1fr;
  }
}

.prevNext {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "prev next";
}

.nextPrevButton {
  max-width: 50%;
  display: grid;
  column-gap: 0.5rem;
  grid-template-areas: "icon text" "icon title";
}
.nextPrevButton.prev {
  grid-area: prev;
  justify-self: start;
  text-align: left;
}
.nextPrevButton.next {
  grid-area: next;
  text-align: right;
  justify-self: end;
  grid-template-areas: "text icon" "title icon";
}
.nextPrevButton.next span:first-of-type, .nextPrevButton.prev span:first-of-type {
  grid-area: text;
}
.nextPrevButton.next span:last-of-type, .nextPrevButton.prev span:last-of-type {
  grid-area: title;
}
.nextPrevButton.next i, .nextPrevButton.prev i {
  grid-area: icon;
  font-size: 1.2rem;
  align-self: anchor-center;
}

.latest h2 {
  margin-left: 1rem;
}

.quickLinks ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.quickLinks ul li {
  margin-bottom: 0.5rem;
}

.postlist ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.postlist ul li {
  margin-bottom: 1rem;
}
.postlist ul li small {
  display: block;
  color: #A8B3C7;
  font-size: 0.8rem;
}
.postlist .postlist-year {
  font-weight: 700;
  font-size: 1.2rem;
  margin-top: 1rem;
}
.postlist .postlist-year:first-of-type {
  margin-top: 0;
}
.postlist .postlist-month {
  font-weight: 500;
  font-size: 1rem;
  margin-top: 0.5rem;
}
.postlist .postlist-post {
  margin-top: 0.5rem;
}
.postlist .postlist-post::before {
  content: "-";
  color: #4FA3FF;
  display: inline-block;
  margin-right: 0.5rem;
}

* > p:first-of-type {
  margin-top: 0;
}

.tag {
  display: inline-block;
  background-color: #4FA3FF;
  color: #FFFFFF;
  padding: 0.2rem 0.5rem;
  border-radius: 5px;
  font-size: 0.8rem;
  margin-left: 0.5rem;
  text-decoration: none;
  transition: background-color 0.3s ease;
  text-transform: uppercase;
}
.tag a, .tag a:hover, .tag a:focus {
  color: white;
}
.tag.small {
  font-size: 0.5rem;
  padding: 0.2rem 0.3rem;
}

footer {
  box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
  grid-area: footer;
  background-color: #0B1F3A;
  color: white;
  text-align: center;
  padding: 1rem;
  font-size: 0.9rem;
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto;
  grid-template-areas: "copyright social-icons";
  align-items: center;
  text-align: left;
}
footer .social-media {
  grid-area: "social-icons";
  text-align: right;
}
footer .social-media a {
  grid-area: copyright;
  color: #FFFFFF;
  text-decoration: none;
  margin-left: 0.5rem;
  transition: color 0.3s ease;
  display: inline-grid;
  grid-template-columns: auto auto;
  align-items: anchor-center;
}
footer .social-media a:hover {
  color: #4FA3FF;
}
footer .social-media a i {
  font-size: 1.5rem;
}

.imageGallery {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.imageGallery li {
  width: 100px;
  height: 100px;
}
.imageGallery a {
  display: block;
  border-radius: 6px;
  overflow: hidden;
  cursor: zoom-in;
}
.imageGallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lightboxTrigger {
  cursor: zoom-in;
}

.lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: clamp(0.75rem, 2vw, 1.5rem);
  overflow: auto;
}
.lightbox:target {
  display: flex;
}

.lightboxBackdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.78);
}

.lightboxContent {
  position: relative;
  z-index: 1;
  margin: 0;
  width: min(92vw, 1100px);
  max-width: 100%;
}
.lightboxContent img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(100dvh - 9rem);
  object-fit: contain;
  border-radius: 10px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
  background: transparent;
  opacity: 1;
  filter: none;
  margin: 0 auto;
}
.lightboxContent figcaption {
  margin-top: 0.6rem;
  color: #fff;
  font-size: 0.95rem;
  text-align: center;
}

.lightboxClose {
  position: absolute;
  top: max(0.75rem, env(safe-area-inset-top));
  right: max(0.75rem, env(safe-area-inset-right));
  z-index: 2;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  color: #111;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 1.5rem;
  line-height: 1;
}

.lightboxNav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: #111;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 1.35rem;
  line-height: 1;
}

.lightboxPrev {
  left: max(0.75rem, env(safe-area-inset-left));
}

.lightboxNext {
  right: max(0.75rem, env(safe-area-inset-right));
}

@media (max-width: 700px) {
  .postMainImageBanner {
    --post-banner-height: 180px;
  }
  .postMainImageFloatRight {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 1rem;
  }
  .lightboxContent {
    width: 100%;
  }
  .lightboxContent img {
    max-height: calc(100dvh - 8rem);
  }
  .lightboxNav {
    width: 2.25rem;
    height: 2.25rem;
    font-size: 1.15rem;
  }
}

/*# sourceMappingURL=styles.css.map */