.navigation .contains-mega-sub-menu .mega-sub-menu {
  background: rgba(0, 0, 0, 0.90);
  border-radius: 0;
  width: 100%;
  max-width: 100%;
  left: 0;
  padding-left: calc(50% - 57rem);
  padding-right: calc(50% - 57rem);
}
.column.width-12.nav-bar-inner {
  position: inherit;
}

.header-transparent .navigation > ul > li > a:not(.button):hover {
  color: #fff;
  opacity: 1;
}

@media (min-width: 961px) {
  .navigation-active-desktop .wrapper-inner .content {
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -o-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px);
    -webkit-transition: 350ms ease-in-out;
    transition: 350ms ease-in-out;
  }
}

.navigation .mega-sub-menu > li {
  text-align: left;
  padding: 0 1rem;
  border: none;
}
.navigation .mega-sub-menu > li a,
.navigation .mega-sub-menu ul li > a:not(.button) {
  text-align: left;
  padding: 0.7rem 0.5rem 0.7rem !important;
}

@media only screen and (max-width: 1140px) {
  .navigation .contains-mega-sub-menu .mega-sub-menu {
    padding-left: calc(50% - 48rem);
    padding-right: calc(50% - 48rem);
  }
}

@media only screen and (max-width: 960px) {
  .navigation .contains-mega-sub-menu .mega-sub-menu {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* Main logo responsive */
.main-logo {
  text-align: center;
  padding: 4rem 2rem;
}
.main-logo img {
  max-width: 400px;
  width: 60%;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .main-logo img {
    width: 80%;
  }
}
@media only screen and (max-width: 480px) {
  .main-logo img {
    width: 90%;
  }
}

/* Service boxes stack on mobile */
@media only screen and (max-width: 768px) {
  .row.flex.boxes .column.width-3,
  .row.flex.boxes .column.width-4 {
    width: 100% !important;
    margin-bottom: 2rem;
  }
  /* Logo grid single column on small screens */
  .row.content-grid-3 .grid-item {
    width: 100% !important;
    margin-bottom: 2rem;
  }
  /* Enquiry email link wraps cleanly */
  #enquiry h2 a {
    word-break: break-all;
  }
}
