/* @Note 
 * import fonts from external sources first, make sure
 * you specify the imported font below inside the 
 * global CSS variables (--font-family-primary etc.)
*/
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

:root {

  /** Global CSS variables */

  --color-bg-primary: hsl(240, 1%, 67%);
  --color-font-primary: hsl(0, 0%, 100%);
  --color-font-link: hsl(288, 100%, 89%);
  --color-font-link-hover: hsl(277, 100%, 50%);

  /* @Note uncomment the following lines to change foreground and background to color */

  /* --color-hue: 20;
  --color-saturation: 10%;
  --color-bg-primary: hsl(var(--color-hue), var(--color-saturation), 80%);
  --color-font-primary: hsl(var(--color-hue), var(--color-saturation), 20%); 
  --color-font-link: hsl(var(--color-hue), var(--color-saturation), 50%); 
  --color-font-link-hover: hsl(var(--color-hue), var(--color-saturation), 60%);  */


  --font-size-base-mobile: 18px;
  --font-size-base-desktop: 20px;
  --font-line-height: 1.3;

  --font-size-base: var(--font-size-base-mobile);
  --font-size-normal: var(--font-size-base);
  --font-size-smaller: calc(var(--font-size-base) * 0.75);
  --font-size-heading: calc(var(--font-size-base) * 1.25);
  --font-size-bigger: calc(var(--font-size-base) * 1.5);
  --font-size-2x: calc(var(--font-size-base) * 2);
  --font-family-primary: "Inter", system-ui, -apple-system, "Helvetica Neue", sans-serif;
  --font-family-seconday: serif;
  --font-family--heading: "Inter", system-ui, -apple-system, "Helvetica Neue", sans-serif;

  /** layout settings */
  --layout-max-width-desktop: 44rem;
  --layout-gap-default: 1rem;
  --box-radius: 0rem;
}


/* 1. Set box-sizing to border-box for all elements */
*,
*::before,
*::after {
  box-sizing: border-box;

  /* @Note uncomment the following lines to enable the div-box-outline view */
  /* outline:2px solid hsl(240, 100%, 50%); */
  /* background: hsl(0, 100%, 50%, .1);  */
}

* {
  max-width: 100%;
  position: relative;
}

/* 2. Remove default margin and padding from common elements */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
dl,
dd,
ul,
ol,
figure,
hr {
  margin: 0;
  padding: 0;
}

/* 3. Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  background: linear-gradient(to bottom,#020111 60%,#20202c 100%);
	background-size: 100%;
	background-repeat: no-repeat;
  
}

body:before{
	content:'';
	position: fixed;
	top: 0;
	bottom: 0;
	width: 100%;
	z-index: -1;
	background: linear-gradient(to right bottom,#020111 10%,#3a3a52 100%);
}


/** core html tags */

body {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-normal);
  font-weight: 400;
  line-height: var(--font-line-height);
  background-color: var(--color-bg-primary);
  color: var(--color-font-primary);

}

main {
  margin: auto;
}

section {
  /* margin: var(--layout-gap-default); */
  padding: calc(var(--layout-gap-default) * 5);
}

footer {
  min-height: 20rem;
}

img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--box-radius);
  opacity: 1;
  transition: opacity 0.3s ease;
  filter: grayscale(100%);
}

img:hover {
  filter: grayscale(0);
  transition: 0.3s ease;
}

h1 {
  --font-size-h-preferred: 12vw;
  --font-size-h-max-scale: 5;
  text-align: center;
  width: 100%;
}

h2 {
  --font-size-h-preferred: var(--font-size-heading);
  --font-size-h-max-scale: 2;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  --font-size-h-min: calc(var(--font-size-base));
  --font-size-h-max: calc(var(--font-size-base) * var(--font-size-h-max-scale, 1));
  font-size: clamp(var(--font-size-h-min), var(--font-size-h-preferred), var(--font-size-h-max));
  font-family: var(--font-family--heading);
  font-weight: 600;
  margin-bottom: calc(var(--layout-gap-default) * 2);
}

