/* ===GENERAL=== */
* {
  box-sizing: border-box;
  font-family: "Roboto", sans-serif;
  margin: 0;
  padding: 0;
  text-decoration: none;
}

:root {
  --background-dark: #0c333eee;
  --background-medium: #145568ee;
  --background-light: #7ecce2ee;

  --footer-light: #7ecce2;
  --footer-medium: #2499bb;
  --footer-dark: #145568;
  --footer-superdark: #082229;

  --thumbnail-green: #3c8428cc;
  --thumbnail-yellow: #d39205cc;
  --thumbnail-indigo: #085a8acc;
  --thumbnail-orange: #d85f19cc;
  --thumbnail-blue: #3aa2d9cc;
  --thumbnail-turquoise: #23ac8ccc;

  --thumbnail-text-green: #3c8428ee;
  --thumbnail-text-yellow: #d39205ee;
  --thumbnail-text-indigo: #085a8aee;
  --thumbnail-text-orange: #d85f19ee;
  --thumbnail-text-blue: #3aa2d9ee;
  --thumbnail-text-turquoise: #23ac8cee;
}

html {
  font-size: 24px;
  -webkit-font-smoothing: antialiased;
}

body {
  background-attachment: fixed;
  background-image: url(../assets/images/grant-lemons-81205-unsplash.jpg);
  background-position: center center;
  background-size: cover;
}

.background-dark {
  background: var(--background-dark);
}

.background-medium {
  background: var(--background-medium);
}

.background-light {
  background: var(--background-light);
}

p {
  color: var(--footer-superdark);
  line-height: 2em;
  padding: 0 0 1.5em;
  text-align: left;
}

/* ===HEADER=== */

h1 {
  color: white;
  font-size: 80px;
  font-weight: 500;
  margin: 0 0.5em;
  padding: 2em 0 0.15em;
  text-align: center;
}

h2 {
  color: var(--footer-light);
  font-size: 60px;
  font-weight: 100;
  margin: 0 0.5em;
  padding: 0 0 1.5em;
  text-align: center;
}

/* ===MAIN=== */

.main-grid {
  display: grid;
  grid-auto-flow: row;
  grid-gap: 2vw;
  grid-template-columns: repeat(3, 28vw);
  grid-template-rows: repeat(2, 28vw);
  margin: 0 5.5vw;
}

img {
  height: 100%;
}

.thumbnail {
  position: relative;
}

.thumbnail::before {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.thumbnail:hover::before {
  background: none;
}

.thumbnail-text {
  bottom: 0;
  position: absolute;
  text-align: center;
  width: 100%;
}

.thumbnail-title {
  color: white;
  font-size: 20px;
  line-height: 1.5em;
  margin: 1em 0 0 0;
  padding: 0;
  text-align: center;
  text-transform: uppercase;
}

.thumbnail-subtitle {
  color: white;
  font-size: 18px;
  line-height: 1.5em;
  margin: 0 0 1em 0;
  text-align: center;
  padding: 0;
}

.thumbnail1::before {
  background: var(--thumbnail-green);
}

.thumbnail-text1 {
  background: var(--thumbnail-text-green);
}

.thumbnail2::before {
  background: var(--thumbnail-yellow);
}

.thumbnail-text2 {
  background: var(--thumbnail-text-yellow);
}

.thumbnail3::before {
  background: var(--thumbnail-indigo);
}

.thumbnail-text3 {
  background: var(--thumbnail-text-indigo);
}

.thumbnail4::before {
  background: var(--thumbnail-orange);
}

.thumbnail-text4 {
  background: var(--thumbnail-text-orange);
}

.thumbnail5::before {
  background: var(--thumbnail-blue);
}

.thumbnail-text5 {
  background: var(--thumbnail-text-blue);
}

.thumbnail6::before {
  background: var(--thumbnail-turquoise);
}

.thumbnail-text6 {
  background: var(--thumbnail-text-turquoise);
}

.contact {
  padding: 4rem;
}

.contact p {
  color: white;
  font-weight: 400;
  padding: 0 2em 1em;
  text-align: center;
}

.button {
  background-color: var(--footer-light);
  border: none;
  color: var(--footer-superdark);
  cursor: pointer;
  display: block;
  font-size: 0.8rem;
  letter-spacing: 0.07em;
  line-height: 1em;
  margin: auto;
  padding: 1.2em 0 1.2em;
  text-align: center;
  width: 250px;
}

.button:hover {
  color: white;
  background: var(--footer-medium);
  font-weight: 700;
}

/* ===FOOTER=== */

.about-section {
  padding: 3em 200px 0;
}

footer a {
  color: var(--footer-dark);
  font-weight: 700;
}

footer a:hover {
  color: var(--footer-medium);
}

.social-media-section {
  font-size: 2em;
  padding-bottom: 4rem;
  text-align: center;
}

.copyright-section {
  padding: 1rem;
  width: 100%;
}

.copyright {
  color: white;
  font-size: 14px;
  padding: 0;
  text-align: center;
}

/* MEDIA QUERIES */

@media only screen and (min-width: 600px) and (max-width: 900px) {
  .main-grid {
    grid-gap: 4vw;
    grid-template-columns: repeat(2, 42vw);
    grid-template-rows: repeat(3, 42vw);
  }

  html {
    font-size: calc(18px + (24 - 18) * (100vw - 600px) / (900 - 600));
  }

  .about-section {
    padding: 3em calc(20px + (200 - 25) * (100vw - 600px) / (900 - 600)) 0;
  }

  h1 {
    font-size: calc(40px + (80 - 40) * (100vw - 600px) / (900 - 600));
  }

  h2 {
    font-size: calc(30px + (60 - 30) * (100vw - 600px) / (900 - 600));
  }
}

@media only screen and (max-width: 600px) {
  .main-grid {
    grid-gap: 6vw;
    grid-template-columns: repeat(1, 86vw);
    grid-template-rows: repeat(6, 86vw);
    margin: 0 25px;
  }

  html {
    font-size: 18px;
  }

  .about-section {
    padding: 3em 25px 0;
  }

  h1 {
    font-size: 40px;
    padding: 2em 0 0.15em;
  }

  h2 {
    font-size: 30px;
    padding-bottom: 1.5em;
  }
}
