/* Added fallbacks to help with CLS, feel free to remove if it doesn't help on your project */
/* Colours */
.gradient-bg {
  background: linear-gradient(to bottom, #2E3191, #101379); }

/* Fluid heading sizes - set your min/max sizes and you're done! */
/* Some device sizes to use with min-width */
/* adjusted breakpoints for above */
/* 100% widths look better than "Snapping" IMO */
/* Utility */
/* Additional Spacers -- don't think you'll need more than 7, but if you do -- maybe just use a custom class  :)  */
.fade {
  transition: opacity 0.15s linear; }
  @media (prefers-reduced-motion: reduce) {
    .fade {
      transition: none; } }
  .fade:not(.show) {
    opacity: 0; }

.collapse:not(.show) {
  display: none; }

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease; }
  @media (prefers-reduced-motion: reduce) {
    .collapsing {
      transition: none; } }
  .collapsing.collapse-horizontal {
    width: 0;
    height: auto;
    transition: width 0.35s ease; }
    @media (prefers-reduced-motion: reduce) {
      .collapsing.collapse-horizontal {
        transition: none; } }

.accordion {
  --bs-accordion-color: #212529;
  --bs-accordion-bg: #FFFFFF;
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: 1px;
  --bs-accordion-border-radius: 0.375rem;
  --bs-accordion-inner-border-radius: calc(0.375rem - 1px);
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: #212529;
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23d41a22'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-border-color: #f68e93;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(236, 29, 38, 0.25);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: #d41a22;
  --bs-accordion-active-bg: #fde8e9; }

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition); }
  @media (prefers-reduced-motion: reduce) {
    .accordion-button {
      transition: none; } }
  .accordion-button:not(.collapsed) {
    color: var(--bs-accordion-active-color);
    background-color: var(--bs-accordion-active-bg);
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color); }
    .accordion-button:not(.collapsed)::after {
      background-image: var(--bs-accordion-btn-active-icon);
      transform: var(--bs-accordion-btn-icon-transform); }
  .accordion-button::after {
    flex-shrink: 0;
    width: var(--bs-accordion-btn-icon-width);
    height: var(--bs-accordion-btn-icon-width);
    margin-left: auto;
    content: "";
    background-image: var(--bs-accordion-btn-icon);
    background-repeat: no-repeat;
    background-size: var(--bs-accordion-btn-icon-width);
    transition: var(--bs-accordion-btn-icon-transition); }
    @media (prefers-reduced-motion: reduce) {
      .accordion-button::after {
        transition: none; } }
  .accordion-button:hover {
    z-index: 2; }
  .accordion-button:focus {
    z-index: 3;
    border-color: var(--bs-accordion-btn-focus-border-color);
    outline: 0;
    box-shadow: var(--bs-accordion-btn-focus-box-shadow); }

.accordion-header {
  margin-bottom: 0; }

.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); }
  .accordion-item:first-of-type {
    border-top-left-radius: var(--bs-accordion-border-radius);
    border-top-right-radius: var(--bs-accordion-border-radius); }
    .accordion-item:first-of-type .accordion-button {
      border-top-left-radius: var(--bs-accordion-inner-border-radius);
      border-top-right-radius: var(--bs-accordion-inner-border-radius); }
  .accordion-item:not(:first-of-type) {
    border-top: 0; }
  .accordion-item:last-of-type {
    border-bottom-right-radius: var(--bs-accordion-border-radius);
    border-bottom-left-radius: var(--bs-accordion-border-radius); }
    .accordion-item:last-of-type .accordion-button.collapsed {
      border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
      border-bottom-left-radius: var(--bs-accordion-inner-border-radius); }
    .accordion-item:last-of-type .accordion-collapse {
      border-bottom-right-radius: var(--bs-accordion-border-radius);
      border-bottom-left-radius: var(--bs-accordion-border-radius); }

.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); }

.accordion-flush .accordion-collapse {
  border-width: 0; }

.accordion-flush .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0; }
  .accordion-flush .accordion-item:first-child {
    border-top: 0; }
  .accordion-flush .accordion-item:last-child {
    border-bottom: 0; }
  .accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {
    border-radius: 0; }

