/* Basic Resets */

html {
  font-size: 62.5%;
}

@font-face {
  font-family: "monolog";
  src: url(./Font/Monolog-Bold.woff) format('woff');
  src: url(./Font/Monolog-SemiBold.woff) format('woff');
}

:root {
  --main-colour: #121424;
  --pink-colour: #ffbac4;
  --green-colour: #07f7b8;
  --visited-colour: #b15f9f;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: monolog, sans-serif;
  text-decoration: none;
  color: var(--main-colour);
}

a {
  display: block;
}

/* Main image */

.container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100vh;
  width: 100vw;
  position: relative;
  background-image: url(/Images/Ellipse.png);
  background-position: left;
  background-repeat: no-repeat;
  background-size: contain;
  overflow: hidden;
}

.container__wave {
  width: 50%;
  position: absolute;
  bottom: -10px;
  left: 0;
  overflow: hidden;
}

.body,
.arm {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.body {
  position: relative;
  z-index: 1;
}

.arm {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  animation: wave 1s ease-in-out alternate-reverse infinite;
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
}

/* Text data and buttons/ links */

.data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 1.2px;
  margin-left: 50vw;
}

.data__greet {
  font-size: 5.8rem;
  font-weight: 600;
  margin-bottom: 3rem;
}

.data__title {
  font-size: 4rem;
  font-weight: 600;
  margin-bottom: 3rem;
}

.boing {
  display: inline-block;
  -webkit-animation: pull 1.5s ease-in-out alternate;
          animation: pull 1.5s ease-in-out alternate;
}

.bounce {
  display: block;
  -webkit-animation: pull 1.5s ease-in-out 1.5s alternate;
          animation: pull 1.5s ease-in-out 1.5s alternate;
  -webkit-transform-origin: top left;
      -ms-transform-origin: top left;
          transform-origin: top left;
}

.btn {
  width: 14rem;
  padding: 1rem 3rem;
  border-radius: 540px;
  background-color: var(--pink-colour);
  margin-top: 4rem;
  text-align: center;
  border: 5px solid var(--main-colour);
  font-weight: bold;
}

/* Waving motion */

@-webkit-keyframes wave {
  from {
    -webkit-transform: rotate(6deg);
            transform: rotate(6deg);
  }

  to {
    -webkit-transform: rotate(2deg);
            transform: rotate(2deg);
  }
}

@keyframes wave {
  from {
    -webkit-transform: rotate(6deg);
            transform: rotate(6deg);
  }

  to {
    -webkit-transform: rotate(2deg);
            transform: rotate(2deg);
  }
}

/* button states */

.btn:hover {
  cursor: pointer;
  -webkit-text-decoration: underline wavy var(--main-colour) 3px;
          text-decoration: underline wavy var(--main-colour) 3px;
}

.btn:focus {
  outline: solid var(--green-colour) 4px;
}

/* bouncy */

@-webkit-keyframes pull {
  0% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
            transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
            transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
            transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
            transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
            transform: scale3d(1.05, 0.95, 1);
  }

  to {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}

@keyframes pull {
  0% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
            transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
            transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
            transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
            transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
            transform: scale3d(1.05, 0.95, 1);
  }

  to {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}

/* tablet */

@media only screen and (max-width: 1495px) {
  .data {
    margin-right: 1rem;
  }

  .data__greet {
    font-size: 4rem;
  }

  .data__title {
    font-size: 2.8rem;
  }

  .container {
    background-size: 50vw 100vh;
  }
}

@media only screen and (max-width: 768px) {
  .data__greet {
    font-size: 3rem;
  }

  .data__title {
    font-size: 1.8rem;
    margin-bottom: 0;
  }

  .container {
    background-size: 50vw 100vh;
  }
}

@media only screen and (max-width: 425px) {
  .container {
    text-align: center;
  }

  .container__wave {
    -webkit-transform: translateX(-3rem);
        -ms-transform: translateX(-3rem);
            transform: translateX(-3rem);
  }

  .data {
    margin: 0.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .data__greet {
    font-size: 2.5rem;
    margin-bottom: 2rem;
  }

  .data__title {
    font-size: 1.5rem;
    margin-bottom: 0;
  }

  .btn {
    margin-top: 1.5rem;
  }
}