/* =====================================================================
   Global body rules (moved from per-page bundles)
   ===================================================================== */
body {
  background-color: #fff0;
}
body.site:before {
  background: #fff0 none repeat scroll center top;
  background-size: auto auto;
}
.wb_sbg {
  background: #fff0 none repeat-x center top;
}
.site-lang-en .wb_cont_inner {
  width: 360px;
  height: 100%;
}
.site-lang-en .wb_cont_bg {
  width: 360px;
  margin-left: -180px;
}
.site-lang-en .root {
  min-height: 100%;
  height: auto;
}

/* =====================================================================
   Shared header
   ===================================================================== */
.vf-header {
  width: 100%;
  height: auto;
  max-width: 100%;
  flex: 0 0 auto;
}
.vf-header > .wb_content {
  min-width: 20px;
  min-height: 20px;
  padding: 0 0 0 0;
  border: 0 solid #000;
  -moz-border-radius: 0 0 0 0;
  -webkit-border-radius: 0 0 0 0;
  border-radius: 0 0 0 0;
  background: #fff0 none repeat scroll left top;
  background-size: auto auto;
  opacity: 1;
  justify-items: flex-start;
  align-items: center;
  justify-content: flex-start;
  align-content: stretch;
  flex-wrap: nowrap;
  text-shadow: none;
  box-shadow: none;
}

/* vf-header-anim: the inner animated div inside the header */
.vf-header-anim {
  width: 100%;
  height: auto;
  max-width: 1200px;
  flex: 1 1 auto;
}
.vf-header-anim.wb-anim-entry-on {
  animation: wb-anim-fade-in-none 0.6s ease-out;
  animation-iteration-count: 1;
}
.vf-header-anim > .wb_content {
  min-width: 20px;
  min-height: 20px;
  padding: 0 0 0 0;
  border: 0 solid #000;
  -moz-border-radius: 0 0 0 0;
  -webkit-border-radius: 0 0 0 0;
  border-radius: 0 0 0 0;
  background: #fff0 none repeat scroll left top;
  background-size: auto auto;
  opacity: 1;
  justify-items: center;
  align-items: center;
  justify-content: space-between;
  align-content: space-around;
  flex-wrap: wrap;
  text-shadow: none;
  box-shadow: none;
}

/* =====================================================================
   Shared main wrapper
   ===================================================================== */
.vf-main {
  width: 100%;
  height: auto;
  max-width: 100%;
  flex: 0 0 auto;
}
.vf-main > .wb_content {
  min-width: 20px;
  min-height: 20px;
  padding: 0 0 0 0;
  border: 0 solid #000;
  -moz-border-radius: 0 0 0 0;
  -webkit-border-radius: 0 0 0 0;
  border-radius: 0 0 0 0;
  background: #fff0 none repeat scroll left top;
  background-size: auto auto;
  justify-items: flex-start;
  align-items: center;
  justify-content: flex-start;
  align-content: stretch;
  flex-wrap: nowrap;
  text-shadow: none;
  box-shadow: none;
}

/* =====================================================================
   Shared hero banner
   ===================================================================== */
.vf-hero {
  width: 100%;
  height: auto;
  min-height: 300px;
  max-width: 100%;
  flex: 0 0 auto;
}
.vf-hero > .wb_content {
  min-width: 20px;
  min-height: 20px;
  padding: 60px 20px 60px 20px;
  border: 5px none silver;
  border-radius: 0;
  background-color: #000;
  justify-items: center;
  align-items: center;
  justify-content: space-around;
  align-content: space-around;
  flex-wrap: nowrap;
  text-shadow: none;
  box-shadow: none;
  position: relative;
}
.vf-hero > .wb_content:before {
  background: transparent
    url(../images/header-banner.png) no-repeat
    center bottom;
  background-size: cover;
  opacity: 0.9;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 0;
}

/* =====================================================================
   Shared nav container
   ===================================================================== */