#sec-members {
  padding: 20px 0;
  background-color: #F8F5F5; }
  #sec-members .card {
    margin-right: 20px; }
    #sec-members .card:last-of-type {
      margin-right: 0; }
  @media screen and (max-width: 1024px) {
    #sec-members {
      padding: 62px 0 30px; } }
  @media screen and (max-width: 641px) {
    #sec-members .card picture,
    #sec-members .card img {
      max-width: 154px; }
    #sec-members .card:last-of-type picture,
    #sec-members .card:last-of-type img {
      max-width: 110px; } }

#sec-introduction {
  overflow-x: hidden; }
  #sec-introduction::before {
    content: '';
    position: absolute;
    inset: 0;
    top: unset;
    width: 100% !important;
    height: 129px !important;
    background-color: rgba(255, 255, 255, 0.14); }
  #sec-introduction .content {
    position: relative;
    z-index: 2;
    margin-top: 118px;
    padding-left: 17px; }
    #sec-introduction .content::before {
      content: '';
      height: 46px;
      width: 46px;
      background-color: #EC1D26;
      position: absolute;
      left: 0;
      top: -7px;
      z-index: -1; }
    #sec-introduction .content h1, #sec-introduction .content p {
      color: #FFFFFF; }
    #sec-introduction .content p {
      max-width: 630px; }
  #sec-introduction .side-img {
    position: absolute;
    width: 34%;
    right: 0;
    bottom: 17px; }
    #sec-introduction .side-img picture,
    #sec-introduction .side-img img {
      position: relative;
      bottom: 4px;
      transform: scale(1.04); }
  #sec-introduction .bottom-bar {
    margin-top: 159px;
    padding-bottom: 35px;
    position: relative;
    z-index: 3; }
    #sec-introduction .bottom-bar h3, #sec-introduction .bottom-bar h2 {
      color: #FFFFFF;
      margin: 0;
      margin-right: 20px; }
      #sec-introduction .bottom-bar h3 a, #sec-introduction .bottom-bar h2 a {
        color: #FFFFFF; }
        #sec-introduction .bottom-bar h3 a:hover, #sec-introduction .bottom-bar h2 a:hover {
          color: #EC1D26; }
    #sec-introduction .bottom-bar h2 {
      margin-left: 16px; }
    #sec-introduction .bottom-bar h3 {
      font-size: 25px; }
    #sec-introduction .bottom-bar .banner {
      background: #EC1D26;
      padding: 8px 37px 5px 15px;
      width: fit-content;
      clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 50%, 100% 100%, 0 100%); }
  #sec-introduction .info-window {
    width: 150px !important;
    max-width: 150px !important;
    border-radius: 14px;
    background-color: #FFFFFF;
    color: #EC1D26; }
    #sec-introduction .info-window button {
      border: none !important; }
  #sec-introduction .btn.btn-primary {
    background-color: #FFFFFF;
    color: #EC1D26;
    border-color: #FFFFFF; }
    #sec-introduction .btn.btn-primary:hover {
      color: #FFFFFF;
      background-color: #EC1D26;
      border-color: #EC1D26; }
  @media screen and (min-width: 1180px) and (max-width: 1420px) {
    #sec-introduction .bottom-bar h3 {
      font-size: 20px !important; } }
  @media screen and (max-width: 1024px) {
    #sec-introduction .side-img {
      display: none; }
    #sec-introduction .content {
      margin-top: 90px; } }
  @media screen and (min-width: 641px) and (max-width: 690px) {
    #sec-introduction .bottom-bar h3 {
      font-size: 22px; } }
  @media screen and (max-width: 641px) {
    #sec-introduction::before {
      height: 169px !important; }
    #sec-introduction h2 {
      font-size: 28px; }
    #sec-introduction a:last-of-type {
      font-size: 18px; }
    #sec-introduction .bottom-bar {
      padding-bottom: 29px; }
      #sec-introduction .bottom-bar .banner {
        margin: 4px 0 2px;
        padding: 5px 25px 3px 13px;
        clip-path: polygon(0 0, 100% 0, calc(100% - 15px) 50%, 100% 100%, 0 100%); }
      #sec-introduction .bottom-bar picture,
      #sec-introduction .bottom-bar img {
        max-width: 44px; }
      #sec-introduction .bottom-bar h2 {
        margin-left: 6px;
        margin-right: 0; }
      #sec-introduction .bottom-bar h3 {
        margin-right: 0; } }

