/* ---------------------------------- */
/* ------ MAIN BODY OF WEBSITE ------ */
/* ---------------------------------- */
html, body, form, fieldset, p, div, h1, h2, h3, h4, h5, h6 {
  -webkit-text-size-adjust: none;
  /* This stops the iPhone from automatically changing the size of the text when you flip the phone */
}

.outerWrap.menu-open {
  cursor: pointer;
}

.desktop-hide,
a.desktop-hide {
  display: block !important;
}

.mobile-hide,
a.mobile-hide,
#banner #viewCart {
  display: none !important;
}

/* ---------------------------------- */
/* ------------ SIDEBAR ------------- */
/* ---------------------------------- */
.sidebar,
#outerSidebar {
  display: none;
}

/* ---------------------------------- */
/* -------- VIEW CART BUTTON -------- */
/* ---------------------------------- */
#viewCart {
  position: static;
  border: 0px solid transparent;
}
#viewCart .itemCount, #viewCart .total {
  display: inline-block;
}

/* ---------------------------------- */
/* ----------- NAVIGATION ----------- */
/* ---------------------------------- */
#menu {
  display: none;
}

#navToggleWrap {
  width: 100%;
  background: var(--primaryDark);
  color: var(--white);
  display: -ms-flexbox;
  display: flex;
  border-bottom: dotted 1px rgba(255,255,255,.3);
}
#navToggleWrap > #navToggle, #navToggleWrap > a {
  -ms-flex-positive: 1;
      flex-grow: 1;
  padding: 10px 0;
  line-height: 1em;
  position: static;
  cursor: pointer;
  text-decoration: none;
  background: none;
  color: var(--white);
}
#navToggleWrap > #navToggle:after, #navToggleWrap > a:after {
  text-align: center;
}
#navToggleWrap > #navToggle:before, #navToggleWrap > a:before {
  font-family: 'FontAwesome';
  display: block;
  text-align: center;
  margin: 2px 0;
}
#navToggleWrap > #navToggle:after, #navToggleWrap > #navToggle span, #navToggleWrap > a:after, #navToggleWrap > a span {
  font-size: .7em;
  text-transform: uppercase;
  margin: 8px 0 2px;
  display: block;
}
#navToggleWrap #navToggle:before {
  content: "\f0c9";
}
/* #navToggleWrap #navToggle:after {
  content: "Menu";
} */
#navToggleWrap .blank:before {
  content: "\f067";
}
#navToggleWrap a[href="#"], 
#navToggleWrap a[href*="$"],
#navToggleWrap .enquire-trigger {
  display: none;
}
/* #navToggleWrap .address:after {
  content: "address";
}
#navToggleWrap .facebook:after {
  content: "facebook";
}
#navToggleWrap .twitter:after {
  content: "twitter";
}
#navToggleWrap .instagram:after {
  content: "instagram";
}
#navToggleWrap .googlePlus:after {
  content: "googlePlus";
}
#navToggleWrap .pinterest:after {
  content: "pinterest";
}
#navToggleWrap .linkedIn:after {
  content: "linkedIn";
}
#navToggleWrap .blank:after {
  content: "blank";
}
#navToggleWrap .youTube:after {
  content: "youTube";
}
#navToggleWrap .email:after {
  content: "enquire";
}
#navToggleWrap .phone:after {
  content: "phone";
} */

#mobileMenu {
  display: inline-block;
  background: var(--primaryDark);
}
#mobileMenu nav {
  display: none;
}
#mobileMenu nav > li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
#mobileMenu li {
  list-style-type: none;
}
#mobileMenu li a {
  width: 100%;
  text-decoration: none;
  color: inherit;
  display: inline-block;
}
#mobileMenu li span {
  padding: 10px;
  display: block;
  color: var(--white);
}
#mobileMenu .parent > span:after {
  content: "\f107";
  font-family: 'fontAwesome';
  margin-left: 10px;
  transition: .3s;
  transform: rotate(0deg);
  display: inline-block;
}
#mobileMenu .parent.open > span:after {
  transform: rotate(180deg);
}
#mobileMenu .current > span, #mobileMenu .current > a {
  opacity: 0.5;
}

#mobileMenu nav {
  display: inline-block;
  width: 100%;
}

#mobileMenu {
  position: fixed;
  top: 0;
  left: -80%;
  width: 80%;
  height: 100%;
  z-index: 10000;
  overflow: scroll;
  transition: .5s ease-out;
}
#mobileMenu.menu-open {
  left: 0;
  box-shadow: 5px 0 10px var(--opacity20);
}

