.e47-layouts h1, .e47-layouts h2, .e47-layouts h3, .e47-layouts h4 {
  margin-top: 0; }

.e47-layouts li {
  margin: 0;
  margin-bottom: initial; }

.e47-layouts p {
  margin-top: 0; }

.e47-layouts .gform_wrapper textarea,
.e47-layouts .gform_wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]) {
  display: block !important;
  padding: 10px 15px !important;
  width: 100% !important;
  border: none !important; }

.e47-layouts .gform_wrapper ul {
  padding-left: 0; }

.e47-layouts .alignnone {
  margin-top: 0; }

.e47-layouts .text-center {
  text-align: center; }

.e47-layouts .button {
  text-decoration: none;
  padding: 5px 20px;
  display: inline-block;
  border-radius: 3px;
  font-weight: 700; }

.e47-layouts .button:hover, .e47-layouts a.button:hover {
  text-decoration: none !important; }

.e47-layouts .white_text * {
  color: #fff; }

.e47-layouts .site-container {
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden; }

.e47-layouts .site-container.narrow {
  max-width: 900px; }

.e47-layouts .flexible-layout-section.skinny-container .site-container {
  max-width: 600px; }

.e47-layouts .half {
  float: left;
  width: 50%;
  min-height: 1px; }

.e47-layouts .grid-3 {
  padding-left: 0;
  *zoom: 1;
  display: flex;
  flex-wrap: wrap;
  margin: 0; }
  .e47-layouts .grid-3:before, .e47-layouts .grid-3:after {
    display: table;
    content: ""; }
  .e47-layouts .grid-3:after {
    clear: both; }

.e47-layouts .grid-3 > li {
  float: left;
  margin: 0 30px 30px 0;
  list-style-type: none; }

@media (min-width: 1060px) {
  .e47-layouts .grid-3 > li {
    width: calc(33% - 20px); }
    .e47-layouts .grid-3 > li:nth-child(3n) {
      margin-right: 0; } }

@media (min-width: 768px) and (max-width: 1059px) {
  .e47-layouts .grid-3 > li {
    width: calc(50% - 15px); }
    .e47-layouts .grid-3 > li:nth-child(2n) {
      margin-right: 0; } }

@media (min-width: 400px) {
  .e47-layouts .grid-3 {
    display: flex;
    flex-wrap: wrap; } }

@media (max-width: 767px) {
  .e47-layouts .grid-3 > li {
    width: 100%;
    float: none;
    margin-right: 0;
    display: block; } }

@media (max-width: 399px) {
  .e47-layouts .grid-3 > li {
    width: 100%;
    float: none;
    margin-right: 0; } }

@media (min-width: 900px) {
  .e47-layouts .col25, .e47-layouts .col33, .e47-layouts .col50, .e47-layouts .col66, .e47-layouts .col75 {
    float: left;
    min-height: 1px; } }

.e47-layouts .col66 {
  width: calc(66.66% - 66.66px);
  margin-right: 50px; }

.e47-layouts .col50 {
  width: calc(50% - 37.5px);
  margin-right: 75px; }

.e47-layouts .col33 {
  width: calc(33.33% - 33.34px);
  margin-right: 50px; }

.e47-layouts .col75 {
  width: calc(75% - 75px);
  margin-right: 66.67px; }

.e47-layouts .col25 {
  width: calc(25% - 25px);
  margin-right: 33.33px; }

.e47-layouts .last {
  margin-right: 0; }

.e47-layouts .flexible-layout-section {
  padding: 100px 0;
  background: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  .e47-layouts .flexible-layout-section.remove_top_padding {
    padding-top: 0; }
  .e47-layouts .flexible-layout-section.remove_bottom_padding {
    padding-bottom: 0; }
  .e47-layouts .flexible-layout-section.less-top-padding {
    padding-top: 50px; }
  .e47-layouts .flexible-layout-section.less-bottom-padding {
    padding-bottom: 50px; }
  .e47-layouts .flexible-layout-section.padding-100 {
    padding: 100px 0; }
  .e47-layouts .flexible-layout-section.padding-125 {
    padding: 125px 0; }
  .e47-layouts .flexible-layout-section.padding-150 {
    padding: 150px 0; }
  .e47-layouts .flexible-layout-section.padding-200 {
    padding: 200px 0; }
  .e47-layouts .flexible-layout-section.padding-250 {
    padding: 250px 0; }
  .e47-layouts .flexible-layout-section.narrow_container .site-container {
    max-width: 800px; }
  .e47-layouts .flexible-layout-section.full_width_container .site-container {
    max-width: 100%;
    padding: 0; }
  .e47-layouts .flexible-layout-section .subheading {
    font-size: 25px; }

@media (max-width: 1260px) {
  .e47-layouts .site-container {
    padding-left: 30px;
    padding-right: 30px; } }

@media (min-width: 901px) {
  .e47-layouts .flexible-layout-section.reverse_desktop .col33, .e47-layouts .flexible-layout-section.reverse_desktop .col50, .e47-layouts .flexible-layout-section.reverse_desktop .col66 {
    position: relative; }
  .e47-layouts .flexible-layout-section.reverse_desktop .col50.first {
    left: calc(50% + 37.5px);
    margin-right: 0; }
  .e47-layouts .flexible-layout-section.reverse_desktop .col50.last {
    right: calc(50% - 37.5px);
    margin-right: 75px; }
  .e47-layouts .flexible-layout-section.reverse_desktop .col33.first {
    left: calc(66.66% + 37.5px);
    margin-right: 0; }
  .e47-layouts .flexible-layout-section.reverse_desktop .col33.last {
    right: calc(66.66% - 37.5px);
    margin-right: 75px; }
  .e47-layouts .flexible-layout-section.reverse_desktop .col66.first {
    left: calc(33.33% + 37.5px);
    margin-right: 0; }
  .e47-layouts .flexible-layout-section.reverse_desktop .col66.last {
    right: calc(33.33% - 37.5px);
    margin-right: 75px; } }

@media (max-width: 900px) {
  .e47-layouts .flexible-layout-section {
    padding: 50px 0; }
    .e47-layouts .flexible-layout-section.less-top-padding {
      padding-top: 30px; }
    .e47-layouts .flexible-layout-section.less-bottom-padding {
      padding-bottom: 30px; }
    .e47-layouts .flexible-layout-section.padding-100 {
      padding: 50px 0; }
    .e47-layouts .flexible-layout-section.padding-125 {
      padding: 60px 0; }
    .e47-layouts .flexible-layout-section.padding-150 {
      padding: 75px 0; }
    .e47-layouts .flexible-layout-section.padding-200 {
      padding: 100px 0; }
    .e47-layouts .flexible-layout-section.padding-250 {
      padding: 100px 0; }
  .e47-layouts .col50, .e47-layouts .col33, .e47-layouts .col66, .e47-layouts .col25, .e47-layouts .col75 {
    width: 100%;
    float: none;
    margin: 0 0 30px; } }

.e47-layouts .fancy-list-heading {
  margin: 0 0 50px;
  text-align: center; }

.e47-layouts .fancy-list ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .e47-layouts .fancy-list ul li {
    line-height: 22px;
    font-weight: 700;
    font-size: 18px;
    padding: 20px 0 0 0;
    border-style: solid;
    border-width: 0 0 2px 0; }
  .e47-layouts .fancy-list ul li:nth-child(1) {
    padding-top: 10px; }

@media (max-width: 900px) {
  .e47-layouts .fancy-list {
    margin-bottom: 50px; }
  .e47-layouts .fancy-list-heading {
    margin-bottom: 10px;
    text-align: left; } }

.e47-layouts .flexible-layout-hero .subheading {
  font-size: 25px;
  margin: 0 auto 30px;
  line-height: 32px; }

.e47-layouts .flexible-layout-hero .button {
  padding: 10px 20px;
  font-size: 24px;
  font-weight: 300; }

@media (max-width: 900px) {
  .e47-layouts .flexible-layout-hero .heading {
    font-size: 40px; }
  .e47-layouts .flexible-layout-hero .subheading {
    font-size: 20px;
    margin: 0 auto 30px;
    line-height: 25px; }
  .e47-layouts .flexible-layout-hero .button {
    padding: 8px 16px;
    font-size: 20px; } }

.e47-layouts .recent-posts-section {
  padding-bottom: 70px; }

.e47-layouts .post-thumbnail {
  display: block;
  padding: 50px;
  height: 100%;
  text-decoration: none;
  -webkit-box-shadow: inset 1px 1px 1px 9999px rgba(0, 0, 0, 0.35);
  box-shadow: inset 1px 1px 1px 9999px rgba(0, 0, 0, 0.35);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  .e47-layouts .post-thumbnail:hover {
    -webkit-box-shadow: inset 1px 1px 1px 9999px rgba(0, 0, 0, 0.65);
    box-shadow: inset 1px 1px 1px 9999px rgba(0, 0, 0, 0.65); }
  .e47-layouts .post-thumbnail h3 {
    color: #fff;
    font-size: 28px;
    margin: 0; }

@media (max-width: 900px) {
  .e47-layouts .recent-posts-section {
    padding-bottom: 20px; } }

.e47-layouts .image-columns {
  list-style: none;
  margin: 0;
  padding: 0; }
  .e47-layouts .image-columns h3 {
    margin-top: 10px; }
  .e47-layouts .image-columns li {
    margin: 0 0 50px;
    display: block;
    float: left; }

.e47-layouts .image-columns-heading {
  margin-bottom: 40px; }

.e47-layouts .image-columns-2 li {
  width: calc(50% - 37.5px);
  margin-right: 75px; }
  .e47-layouts .image-columns-2 li:last-of-type {
    margin-right: 0; }

.e47-layouts .image-columns-3 li {
  width: calc(33.33% - 33.34px);
  margin-right: 50px; }
  .e47-layouts .image-columns-3 li:last-of-type {
    margin-right: 0; }

.e47-layouts .image-columns-4 li {
  width: calc(25% - 33.34px);
  margin-right: 50px; }
  .e47-layouts .image-columns-4 li:last-of-type {
    margin-right: 0; }

.e47-layouts .svg-icon-wrapper {
  margin: 0 auto 10px; }

.e47-layouts .img-icon {
  display: inline-block;
  margin-bottom: 5px; }

@media (max-width: 900px) {
  .e47-layouts .image-columns li {
    width: 100%;
    margin-right: 0;
    float: none; }
  .e47-layouts .image-columns-heading {
    margin-bottom: 30px; } }

.e47-layouts .form-block {
  padding: 75px 0; }

@media (max-width: 900px) {
  .e47-layouts .form-block {
    padding: 50px 0; }
    .e47-layouts .form-block h2 {
      font-size: 30px;
      line-height: 32px; } }

.e47-layouts .flexible-layout-section.simple-callout {
  text-align: center;
  padding: 50px 0; }
  .e47-layouts .flexible-layout-section.simple-callout p {
    margin-bottom: 0; }
  .e47-layouts .flexible-layout-section.simple-callout .button {
    margin-top: 15px; }

@media (max-width: 900px) {
  .e47-layouts .flexible-layout-section.simple-callout {
    padding: 35px 0; } }

.e47-layouts .person-quote h3 {
  font-size: 36px;
  line-height: 50px;
  margin: 0; }

.e47-layouts .person-quote span {
  font-weight: 400;
  display: block;
  text-align: right;
  margin-top: 10px; }

@media (max-width: 900px) {
  .e47-layouts .person-quote h3 {
    font-size: 28px;
    line-height: 36px; } }

.e47-layouts .fancy-list-heading {
  margin: 0 0 50px;
  text-align: center; }

.e47-layouts .fancy-list ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .e47-layouts .fancy-list ul li {
    line-height: 22px;
    font-weight: 700;
    font-size: 18px;
    padding: 20px 0 0 0;
    border-style: solid;
    border-width: 0 0 2px 0; }
  .e47-layouts .fancy-list ul li:nth-child(1) {
    padding-top: 10px; }

@media (max-width: 900px) {
  .e47-layouts .fancy-list {
    margin-bottom: 50px; }
  .e47-layouts .fancy-list-heading {
    margin-bottom: 10px;
    text-align: left; } }
