.hummingbird {
  position: relative;
  width: 10em;
  height: 10em;
  font-size: 7.5vmin;
  border-radius: 50%;
}
@media (min-width: 40em) {
  .hummingbird {
    font-size: 5vmin;
  }
}
.hummingbird *,
.hummingbird *::before,
.hummingbird *::after {
  border-radius: inherit;
}
.c-main {
  position: absolute;
  left: 19.5%;
  top: 31.5%;
  width: 37%;
  height: 37%;
  overflow: hidden;
}

.c-head {
  position: absolute;
  top: -35%;
  left: 61%;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.c-head::before {
  content: "";
  position: absolute;
  top: 43%;
  left: -3%;
  width: 50%;
  height: 50%;
  background-color: #f00;
  transform: rotateZ(-40deg) scaleX(0.7);
  background-image: linear-gradient(to right, #6fc9ba, #286d79);
}
.c-head::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 8%;
  width: 42%;
  height: 42%;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3) 50%);
}

.c-beak {
  position: absolute;
  top: 20%;
  left: 25%;
  border-top: 0.125em solid transparent;
  border-right: 2.5em solid #fff;
  border-bottom: 0.125em solid transparent;
}

.c-body {
  position: absolute;
  top: 50%;
  left: 60%;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-image: linear-gradient(to right, #70cbb9 15%, #123c47 20%, #123c47 30%, #1d5e6f 50%);
}
.c-body::before {
  content: "";
  position: absolute;
  top: 6%;
  left: 5%;
  width: 62%;
  height: 62%;
  background-image: linear-gradient(to right, #70cbb9, #266d7a 50%);
}
.c-body::after {
  content: "";
  position: absolute;
  top: 18%;
  width: 62%;
  height: 62%;
  background-image: linear-gradient(5deg, rgba(29, 94, 111, 0.2) 60%, rgba(29, 94, 111, 0.8));
}

.c-wing {
  position: absolute;
  top: 2%;
  left: 18%;
  width: 51.5%;
  height: 51.5%;
  overflow: hidden;
}
.c-wing::before {
  content: "";
  position: absolute;
  top: 52%;
  left: 57.5%;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to right, #a94634, #fab74d 30%);
}
.c-wing::after {
  content: "";
  position: absolute;
  top: 67.5%;
  left: 57.5%;
  width: 71%;
  height: 71%;
  background-image: linear-gradient(to right, #6a0029, #e09347 50%);
}

.box {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  margin: 0;
  line-height: 1.4;
  color: #fff;
  background-image: linear-gradient(#041823, #093751);
}

.intro {
  width: 90%;
  max-width: 50rem;
  padding-bottom: 1rem;
  margin: 0 auto 1em;
  padding-top: 0.5em;
  font-size: calc(1rem + 2vmin);
  text-transform: capitalize;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.5);
  text-align: center;
}
.intro small {
  display: block;
  opacity: 0.5;
  font-style: italic;
  text-transform: none;
}

.info {
  margin: 0;
  padding: 1em;
  font-size: 0.9em;
  font-style: italic;
  font-family: serif;
  text-align: right;
  opacity: 0.75;
}
.info a {
  color: inherit;
}