.vf-nav-container {
  width: auto;
  height: auto;
  max-width: 100%;
  margin: 10px 10px 10px 10px;
  flex: 0 0 auto;
}
.vf-nav-container > .wb_content {
  min-width: 20px;
  min-height: 20px;
  padding: 0;
  border: 0 none #000;
  border-radius: 0;
  background: transparent;
  justify-items: flex-start;
  align-items: center;
  justify-content: flex-start;
  align-content: stretch;
  flex-wrap: nowrap;
  text-shadow: none;
  box-shadow: none;
}

/* =====================================================================
   Shared nav
   ===================================================================== */
#site-nav .btn-collapser {
  display: inline-block;
}
#site-nav {
  width: auto;
  height: auto;
  max-width: 100%;
  margin: 30px 0 0 0;
  flex: 0 0 auto;
  text-shadow: none;
  box-shadow: none;
}
#site-nav ul {
  background: #fff none repeat left top;
}
#site-nav > ul {
  display: none;
  background-color: #fff;
}
#site-nav.collapse-expanded > ul {
  display: block;
  float: none;
  height: auto;
  overflow: hidden;
  overflow-y: auto;
}
#site-nav.collapse-expanded > ul > li {
  display: block;
}
#site-nav.collapse-expanded li > ul {
  position: static;
}
#site-nav.collapse-expanded li.active > ul {
  display: block !important;
}
#site-nav.collapse-expanded li.over > ul {
  display: block !important;
}
#site-nav ul,
#site-nav-det ul {
  border: 1px none #000;
}
#site-nav,
#site-nav ul,
#site-nav-det ul,
#site-nav ul li,
#site-nav-det ul li {
  text-align: right;
}
#site-nav,
#site-nav ul[dir="rtl"],
#site-nav-det ul[dir="rtl"],
#site-nav ul[dir="rtl"] li,
#site-nav-det ul[dir="rtl"] li {
  text-align: left;
}
#site-nav ul li ul,
#site-nav ul li ul a,
#site-nav-det ul li ul,
#site-nav-det ul li ul a {
  text-align: right !important;
}
#site-nav ul[dir="rtl"] li ul,
#site-nav ul[dir="rtl"] li ul a,
#site-nav-det ul[dir="rtl"] li ul,
#site-nav-det ul[dir="rtl"] li ul a {
  text-align: left !important;
}
#site-nav ul[dir="rtl"] li ul,
#site-nav-det ul[dir="rtl"] li ul {
  padding: inherit;
}
#site-nav .vmenu[dir="rtl"] > li > ul,
#site-nav .hmenu[dir="rtl"] > li > ul {
  left: auto;
}
#site-nav .vmenu[dir="rtl"] > li > ul ul,
#site-nav .hmenu[dir="rtl"] > li > ul ul {
  left: auto;
  right: 100%;
}
#site-nav ul ul,
#site-nav-det ul {
  background: transparent none repeat right top;
}
#site-nav:not(.collapse-expanded) .vmenu ul li,
#site-nav-det.vmenu:not(.collapse-expanded) ul li,
#site-nav:not(.collapse-expanded) .hmenu ul li {
  width: 320px;
  max-width: 320px;
}
#site-nav:not(.collapse-expanded) .vmenu ul li a,
#site-nav-det.vmenu:not(.collapse-expanded) ul li a,
#site-nav:not(.collapse-expanded) .hmenu ul li a {
  max-width: 320px;
}
#site-nav .vmenu ul a,
#site-nav-det.vmenu:not(.collapse-expanded) ul a,
#site-nav .hmenu ul a {
  white-space: nowrap;
}
#site-nav li,
#site-nav-det li {
  margin: 0;
}
#site-nav li a,
#site-nav-det li a {
  padding: 10px;
  text-transform: uppercase;
  border: 0 none #000;
  color: #000;
  font:
    normal bold 13px "Open Sans",
    Arial,
    sans-serif;
  line-height: 15px;
  text-decoration: none;
  background: transparent none no-repeat center top;
}
#site-nav li ul li,
#site-nav-det li ul li {
  margin: 0;
}
#site-nav li ul li a,
#site-nav-det li ul li a {
  padding: 10px;
  text-transform: uppercase;
  border: 0 none #000;
  color: #000;
  font:
    normal bold 13px "Open Sans",
    Arial,
    sans-serif;
  line-height: 15px;
  text-decoration: none;
  background: transparent none no-repeat center top;
}
#site-nav li.over > a,
#site-nav li:hover > a,
#site-nav li:focus > a,
#site-nav-det li.over > a,
#site-nav-det li:hover > a,
#site-nav-det li:focus > a {
  border-bottom: 3px solid #fc0;
  border-left: 0 none #000;
  border-right: 0 none #000;
  border-top: 0 none #000;
  color: #000;
  font:
    normal bold 13px "Open Sans",
    Arial,
    sans-serif;
  line-height: 15px;
  text-decoration: none;
  background: transparent none no-repeat center center;
}
#site-nav li ul li.over > a,
#site-nav li ul li:hover > a,
#site-nav li ul li:focus > a,
#site-nav-det li ul li.over > a,
#site-nav-det li ul li:hover > a,
#site-nav-det li ul li:focus > a {
  border-bottom: 3px solid #fc0;
  border-left: 0 none #000;
  border-right: 0 none #000;
  border-top: 0 none #000;
}
#site-nav li.active > a,
#site-nav-det li.active > a {
  border-bottom: 3px solid #fc0;
  border-left: 0 none #000;
  border-right: 0 none #000;
  border-top: 0 solid #fc0;
  color: #fc0;
  font:
    normal bold 13px "Open Sans",
    Arial,
    sans-serif;
  line-height: 15px;
  text-decoration: none;
  background: transparent none no-repeat center center;
}
#site-nav li ul li.active > a,
#site-nav-det li ul li.active > a {
  border-bottom: 3px solid #fc0;
  border-left: 0 none #000;
  border-right: 0 none #000;
  border-top: 0 solid #fc0;
  color: #fc0;
  font:
    normal bold 13px "Open Sans",
    Arial,
    sans-serif;
  line-height: 15px;
  text-decoration: none;
  background: transparent none no-repeat center center;
}
#site-nav li ul li.over > a,
#site-nav li ul li:hover > a,
#site-nav li ul li:focus > a,
#site-nav-det li ul li.over > a,
#site-nav-det li ul li:hover > a,
#site-nav-det li ul li:focus > a {
  color: #000;
  font:
    normal bold 13px "Open Sans",
    Arial,
    sans-serif;
  line-height: 15px;
  text-decoration: none;
  background: transparent none no-repeat center center;
}
#site-nav:not(.collapse-expanded) .vmenu ul.open-left,
#site-nav:not(.collapse-expanded) .hmenu ul.open-left {
  left: auto;
  right: 100%;
}
#site-nav:not(.collapse-expanded) .hmenu > li > ul.open-left {
  left: auto;
  right: 0;
}
@media (min-width: 768px) {
  #site-nav {
    margin: 30px 0 0 0;
  }
  #site-nav ul {
    background: transparent none repeat right top;
  }
  #site-nav .btn-collapser {
    display: none;
  }
  #site-nav > ul,
  #site-nav-det > ul {
    display: block;
  }
}
@media (min-width: 992px) {
  #site-nav {
    margin: 30px 0 0 0;
  }
}
@media (min-width: 1200px) {
  #site-nav {
    margin: 30px 0 0 0;
  }
}
@media (max-width: 767px) {
  #site-nav {
    display: block;
    width: 32px;
    height: 29px;
    min-width: 32px;
    min-height: 29px;
    max-width: 32px;
    max-height: 29px;
    flex: 0 0 32px;
    border: solid 1px #000;
  }
  #site-nav .btn-collapser {
    background-color: #fff;
    display: inline-block;
  }
  #site-nav .btn-collapser:hover {
    background-color: #fff;
    box-shadow: none;
  }
  #site-nav:hover {
    border: solid 1px #000;
  }
  #site-nav.collapse-expanded .btn-collapser {
    background-color: #fff;
    box-shadow: none;
  }
  #site-nav.collapse-expanded {
    border: solid 1px #000;
  }
}