#sec-locations {
  padding-top: 114px;
  padding-bottom: 130px; }
  #sec-locations h2 {
    color: #2E3191;
    line-height: 1.2;
    margin: 0; }
    #sec-locations h2.small-box::before {
      top: -15px;
      background-color: rgba(46, 49, 145, 0.15); }
  #sec-locations .acf-map {
    max-width: 100%;
    max-height: 481px;
    width: 100%;
    height: 481px;
    border: none;
    margin: 0; }
    #sec-locations .acf-map .gm-style-iw.gm-style-iw-c {
      padding-top: 15px !important;
      color: #EC1D26;
      font-weight: 500;
      top: unset !important;
      bottom: -150px !important;
      border-radius: 40px !important;
      font-family: "Fjalla One", "Open Sans", sans-serif !important;
      padding-left: 18px !important; }
    #sec-locations .acf-map .gm-style-iw-tc::after {
      display: none !important; }
    #sec-locations .acf-map .gm-style-iw-chr {
      visibility: hidden !important;
      display: none !important; }
  #sec-locations .acf-map img {
    max-width: inherit !important; }
  #sec-locations .side-info {
    background-color: #F8F5F5;
    padding: 30px 70px; }
    #sec-locations .side-info h4 {
      color: #2E3191; }
    #sec-locations .side-info p {
      margin-bottom: 24px; }
    #sec-locations .side-info .location-list {
      margin-bottom: 0; }
      #sec-locations .side-info .location-list li {
        padding: 0;
        display: flex;
        align-items: center;
        cursor: pointer;
        width: fit-content; }
        #sec-locations .side-info .location-list li::before {
          font-family: 'standard-icons' !important;
          font-size: 10px;
          content: '';
          color: #2E3191;
          position: relative;
          content: '\e90c' !important;
          width: unset;
          height: unset;
          left: 0;
          top: 0;
          margin-right: 7px; }
        #sec-locations .side-info .location-list li::after {
          display: none !important; }
        #sec-locations .side-info .location-list li:hover {
          color: #2E3191;
          font-weight: 700; }
          #sec-locations .side-info .location-list li:hover::before {
            color: #EC1D26; }
    #sec-locations .side-info .btn.btn-primary {
      width: fit-content; }
  @media screen and (max-width: 1024px) {
    #sec-locations {
      padding-top: 56px;
      padding-bottom: 52px; }
      #sec-locations .top-content p {
        padding-left: 22px; }
      #sec-locations .side-info {
        padding: 38px 31px; } }
  @media screen and (max-width: 769px) {
    #sec-locations .acf-map {
      height: 360px !important; } }

#sec-services {
  padding-bottom: 63px; }
  #sec-services p {
    max-width: 1046px; }
  #sec-services .card {
    transition: all 0.2s linear; }
    #sec-services .card i {
      background-color: #EC1D26;
      font-size: 60px;
      padding: 18px;
      color: #FFFFFF;
      display: inline-block; }
    #sec-services .card p {
      margin: 0;
      color: #2E3191;
      font-weight: 700;
      margin-top: 23px;
      line-height: 1.4;
      text-transform: capitalize; }
    #sec-services .card:hover {
      transform: scale(1.1); }

#sec-provides {
  padding: 47px 0 37px; }
  #sec-provides h3 {
    display: inline;
    color: #FFFFFF; }
  @media screen and (max-width: 641px) {
    #sec-provides {
      padding: 72px 0 70px; } }

#sec-problem {
  padding-top: 125px;
  padding-bottom: 118px; }
  #sec-problem .small-box::before {
    background-color: rgba(46, 49, 145, 0.15); }
  #sec-problem p:last-of-type {
    color: #2E3191;
    font-weight: 700;
    margin-top: 25px;
    margin-bottom: 15px; }
  #sec-problem .btn.btn-primary {
    background-color: #2E3191;
    border-color: #2E3191;
    width: fit-content;
    color: #FFFFFF !important; }
    #sec-problem .btn.btn-primary:hover {
      background-color: #EC1D26;
      border-color: #EC1D26; }
  @media screen and (max-width: 1024px) {
    #sec-problem {
      padding-top: 16px;
      padding-bottom: 78px; } }

