* {
  padding: 0;
  margin: 0; }

html {
  font-family: Arial, Helvetica, sans-serif;
  color: #333;
  background: #00C9FF;
  background: -webkit-linear-gradient(217deg, #92FE9D, #00C9FF);
  background: linear-gradient(217deg, #92FE9D, #00C9FF);
  height: 100%;
  grid-template-columns: repeat(3, 1fr);
  font-size: 62.5%; }

h1 {
  margin-bottom: 0;
  font-size: 3rem; }

h2 {
  font-size: 2.5rem;
  margin-bottom: 0.7rem;
  margin-top: 2rem; }

h3 {
  font-size: 2.2rem;
  margin-bottom: 0; }

p {
  font-size: 1.6rem;
  margin-bottom: 1.6rem; }

main {
  margin: auto;
  background-color: white;
  margin-bottom: 100px;
  padding-bottom: 32px;
  height: 100%; }
  @media screen and (min-width: 576px) {
    main {
      border-radius: 8px;
      box-shadow: 0 4.7px 18.8px rgba(0, 0, 0, 0.028), 0 21.7px 34.2px rgba(0, 0, 0, 0.042), 0 100px 80px rgba(0, 0, 0, 0.07);
      margin-top: 100px;
      max-width: 450px;
      height: 100%; } }

.header {
  position: relative;
  text-align: center; }
  .header__img-wrapper {
    background-color: #92FE9D;
    background: -webkit-linear-gradient(217deg, #00C9FF, #92FE9D);
    background: linear-gradient(217deg #00C9FF, #92FE9D);
    height: 175px;
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;
    opacity: 0.8;
    position: absolute;
    width: 100vw; }
    @media (min-width: 576px) {
      .header__img-wrapper {
        height: 225px;
        width: 100%;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px; } }
    .header__img-wrapper img {
      height: 175px;
      width: 100vw;
      border-bottom-left-radius: 50%;
      border-bottom-right-radius: 50%;
      background-color: #92FE9D;
      position: absolute;
      display: block;
      filter: grayscale(100%) contrast(1) blur(0px);
      mix-blend-mode: multiply; }
      @media (min-width: 576px) {
        .header__img-wrapper img {
          height: 225px;
          width: 100%;
          border-top-left-radius: 8px;
          border-top-right-radius: 8px; } }
  .header__avatar {
    width: 128px;
    height: 128px;
    position: absolute;
    top: 105px;
    margin-left: -64px; }
    @media screen and (min-width: 576px) {
      .header__avatar {
        top: 145px; } }
  .header__info {
    padding-top: 260px; }
    @media screen and (min-width: 576px) {
      .header__info {
        padding-top: 300px; } }
    .header__info-social {
      display: flex;
      justify-content: space-around;
      width: 120px;
      margin: auto; }
      .header__info-social a {
        text-decoration: none;
        color: #333;
        display: block;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        text-align: center;
        background: white;
        transition: background-color 0.5s ease-out;
        transition: color 0.2s ease-out; }
        .header__info-social a i {
          font-size: 2.4rem;
          margin: 4px 0 0 2px; }
      .header__info-social a:hover {
        background: #00C9FF;
        background: -webkit-linear-gradient(217deg, #92FE9D, #00C9FF);
        background: linear-gradient(217deg, #92FE9D, #00C9FF);
        color: white; }

article {
  padding: 0 16px 0 16px; }

.service__list {
  display: flex;
  flex-direction: column;
  font-size: 1.4rem;
  list-style-type: none; }
  @media screen and (min-width: 576px) {
    .service__list {
      flex-direction: row; } }
  .service__list-item {
    width: 100%;
    display: flex;
    flex-direction: row;
    margin: 20px 0 0 0; }
    @media screen and (min-width: 576px) {
      .service__list-item {
        flex-direction: column;
        align-items: flex-start;
        text-align: center; } }
    .service__list-item-icon {
      height: 48px;
      width: 48px;
      border-radius: 50%;
      text-align: center;
      line-height: 46px;
      color: white;
      font-size: 1.8rem;
      background: #00C9FF;
      background: -webkit-linear-gradient(217deg, #92FE9D, #00C9FF);
      background: linear-gradient(217deg, #92FE9D, #00C9FF);
      opacity: 0.4;
      margin: auto;
      padding: 0 5px 0 5px;
      margin-right: 10px; }
      @media screen and (min-width: 576px) {
        .service__list-item-icon {
          margin-right: 0;
          padding: 0;
          margin-left: auto;
          margin-right: auto; } }
  @media screen and (min-width: 576px) {
    .service__list > li:first-child {
      border-right: 1px solid #00C9FF; } }