/* =====================================================================
   Page title
   ===================================================================== */
.vf-page-title p:last-child {
  margin-bottom: 0;
}
.vf-page-title {
  opacity: 1;
  width: auto;
  height: auto;
  max-width: 100%;
  margin: 20px 20px 20px 20px;
  flex: 0 0 auto;
  text-shadow: none;
  box-shadow: none;
}

/* =====================================================================
   Topic columns section
   ===================================================================== */
.vf-topic-columns {
  width: 100%;
  height: auto;
  min-height: 100px;
  max-width: 1200px;
  flex: 1 1 auto;
}
.vf-topic-columns > .wb_content {
  min-width: 20px;
  min-height: 20px;
  padding: 30px 20px 30px 20px;
  border: 0 none #000;
  -moz-border-radius: 0 0 0 0;
  -webkit-border-radius: 0 0 0 0;
  border-radius: 0 0 0 0;
  background: #fff0 none repeat scroll left top;
  background-size: auto auto;
  justify-items: center;
  align-items: stretch;
  justify-content: space-evenly;
  align-content: stretch;
  flex-wrap: wrap;
  text-shadow: none;
  box-shadow: none;
}

/* Each topic column */
.vf-topic-col {
  width: 20%;
  height: auto;
  min-width: 200px;
  min-height: 400px;
  max-width: 100%;
  margin: 10px 10px 10px 10px;
  flex: 1 1 auto;
}
.vf-topic-col > .wb_content {
  min-width: 20px;
  min-height: 20px;
  padding: 0 0 0 0;
  border: 0 none #000;
  -moz-border-radius: 0 0 0 0;
  -webkit-border-radius: 0 0 0 0;
  border-radius: 0 0 0 0;
  background-color: #000;
  justify-items: center;
  align-items: center;
  justify-content: space-evenly;
  align-content: stretch;
  flex-wrap: nowrap;
  text-shadow: none;
  box-shadow: none;
}
.vf-topic-col > .wb_content:before {
  background-size: cover;
  opacity: 0.8;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -moz-border-radius: 0 0 0 0;
  -webkit-border-radius: 0 0 0 0;
  border-radius: 0 0 0 0;
}
/* Background images for each column by position */
.vf-topic-col:nth-child(1) > .wb_content:before {
  background: #fff0 url(../images/horse-pemf-session.jpg)
    no-repeat scroll center center;
  background-size: cover;
}
.vf-topic-col:nth-child(2) > .wb_content:before {
  background: #fff0 url(../images/calf-pemf-session.png)
    no-repeat scroll center center;
  background-size: cover;
}
.vf-topic-col:nth-child(3) > .wb_content:before {
  background: #fff0 url(../images/dachshund-pemf-session.jpg)
    no-repeat scroll center center;
  background-size: cover;
}
.vf-topic-col:nth-child(4) > .wb_content:before {
  background: #fff0 url(../images/pemf-coil-on-knee.jpg)
    no-repeat scroll center center;
  background-size: cover;
}

