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

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

@keyframes moveUp {
  0% {
    opacity: 0;
    transform: translateY(10rem); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

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

html {
  font-size: 62.5%; }

body {
  background-color: #CFD2CF;
  font-family: sans-serif;
  padding: 3rem;
  line-height: 1.75; }

.header {
  height: 95vh;
  background-color: #EB1D36;
  clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 100%, 0 80%);
  position: relative;
  z-index: 1; }
  .header__text-box {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center; }
  .header__logo img {
    height: 18rem; }

.heading-primary {
  color: #fff;
  text-transform: uppercase;
  margin-top: 4rem;
  margin-bottom: 8rem;
  letter-spacing: 1rem; }
  .heading-primary--main {
    display: block;
    font-size: 6rem;
    animation: moveInLeft 1s none;
    background: url(../img/Colorful.gif);
    -webkit-background-clip: text;
    color: transparent; }
  .heading-primary--sub {
    display: block;
    font-size: 1.5rem;
    animation: moveInRight 1s none; }

.btn:link, .btn:visited {
  text-transform: uppercase;
  text-decoration: none;
  padding: 1.5rem 4rem;
  display: inline-block;
  border-radius: 10rem;
  transition: all .2s;
  position: relative;
  font-size: 1.6rem; }

.btn--header {
  background-color: #fff;
  color: #777;
  font-weight: 1000;
  animation: moveUp 1s ease-out .75s backwards; }
  .btn--header:hover {
    transform: translateY(-0.6rem);
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.5); }
    .btn--header:hover::after {
      transform: scale(1.5);
      opacity: 0; }
  .btn--header:active {
    transform: translateY(0);
    box-shadow: 0 1rem 0.5rem rgba(0, 0, 0, 0.5); }
  .btn--header::after {
    background-color: #fff; }

.btn::after {
  content: "";
  display: inline-block;
  height: 100%;
  width: 100%;
  border-radius: 10rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: all .5s; }

.heading-text {
  color: #fff;
  text-align: center;
  margin-bottom: 8rem;
  font-size: 3.5rem;
  text-transform: uppercase;
  font-weight: 700; }

@media only screen and (max-width: 75em) {
  html {
    font-size: 56.25%; }
  .section-features {
    padding: 40rem 0 20rem 0 !important;
    margin-top: -35rem !important; } }

@media only screen and (max-width: 56.25em) {
  html {
    font-size: 50%; }
  body {
    padding: 0; }
  .section-features {
    padding: 40rem 0 20rem 0 !important;
    margin-top: -35rem !important; }
  .section-devices {
    padding: 10rem 0 10rem 0 !important; }
  .device-column {
    width: 35rem !important; }
  .row {
    flex-direction: column;
    row-gap: 2rem; }
    .row .feature-column {
      width: 50% !important; }
    .row .device-column {
      height: 45rem !important;
      margin-bottom: 8rem; } }

@media only screen and (max-width: 30em) {
  html {
    font-size: 45%; } }

.row {
  max-width: 114rem;
  display: flex;
  column-gap: 4rem;
  margin: 0 auto;
  align-items: center; }
  .row .feature-column {
    width: calc((100% - 3 * 4rem) / 4); }
  .row .device-column {
    width: calc((100% - 2 * 4rem) / 3); }

.section-features {
  padding: 30rem 0;
  margin-top: -25rem;
  background-color: #F5EDDC; }

.feature-box {
  font-size: 1.6rem;
  padding: 2.5rem;
  background-color: #fff;
  color: #777;
  text-align: center;
  border-radius: 5px;
  box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.2);
  transition: all .3s; }
  .feature-box__icon {
    max-width: 6rem;
    margin-bottom: .5rem; }
  .feature-box:hover {
    transform: translateY(-1rem) scale(1.02); }
  .feature-box__text {
    margin-top: 1.5rem; }

.section-devices {
  padding: 10rem 0 70rem 0;
  background-color: #EB1D36;
  transform: skewY(-7deg);
  margin-top: -12rem; }
  .section-devices > * {
    transform: skewY(7deg); }

.card {
  text-align: center;
  position: relative; }
  .card__side {
    transform: perspective(150rem);
    height: 52rem;
    position: absolute;
    width: 100%;
    transition: all .8s;
    backface-visibility: hidden;
    border-radius: 5px;
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.2);
    overflow: hidden; }
    .card__side--front {
      background-color: #fff; }
    .card__side--back {
      transform: rotateY(-180deg);
      background-color: #F5EDDC; }
  .card:hover .card__side--front {
    transform: rotateY(-180deg); }
  .card:hover .card__side--back {
    transform: rotateY(0deg); }
  .card__picture {
    background-size: cover;
    height: 23rem; }
    .card__picture-1 {
      background-image: url(../img/Arduino-Uno-R3.jpg); }
    .card__picture-2 {
      background-image: url(../img/Raspberry-Pi4-Model-B.jpg); }
    .card__picture-3 {
      background-image: url(../img/Raspberry-Pi-Pico.jpg); }
  .card__heading {
    font-size: 2rem;
    font-weight: 300;
    margin-top: 2rem;
    color: #777; }
  .card__detail {
    color: #777;
    padding: 2rem; }
    .card__detail ul {
      width: 70%;
      list-style: none;
      margin: 0 auto; }
      .card__detail ul li {
        font-size: 1.5rem;
        padding: 1rem;
        text-align: center; }
        .card__detail ul li:not(:last-child) {
          border-bottom: 1px solid #CFD2CF; }
