.hero {
    position: relative;  
    height: 350px;  
}
.hero .hero-buttons {
    position: absolute;
    bottom: 3rem;
    width: 100%;
    padding: 0 1rem;
    text-align: center;
}
.hero .hero-buttons a {
    margin: 0 1rem;
    min-width: 130px;
}

.button {
    display: inline-block;
    padding: 0.85rem 1.35rem;
    border-radius: 10rem;
    color: #fff;
    font-size: 1.1rem;
    letter-spacing: 0.2rem;
    transition: all 0.3s;
    position: relative;
    overflow: hidden;
    z-index: 1;
    padding: 10px 28px;
  }
  .button:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #5EC19D;
    border-radius: 10rem;
    z-index: -2;
  }
  .button:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background-color: #009540;
    transition: all 0.5s;
    border-radius: 10rem;
    z-index: -1;
  }
  .button:hover {
    color: #fff;
  }
  .button:hover:before {
    width: 100%;
  }

.intro {
    padding: 20px;
}

.footer-leftcol {
  padding-top: 26px;
}

h2.title {
  font-size:1.9em;
  color:#3f3f42;
}

h3.tel, h3.dir {
  margin-bottom:5px;
  margin-top: 5px;
}

h3.dir {
  margin-top: 0;
}

@media screen and (max-width:640px) {
  .hero {
    position: relative;  
    min-height: 465px;  
  }
  .button {
    letter-spacing: 0.3rem;
    padding: 10px 40px;
  }
  .hero .hero-buttons {
    position: absolute;
    bottom: 2rem;
    width: 100%;
    padding: 0 1rem;
    text-align: center;
  }
  .hero .hero-buttons a {
    margin: 0.5rem 0;
    min-width: 300px;    
  }
  #about .row > div {
    clear: both;
  }
  h1.chain {
    font-size: 35px;
  }  
  .footer-midcol li {
    list-style: none;
    display: inline-block;
    margin: 0 7px;
  }
  h2.title {
    margin-bottom:30px;
  }
}