/*

----01TYPOGRAPHY SYSTEM

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

-FONT WEIGHT (px)
Default:400
Medium: 500
semi-bold: 600
Bold: 700


-LINE HEIGHT
Default: 1
small: 1.05
Medium: 1.2
Paragraph default: 1.6
large: 1.8

-LETTER SPACING
-0.5px
   

-------03-Shadows


-------04-Border radius


-------5-White space

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

*/

/*=============================*/
/*=General reusable components=*/
/*=============================*/

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

html {
  font-family: sans-serif !important;
  font-size: 62.5%;
  overflow-x: hidden;

  /* Tab-port 900px */

  @media only screen and (max-width: 56.25em) {
    font-size: 50% !important;
  }

  /* Tab-land 1200px */

  @media only screen and (max-width: 75em) {
    font-size: 56.25%;
  }

  /* Big desktop 1800px */

  @media only screen and (min-width: 112.5em) {
    font-size: 75%;
  }
}

body {
  font-family: sans-serif !important;
  line-height: 1;
  font-weight: 400;
  color: var(--color-black);

  overflow-x: hidden;
}

::selection {
  background-color: var(--accent-color);
  color: var(--color-white);
}

.container {
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 3.2rem;
  /* justify-items: center; */
  /* align-items: center; */
}

@media only screen and (max-width: 37.5em) {
  .container {
    max-width: 120rem;
    margin: 0 auto;
    padding: 0 3.2rem;
    justify-items: center;
  }
}

.grid {
  display: grid;
  row-gap: 9.6rem;

  /* margin-bottom: 9.6rem; */
}

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

@media only screen and (max-width: 37.5em) {
  .grid--2-cols {
    grid-template-columns: repeat(1, 1fr);
    column-gap: 3.2rem;
  }

  /* for state proof section */
  .grid--2--cols-ph {
    row-gap: 0;
    grid-template-columns: 1fr !important;
  }
}

/* 2nd variant */
.grid--2--cols {
  grid-template-columns: repeat(2, 1fr);
  /* column-gap: 7.2rem; */
}

.grid--3-cols {
  grid-template-columns: repeat(3, 1fr);
  column-gap: 0;
  row-gap: 3.2rem;
}

@media only screen and (max-width: 37.5em) {
  .grid--3-cols {
    row-gap: 2rem !important;
    column-gap: 1rem;
  }

  .grid--3-cols-ph {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 3rem;
  }
}

.grid--4-cols {
  grid-template-columns: 1fr 1fr 1fr 1fr;
  column-gap: 4.7rem;
}

/* for phone footer */
@media only screen and (max-width: 37.5em) {
  .grid--4-cols {
    grid-template-columns: 1fr;
    justify-items: start;
  }
}

.grid--5-cols {
  grid-template-columns: repeat(5, 1fr);
  column-gap: 4.7rem;
}

@media only screen and (max-width: 37.5em) {
  .grid--5-cols {
    column-gap: 5rem;
    row-gap: 5rem;
  }
}

/* Headings */
.heading-primary,
.heading-secondary,
.heading-tertiary {
  letter-spacing: -0.5px;
}

.heading-primary {
  font-size: 6.2rem;
  line-height: 1.05;
  font-weight: 500;
}

.heading-secondary {
  font-size: 4.8rem;
  line-height: 1.2;
  font-weight: lighter;
}

.heading-tertiary {
  font-size: 1.6rem;
  line-height: 1.2;
  font-weight: 600;
}

.heading-primary-sub {
  font-size: 2.4rem;
  line-height: 1.2;
  font-weight: normal;
  margin-top: 1.9rem;
}

*:focus {
  outline: none;

  box-shadow: 0 0 0 0.8rem rgba(224, 52, 0, 0.4);
}

/* Media query */
/* Tab port */

@media only screen and (max-width: 56.25em) {
  .heading-primary {
    font-size: 4.2rem;
  }

  .heading-secondary {
    font-size: 4rem;
  }
}

/* Mobile */

@media only screen and (max-width: 37.5em) {
  .heading-primary {
    font-size: 2.8rem;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: 0px;
  }

  .heading-secondary {
    font-size: 3.2rem;
    line-height: 1.2;
    font-weight: lighter;
  }

  .heading-tertiary {
    font-size: 1.4rem;
    line-height: 1.2;
    font-weight: 600;
  }

  .heading-primary-sub {
    font-size: 1.2rem;
    line-height: 1.2;
    font-weight: normal;
    margin-top: 1rem;
  }
}

/* @media only screen and (max-width: 375px) { */
@media only screen and (max-width: 450px) {
  .heading-primary {
    font-size: 2rem !important;
  }

  .heading-primary-sub {
    font-size: 1.6rem;
    line-height: 1.4;
  }
}

/* Utility */

.white-text {
  color: var(--color-white);
}

.u-margin-top-large {
  margin-top: 8rem;
}

.u-center-text {
  text-align: center;
}

.u-margin-bottom-huge {
  margin-bottom: 12rem;
}

.u-margin-bottom-large {
  margin-bottom: 8rem;
}

@media only screen and (max-width: 37.5em) {
  .u-margin-bottom-large {
    margin-bottom: 6rem;
  }
}

.u-margin-bottom-medium {
  margin-bottom: 4rem;
}

.u-margin-bottom-small {
  margin-bottom: 2rem;
}