/* ----------- SUB MENU ----------- */
#mobileMenu li ul {
  display: none;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--opacity20);
}
#mobileMenu li ul li {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

#mobileMenu li ul a {
  padding-left: 30px;
}

/* ---------------------------------- */
/* ------------- FOOTER ------------- */
/* ---------------------------------- */
#footerBottom {
  padding: 0 0 5em 0;
}
#footerBottom .container {
  -ms-flex-direction: column;
      flex-direction: column;
}
#footerBottom nav {
  width: 100%;
  padding: 10px 0;
  text-align: center;
}
#footerBottom nav li {
  width: 100%;
}
#footerBottom .footerRight {
  text-align: center;
}

/*----------------------------------------------*/
/*--------------- ENQUIRY FORM -----------------*/
/*----------------------------------------------*/
.enquiryForm, 
.enquiryForm .enqLeft, 
.enquiryForm .enqRight,
.enquiryForm .enqRow.half {
  width: 100%;
  max-width: 100%;
  display: inline-block;
}

.enquiryForm .enqRow.half {
  display: block;
}

.enquiryForm .enqRow {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 3px;
}

.enquiryForm .enqLeft {
  padding: 5px 5px 1px 0;
}

.enquiryForm .checkbox .enqLeft:empty {
  display: none;
}

.checkout .siteContent .checkoutLeft .checkoutDetails .checkoutDetailsRow.enqRow {
  display: block;
}

.enquiryForm .enqHeader {
  font-size: 1.7em;
  padding: .5em 0.2em .6em;
  line-height: 1.2em;
}

.enquiryForm.enqEmbed {
  padding: 30px 5vw 40px;
}

/* ---------------------------------- */
/* ------------- GRID --------------- */
/* ---------------------------------- */
.col-1-small, .cartThumb.category, 
.blog-widget .blog-widget-article,
section[class*="_imgC"] .col-4,
section[class*="_imgC"] .col-6,
footerTop .col-3:first-child {
  width: 100%;
  width: calc(100% - var(--gridSpacing));
}

#footerTop .col-3:first-child {
  width: calc(100% - var(--gridSpacing)) !important;
  max-width: calc(100% - var(--gridSpacing)) !important;
  min-width: calc(100% - var(--gridSpacing)) !important;
}

footer .logo {
  transform: translateX(-5px);
  width: 220px;
  padding: 11px 15px 11px 10px;
}

.col-2-small, .contentImgRow .item, .cartThumb.item {
  width: 50%;
  width: calc(50% - var(--gridSpacing));
}

/*.col-1,
.col-2,
.col-3,
.col-3x2,
.col-4,
.col-4x3,
.col-5,
.col-5x2,
.col-5x3,
.col-5x4,
.col-6,
.col-6x5 {
    width: 100%;
    width: calc(100% - var(--gridSpacing));
}*/
/* ---------------------------------- */
/* -------- BANNER OF WEBSITE ------- */
/* ---------------------------------- */

.fixedTopWrap {position: static;}

.siteTop {padding-top: 0;}

.logo {margin: auto;}

#subBanner .container {
    padding: 130px 0px 60px;
}

#subBanner .container .subBannerName {
  padding: 0 8vw;
  font-size: 2.2em;
}

/* ---------------------------------- */
/* -------- GRAPHICAL BUTTONS ------- */
/* ---------------------------------- */
/* ---------------------------------- */
/* -------- SLIDESHOW STYLES -------- */
/* ---------------------------------- */
/* ---------------------------------- */
/* ----------- SUB BANNERS ---------- */
/* ---------------------------------- */


#enquire-dropdown .enquiry {
    max-width: 100%;
}

/* ---------------------------------- */
/* ---------- CUSTOM FOOTER --------- */
/* ---------------------------------- */


#footerTop .container [class*="col-"] {
  text-align: center;
}

.footerRight {
  flex-direction: column;
  justify-content: center;
  text-align: left;
 text-align: center;
  align-items: center;
  margin: 10px 0;
}

#footerTop .container {
  padding: 4em 8vw 3.7em;
}

#footerBottom .container {
  padding:25px 8vw;
}

#footerBottom .container:before {
  width: calc(100% - 16vw);
}

/* ---------------------------------- */
/* ----------- CUSTOM CSS ----------- */
/* ---------------------------------- */

p.spacer {
display: none;
}

.twoColumn>tbody>tr>td:last-child .growToFrame,
.twoColumn.flip>tbody>tr>td:first-child .growToFrame{
  margin-top: 1.2em;
  margin-bottom: .7em;
}

