/*
Theme Name: Christopher Lilleorg
Theme URI: https://christopher-lilleorg.com
Author: Christopher Lilleorg
Description: Custom theme for Christopher Lilleorg
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: christopher-lilleorg
*/

html {
  scroll-behavior: smooth;
}

body * {
  box-sizing: border-box;
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: var(--sizes-header-height);
  padding: var(--padding);

  display: flex;
  justify-content: space-between;
  align-items: center;

  text-transform: uppercase;
  line-height: var(--font-line-height-heading);

  background-color: var(--color-dark);

  z-index: 999;
}

.site-footer {
  position: relative;
  top: var(--sizes-header-height);
  min-height: calc(50dvh - var(--sizes-header-height));
  padding: var(--padding);

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--padding);
}

.footer__links {
  line-height: var(--font-line-height-body);
  text-transform: uppercase;
}

main {
  position: relative;
  top: var(--sizes-header-height);
}

.index__header {
  position: sticky;
  top: var(--sizes-header-height);
  width: 100%;
  min-height: calc(50dvh - var(--sizes-header-height));
  padding: var(--padding);
  padding-top: 0;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--padding);
}

.index__services-list {
  position: relative;

  font-family: var(--font-times);
  font-size: var(--font-size-heading);
  letter-spacing: var(--font-tracking-heading);
  line-height: var(--font-line-height-heading);
}

.index__content {
  position: relative;
  max-width: 70ch;

  font-family: var(--font-times);
  font-size: var(--font-size-body);
  letter-spacing: var(--font-tracking-body);
}

.index__works {
  position: relative;
  padding: var(--padding-lg) var(--padding);

  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--padding);

  background-color: var(--color-dark);
  z-index: 1;
}

.works__heading {
  position: sticky;
  top: var(--sizes-header-height);
}

.index__works-feed {
  position: relative;
  grid-column: 2/4;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--padding);
  row-gap: var(--padding-lg);
}

.works__project-card {
  position: relative;

  display: flex;
  flex-flow: column;
  gap: var(--padding-sm);
}

.project-card__title {
  text-transform: uppercase;
}

.project-card__image-container {
  width: 100%;
  height: auto;
  aspect-ratio: 1;

  overflow: hidden;
}

.project-card__image {
  position: relative;
  width: 100%;
  height: 100%;
  aspect-ratio: 1;

  object-fit: cover;
  filter: brightness(150%) contrast(10000%) grayscale(100%) invert(1) blur(2px);
}

.project-card__image:hover {
  /* filter: none; */
}

.article {
  position: relative;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.article__information {
  position: sticky;
  top: var(--sizes-header-height);
  height: var(--sizes-content-height);
  width: 100%;
  padding: var(--padding);
  padding-top: 0;

  display: flex;
  flex-flow: column;
  justify-content: space-between;
  gap: var(--padding);
}

.article__header {
  display: flex;
  flex-flow: column;
  gap: var(--padding);
}

.article__footer {
  position: relative;
  width: 100%;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--padding);
}

.footer__year {
  align-self: flex-end;
}

.article__content {
  font-family: var(--font-times);
  font-size: var(--font-size-body);
  letter-spacing: var(--font-tracking-body);
  line-height: var(--font-line-height-body);
}

.article__gallery {
  width: 100%;
  padding: var(--padding);
  padding-top: 0;

  display: flex;
  flex-flow: column;
  gap: var(--padding-sm);
}

.gallery__img {
  width: 100%;
  object-fit: contain;
}

@media screen and (width < 1000px) {
  .index__header {
    position: relative;
    top: 0;
    min-height: calc(100dvh - var(--sizes-header-height));
  }

  .index__header,
  .site-footer {
    justify-content: space-between;
  }

  .index__header,
  .index__works,
  .index__works-feed,
  .site-footer {
    display: flex;
    flex-flow: column;

    /* grid-template-columns: 1fr; */
  }

  .index__works-feed {
    grid-area: unset;
  }

  .works__heading {
    position: relative;
    top: 0;
  }
}
