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

html {
  /* By default, browser sets font size to 16px, 62.5% of 16px, which is 10px = 1rem */
  font-size: 62.5%;

  /* Prevent horizontal scroll */
  overflow-x: hidden;
}

body {
  font-family: "Rubik", sans-serif;
  line-height: 1;
  font-weight: 400;
  color: #555;

  overflow-x: hidden;

  /* Fill viewport height */
  min-height: 100vh;

  /*  Flex container */
  display: flex;
  flex-direction: column;
}

main {
  /* Grow to fill available space */
  flex: 1;
}

/**************************/
/* REUSABLE COMPONENTS */
/**************************/

.container {
  /* 1140px */
  max-width: 120rem;
  padding: 0 3.2rem;
  margin: 0 auto;
}

.heading-primary,
.heading-secondary,
.heading-tertiary {
  font-weight: 700;
  color: #333;
  letter-spacing: -0.5px;
}

.heading-primary {
  font-size: 5.2rem;
  line-height: 1.05;
  margin-bottom: 3.2rem;
}

.heading-secondary {
  font-size: 4.4rem;
  line-height: 1.2;
  margin-bottom: 9.6rem;
}

.heading-tertiary {
  font-size: 3rem;
  line-height: 1.2;
  margin-bottom: 3.2rem;
}

.subheading {
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  color: #ff6f61;
  text-transform: uppercase;
  margin-bottom: 1.6rem;
  letter-spacing: 0.75px;
}

strong {
  font-weight: 600;
}