#sec-effective {
  padding: 112px 0 104px; }
  #sec-effective .side-img {
    position: absolute;
    inset: 0;
    left: unset;
    height: 100%;
    width: 31.89%; }
    #sec-effective .side-img picture,
    #sec-effective .side-img img {
      object-fit: cover;
      max-height: 100% !important;
      max-width: 100% !important;
      height: 100% !important;
      width: 100% !important; }
  #sec-effective h2 {
    max-width: 645px; }
  #sec-effective .small-box {
    padding-left: 8px; }
    #sec-effective .small-box::before {
      height: 27px;
      width: 27px;
      left: 0;
      top: -1px; }
  #sec-effective p {
    max-width: 891px; }
  #sec-effective .card h6 {
    margin-bottom: 3px; }
  #sec-effective .card i {
    font-size: 50px;
    margin-right: 16px; }
  #sec-effective .card p {
    line-height: 1.1;
    font-size: 14px; }
  @media screen and (max-width: 1580px) {
    #sec-effective .side-img {
      width: 24.89%; } }
  @media screen and (max-width: 1024px) {
    #sec-effective {
      padding: 66px 0 74px; }
      #sec-effective .side-img {
        display: none; }
      #sec-effective .small-box::before {
        top: -9px; } }

#sec-testimonial {
  padding-top: 97px;
  padding-bottom: 97px; }
  #sec-testimonial .content {
    background-color: #F8F5F5;
    padding: 72px 50px 88px; }
    #sec-testimonial .content .card {
      max-width: 1040px; }
      #sec-testimonial .content .card i {
        font-size: 40px;
        color: #FFCE00;
        margin-right: 5px; }
        #sec-testimonial .content .card i:last-of-type {
          margin-right: 0; }
      #sec-testimonial .content .card h3 {
        color: #2E3191;
        margin-top: 40px; }
      #sec-testimonial .content .card p:first-of-type {
        font-style: italic;
        color: #414141; }
      #sec-testimonial .content .card p:last-of-type {
        color: #2E3191;
        font-family: "Fjalla One", "Open Sans", sans-serif;
        text-transform: uppercase; }
      #sec-testimonial .content .card .btn.btn-primary {
        background-color: #2E3191;
        border-color: #2E3191;
        width: fit-content;
        color: #FFFFFF !important; }
        #sec-testimonial .content .card .btn.btn-primary:hover {
          background-color: #EC1D26;
          border-color: #EC1D26; }
  @media screen and (max-width: 1024px) {
    #sec-testimonial {
      padding-top: 44px;
      padding-bottom: 75px; }
      #sec-testimonial .content {
        padding: 58px 30px 74px; }
        #sec-testimonial .content .card i {
          font-size: 30px; }
        #sec-testimonial .content .card h3 {
          margin-top: 22px; } }

#sec-repair {
  padding: 102px 0 88px; }
  #sec-repair .bg-img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    z-index: -1; }
    #sec-repair .bg-img picture,
    #sec-repair .bg-img img {
      max-height: 100% !important;
      max-width: 100% !important;
      height: 100% !important;
      width: 100% !important;
      object-fit: cover;
      overflow: hidden; }
  #sec-repair h2 {
    color: #FFFFFF; }
  #sec-repair p:first-of-type {
    margin-top: 24px; }
  #sec-repair p:last-of-type {
    margin-bottom: 34px; }
  #sec-repair a:not(.btn.btn-primary) {
    color: #FFFFFF !important; }
  @media screen and (max-width: 1024px) {
    #sec-repair {
      padding: 90px 0; } }

#sec-flexible {
  padding-top: 120px;
  padding-bottom: 120px; }
  #sec-flexible .side-img-box::before {
    left: unset;
    right: 0; }
  #sec-flexible h2 {
    color: #2E3191; }
  #sec-flexible .small-box::before {
    background-color: rgba(46, 49, 145, 0.15); }
  #sec-flexible p:last-of-type {
    color: #2E3191;
    font-weight: 700; }
  @media screen and (max-width: 1024px) {
    #sec-flexible {
      padding-top: 66px;
      padding-bottom: 63px; }
      #sec-flexible .side-img-box::before {
        display: block !important;
        width: 108px;
        height: 108px; } }

#sec-experts {
  padding: 50px 0; }
  @media screen and (max-width: 1024px) {
    #sec-experts {
      padding: 64px 0 57px; } }

