:root {
    --hamburger-size: 38px; 
    --hamburger-color: var(--color-blue); 
    --hamburger-color-overlay: #ffffff;
    --hamburger-color-active: var(--color-purple);  
    --hamburger-border-width: 3px;
    --hamburger-offset: 20%;
    --hamburger-offset-active: 10px;
}

.navigation-checkbox { display: none; }
.navigation-toggle { width: var(--hamburger-size); height: var(--hamburger-size); display: block; position: relative; cursor: pointer; }
.navigation-toggle-label { color: var(--hamburger-color); display: block; position: relative; bottom: -20px; }

/* ☰ */
.navigation-toggle-icon {
  display: block; padding-top: calc(50% - var(--hamburger-border-width) / 2);
  border-bottom: var(--hamburger-border-width) solid var(--hamburger-color);
}
.navigation-toggle-icon::before,
.navigation-toggle-icon::after { content: ''; position: absolute; left: 0; right: 0; border-top: var(--hamburger-border-width) solid var(--hamburger-color); }
.navigation-toggle-icon::before { top: var(--hamburger-offset); }
.navigation-toggle-icon::after { bottom: var(--hamburger-offset); }

/* animation */
.navigation-toggle-icon,
.navigation-toggle-icon::before,
.navigation-toggle-icon::after {
  transition-property: transform, border-color;
  transition-duration: 0.25s;
  transition-timing-function: cubic-bezier(0.5, -0.5, 0.5, 1.5); 
}

.navigation-toggle-icon { /* transition-delay: 0.125s; */ }
.navigation-toggle-icon::before, 
.navigation-toggle-icon::after {
  transition-delay: 0s;
  transform-origin: center; 
}

#header[data-active="true"] .navigation-toggle-icon,
#header[data-active="true"] .navigation-toggle-icon::before,
#header[data-active="true"] .navigation-toggle-icon::after { border-color: var(--hamburger-color-overlay); }

.navigation-checkbox:checked + .navigation-toggle .navigation-toggle-icon { -webkit-transition-delay: 0s; -moz-transition-delay: 0s; transition-delay: 0s; }
.navigation-checkbox:checked + .navigation-toggle .navigation-toggle-icon::before,
.navigation-checkbox:checked + .navigation-toggle .navigation-toggle-icon::after { -webkit-transition-delay: 0.125s; -moz-transition-delay: 0.125s; transition-delay: 0.125s; }
.navigation-checkbox:checked + .navigation-toggle .navigation-toggle-icon::before { -webkit-transform: translateY(var(--hamburger-offset-active)) rotate(135deg); -moz-transform: translateY(var(--hamburger-offset-active)) rotate(135deg); -ms-transform: translateY(var(--hamburger-offset-active)) rotate(135deg); -o-transform: translateY(var(--hamburger-offset-active)) rotate(135deg); transform: translateY(var(--hamburger-offset-active)) rotate(135deg); }
.navigation-checkbox:checked + .navigation-toggle .navigation-toggle-icon { border-color: transparent; }
.navigation-checkbox:checked + .navigation-toggle .navigation-toggle-icon::after { -webkit-transform: translateY(calc(var(--hamburger-offset-active) * -1)) rotate(-135deg); -moz-transform: translateY(calc(var(--hamburger-offset-active) * -1)) rotate(-135deg); -ms-transform: translateY(calc(var(--hamburger-offset-active) * -1)) rotate(-135deg); -o-transform: translateY(calc(var(--hamburger-offset-active) * -1)) rotate(-135deg); transform: translateY(calc(var(--hamburger-offset-active) * -1)) rotate(-135deg); }


