/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Aug 22 2026 | 00:09:15 */
/* Homepage layout containment */
html, body.home,
.home #page-container,
.home #et-main-area,
.home #main-content,
.home .entry-content,
.home .fullsize,
.home .carousel-box,
.home .carousel,
.home .owl-wrapper-outer {
  max-width: 100% !important;
  overflow-x: hidden !important;
}
.home .owl-wrapper-outer,
.home .carousel-box,
.home .carousel.owl-carousel { width: 100% !important; }

/* Featured Projects */
.home .carousel-box { clear: both !important; }
.home .carousel.owl-carousel .owl-wrapper {
  left: 0 !important;
  width: 100% !important;
  display: flex !important;
  flex-wrap: nowrap !important;
}
.home .carousel.owl-carousel .owl-item {
  width: 25% !important;
  flex: 0 0 25% !important;
}

/* Machine categories */
.home .et_pb_row_4:has(.machine-type) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 55px !important;
  row-gap: 52px !important;
  height: auto !important;
}
.home .et_pb_row_4:has(.machine-type) > .et_pb_column {
  float: none !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.home .et_pb_row_4:has(.machine-type) .machine-type {
  width: 100% !important;
  min-height: 88px !important;
  margin: 0 !important;
  text-align: center !important;
}
.home .et_pb_row_4:has(.machine-type) .et_pb_image {
  width: 100% !important;
  height: 210px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.home .et_pb_row_4:has(.machine-type) .et_pb_image img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 210px !important;
  object-fit: contain !important;
}

/* Accreditation row */
.home .et_pb_section:has(img[src*="5-In-A-Row-Vending-Machines"]) {
  height: auto !important;
  min-height: 0 !important;
  padding: 24px 0 !important;
}
.home .et_pb_row:has(img[src*="5-In-A-Row-Vending-Machines"]) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 auto !important;
}
.home .et_pb_row:has(img[src*="5-In-A-Row-Vending-Machines"]) > .et_pb_column {
  height: auto !important;
}
.home .et_pb_row:has(img[src*="5-In-A-Row-Vending-Machines"]) > .et_pb_column:has(img[src*="5-In-A-Row-Vending-Machines"]) {
  float: none !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}
.home img[src*="5-In-A-Row-Vending-Machines"] {
  display: block !important;
  width: 100% !important;
  max-width: 800px !important;
  height: auto !important;
  margin: 0 auto !important;
}