h1 {
  font-size: 8em;
  font-family: "gridlite-pe-variable",sans-serif;
  font-variation-settings: 'wght' 900, 'BACK' 1, 'RECT' 1, 'ELSH' 4;
  font-weight: 500;
  text-transform: uppercase;
  color:hsl(300 81% 47%) ;
}

h2 {
  font-size: 2em;
  font-family: "cofo-sans-mono-variable",sans-serif;
  font-variation-settings: 'wght' 638;
  text-transform: uppercase;
  line-height: 110%;
  font-kerning: auto;
}

h3{
  
  font-family: "cofo-sans-variable",sans-serif;
  font-variation-settings: 'wght' 500, 'slnt' -12;
  font-kerning: auto;
  color:hsl(300 81% 47%) ;
}


p {
  margin-bottom: 1rem;
  color: var(--color-font-primary);
}

a {
  color: var(--color-font-link);
  text-decoration: none;
  transition: color 0.25s ease-out;
}

a:hover {
  color: var(--color-font-link-hover);
}

ul {
  list-style: none;
}

ol {
  list-style-type: decimal;
}

li {
  display: list-item;
  text-align: match-parent;
  font-family: "cofo-sans-variable",sans-serif;
  font-variation-settings: 'wght' 500, 'slnt' 0;
  font-size: 0.8em;
  line-height: 110%;
  padding: 2%;
}

.col>ul,
.col>ol {
  list-style: disc;
  list-style-type: disc;
  padding-inline-start: calc(var(--layout-gap-default) * 1);
  padding-inline-end: calc(var(--layout-gap-default) * 4);
  margin-block: calc(var(--layout-gap-default) * 2);
  margin-block-end: calc(var(--layout-gap-default) * 2);
}

figure {
  width: 100%;
}

figure img {
  width: 100%;
  display: block;
}

figcaption {
  font-style: italic;
  font-size: calc(var(--font-size-base) * 0.7);
  margin-top: calc(var(--layout-gap-default) * 0.25);
  margin-bottom: calc(var(--layout-gap-default) * 1);
  max-width: 48rem;
}

ul.imagelist {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  overflow-x: hidden;
  justify-content: space-between;
  gap: var(--layout-gap-default);
  padding: 0;
  margin:0;
}

ul.imagelist li {
  flex: 0 1 calc(50% - calc(var(--layout-gap-default) / 2));
}

ul.imagelist li.full {
  flex-basis: 100%;
}

.gallery {
  list-style: none;
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;

  gap: var(--layout-gap-default);
  justify-content: space-around;
  align-items: center;
  width: 100%;
  min-height: 60vh;
  margin: auto;
}

.gallery>img,
.gallery>figure {
  height: 50vh;
  width: auto;
  object-fit: cover;
  flex: 0 0 auto;
  display: block;
}

.gallery>figure>img {
  height: 100%;
  width: auto;
}

.gallery::-webkit-scrollbar {
  /* Hide scrollbars for a cleaner look */
  display: none;
}

.cover {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

.cover blockquote {
  width: 90%;
  max-width: 90%;
  font-size: var(--font-size-bigger);
  font-family: "thanatos-variable",sans-serif;
  font-variation-settings: 'opsz' 128, 'wght' 100;
  color:hsl(300 81% 47%) ;
}

.cover img,
.cover figure {
  width: auto;
  height: 80vh;
}

footer>nav>ul.overview {
  color: var(--color-font-primary);
  font-size: var(--font-size-normal);
  font-family: var(--font-family-primary);
  padding-block: calc(var(--layout-gap-default) * 2);
  padding-inline: calc(var(--layout-gap-default) * 1);
}

footer>nav>ul.overview>li * {
  text-align: right;
  color:hsl(300 81% 47%) ;
}


footer>nav>ul.prev-next {
  display: flex;
  padding-block: calc(var(--layout-gap-default) * 2);
  padding-inline: calc(var(--layout-gap-default) * 1);
}

footer>nav>ul.prev-next {
  display: flex;
  width: 100%;
  justify-content: space-between;
}



/* @Note Mobile specific styles */
@media (max-width: 639px) {

  .mobile-hide {
    display: none;
  }

  .mobile-title {
    text-align: center;
    font-family: var(--font-family-seconday);
    font-size: var(--font-size-bigger);
    padding-block: calc(var(--layout-gap-default) * 0.5);
  }

  .row {
    flex-direction: column;
  }

  .row>col {
    flex: none;
    width: 100%;
    /* Full width on smaller screens */
  }

  ul.imagelist,
  video {
    padding-block: calc(var(--layout-gap-default) * 2);
  }

  #lightbox {
    display: none;
  }
}



