/**** RESET ****/

/*
COLORS:

Primary Light: #7ed56f
Primary Color: #55c57a
Primary Dark: #28b485

Secondary-light: #ffb900

Light-grey-1: #f7f7f7
Dark-grey: #777
*/

:root {
  --primary-light: #7ed56f;
  --primary-color: #55c57a; /* PRIMARY COLOR */
  --primary-dark: #28b485;
  --secondary-light: #ffb900;
  --secondary-dark: #ff7730;
  --tertiary-light: #2998ff;
  --tertiary-dark: #5643fa;
  --light-grey-1: #f7f7f7;
  --dark-grey: #777;
  --white: #fff;

  --default-font-size: 1.6rem;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
}

html {
  font-size: 62.5%;
}

body {
  box-sizing: border-box;
  font-family: 'Lato', sans-serif;
  line-height: 1.7;
  font-weight: 400;
  color: var(--dark-grey);
  padding: 3rem;
}

/**** ANIMATION ****/

@keyframes moveInLeft {
  0% {
    opacity: 0;
    transform: translateX(-10rem);
  }
  80% {
    transform: translate(1rem);
  }
  100% {
    opacity: 1;
    transform: translate(0);
  }
}

@keyframes moveInRight {
  0% {
    opacity: 0;
    transform: translateX(10rem);
  }
  80% {
    transform: translate(-1rem);
  }
  100% {
    opacity: 1;
    transform: translate(0);
  }
}

@keyframes moveInBottom {
  0% {
    opacity: 0;
    transform: translateY(3rem);
  }

  100% {
    opacity: 1;
    transform: translate(0);
  }
}

/**** HEADINGS ****/
.heading-primary {
  color: var(--white);
  text-transform: uppercase;
  backface-visibility: hidden;
  margin-bottom: 6rem;
}

.heading-primary--main {
  display: block;
  font-size: 6rem;
  font-weight: 400;
  letter-spacing: 3.5rem;
  animation-name: moveInLeft;
  animation-duration: 1s;
  animation-timing-function: ease-out;
}

.heading-primary--sub {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 1.74rem;
  /* animation-name: moveInRight;
  animation-duration: 1s;
  animation-timing-function: ease-in; */
  /* Shorthand Property */
  animation: moveInRight 1s ease-out;
}

.heading-secondary {
  font-size: 3.5rem;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.2rem;
  display: inline-block;
  background-image: linear-gradient(
    to right,
    var(--primary-light),
    var(--primary-dark)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  transition: all 0.2s;
  /* color: var(--dark-grey); */
}

.heading-secondary:hover {
  transform: skewY(2deg) skewX(15deg) scale(1.1);
  text-shadow: 0.5rem 1rem 2rem rgba(0, 0, 0, 0.2);
}

.heading-tertiary {
  font-size: var(--default-font-size);
  font-weight: 700;
  text-transform: uppercase;
}

.paragraph {
  font-size: var(--default-font-size);
}

.paragraph:not(:last-child) {
  margin-bottom: 3rem;
}

/* REUSABLE CLASSES */

.grid {
  display: grid;
  column-gap: 5rem;
}

.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);
}

.container {
  max-width: 114rem;
  margin: 0 auto;
}

.center-text {
  text-align: center !important;
}

.margin-bottom-small {
  margin-bottom: 1.5rem !important;
}

.margin-bottom-medium {
  margin-bottom: 4rem !important;
}

.margin-bottom-big {
  margin-bottom: 8rem !important;
}

.margin-top-big {
  margin-top: 8rem !important;
}

.margin-top-huge {
  margin-top: 10rem !important;
}

.margin-top-bigger {
  margin-top: 20rem !important;
}