/* Text inside topic column */
.vf-topic-col .wb_text_element p:last-child {
  margin-bottom: 0;
}
.vf-topic-col .wb_text_element {
  opacity: 1;
  width: auto;
  height: auto;
  max-width: 100%;
  flex: 0 0 auto;
  text-shadow: none;
  box-shadow: none;
}

/* =====================================================================
   Content section (outer wrapper)
   ===================================================================== */
.vf-content-section {
  width: 100%;
  height: auto;
  max-width: 100%;
  flex: 0 0 auto;
}
.vf-content-section > .wb_content {
  min-width: 20px;
  min-height: 20px;
  padding: 0 0 0 0;
  border: 0 solid #000;
  -moz-border-radius: 0 0 0 0;
  -webkit-border-radius: 0 0 0 0;
  border-radius: 0 0 0 0;
  background: #fff0 none repeat scroll left top;
  background-size: auto auto;
  opacity: 1;
  justify-items: flex-start;
  align-items: center;
  justify-content: flex-start;
  align-content: stretch;
  flex-wrap: nowrap;
  text-shadow: none;
  box-shadow: none;
}

/* Content section inner (padded white box) */
.vf-content-section-inner {
  width: 100%;
  height: auto;
  max-width: 1200px;
  flex: 1 1 auto;
}
.vf-content-section-inner > .wb_content {
  min-width: 20px;
  min-height: 20px;
  padding: 60px 20px 60px 20px;
  border: 0 solid #000;
  -moz-border-radius: 0 0 0 0;
  -webkit-border-radius: 0 0 0 0;
  border-radius: 0 0 0 0;
  background: #fff none repeat scroll left top;
  background-size: auto auto;
  opacity: 1;
  justify-items: flex-start;
  align-items: center;
  justify-content: flex-start;
  align-content: stretch;
  flex-wrap: nowrap;
  text-shadow: none;
  box-shadow: none;
}