#sec-faqs {
  padding-top: 122px;
  padding-bottom: 122px; }
  #sec-faqs .small-box {
    padding-left: 20px; }
    #sec-faqs .small-box::before {
      width: 27px;
      height: 27px;
      left: 10px; }
  #sec-faqs .card {
    background-color: #2E3191;
    padding: 90px 64px; }
  #sec-faqs .accordion .accordion-item {
    background-color: inherit;
    padding: 30px 0;
    border-radius: 0;
    border: none;
    border-bottom: 1px solid #D5D5D5; }
    #sec-faqs .accordion .accordion-item .accordion-header h5 {
      margin-bottom: 0;
      font-family: 'Open Sans' , sans-serif;
      position: relative;
      color: #2E3191; }
      #sec-faqs .accordion .accordion-item .accordion-header h5 i {
        background-color: #FFFFFF;
        color: #EC1D26;
        font-size: 25px;
        margin-right: 15px;
        position: relative;
        top: 2px; }
        #sec-faqs .accordion .accordion-item .accordion-header h5 i::before {
          content: '\e917'; }
      #sec-faqs .accordion .accordion-item .accordion-header h5[aria-expanded="true"] {
        color: #EC1D26;
        font-weight: 700; }
        #sec-faqs .accordion .accordion-item .accordion-header h5[aria-expanded="true"] i {
          color: #2E3191; }
          #sec-faqs .accordion .accordion-item .accordion-header h5[aria-expanded="true"] i::before {
            content: '\e914'; }
    #sec-faqs .accordion .accordion-item .accordion-body {
      margin-top: 31px;
      padding: 0; }
    #sec-faqs .accordion .accordion-item ul li {
      font-size: 16px; }
  @media screen and (max-width: 1024px) {
    #sec-faqs {
      padding-top: 57px;
      padding-bottom: 60px; }
      #sec-faqs .card {
        padding: 50px 30px; }
      #sec-faqs .accordion .accordion-item {
        padding: 24px 0; }
        #sec-faqs .accordion .accordion-item .accordion-header h5 {
          font-size: 16px; }
        #sec-faqs .accordion .accordion-item .accordion-body {
          margin-top: 24px; } }

#sec-blogs .card {
  padding: 0;
  border: none; }
  #sec-blogs .card .card-content {
    padding: 31px 30px 46px; }
    #sec-blogs .card .card-content .entry-meta {
      font-size: 14px; }
    #sec-blogs .card .card-content a, #sec-blogs .card .card-content p {
      font-size: 14px; }
  #sec-blogs .card .img-wrap {
    height: 240px;
    overflow: hidden; }
    #sec-blogs .card .img-wrap picture, #sec-blogs .card .img-wrap img {
      object-fit: cover;
      object-position: center;
      width: 100%;
      height: 250px;
      max-width: 100% !important;
      transition: all 0.2s linear; }
    #sec-blogs .card .img-wrap:hover picture, #sec-blogs .card .img-wrap:hover img {
      transform: scale(1.05, 1.05);
      transition: all 0.2s linear; }
  #sec-blogs .card .entry-meta {
    margin-bottom: 6px;
    font-family: 'Open Sans', sans-serif;
    color: black; }
    #sec-blogs .card .entry-meta .sep {
      margin: 0 7px; }
  #sec-blogs .card a {
    color: #FFFFFF;
    width: fit-content; }
    #sec-blogs .card a:hover {
      color: #EC1D26; }
  #sec-blogs .card .card-title {
    margin-top: 0;
    margin-bottom: 20px; }
    #sec-blogs .card .card-title a {
      color: #FFFFFF; }
      #sec-blogs .card .card-title a:hover {
        color: #EC1D26; }
  #sec-blogs .card .card-1 a {
    color: #2E3191; }
    #sec-blogs .card .card-1 a:hover {
      color: #EC1D26; }
  #sec-blogs .card .card-1 .btn.btn-primary {
    color: #FFFFFF !important;
    text-decoration: none !important; }
    #sec-blogs .card .card-1 .btn.btn-primary:hover {
      background-color: #2E3191; }
  #sec-blogs .card .posted-on {
    margin-bottom: 0.75em;
    display: block; }
    #sec-blogs .card .posted-on i {
      font-size: 13px; }
  #sec-blogs .card .card-body > a {
    text-decoration: underline; }
  #sec-blogs .card .card-footer .btn {
    margin-top: 0; }
  @media screen and (max-width: 1024px) {
    #sec-blogs .card .card-content {
      padding: 25px 25px 30px; } }
