.faq {
  margin: 15px 0;

  -o-transition: 0.5s;
  -ms-transition: 0.5s;
  -moz-transition: 0.5s;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.faq > a {
  color: inherit;
}

.faq.opened {
  background: #f1f1f1;
  padding: 15px;
}

.faq.opened h3 {
  margin: 0;
}

.faq-h2 {
}

.faq-h3 {
  border: 0 !important;
  font-size: 1.2rem;
}

.rich-content h3.faq-h3 {
  color: #0f60a7;
}

.faq-h3:before {
  content: "\f196";
  font-family: "FontAwesome";
  padding-left: 0.5rem;
  display: inline-block;
}
.faq.opened .faq-h3:before {
  content: "\f147";
  font-family: "FontAwesome";
  padding-left: 0.5rem;
  display: inline-block;
}

.faq .answer {
  display: none;
  margin: 15px 0 0 0;
  padding: 0;
}

/**/

.faq-search:after {
  content: "";
  display: block;
  clear: both;
}

.faq-search label {
  float: right;
  display: block;
  padding: 0.75rem;
  border: 1px solid #ddd;
  background: #f1f1f1;
  font-size: 1.2rem;
  border-radius: 0 5px 5px 0;
}

.faq-search input {
  float: right;
  display: block;
  padding: 0.75rem;
  border: 1px solid #ddd;
  background: #fff;
  font-size: 1.2rem;
  width: 250px;
  border-left: 0;
  border-radius: 0 5px 5px 0;
}

.faq-search button {
  float: right;
  display: block;
  padding: 0.75rem;
  border: 1px solid #ddd;
  background: #3977ad;
  color: #fff;
  cursor: pointer;
  font-size: 1.2rem;
  border-radius: 5px 0 0 5px;
}
