.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 5rem;
  padding: 0 2rem;
  border: none;
  border-radius: .5rem;
  background-color: #1e5d9d;
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  transition: .25s
}
.button svg {
  display: none;
  flex-shrink: 0;
  width: 2.4rem;
  height: auto;
  margin-left: 1rem
}
.button svg path {
  transition: .25s
}
.button:hover {
  background-color: #014387
}
.button:active {
  background-color: #3948b1
}
.button_border {
  border: 1px solid #1e5d9d;
  background-color: transparent;
  color: #1e5d9d
}
.button_border:hover {
  color: #fff;
  border-color: #014387
}
.button_border:hover svg path {
  stroke: #fff
}
.button_border:active {
  background-color: #1e5d9d;
  border-color: #1e5d9d
}
.button_red {
  background-color: #d9012a
}
.button_white {
  color: #1e5d9d;
  background-color: #fff
}
.button_white:hover {
  color: #fff
}
.button_route {
  height: 3.5rem;
  padding: 0 2.5rem;
  border: 1px solid #1e5d9d;
  background-color: transparent;
  font-size: 1.4rem;
  color: #1e5d9d
}
.button_route svg {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
  margin-left: 0;
  margin-right: 1rem;
  fill: #1e5d9d;
  transition: fill .25s
}
.button_route:hover {
  background-color: #1e5d9d;
  color: #fff
}
.button_route:hover svg {
  fill: #fff
}
.button:disabled {
  color: #c1c1c2;
  background-color: #eaeaeb;
  cursor: not-allowed
}
@media (max-width:48em) {
  .button {
    width: 100%;
    height: 10rem;
    padding: 0 4rem;
    border-radius: 1rem;
    font-size: 3.2rem
  }
  .button svg {
    width: 4.8rem;
    margin-left: 2rem
  }
  .button_route {
    display: flex;
    height: 7rem;
    padding: 0 5rem;
    border-radius: 1rem;
    font-size: 2.8rem
  }
  .button_route svg {
    width: 3.2rem;
    height: 3.2rem;
    margin-left: 0;
    margin-right: 2rem
  }
}