/*
--- 01 TYPOGRAPHY SYSTEM

- Font size (px)
10 / 12 / 14 / 16 / 18 / 20 / 24 / 30 / 36 / 44 / 52 / 62 / 74 / 86 / 98

- Font Weights:
Default: 400
- Line Heights:
Default: 1
  


--- 02 COLORS
- Primary:#017FBD
- Tints:

#008787
- Shades:
- Accents:
- Greys:
#555
#333

--- 05 SHASOWS

--- 06 BORDER-RADIUS

--- 07 WHITESPACE

-SPACING SYSTEM (px)
2 / 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 80 / 96 / 128

*/

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Serif Display";
  font-weight: 400;
  color: #444;
}
/* **************************** */
/* GENERAL AND REUSABLE */
/* **************************** */

/* LAYOUTS */
.container {
  max-width: 120rem;
  padding: 0 3rem;
  margin: 0 auto;
}

.grid {
  display: grid;
  gap: 9.6rem;
}

.grid--2-cols {
  grid-template-columns: repeat(2, 1fr);
}

.grid--3-cols {
  grid-template-columns: repeat(3, 1fr);
}

.grid--4-cols {
  grid-template-columns: repeat(4, 1fr);
}

.grid-centering {
  align-items: center;
  justify-content: center;
}

.line::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  padding-bottom: 0.5px;
  background-color: #d0e7ed;
  bottom: -50%;
  left: 0;
}

/* TYPOGRAPHY */
.heading-primary {
  font-size: 9.6rem;
  font-weight: 100;
}

.heading-tertiary {
  font-size: 2rem;
}
.vertical-center {
  text-align: center;
  padding-top: 2.4rem;
}
/* Buttons */
.btn {
  text-decoration: none;
  font-size: 2rem;
  padding: 1.2rem 2.4rem;
  transform: translate(all 0.3s);
}

.section {
  transition: transform 1s, opacity 1s;
}

.section--hidden {
  transform: translateY(8rem);
}