/* Phone and tablet navigation */
@media screen and (max-width: 980px) {
  html body.home #page-container #main-header #et_mobile_nav_menu .mobile_nav.opened #mobile_menu.et_mobile_menu {
    display: block !important;
    top: 100% !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 125px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 8px 0 !important;
    margin: 0 !important;
    border-top: 3px solid #f57c00 !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.14) !important;
  }
  html body.home #page-container #main-header #mobile_menu.et_mobile_menu > li {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #ececec !important;
  }
  html body.home #page-container #main-header #mobile_menu.et_mobile_menu li > a {
    display: block !important;
    padding: 12px 18px !important;
    margin: 0 !important;
    color: #202a2f !important;
    font-family: "Open Sans", Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 21px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: normal !important;
  }
  html body.home #page-container #main-header #mobile_menu.et_mobile_menu > li.menu-item-has-children > a {
    position: relative !important;
    padding-right: 48px !important;
  }
  html body.home #page-container #main-header #mobile_menu.et_mobile_menu > li.menu-item-has-children > a::after {
    content: "+" !important;
    position: absolute !important;
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #f57c00 !important;
    font-size: 24px !important;
    line-height: 1 !important;
  }
  html body.home #page-container #main-header #mobile_menu.et_mobile_menu > li > ul.sub-menu {
    display: none !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 0 8px 14px !important;
    background: #f7f7f7 !important;
    box-shadow: none !important;
  }
  html body.home #page-container #main-header #mobile_menu.et_mobile_menu > li:hover > ul.sub-menu,
  html body.home #page-container #main-header #mobile_menu.et_mobile_menu > li:focus-within > ul.sub-menu {
    display: block !important;
  }
  html body.home #page-container #main-header #mobile_menu.et_mobile_menu .sub-menu a {
    padding: 9px 16px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 980px) {
  .home .et_pb_row_4:has(.machine-type) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media screen and (max-width: 767px) {
  .home .carousel.owl-carousel .owl-item {
    width: 100% !important;
    flex-basis: 100% !important;
  }
  .home .et_pb_row_4:has(.machine-type) {
    grid-template-columns: 1fr !important;
    row-gap: 36px !important;
  }
  .home .et_pb_row:has(img[src*="5-In-A-Row-Vending-Machines"]) {
    flex-direction: column !important;
    gap: 20px !important;
    width: 90% !important;
  }
  .home .et_pb_row:has(img[src*="5-In-A-Row-Vending-Machines"]) > .et_pb_column {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }
}
/* Remove the obsolete empty accreditation gallery column */
.home .et_pb_row:has(img[src*="5-In-A-Row-Vending-Machines"]) > .et_pb_column:first-child {
  display: none !important;
}
.home .et_pb_row:has(img[src*="5-In-A-Row-Vending-Machines"]) > .et_pb_column:last-child {
  float: none !important;
  width: 100% !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

@media screen and (max-width: 767px) {
  html body.home #page-container .et_pb_section .et_pb_row:has(img[src*="5-In-A-Row-Vending-Machines"]) > .et_pb_column.et_pb_column_1 {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.home #page-container .et_pb_section .et_pb_row:has(img[src*="5-In-A-Row-Vending-Machines"]) > .et_pb_column.et_pb_column_0 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

@media screen and (max-width: 767px) {
  html body.home #page-container .et_pb_section .et_pb_row:has(img[src*="5-In-A-Row-Vending-Machines"]) > .et_pb_column.et_pb_column_1 {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.home #page-container .et_pb_section .et_pb_row:has(img[src*="5-In-A-Row-Vending-Machines"]) > .et_pb_column.et_pb_column_0 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

@media screen and (max-width: 767px) {
  html body.home #page-container #main-content article#post-45 .et_pb_section .et_pb_row > div.et_pb_column.et_pb_column_1 {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.home #page-container #main-content article#post-45 .et_pb_section .et_pb_row > div.et_pb_column.et_pb_column_0.et-last-child {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

/* Keep the obsolete accreditation gallery out of layout even when Divi restores display */
html body.home #page-container #main-content article#post-45 .et_pb_section .et_pb_row:has(img[src*="5-In-A-Row-Vending-Machines"]) > div.et_pb_column.et_pb_column_1 {
  position: absolute !important;
  left: -100000px !important;
  top: 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Direct legacy accreditation row targeting */
body.home #post-45 .et_pb_section_0 .et_pb_row_0 > .et_pb_column_1 {
  display: none !important;
  position: absolute !important;
  left: -100000px !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.home #post-45 .et_pb_section_0 .et_pb_row_0 > .et_pb_column_0.et-last-child {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: 800px !important;
  height: auto !important;
  margin: 0 auto !important;
}
body.home #post-45 .et_pb_section_0 .et_pb_row_0 {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Render the accreditation row immediately without Divi's responsive transition */
body.home #post-45 .et_pb_section_0 .et_pb_row_0,
body.home #post-45 .et_pb_section_0 .et_pb_row_0 > .et_pb_column {
  transition: none !important;
  animation: none !important;
}

/* Restore and correctly lay out the accreditation photo gallery */
body.home #post-45 .et_pb_section_0 .et_pb_row_0 {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 4% !important;
  width: 80% !important;
  height: auto !important;
  min-height: 0 !important;
  transition: none !important;
}
body.home #post-45 .et_pb_section_0 .et_pb_row_0 > .et_pb_column_1 {
  display: block !important;
  position: static !important;
  left: auto !important;
  top: auto !important;
  float: none !important;
  width: 34% !important;
  max-width: 34% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: none !important;
}
body.home #post-45 .et_pb_section_0 .et_pb_row_0 > .et_pb_column_0.et-last-child {
  display: block !important;
  position: static !important;
  float: none !important;
  width: 62% !important;
  max-width: 800px !important;
  height: auto !important;
  margin: 0 !important;
  transition: none !important;
}
body.home #post-45 .et_pb_section_0 .et_pb_row_0 .foogallery {
  width: 100% !important;
  max-width: 100% !important;
}
@media screen and (max-width: 767px) {
  body.home #post-45 .et_pb_section_0 .et_pb_row_0 {
    flex-direction: column !important;
    gap: 24px !important;
    width: 90% !important;
  }
  body.home #post-45 .et_pb_section_0 .et_pb_row_0 > .et_pb_column_1,
  body.home #post-45 .et_pb_section_0 .et_pb_row_0 > .et_pb_column_0.et-last-child {
    display: block !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    margin: 0 auto !important;
    padding: 0 !important;
    transition: none !important;
  }
}

