/* Plandeux color palette */
/*
 * Mixin to swap font families
 * Must include define('PV_FONT', '//fast.fonts.net/cssapi/58841da2-0523-45dd-9aff-ce6b42ca9557.css'); in wp-config.php
 */
/* Plandeux base colors */
/* Extra small devices (phone, below 768px, * Bootstrap 3 col-xs) */
/* Small devices (tablets, 768px and up, * Bootstrap 3 col-sm) */
/* Medium devices (laptops, 992px and up, * Bootstrap 3 col-md) */
/* Large devices (desktops, 1200px and up, * Bootstrap 3 col-lg) */
/* Extra large devices (above 1319px, * Bootstrap 3 col-xl) */
.bs-footer {
  position: relative;
  padding: 0 0 40px 0;
  background-color: #f5f5f5;
}
@media screen and (min-width: 768px) {
  .bs-footer {
    padding: 0 0 64px 0;
  }
}
@media screen and (min-width: 1200px) {
  .bs-footer {
    padding: 0 0 80px 0;
  }
}
.bs-footer.top-padding {
  padding-top: 40px;
}
@media screen and (min-width: 768px) {
  .bs-footer.top-padding {
    padding-top: 64px;
  }
}
@media screen and (min-width: 1200px) {
  .bs-footer.top-padding {
    padding-top: 80px;
  }
}
.bs-footer.single .card-grid {
  display: block !important;
}
.bs-footer.single .card-grid .button {
  max-width: 340px !important;
}
.bs-footer.pad {
  padding: 40px 0;
}
@media screen and (min-width: 768px) {
  .bs-footer.pad {
    padding: 64px 0;
  }
}
@media screen and (min-width: 1200px) {
  .bs-footer.pad {
    padding: 80px 0;
  }
}
.bs-footer.no-stubby hr.stubby {
  display: none;
}
.bs-footer.low-svg svg {
  -webkit-transform: translate(-50%, 30%);
          transform: translate(-50%, 30%);
}
.bs-footer .container {
  z-index: 1;
  position: relative;
}
.bs-footer .container .card-grid {
  max-width: 1072px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .bs-footer .container .card-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 32px;
    grid-row-gap: 32px;
  }
  .bs-footer .container .card-grid.three {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }
  .bs-footer .container .card-grid.three .card:nth-child(1) {
    grid-area: 1/1/2/2;
  }
  .bs-footer .container .card-grid.three .card:nth-child(2) {
    grid-area: 1/2/2/3;
  }
  .bs-footer .container .card-grid.three .card:nth-child(3) {
    grid-area: 2/1/3/3;
  }
  .bs-footer .container .card-grid .card:nth-child(1) {
    grid-area: 1/1/2/2;
  }
  .bs-footer .container .card-grid .card:nth-child(2) {
    grid-area: 1/2/2/3;
  }
}
.bs-footer .container .card-grid .card {
  background-color: #ffffff;
  border-radius: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  padding: 32px 24px;
}
@media screen and (min-width: 1200px) {
  .bs-footer .container .card-grid .card {
    padding: 40px 32px;
  }
}
.bs-footer .container .card-grid .card .l2-heading {
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .bs-footer .container .card-grid .card .l2-heading {
    font-size: 24px;
    line-height: 32px;
  }
}
@media screen and (min-width: 1200px) {
  .bs-footer .container .card-grid .card .l2-heading {
    font-size: 32px;
    line-height: 40px;
  }
}
.bs-footer .container .card-grid .card .icon {
  width: 72px;
}
.bs-footer .container .card-grid .card .icon.active {
  -webkit-animation: pulseIcon 2.5s ease;
          animation: pulseIcon 2.5s ease;
}
@-webkit-keyframes pulseIcon {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes pulseIcon {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.bs-footer .container .card-grid .card .button {
  max-width: 100%;
  font-size: 18px;
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .bs-footer .container .card-grid .card .button {
    padding: 24px 20px;
  }
}
.bs-footer svg {
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}