@keyframes moveInLeft {
  0% {
    opacity: 0;
    transform: translateX(-10rem); }
  80% {
    transform: translateX(1rem); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

@keyframes moveInRight {
  0% {
    opacity: 0;
    transform: translateX(10rem); }
  80% {
    transform: translateX(-1rem); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

@keyframes moveInBottom {
  0% {
    opacity: 0;
    transform: translateY(3rem); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  box-sizing: inherit; }

html {
  font-size: 62.5%; }

body {
  box-sizing: border-box; }

body {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-size: 1em;
  line-height: 1.7;
  color: #777;
  padding: 3rem; }

.heading-primary {
  color: #fff;
  text-transform: uppercase;
  backface-visibility: hidden;
  margin-bottom: 6rem; }
  .heading-primary--main {
    display: block;
    font-size: 6rem;
    font-weight: 400;
    letter-spacing: 3.4rem;
    animation: moveInLeft 1s ease-out; }
  .heading-primary--sub {
    display: block;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0.7rem;
    animation: moveInRight 1s ease-out; }

.heading-tertiary {
  font-size: 1.6rem;
  font-weight: 500; }

.paragraph {
  font-size: 1.6rem; }
  .paragraph:not(:last-child) {
    margin-bottom: 3rem; }

.search-input {
  font-size: 1.5rem;
  border-radius: 10rem;
  padding: 1.5rem 1.5rem;
  width: 80%; }

.input-animated {
  animation: moveInBottom .5s ease-out .75s;
  animation-fill-mode: backwards; }

.feature-box {
  background-color: rgba(255, 255, 255, 0.8);
  font-size: 1.5rem;
  padding: 1rem;
  text-align: center;
  border-radius: 3px;
  box-shadow: 0 1.5rem rgba(0, 0, 0, 0.05);
  height: 22rem; }
  .feature-box__img {
    width: 25rem; }

.btn-text:link, .btn-text:visited {
  font-size: 1.6rem;
  color: #7c2323;
  display: inline-block;
  text-decoration: none;
  border-bottom: 1px solid #7c2323;
  padding: 3px;
  transition: all .2s; }

.btn-text:hover {
  background-color: #7c2323;
  color: #fff;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.15);
  transform: translate(-2px); }

.btn-text:active {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  transform: translate(0); }

.row {
  max-width: 114rem;
  margin: 0 auto; }
  .row:not(:last-child) {
    margin-bottom: 4rem; }
  .row::after {
    content: "";
    display: table;
    clear: both; }
  .row [class^="col-"] {
    float: left; }
    .row [class^="col-"]:not(:last-child) {
      margin-right: 2rem; }
  .row .col-1-of-2 {
    width: calc((100% - 2rem) / 2); }
  .row .col-1-of-3 {
    width: calc((100% - 2 * 2rem) / 3); }
  .row .col-2-of-3 {
    width: calc(2 * ((100% - 2 * 2rem) / 3) + 2rem); }
  .row .col-1-of-4 {
    width: calc((100% - 3 * 2rem) / 4); }
  .row .col-2-of-4 {
    width: calc(2 * ((100% - 3 * 2rem) / 4) + 2rem); }
  .row .col-3-of-4 {
    width: calc(3 * ((100% - 3 * 2rem) / 4) + 2 * 2rem); }
  .row .col-1-of-5 {
    width: calc((100% - 4 * 2rem) / 5); }

.header {
  height: 65vh;
  background-image: linear-gradient(to right bottom, rgba(184, 51, 51, 0.8), rgba(82, 24, 24, 0.8)), url(https://occ-0-3380-358.1.nflxso.net/dnm/api/v6/6AYY37jfdO6hpXcMjf9Yu5cnmO0/AAAABfXcIqTBOGm5dY0aAvM_ZyUR6SMwIEIJ2sreX_dyiNQQCMZavTrkTPXQ5B0FCRJerX8tKne3xh2Z8zNXmBMX5oGBArQ3.jpg?r=e8b);
  background-size: cover;
  background-position: top;
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% 45vh, 0 100%); }
  .header__logo-box {
    position: absolute;
    top: 4rem;
    left: 4rem; }
  .header__logo {
    height: 6.5rem; }
  .header__text-box {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center; }

.section-grid {
  background-color: #f0f0f0;
  padding: 20rem 0;
  margin-top: -20vh; }

.section-features {
  margin-top: -20vh;
  padding: 20rem 0;
  background-image: linear-gradient(to right bottom, rgba(184, 51, 51, 0.8), rgba(82, 24, 24, 0.8)), url(https://occ-0-358-360.1.nflxso.net/dnm/api/v6/6AYY37jfdO6hpXcMjf9Yu5cnmO0/AAAABQE8SsvDSWVW4d9Uk2RIGiuEbcvz1FQAWGDAobvDlIpqcxqlW2k65-nYl3DESdIWvaAoSS2eQiO1t9mrDkSqhoNIB33i.jpg?r=244);
  background-size: cover;
  background-position: top;
  position: relative;
  clip-path: polygon(0 20vh, 100% 0vh, 100% 65vh, 0 65vh); }