/* Final gallery restoration override */
html body.home #page-container #et-main-area #main-content article#post-45 .et_pb_section_0 .et_pb_row_0 > div.et_pb_column.et_pb_column_1 {
  display: block !important; position: static !important; left: auto !important; top: auto !important; float: none !important;
  width: 34% !important; max-width: 34% !important; height: auto !important; min-height: 0 !important;
  overflow: visible !important; margin: 0 !important; padding: 0 !important;
}
html body.home #page-container #et-main-area #main-content article#post-45 .et_pb_section_0 .et_pb_row_0 > div.et_pb_column.et_pb_column_0.et-last-child {
  display: block !important; position: static !important; float: none !important; width: 62% !important;
  max-width: 800px !important; height: auto !important; margin: 0 !important;
}
@media screen and (max-width: 767px) {
  html body.home #page-container #et-main-area #main-content article#post-45 .et_pb_section_0 .et_pb_row_0 > div.et_pb_column.et_pb_column_1,
  html body.home #page-container #et-main-area #main-content article#post-45 .et_pb_section_0 .et_pb_row_0 > div.et_pb_column.et_pb_column_0.et-last-child {
    display: block !important; position: static !important; left: auto !important; top: auto !important;
    width: 100% !important; max-width: 100% !important; height: auto !important; min-height: 0 !important;
    overflow: visible !important; margin: 0 auto !important; padding: 0 !important;
  }
}

/* Centre the Google review summary across the full client-review section */
body.home #post-45 .et_pb_row_6 .container > .row {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 auto !important;
}
body.home #post-45 .et_pb_row_6 .container > .row > .col-md-10 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
}
body.home #post-45 .et_pb_row_6 .container > .row > .trus_custom {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  z-index: 2 !important;
}
@media screen and (max-width: 767px) {
  body.home #post-45 .et_pb_row_6 .container > .row > .trus_custom {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 18px !important;
    text-align: center !important;
  }
}

/* Correct client-review row location */
html body.home #page-container > .et_pb_row_6 .container > .row {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 auto !important;
}
html body.home #page-container > .et_pb_row_6 .container > .row > .col-md-10 {
  position: relative !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
}
html body.home #page-container > .et_pb_row_6 .container > .row > .trus_custom {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  z-index: 2 !important;
}
@media screen and (max-width: 767px) {
  html body.home #page-container > .et_pb_row_6 .container > .row > .trus_custom {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 18px !important;
    text-align: center !important;
  }
}

html body.home #page-container > .et_pb_row_6 .et_pb_column > .container {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html body.home #page-container > .et_pb_row_6 .et_pb_text_5 > .container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* Business Models: centred heading and equal cards */
html body.home #page-container #main-content article#post-45 .et_pb_row_0:has(img[src*="Buy-your-own-machines"]) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 44px !important;
  row-gap: 24px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 80% !important;
  max-width: 1012px !important;
  height: auto !important;
  margin: 0 auto !important;
}
html body.home #page-container #main-content article#post-45 .et_pb_row_0:has(img[src*="Buy-your-own-machines"]) > h2 {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: center !important;
}
html body.home #page-container #main-content article#post-45 .et_pb_row_0:has(img[src*="Buy-your-own-machines"]) > .et_pb_column {
  display: flex !important;
  position: static !important;
  float: none !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.home #page-container #main-content article#post-45 .et_pb_row_0:has(img[src*="Buy-your-own-machines"]) .et_pb_image,