/* menu-mobile */
ul.menu-mobile {
    margin: 0; padding: 0; list-style: none none; list-style-position: inside;
    min-width: 280px; font-size: 18px;
}
ul.menu-mobile ul { margin: 0; padding: 0; list-style: none none; list-style-position: inside; }
ul.menu-mobile > .menu-item {  transition:all 0.2s; position: relative; }
ul.menu-mobile > .menu-item:not(:last-child) { border-bottom: 1px solid rgba(0, 0, 0, 0.15); }
ul.menu-mobile > .menu-item:hover { border-color: var(--color-purple); }
ul.menu-mobile > .menu-item:hover a { opacity: 0.8; }
ul.menu-mobile .menu-item a { 
  display: block; padding: 8px 0px; 
  color: var(--color-blue); text-decoration: none; transition:all 0.2s; 
  font-family: var(--headings-font-family);
  text-align: center;
}
ul.menu-mobile .menu-item.current-menu-item a {  color: var(--color-purple); }

ul.menu-mobile .sub-menu { display: none; padding-left: 15px; }
ul.menu-mobile .sub-menu .menu-item { opacity: 0.8; transition:all 0.2s;   }
ul.menu-mobile .sub-menu .menu-item:hover { opacity: 1; text-decoration: underline; }

ul.menu-mobile > .menu-item-has-children[aria-expanded="true"]::after { transform: rotate(-180deg); }
ul.menu-mobile > .menu-item-has-children::after {
    content: ''; display: inline-block; width: 0; height: 0;
    border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 8px solid var(--color-white); 
    position: absolute; top: 18px; right: 0;
    transition:all 0.2s;
}


.hamburger-overlay {
  position: absolute; top: 0; left: 0; bottom: 0; right: 0; height: 100%; width: 100%; z-index: 9999;
  transition: opacity 0.15s ease-in-out;
  display: flex; flex-direction: column; justify-content: center; align-items: center; 
  pointer-events:none; opacity: 0; visibility: hidden;
  overflow: auto;

  background-color: var(--hamburger-color-overlay);
  color: var(--color-white);

}

/* open */
.body-open { position: fixed; width: 100%; height: 100%; }
.body-open .hamburger-overlay { pointer-events: auto; opacity: 1; visibility: visible; }
.body-open #header { z-index: 1000; position: fixed; width: 100%; top: 0; }


.body-open .header-search,
.body-open .header-social  { display: none; }

.body-open .navigation-toggle-icon { color: var(--hamburger-color-active); }
.body-open .navigation-toggle-icon::before, 
.body-open .navigation-toggle-icon::after { border-color:var(--hamburger-color-active);  }


.mm-logo { margin-bottom: 35px; text-align: center;  }
.mm-logo .logo { display: inline-block; width: 160px; }
.mm-close-wrapper { position: absolute; top: 15px; right: 15px; z-index: 100; }
.mm-close-wrapper button { 
  display: flex; width: 30px; height: 30px; align-items: center; justify-content: center; 
  border-radius: 50%; background-color: var(--color-purple); color: white;  border: none;
  font-size: 24px; line-height: 1; 
}


/* MD */ @media (max-width: 991.98px) {

    ul.menu-mobile {  }
    ul.menu-mobile .sub-menu .menu-item {  }
    ul.menu-mobile > .menu-item-has-children::after { top: 19px; }

} /* @media -----------------------------------| width < 992px |-------------------------------------------*/

/* SM */ @media (max-width: 767.98px) {

  .navigation-toggle { transform: scale(0.8); }

 
} /* @media -----------------------------------| width < 768px |-------------------------------------------*/

/* XS */ @media (max-width: 575.98px) and (orientation:landscape) {}

@media (max-width: 575.98px) {  

  .header-enquiry { display: none; }

   
} /* @media -----------------------------------| width < 576px |-------------------------------------------*/

/* XXS */ @media screen and (min-width: 320px) and (max-width: 767.98px) and (orientation: landscape) { }
@media (max-width: 319.98px) {  

   
} /* @media -----------------------------------| width < 320px |-------------------------------------------*/
/* ════════════════════════════════════════════╣     END    ╠════════════════════════════════════════════ */
/* ╔══════════════════════════════════════════════════════════════════════════════════════════════════════╗ */
/* ║                                 ¡ NO STYLES BELOW THIS LINE PLEASE !                                 ║ */
/* ╚══════════════════════════════════════════════════════════════════════════════════════════════════════╝ */