/* =====================================================================
   Bundle and Save section
   ===================================================================== */
.vf-bundle-section {
  width: 100%;
  height: auto;
  max-width: 100%;
  margin: 10px 10px 10px 10px;
  flex: 0 0 auto;
}
.vf-bundle-section > .wb_content {
  min-width: 20px;
  min-height: 20px;
  padding: 20px 20px 20px 20px;
  border: 0 solid #000;
  -moz-border-radius: 0 0 0 0;
  -webkit-border-radius: 0 0 0 0;
  border-radius: 0 0 0 0;
  background: #fff none repeat scroll left top;
  background-size: auto auto;
  justify-items: center;
  align-items: center;
  justify-content: flex-start;
  align-content: space-around;
  flex-wrap: nowrap;
  text-shadow: none;
  box-shadow: none;
}

/* Bundle image (30% wide) */
.vf-bundle-image {
  opacity: 1;
  box-sizing: border-box;
  width: 30%;
  height: auto;
  max-width: 100%;
  margin: 20px 20px 20px 20px;
  flex: 1 1 auto;
}
.vf-bundle-image .wb-picture-wrapper {
  -moz-border-radius: 0 0 0 0;
  -webkit-border-radius: 0 0 0 0;
  border-radius: 0 0 0 0;
  border: 1px none #000;
}
.vf-bundle-image img {
  width: 100%;
  height: auto;
}
.vf-bundle-image > .wb_picture_wrap > .wb-picture-wrapper {
  text-shadow: none;
  box-shadow: none;
}

/* Bundle text container (60% wide) */
.vf-bundle-text {
  width: 60%;
  height: auto;
  max-width: 100%;
  margin: 20px 20px 20px 20px;
  flex: 0 0 auto;
}
.vf-bundle-text > .wb_content {
  min-width: 20px;
  min-height: 20px;
  padding: 0 0 0 0;
  border: 0 solid #000;
  -moz-border-radius: 0 0 0 0;
  -webkit-border-radius: 0 0 0 0;
  border-radius: 0 0 0 0;
  background: #fff0 none repeat scroll left top;
  background-size: auto auto;
  justify-items: flex-start;
  align-items: flex-start;
  justify-content: flex-start;
  align-content: stretch;
  flex-wrap: nowrap;
  text-shadow: none;
  box-shadow: none;
}

/* Bundle heading text element */
.vf-bundle-heading p:last-child {
  margin-bottom: 0;
}
.vf-bundle-heading {
  opacity: 1;
  width: auto;
  height: auto;
  min-width: 24px;
  min-height: 24px;
  max-width: 100%;
  margin: 10px 10px 10px 10px;
  flex: 0 0 auto;
  text-shadow: none;
  box-shadow: none;
}

/* Bundle body text element */
.vf-bundle-body p:last-child {
  margin-bottom: 0;
}
.vf-bundle-body {
  opacity: 1;
  width: auto;
  height: auto;
  max-width: 100%;
  margin: 10px 10px 10px 10px;
  flex: 1 1 auto;
  text-shadow: none;
  box-shadow: none;
}

