html, body {
  overflow-x: hidden; }

.main-header-menu .current-menu-item > a {
  color: #971A34 !important; }

.main-header-menu .current-menu-ancestor > a {
  color: #971A34 !important; }

.main-header-menu a {
  color: #252A2A !important; }

.home h2 {
  font-size: 26px;
  font-family: "Montserrat";
  text-transform: capitalize; }
  @media screen and (min-width: 768px) {
    .home h2 {
      font-size: 32px; } }
.home h3 {
  font-size: 20px;
  text-transform: capitalize;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .home h3 {
      font-size: 15px; } }
  @media screen and (min-width: 1200px) {
    .home h3 {
      font-size: 26px; } }
.homepage-banner {
  display: none !important;
  position: relative; }
  @media screen and (min-width: 768px) {
    .homepage-banner {
      display: block !important;
      height: 450px; } }
  @media screen and (min-width: 1200px) {
    .homepage-banner {
      height: 675px; } }
  .homepage-banner .slider .slide {
    height: 450px;
    background-size: cover;
    background-position: center; }
    @media screen and (min-width: 1200px) {
      .homepage-banner .slider .slide {
        height: 675px; } }
  .homepage-banner .banner-overlay {
    position: absolute;
    top: 50%;
    left: 6.5%;
    transform: translateY(-50%);
    max-width: 650px; }
    .homepage-banner .banner-overlay h1 {
      color: #fff !important;
      font-size: 30px;
      text-transform: capitalize;
      margin-bottom: 15px; }
    .homepage-banner .banner-overlay img {
      width: 100%;
      max-width: none; }
    .homepage-banner .banner-overlay p {
      color: #fff; }
    .homepage-banner .banner-overlay .button-outline {
      background: transparent;
      text-transform: uppercase;
      padding: 16px;
      border-width: 4px;
      border-style: solid;
      font-size: 18px;
      display: inline-block; }
      .homepage-banner .banner-overlay .button-outline:hover {
        box-shadow: 3px 3px rgba(0, 0, 0, 0.25); }
      .homepage-banner .banner-overlay .button-outline.white {
        border-color: #fff;
        color: #fff; }
        .homepage-banner .banner-overlay .button-outline.white:hover {
          color: #fff;
          background: #971A1A;
          border-color: #761212;
          text-decoration: none; }

.content-area-1 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background-image: url("../images/dotted-background-topleft.png");
  padding: 25px 0; }
  .content-area-1 .content-left, .content-area-1 .content-right {
    flex-basis: 100%; }
  .content-area-1 .content-left {
    padding: 6.25%; }
  .content-area-1 .content-right {
    display: flex;
    flex-wrap: wrap; }
    .content-area-1 .content-right img {
      flex-basis: 50%;
      max-width: 50%; }
      @media screen and (min-width: 768px) {
        .content-area-1 .content-right img {
          flex-basis: 25%;
          max-width: 25%; } }
      @media screen and (min-width: 1200px) {
        .content-area-1 .content-right img {
          flex-basis: 50%;
          max-width: 50%; } }
  @media screen and (min-width: 1200px) {
    .content-area-1 .content-left {
      flex-basis: 62.5%; }
    .content-area-1 .content-right {
      flex-basis: 37.5%; } }
.ribbon {
  background: #971A1A;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 6.25%; }
  .ribbon p {
    flex-basis: 100%;
    color: #fff;
    font-size: 22px;
    font-family: "IBM Plex Sans Condensed", sans-serif;
    font-weight: 500;
    margin: 0;
    line-height: 1.25em; }
    @media screen and (min-width: 768px) {
      .ribbon p {
        flex-basis: 45%;
        font-size: 22px; } }
    @media screen and (min-width: 1200px) {
      .ribbon p {
        font-size: 32px; } }
  .ribbon img {
    flex-basis: 100%; }
    @media screen and (min-width: 768px) {
      .ribbon img {
        flex-basis: 45%;
        max-width: 446px; } }
.content-area-2 {
  background-image: url("../images/dotted-background-bottomright.png");
  background-size: cover;
  padding-top: 56px;
  padding-bottom: 48px;
  padding: 6.25%; }
  .content-area-2 h2 {
    color: #252A2A !important; }
  @media screen and (min-width: 768px) {
    .content-area-2 {
      padding-top: 48px;
      padding-bottom: 64px;
      padding: 15.15%; } }
  @media screen and (min-width: 1200px) {
    .content-area-2 {
      padding-top: 56px;
      padding-bottom: 48px; } }
.services {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  .services .service {
    flex-basis: 100%;
    position: relative; }
    @media screen and (min-width: 768px) {
      .services .service {
        flex-basis: 33.33%; } }
    .services .service a .overlay {
      position: absolute;
      height: 100%;
      width: 100%;
      top: 0;
      left: 0;
      background: rgba(37, 42, 42, 0.3); }
      .services .service a .overlay h3 {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #fff !important;
        background: #971A1A;
        padding: 12px 18px; }
    .services .service a:hover .overlay {
      background: rgba(37, 42, 42, 0); }
    .services .service a img {
      width: 100%;
      max-width: none; }

.testimonial-section {
  background-image: url("../images/testimonial-background.jpg");
  background-size: cover;
  padding: 6.25% 15.15%; }
  .testimonial-section img {
    margin: auto;
    display: block; }
  .testimonial-section p {
    color: #fff; }
  .testimonial-section hr {
    background: linear-gradient(90deg, rgba(229, 200, 158, 0) 0%, #e5c89e 39%, rgba(229, 200, 158, 0) 100%) !important;
    height: 2px; }
  .testimonial-section .testimonial-slider .testimonial {
    text-align: center; }
    .testimonial-section .testimonial-slider .testimonial h4 {
      color: #E5C89E !important;
      text-transform: uppercase; }

.principles-section {
  background-image: url("../images/principles-background.jpg");
  background-size: cover;
  padding: 6.25%; }
  .principles-section #title {
    display: block;
    margin: auto; }
  .principles-section .principles {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 40px; }
    @media screen and (min-width: 768px) {
      .principles-section .principles {
        margin-top: 47px; } }
    @media screen and (min-width: 1200px) {
      .principles-section .principles {
        margin-top: 76px; } }
    .principles-section .principles .principle {
      flex-basis: 100%;
      margin-top: 24px; }
      .principles-section .principles .principle:not(:last-of-type) {
        border-bottom: 1px solid #A2AAB2; }
        @media screen and (min-width: 768px) {
          .principles-section .principles .principle:not(:last-of-type) {
            border-bottom: none;
            border-right: 1px solid #A2AAB2; } }
      @media screen and (min-width: 768px) {
        .principles-section .principles .principle {
          margin-top: 0; } }
      .principles-section .principles .principle img {
        display: inline-block;
        float: left;
        max-width: 54px;
        margin-right: 12px; }
        @media screen and (min-width: 768px) {
          .principles-section .principles .principle img {
            max-width: none;
            float: none;
            display: block; } }
      @media screen and (min-width: 768px) {
        .principles-section .principles .principle {
          flex-basis: 30%; } }
      .principles-section .principles .principle p {
        color: #fff; }

.contact-section {
  display: flex;
  flex-wrap: wrap; }
  .contact-section .contact-left {
    flex-basis: 100%;
    background: #971A1A;
    padding: 3.25% 6.25% 0; }
    @media screen and (min-width: 1200px) {
      .contact-section .contact-left {
        flex-basis: 50%; } }
    .contact-section .contact-left h2 {
      color: #E5C89E !important; }
    .contact-section .contact-left p {
      color: #fff; }
    .contact-section .contact-left table {
      border: none;
      margin-bottom: 0; }
      .contact-section .contact-left table td, .contact-section .contact-left table th {
        border: none;
        color: #fff !important; }
        .contact-section .contact-left table td a, .contact-section .contact-left table th a {
          color: #fff !important;
          font-weight: 400 !important; }
        .contact-section .contact-left table td .contact-left-title, .contact-section .contact-left table th .contact-left-title {
          color: #E5C89E !important;
          text-transform: uppercase;
          font-size: 12px;
          font-family: 'Montserrat', sans-serif;
          font-weight: 800;
          margin-bottom: 0; }
          @media screen and (min-width: 768px) {
            .contact-section .contact-left table td .contact-left-title, .contact-section .contact-left table th .contact-left-title {
              font-size: 17px; } }
      .contact-section .contact-left table td:nth-of-type(odd) {
        width: 26%; }
      .contact-section .contact-left table td:nth-of-type(even) {
        font-size: 14px; }
        @media screen and (min-width: 768px) {
          .contact-section .contact-left table td:nth-of-type(even) {
            font-size: 20px; } }
  .contact-section .contact-right {
    padding: 6.25% 2%;
    flex-basis: 100%; }
    @media screen and (min-width: 768px) {
      .contact-section .contact-right {
        padding: 3.25% 6.25%; } }
    .contact-section .contact-right .gform_wrapper .gform_body .gform_fields .gfield input, .contact-section .contact-right .gform_wrapper .gform_body .gform_fields .gfield textarea {
      background: rgba(229, 200, 158, 0.2);
      margin-top: 0; }
    .contact-section .contact-right .gform_wrapper .gform_footer input[type="submit"] {
      float: right;
      background: #971A1A; }
    @media screen and (min-width: 1200px) {
      .contact-section .contact-right {
        flex-basis: 50%; } }
.wrap {
  max-width: 87.5%;
  margin: auto; }
  @media screen and (min-width: 768px) {
    .wrap {
      max-width: 80%; } }
  @media screen and (min-width: 1200px) {
    .wrap {
      max-width: 66.66%; } }
h1, h2, h3, h4, h5 {
  font-family: 'Montserrat';
  font-weight: 800;
  text-transform: capitalize; }

p {
  font-family: "IBM Plex Sans", sans-serif; }

h1 {
  font-size: 30px; }

h2 {
  font-size: 30px;
  color: #252A2A !important; }

h3 {
  font-size: 26px; }

h4 {
  font-size: 20px; }

h5 {
  font-size: 18px;
  color: #971A1A !important; }

@media screen and (min-width: 768px) {
  h1 {
    font-size: 40px; } }

a {
  font-weight: bold;
  color: #971A1A; }
  a:visited {
    color: #BE7C7C; }

.banner-top {
  background-size: cover; }
  @media screen and (max-width: 1199px) {
    .banner-top {
      background-image: none !important; } }
  @media screen and (min-width: 1200px) {
    .banner-top {
      height: 245px;
      display: flex;
      align-items: flex-end;
      justify-content: center; } }
  .banner-top .title {
    background: #FCF8F3;
    padding: 16px 0px; }
    @media screen and (min-width: 1200px) {
      .banner-top .title {
        width: 80%;
        margin: 0 50px; } }
    .banner-top .title h1 {
      color: #9E765B !important;
      font-size: 40px;
      padding-left: 20px;
      padding-right: 20px;
      margin: 0 7.75%; }
      @media screen and (min-width: 1200px) {
        .banner-top .title h1 {
          margin: 0 6.75%; } }
.page-content {
  background: url("../images/content-page-bg.jpg") no-repeat bottom, linear-gradient(#fcf9f4, #fff);
  background-size: 100%; }
  .page-content .wrap {
    border-top: 2px solid #E5C89E;
    padding-top: 32px; }

.button-outline {
  background: transparent;
  text-transform: uppercase;
  padding: 16px;
  border-width: 4px;
  border-style: solid;
  font-size: 18px;
  display: inline-block; }
  .button-outline:hover {
    box-shadow: 3px 3px rgba(0, 0, 0, 0.25); }
  .button-outline.red {
    border-color: #971A1A;
    color: #971A1A; }
    .button-outline.red:hover {
      color: #fff;
      background: #971A1A;
      border-color: #761212;
      text-decoration: none; }
  .button-outline.gold {
    border-color: #9E765B;
    color: #9E765B; }
    .button-outline.gold:hover {
      color: #fff;
      background: #9E765B;
      border-color: #89654D;
      text-decoration: none; }

.button {
  padding: 16px;
  border-width: 4px;
  border-style: solid;
  font-size: 18px;
  display: inline-block;
  color: #fff !important; }
  .button:hover {
    box-shadow: 3px 3px rgba(0, 0, 0, 0.25); }
  .button.red {
    border-color: #971A1A;
    background: #971A1A; }
    .button.red:hover {
      border-color: #761212;
      text-decoration: none; }
  .button.gold {
    border-color: #9E765B;
    background: #9E765B; }
    .button.gold:hover {
      border-color: #89654D;
      text-decoration: none; }

.superheader {
  background: #971A1A !important; }
  .superheader .numberbar .phonenumber {
    background: none !important;
    color: #E5C89E !important; }
    @media screen and (min-width: 448px) {
      .superheader .numberbar .phonenumber:last-of-type {
        border-left: 1px solid #E5C89E; } }
.ast-footer-overlay {
  background-color: #252A2A !important; }
  .ast-footer-overlay .ast-small-footer-section {
    font-weight: bold;
    font-family: "IBM Plex Sans Condensed", sans-serif; }
  .ast-footer-overlay a {
    color: #fff !important; }

.global-footer {
  display: flex;
  flex-wrap: wrap; }
  .global-footer .contact-left {
    flex-basis: 100%;
    background: #971A1A;
    padding: 3.25% 6.25% 0; }
    @media screen and (min-width: 1200px) {
      .global-footer .contact-left {
        flex-basis: 50%; } }
    .global-footer .contact-left h2 {
      color: #E5C89E !important; }
    .global-footer .contact-left p {
      color: #fff; }
    .global-footer .contact-left table {
      border: none;
      margin-bottom: 0; }
      .global-footer .contact-left table td, .global-footer .contact-left table th {
        border: none;
        color: #fff !important; }
        .global-footer .contact-left table td a, .global-footer .contact-left table th a {
          color: #fff !important;
          font-weight: 400 !important; }
        .global-footer .contact-left table td h4, .global-footer .contact-left table th h4 {
          color: #E5C89E !important;
          text-transform: uppercase;
          font-size: 12px; }
          @media screen and (min-width: 768px) {
            .global-footer .contact-left table td h4, .global-footer .contact-left table th h4 {
              font-size: 17px; } }
      .global-footer .contact-left table td:nth-of-type(odd) {
        width: 26%; }
      .global-footer .contact-left table td:nth-of-type(even) {
        font-size: 14px; }
        @media screen and (min-width: 768px) {
          .global-footer .contact-left table td:nth-of-type(even) {
            font-size: 20px; } }
  .global-footer .contact-right {
    padding: 6.25% 2%;
    flex-basis: 100%; }
    @media screen and (min-width: 768px) {
      .global-footer .contact-right {
        padding: 3.25% 6.25%; } }
    .global-footer .contact-right .gform_wrapper .gform_body .gform_fields .gfield input, .global-footer .contact-right .gform_wrapper .gform_body .gform_fields .gfield textarea {
      background: rgba(229, 200, 158, 0.2);
      margin-top: 0; }
    .global-footer .contact-right .gform_wrapper .gform_footer input[type="submit"] {
      float: right;
      background: #971A1A; }
    @media screen and (min-width: 1200px) {
      .global-footer .contact-right {
        flex-basis: 50%; } }
.page-id-635 .kt-accordion-pane-6, .page-id-635 .kt-accordion-pane-11,
.page-id-672 .kt-accordion-pane-5 {
  padding-bottom: 0 !important;
  background: none !important; }

.submit-leaf {
  display: none !important; }

.wp-block-image img {
  border: none !important; }

.customequal--flex {
  justify-content: center;
  align-items: center;
  display: flex; }
  .customequal--flex .ast-small-footer-section {
    display: inline-block; }
    .customequal--flex .ast-small-footer-section:first-of-type {
      flex-basis: 89%; }
    .customequal--flex .ast-small-footer-section:last-of-type {
      flex-basis: 4%; }
    @media screen and (min-width: 768px) {
      .customequal--flex .ast-small-footer-section:first-of-type {
        flex-basis: auto; } }
  .customequal--flex .facebook {
    border-left: 1px solid #868E95; }

.service-link {
  padding: 32px; }

@media screen and (min-width: 768px) {
  .columncount {
    column-count: 2; } }

@media screen and (min-width: 1200px) {
  .columncount {
    column-count: 4; } }
