:root {
  --cor-a: #f1f1f1;
  --cor-b: #f7f7f7;
  --cor-c: #d8d8d8;
}

/* cabeçalho */

.web-container {
  background-color: var(--cor-a);
  width: 90%;
  margin: 0 auto;
  min-height: 1vh;
}

.web-container>h1,
.titulo {
  font-family: tahoma;
  font-weight: 300 !important;
  letter-spacing: 1px;
}

.web-container>h1,
.web-container>p {
  text-align: center;
}

.services {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 10px;
}

.service {
  margin: 10px;
  overflow: hidden;
  padding: 35px 15px;
  position: relative;
  text-align: center;
  transition: background-color 0.3s ease-in, transform 0.3s ease-in;
  width: 30%;
}

.service:nth-child(2) {
  background-color: #ececec;
}

.service.hover {
  background-color: var(--cor-secundaria);
  transform: translateY(-3px);
  color: white;
}

.service.hover>i {
  color: white;
}

.service::before {
  content: '';
  border-width: 20px;
  border-style: solid;
  border-color: #222f3e #222f3e rgba(1, 1, 1, 0.4) rgba(0, 0, 0, .4);
  border-color: var(--cor-c) var(--cor-c) rgba(1, 1, 1, 0.4) rgba(0, 0, 0, .4);
  position: absolute;
  right: -40px;
  top: -40px;
  transition: right 0.3s ease-out, top 0.3s ease-out;
}

.service:hover::before {
  right: 0px;
  top: 0px;
}

.service>i {
  display: block;
  color: var(--cor-secundaria);
  font-size: 3rem;
  margin: 0 auto 0.9rem;
  transition: color 03s ease-out;
  text-align: center;
}

.service>.titulo {
  font-weight: 900;
  font-size: 1.2rem;
  line-height: 1.55rem;
  margin-bottom: 1rem;
  text-transform: capitalize;
  transition: color 0.3s ease-out;
}

.service>.desc {
  line-height: 1.55rem;
  margin: 0;
  transition: color 0.3s ease-out;
  text-align: left;
}

@media only screen and (max-width: 450px) {

  .service {
    width: 100%;
  }
}