/* Bundle CTA button */
.vf-bundle-cta {
  width: 210px;
  height: 40px;
  max-width: 100%;
  flex: 0 0 auto;
  align-self: center;
}
.vf-bundle-cta > .wb_button {
  padding: 0 0 0 0;
}
.vf-bundle-cta .wb_button {
  margin: 0;
  width: 100%;
  font-family: "Roboto", Arial, sans-serif;
  font-size: 16px;
  letter-spacing: 1px;
  line-height: 22px;
  text-align: center;
  text-decoration: none;
  -moz-border-radius: 50px;
  -webkit-border-radius: 50px;
  border: 3px none #ff6940;
  border-radius: 50px;
  background-color: #159e00;
  min-width: 20px;
  min-height: 20px;
}
.vf-bundle-cta .wb_button span {
  color: #fff;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
}
.vf-bundle-cta .wb_button:before {
  background: #fff0 none repeat left top;
}
.vf-bundle-cta .wb_button:hover span {
  color: #fff;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
}
.vf-bundle-cta .wb_button:hover {
  background-color: #107a00;
}
.vf-bundle-cta .wb_button:hover:before {
  background: #fff0 none repeat scroll left top;
  background-size: auto auto;
  opacity: 1;
}
.vf-bundle-cta .wb_button:active span {
  color: #333;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
}
.vf-bundle-cta .wb_button:active {
  background-color: #e6e6e6;
}
.vf-bundle-cta .wb_button:active:before {
  background: #fff0 none repeat scroll left top;
  background-size: auto auto;
  opacity: 1;
}

/* =====================================================================
   Responsive: bundle section stacks at mobile
   ===================================================================== */
@media (max-width: 767px) {
  .vf-bundle-section > .wb_content {
    background: #fff none repeat scroll left top;
    background-size: auto auto;
    flex-direction: column;
    justify-items: flex-start;
    align-items: center;
    justify-content: flex-start;
    align-content: stretch;
    flex-wrap: nowrap;
  }
  .vf-bundle-image {
    width: auto;
    margin-left: 0;
    margin-right: 0;
  }
  .vf-bundle-text {
    width: auto;
    margin-left: 0;
    margin-right: 0;
  }
}

/* =====================================================================
   Shared footer anim inner div
   ===================================================================== */
.vf-footer-anim {
  width: 100%;
  height: auto;
  max-width: 1200px;
  flex: 1 1 auto;
}
.vf-footer-anim.wb-anim-entry-on {
  animation: wb-anim-fade-in-none 0.6s ease-out;
  animation-iteration-count: 1;
}
.vf-footer-anim > .wb_content {
  min-width: 20px;
  min-height: 20px;
  padding: 20px 20px 20px 20px;
  border: 0 solid #000;
  -moz-border-radius: 0 0 0 0;
  -webkit-border-radius: 0 0 0 0;
  border-radius: 0 0 0 0;
  background: #fff none repeat scroll left top;
  background-size: auto auto;
  opacity: 1;
  justify-items: center;
  align-items: center;
  justify-content: space-between;
  align-content: space-around;
  flex-wrap: wrap;
  text-shadow: none;
  box-shadow: none;
}

@media (max-width: 991px) {
  .vf-footer-anim > .wb_content {
    background: #fff none repeat scroll left top;
    background-size: auto auto;
    opacity: 1;
    flex-direction: column;
    justify-items: flex-start;
    align-items: center;
    justify-content: flex-start;
    align-content: stretch;
    flex-wrap: nowrap;
  }
}

/* =====================================================================
   Shared footer outer wrapper
   ===================================================================== */
.vf-footer {
  width: 100%;
  height: auto;
  max-width: 100%;
  flex: 0 0 auto;
}
.vf-footer > .wb_content {
  background: #f0f0f0 url(../gallery/vintage_footer.jpg) repeat-x scroll left
    top;
  background-size: auto auto;
  min-height: 20px;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}
