*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  box-sizing: inherit; 
}
html {
  box-sizing: border-box;
  font-size: 62.5%; 
}

body {
  font-family: "Nunito", sans-serif;
  color: #333;
  font-weight: 300;
  line-height: 1.6; 
}

body * { text-align: center; }

header, footer { 
	background-color: #c0c2d5;
	padding: 2em 1em; 
}
footer {
	border-top: 2px solid #eee;
}
header h2, footer h2 { font-size: 2em; }



.container {
  width: 80%;
  margin: 2rem auto; 
}


img { display: block; width: 100%; height: auto; }

/* body, html { cursor: url('../images/wormCursor.png'), default; }
a:hover { cursor: url('../images/wormCursor_hover.png'), default; } */
::selection { background-color: #2f1e6d; color: #fff; }

/* gallery styles */
.gallery {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: repeat(8, 5vw);
    grid-gap: 15px;
}
.gallery__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
}

	/* gallery items */
.gallery__item1, .gallery__item7 {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 1;
    grid-row-end: 3;
}
.gallery__item2, .gallery__item8 {
    grid-column-start: 3;
    grid-column-end: 5;
    grid-row-start: 1;
    grid-row-end: 3;
}
.gallery__item3, .gallery__item9 {
    grid-column-start: 5;
    grid-column-end: 9;
    grid-row-start: 1;
    grid-row-end: 6;
}
.gallery__item4, .gallery__item10 {
    grid-column-start: 1;
    grid-column-end: 5;
    grid-row-start: 3;
    grid-row-end: 6;
}
.gallery__item5, .gallery__item11 {
    grid-column-start: 1;
    grid-column-end: 5;
    grid-row-start: 6;
    grid-row-end: 9;
}
.gallery__item6, .gallery__item12 {
    grid-column-start: 5;
    grid-column-end: 9;
    grid-row-start: 6;
    grid-row-end: 9;
}


/* hide content visually but display on screen readers */
.screen-reader-only:not(:focus):not(:active), .gallery h3 {
  clip: rect(0 0 0 0); 
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap; 
  width: 1px;
}


h1 { font-size: 8em; margin-bottom: 0; }
h2 { font-size: 4em; }
h3 { font-size: 3em; }


@media (max-width: 767px) {
    
    h1 { font-size: 5em; }
    h2 { font-size: 3em; }
    h3 { font-size: 2em; }
    
    ul { max-width: auto; max-width: 80%; }
}