/* kimmie */


.fullwidth {
  width: 100vw;
}

video {
  transition: opacity 0.3s ease;
  filter: grayscale(100%);
}

video:hover {
  filter: grayscale(0);
  transition: 0.3s ease;
}


/* end of kimmie */




















/* @Note Desktop specific styles */
@media (min-width: 640px) {

  :root {
    --font-size-base: var(--font-size-base-desktop);
  }

  header {
    margin-bottom: calc(var(--layout-gap-default) * 4);
  }

  section {
    margin: calc(var(--layout-gap-default) * 2);
  }

  header>ul {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding-block: calc(var(--layout-gap-default) * 1);
    padding-inline: calc(var(--layout-gap-default) * 2);
  }

  header>ul>li {
    display: inline;
    color: var(--color-font-primary);
    font-size: var(--font-size-smaller);
    font-weight: 600;
      font-family: "cofo-sans-mono-variable",sans-serif;
      font-variation-settings: 'wght' 800;
      text-transform: uppercase;
  }


  p {
    width: calc(33vw - 1rem);
    min-width: calc(24rem);
    padding-right: 1rem;
    font-family: "cofo-sans-variable",sans-serif;
    font-variation-settings: 'wght' 200, 'slnt' 0;
    font-size: 0.8em;
    line-height: 160%;
  }

  .mobile-show {
    display: none;
  }

  .row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    width: 100%;
    padding-block: calc(var(--layout-gap-default) * 1);
    margin-bottom: calc(var(--layout-gap-default) * 4);
  }

  .row>.col {
    flex: 1;
  }

  /* Special case: When there are exactly 2 divs */

  /* second div takes 2/3 */
  .row>.spacer,
  .row>.col:nth-child(1):nth-last-child(2) {
    flex: 1;
    padding-right: 10rem;
  }

  /* First div takes 1/3 */
  .row>.col:nth-child(2):nth-last-child(1) {
    flex: 2;
  }
  







  .gallery {
    min-height: 100vh;
    width: 80%;
  }

  .cover blockquote {
    width: 60%;
    max-width: 60%;
    font-family: "thanatos-variable",sans-serif;
    font-variation-settings: 'opsz' 128, 'wght' 100;
    font-size: var(--font-size-2x);
  }

  footer>nav>ul.overview {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin: auto;
    padding-block: calc(var(--layout-gap-default) * 1);
    padding-inline: calc(var(--layout-gap-default) * 2);
    font-family: var(--font-family-primary);
    color: var(--color-font-primary);
  }

  footer>nav>ul.prev-next {
    padding-inline: calc(var(--layout-gap-default) * 2);
    padding-block: calc(var(--layout-gap-default) * 4);
  }

  footer nav>ul.overview>li * {
    text-align: left;
  }
  
  
  /* 1. lightbox
 * click on an image (must implement class="zoom") to go full size 
 * from: https://code-boxx.com/image-zoom-css-javascript
 */

  #lightbox {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    visibility: hidden;
    opacity: 0;
    transition: opacity ease 0.3s;
  }

  #lightbox.show {
    visibility: visible;
    opacity: 1;
  }

  #lightbox img {
    margin: auto;
    width: auto;
    height: 90%;
    object-fit: cover;
    box-shadow: 2rem 2rem 4rem rgb(0, 0, 0, 0.5);
    opacity: 1;
  }

  .zoom {
    cursor: pointer;
  }
}