.twoColumn>tbody>tr>td:first-child .growToFrame,
.twoColumn.flip>tbody>tr>td:last-child .growToFrame{
  margin-bottom: 1.2em;
  margin-top: .7em;
}

.twoColumn.flip>tbody>tr {
  display: flex;
  flex-direction: column-reverse;
}

.siteBottom a[role="region"] {
  top: -50px;
}

#banner .logo {
  width: 170px;
  transform: translateX(-5px);
}


#banner .container {
  padding: 12px 15px;
}

.carouselWrap {
  margin:-1em auto 1.5em;
}

.carousel tr:first-child {
  -webkit-animation: carousel 20s linear infinite;
          animation: carousel 20s linear infinite;
}
.carousel tr:last-child {
  -webkit-animation: carouseltwo 20s linear infinite;
          animation: carouseltwo 20s linear infinite;
}

.textSection .siteContent, .categorySection .siteContent, .viewCart .siteContent {
  padding: 3em 0;
}

.contentWrap section:last-of-type > div:last-of-type .siteContent {
  padding-bottom: 3em;
}

.textSection + .photoSection .siteContent {
  padding-bottom:3em;
}


.table-to-div .item {
  padding: 20px 25px;
}


h1, h2.style-two {
  font-size: 2em;
  margin: 0em 0 .5em;
}

h2 {
  font-size: 1.8em;
  margin: .3em 0 .6em;
}

h2.style-three {
  font-size: 1.7em;
}

h3.style-two {
  font-size: 1.5em;
  margin: .5em 0;
}

p.style-one {
  margin-bottom: -.1em;
  font-size: .9em;
}

.siteBottom .container {
  padding: 0 7vw;
}

section[class*="M_right_imgC"] .textSection:before,
section[class*="M_left_imgC"] .textSection:before {
  width: 140px;
}


section[class*="M_right_imgC"] .textSection:after,
section[class*="M_left_imgC"] .textSection:after {
  width: 160px;
  bottom: -20px;
}

.slick-slider {
  padding: 70px 0 20px 0;
}
.slick-prev {
  left:10px;
}

.slick-next {
  left: 60px;
}

.testimonialSlider .slick-slide {
  padding: 30px 8vw;
}
.testimonialWrap:before {
  font-size: 5em;
  top: 0;
  left: 0;
  position: relative;
  margin-top: 10px;
}

.table-to-div:not(.extra) .item:has(.growToFrame):before {
  padding-bottom: calc(110% + 88px);
}

.table-to-div.extra .item {
  padding: calc(1em + 5vw) 8vw;
}

.table-to-div.extra .item:has(.growToFrame) {
  padding: 0;
}

.table-to-div.extra .item .growToFrame{
  line-height: 0;
}


.table-to-div:not(.extra) .growToFrame img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100% !important;
    width: 100% !important;
    object-fit: cover;
    object-position: center;
}

.moduleTable.oneCol.green>tbody>tr>td,
.moduleTable.oneCol.navy>tbody>tr>td{
  padding: calc(1em + 5vw) 8vw;
}

        .moduleTable.sidebarRight .table-to-div .col-3{
  width:100%;
  width: calc(100% - var(--gridSpacing)) !important;
}

.enquiryForm .enqLeft.sectHead {
  font-size: 1.3em;
  padding: 30px 3px 0px;
}

.enquiryForm >.enqRow:first-child .enqLeft.sectHead {
  padding-top: 10px;
}

.enquiryForm .radioWrap {
  margin-top: 10px;
}

form[name="form6"] .enquiryForm.enqEmbed {
  padding-bottom: 35px;
}


section:has(.table-to-div.extra) + section[class*="M_full"],
section[class*="M_full"] + section[class*="M_full"],
section[class*="M_full"] + section:has(.table-to-div.extra) {
  margin-top: 10px;
}

section[class*="M_full"]:last-child {
  margin-bottom: 10px;
}

section[class*="M_full"] {
  width: calc(100% - 20px);
  margin-left: 10px;
  border-radius: 25px;
  overflow: hidden;
}


@media all and (max-width:360px) {
  a[href*="mailto"] {
  display:block;
  
    /* These are technically the same, but use both */
  overflow-wrap: break-word;
  word-wrap: break-word;

  word-break: break-all;
  /* Instead use this non-standard one: */
  word-break: break-word;

  /* Adds a hyphen where the word breaks, if supported (No Blink) */
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}

  .email {
  word-wrap: break-word;
  }
}