html body.home #page-container #main-content article#post-45 .et_pb_row_0:has(img[src*="Buy-your-own-machines"]) .et_pb_image_wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
html body.home #page-container #main-content article#post-45 .et_pb_row_0:has(img[src*="Buy-your-own-machines"]) img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}
@media screen and (max-width: 767px) {
  html body.home #page-container #main-content article#post-45 .et_pb_row_0:has(img[src*="Buy-your-own-machines"]) {
    grid-template-columns: 1fr !important;
    width: 90% !important;
    gap: 22px !important;
  }
}

/* Final equal-width business-model cards */
html body.home #page-container #et-main-area #main-content article#post-45 .et_pb_row_0:has(img[src*="Buy-your-own-machines"]) > div.et_pb_column {
  display: flex !important;
  position: static !important;
  float: none !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.home #page-container #et-main-area #main-content article#post-45 .et_pb_row_0:has(img[src*="Buy-your-own-machines"]) > div.et_pb_column img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
}

html body.home #page-container #et-main-area #main-content article#post-45 .et_pb_row_0:has(img[src*="Buy-your-own-machines"]) > div.et_pb_column.et_pb_column_0,
html body.home #page-container #et-main-area #main-content article#post-45 .et_pb_row_0:has(img[src*="Buy-your-own-machines"]) > div.et_pb_column.et_pb_column_1.et-last-child {
  display: flex !important;
  position: static !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
}
html body.home #page-container #et-main-area #main-content article#post-45 .et_pb_row_0:has(img[src*="Buy-your-own-machines"]) img[src*="2022/01/"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
}

/* Trustindex: centre Top Rated and Excellent as one header group */
html body.home #page-container > .et_pb_row_6 .container > .row > .trus_custom {
  position: absolute !important;
  left: calc(50% - 232px) !important;
  top: 0 !important;
  bottom: auto !important;
  width: 180px !important;
  max-width: 180px !important;
  z-index: 3 !important;
}
html body.home #page-container > .et_pb_row_6 .col-md-10 .ti-header-grid {
  position: relative !important;
  width: 260px !important;
  max-width: 260px !important;
  min-height: 217px !important;
  margin: 0 auto !important;
  transform: translateX(102px) !important;
  padding-top: 32px !important;
  box-sizing: border-box !important;
}
html body.home #page-container > .et_pb_row_6 .col-md-10 .ti-reviews-container {
  clear: both !important;
}
@media screen and (max-width: 767px) {
  html body.home #page-container > .et_pb_row_6 .container > .row > .trus_custom {
    position: static !important;
    width: 180px !important;
    max-width: 180px !important;
    margin: 0 auto 18px !important;
  }
  html body.home #page-container > .et_pb_row_6 .col-md-10 .ti-header-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding-top: 0 !important;
    transform: none !important;
  }
}

html body.home #page-container > .et_pb_row_6 .container > .row > .trus_custom {
  margin: 0 !important;
}
html body.home #page-container > .et_pb_row_6 .col-md-10 .ti-header-grid {
  min-height: 230px !important;
}
@media screen and (max-width: 767px) {
  html body.home #page-container > .et_pb_row_6 .container > .row > .trus_custom {
    margin: 0 auto 18px !important;
  }
  html body.home #page-container > .et_pb_row_6 .col-md-10 .ti-header-grid {
    min-height: 0 !important;
  }
}

/* Mobile menu must always start closed until the MENU control is tapped */
@media screen and (max-width: 980px) {
  html body.home #page-container #main-header #et_mobile_nav_menu .mobile_nav.closed #mobile_menu.et_mobile_menu {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }
  html body.home #page-container #main-header #et_mobile_nav_menu .mobile_nav.opened #mobile_menu.et_mobile_menu {
    display: block !important;
    visibility: visible !important;
  }
  html body.home #page-container #main-header #mobile_menu.et_mobile_menu > li > ul.sub-menu {
    display: none !important;
  }
  html body.home #page-container #main-header #mobile_menu.et_mobile_menu > li:hover > ul.sub-menu,
  html body.home #page-container #main-header #mobile_menu.et_mobile_menu > li:focus-within > ul.sub-menu {
    display: block !important;
  }
}
