/* =========================================================
   HEADER / FOOTER
   ---------------------------------------------------------
   01. Header Root / Blend
   02. Header Base / Ready State
   03. Compact Trigger
   04. Desktop / Tablet Panel
   05. Desktop / Tablet Vertical Menu
   06. Mobile Bar
   07. Mobile Offcanvas
   08. Mobile Index / Message / Footer
   09. Open State
   10. Responsive
   11. Reduced Motion
   12. Mobile Tap Highlight Reset
   13. Header Side Fix + Hide/Show + Compact Mode
========================================================= */


/* #########################################################
   01. Header Root / Blend
######################################################### */

#ncp-site-header{
  mix-blend-mode:difference;
}

#ncp-site-header.ncp-mobile-menu-open{
  mix-blend-mode:normal !important;
  isolation:isolate;
  z-index:13000;
}


/* #########################################################
   02. Header Base / Ready State
######################################################### */

.ncpHeaderMenuWrap,
.ncpHeaderMenuWrap *{
  box-sizing:border-box;
}

.ncpHeaderMenuWrap{
  position:relative;
  width:100%;
  display:block;
  pointer-events:none;
}

.ncpHeaderMenuWrap.is-compact{
  min-height:1.5em;
}

.ncpHeaderMenuCompact,
.ncpHeaderMenuCompact *,
.ncpHeaderMenuPanel,
.ncpHeaderMenuPanel *,
.ncpHeaderMenuMobileBar,
.ncpHeaderMenuMobileBar *,
.ncpHeaderMenuOffcanvas,
.ncpHeaderMenuOffcanvas *{
  pointer-events:auto;
}

@media only screen and (min-width:768px){
  .ncpHeaderMenuWrap:not(.is-ready) .ncpHeaderMenuCompact,
  .ncpHeaderMenuWrap:not(.is-ready) .ncpHeaderMenuPanel{
    opacity:0 !important;
    visibility:hidden !important;
    transition:none !important;
  }

  .ncpHeaderMenuWrap:not(.is-ready) .ncpHeaderVMenu__labelInner,
  .ncpHeaderMenuWrap:not(.is-ready) .ncpHeaderVMenu__link{
    transition:none !important;
  }
}


/* #########################################################
   03. Compact Trigger
######################################################### */

.ncpHeaderMenuCompact{
  position:absolute;
  top:0;
  right:0;
  left:auto;
  display:inline-flex;
  align-items:flex-start;
  justify-content:flex-end;
  gap:0;
  color:#F0EEE9;
  font-size:0.9vw;
  font-weight:400;
  line-height:1.5;
  letter-spacing:0;
  cursor:pointer;
  user-select:none;
  opacity:0;
  visibility:hidden;
  transform:translate3d(0,0.22vw,0) scale(0.985);
  transition:
    opacity .52s cubic-bezier(.22,.61,.36,1),
    transform .52s cubic-bezier(.22,.61,.36,1),
    color .26s ease,
    visibility 0s linear .52s;
  pointer-events:none;
  z-index:6;
  padding:0;
  width:max-content;
  height:1.5em;
}

.ncpHeaderMenuCompact::before{
  content:none;
}

.ncpHeaderMenuCompact__label{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:max-content;
  height:1.5em;
  line-height:1.5;
  white-space:nowrap;
  padding:0;
  margin:0;
  transform:none;
}

.ncpHeaderMenuCompact:hover{
  color:#F0EEE9;
}


/* #########################################################
   04. Desktop / Tablet Panel
######################################################### */

.ncpHeaderMenuPanel{
  position:relative;
  width:max-content;
  margin-left:auto;
  opacity:1;
  visibility:visible;
  transform:translate3d(0,0,0) scale(1);
  transition:
    opacity .56s cubic-bezier(.22,.61,.36,1),
    transform .56s cubic-bezier(.22,.61,.36,1),
    visibility 0s linear 0s;
  pointer-events:auto;
  z-index:1;
  transform-origin:right top;
}

.ncpHeaderMenuWrap.is-compact .ncpHeaderMenuCompact{
  opacity:1;
  visibility:visible;
  transform:translate3d(0,0,0) scale(1);
  transition-delay:.04s,.04s,0s,0s;
  pointer-events:auto;
}

.ncpHeaderMenuWrap.is-compact .ncpHeaderMenuPanel{
  position:absolute;
  top:0;
  right:0;
  left:auto;
  opacity:0;
  visibility:hidden;
  transform:translate3d(0,0.35vw,0) scale(0.992);
  transition-delay:0s,0s,.56s;
  pointer-events:none;
  transform-origin:right top;
}

.ncpHeaderMenuWrap.is-compact.is-expanded .ncpHeaderMenuCompact{
  opacity:0;
  visibility:hidden;
  transform:translate3d(0,-0.10vw,0) scale(0.992);
  transition-delay:0s,0s,0s,.34s;
  pointer-events:none;
}

.ncpHeaderMenuWrap.is-compact.is-expanded .ncpHeaderMenuPanel{
  position:absolute;
  top:0;
  right:0;
  left:auto;
  opacity:1;
  visibility:visible;
  transform:translate3d(0,0,0) scale(1);
  transition-delay:.06s,.06s,0s;
  pointer-events:auto;
  transform-origin:right top;
}


/* #########################################################
   05. Desktop / Tablet Vertical Menu
######################################################### */

.ncpHeaderVMenu,
.ncpHeaderVMenu *{
  box-sizing:border-box;
}

.ncpHeaderVMenu{
  width:100%;
  position:relative;
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  pointer-events:auto;
}

.ncpHeaderVMenu__nav{
  width:100%;
  position:relative;
  overflow:visible;
}

.ncpHeaderVMenu__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:0.08em;
  position:relative;
  width:100%;
  align-items:flex-end;
}

.ncpHeaderVMenu__item{
  position:relative;
  margin:0;
  line-height:1;
  width:fit-content;
}

.ncpHeaderVMenu__link{
  display:inline-block;
  width:auto;
  margin:0;
  padding:0;
  text-decoration:none;
  color:#F0EEE9;
  font-size:0.9vw;
  font-weight:400;
  letter-spacing:0;
  line-height:1.5;
  transition:color .26s ease;
  position:relative;
  z-index:3;
  pointer-events:auto;
  cursor:pointer;
}

.ncpHeaderVMenu__link::before,
.ncpHeaderVMenu__link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0.06em;
  width:100%;
  height:1px;
  pointer-events:none;
}

.ncpHeaderVMenu__link::before{
  background:rgba(240,238,233,.28);
  opacity:0;
  transition:opacity .26s ease;
}

.ncpHeaderVMenu__link::after{
  background:rgba(240,238,233,.88);
  transform:scaleX(0);
  transform-origin:left center;
  opacity:1;
  transition:transform .48s cubic-bezier(.22,.61,.36,1);
}

.ncpHeaderVMenu__item:hover .ncpHeaderVMenu__link,
.ncpHeaderVMenu__item.is-active .ncpHeaderVMenu__link,
.ncpHeaderVMenu__link[aria-current="page"]{
  color:#F0EEE9;
}

.ncpHeaderVMenu__item.is-active .ncpHeaderVMenu__link::before,
.ncpHeaderVMenu__link[aria-current="page"]::before{
  opacity:1;
}

.ncpHeaderVMenu__item:hover .ncpHeaderVMenu__link::after,
.ncpHeaderVMenu__link:focus-visible::after{
  transform:scaleX(1);
}

.ncpHeaderVMenu__item.is-active:hover .ncpHeaderVMenu__link::after,
.ncpHeaderVMenu__link[aria-current="page"]:hover::after{
  transform:scaleX(1);
}

.ncpHeaderVMenu__label{
  position:relative;
  display:block;
  height:1.5em;
  overflow:hidden;
}

.ncpHeaderVMenu__labelInner{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  transform:translateY(0%);
  transition:transform .42s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}

.ncpHeaderVMenu__line{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:max-content;
  text-align:right;
  height:1.5em;
  white-space:nowrap;
  flex:0 0 1.5em;
}

.ncpHeaderVMenu__line--en,
.ncpHeaderVMenu__line--ja{
  font-size:1em;
}

.ncpHeaderVMenu__item:hover .ncpHeaderVMenu__labelInner{
  transform:translateY(-50%);
}

.ncpHeaderVMenu__dot{
  display:none !important;
}


/* #########################################################
   06. Mobile Bar
######################################################### */

.ncpHeaderMenuMobileBar{
  display:none;
}

.ncpHeaderMenuMobileBtn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  color:#F0EEE9;
  font-size:3.4vw;
  font-weight:400;
  line-height:1.7;
  letter-spacing:0;
  cursor:pointer;
  user-select:none;
  background:none;
  border:0;
  padding:0;
  margin:0;
  appearance:none;
  -webkit-appearance:none;
  z-index:30;
}

.ncpHeaderMenuMobileBtn__label{
  display:inline-block;
}

.ncpHeaderMenuMobileBtn--menu::before{
  content:none;
}


/* #########################################################
   07. Mobile Offcanvas
######################################################### */

.ncpHeaderMenuOffcanvas{
  display:none;
  position:fixed;
  inset:0;
  z-index:2147483000;
  mix-blend-mode:normal !important;
  isolation:isolate;
  pointer-events:none;
}

.ncpHeaderMenuOffcanvas__overlay{
  display:none !important;
}

.ncpHeaderMenuOffcanvas__panel{
  position:fixed;
  inset:0;
  width:100vw;
  height:100dvh;
  min-height:100dvh;
  visibility:hidden;
  pointer-events:none;
  z-index:2;
  overflow:hidden;
  transform:translate3d(0,100%,0);
  transition:
    transform .82s cubic-bezier(.22,.61,.36,1),
    visibility 0s linear .82s;
  will-change:transform;
  mix-blend-mode:normal !important;
  isolation:isolate;
  opacity:1;
  background:linear-gradient(180deg,#1B1511 0%, #15100D 100%);
  -webkit-transform:translate3d(0,100%,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

.ncpHeaderMenuOffcanvas__panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.08);
  opacity:1;
  pointer-events:none;
  z-index:0;
}

.ncpHeaderMenuOffcanvas__panel::after{
  content:none;
}

.ncpHeaderMenuOffcanvas__scroll{
  position:relative;
  z-index:3;
  width:100%;
  height:100%;
  min-height:100%;
  overflow:auto;
  padding:
    max(20vw, calc(env(safe-area-inset-top, 0px) + 14vw))
    10vw
    max(10vw, env(safe-area-inset-bottom, 0px))
    10vw;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

.ncpHeaderMenuOffcanvas__scroll::-webkit-scrollbar{
  display:none;
}

.ncpHeaderMenuOffcanvas__head{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  display:flex;
  justify-content:flex-end;
  padding:
    max(4vw, env(safe-area-inset-top, 0px))
    4vw
    0
    4vw;
  z-index:4;
  opacity:0;
  transform:translate3d(0,2vw,0);
  transition:
    opacity .28s ease,
    transform .46s cubic-bezier(.22,.61,.36,1);
  mix-blend-mode:normal !important;
  will-change:opacity, transform;
}

.ncpHeaderMenuOffcanvas__close,
.ncpHeaderMenuOffcanvas__close:hover,
.ncpHeaderMenuOffcanvas__close:focus,
.ncpHeaderMenuOffcanvas__close:active,
.ncpHeaderMenuOffcanvas__close:visited{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  color:rgba(240,238,233,.72) !important;
  font-size:3.4vw;
  font-weight:400;
  line-height:1.7;
  letter-spacing:0;
  cursor:pointer;
  user-select:none;
  background:none;
  border:0;
  padding:0;
  margin:0;
  appearance:none;
  -webkit-appearance:none;
  mix-blend-mode:normal !important;
  z-index:5;
  text-decoration:none;
}

.ncpHeaderMenuOffcanvas__close::before,
.ncpHeaderMenuOffcanvas__close::after{
  content:"";
  position:absolute;
  left:-3.3vw;
  top:50%;
  width:2.5vw;
  height:1.5px;
  background:rgba(240,238,233,.72) !important;
  transform-origin:center;
  pointer-events:none;
}

.ncpHeaderMenuOffcanvas__close::before{
  transform:translateY(-50%) rotate(45deg);
}

.ncpHeaderMenuOffcanvas__close::after{
  transform:translateY(-50%) rotate(-45deg);
}

.ncpHeaderMenuOffcanvas__body{
  position:relative;
  z-index:3;
  min-height:calc(100dvh - max(20vw, calc(env(safe-area-inset-top, 0px) + 14vw)) - max(10vw, env(safe-area-inset-bottom, 0px)));
  display:flex;
  flex-direction:column;
}


/* #########################################################
   08. Mobile Index / Message / Footer
######################################################### */

.ncpNavIndexIntro{
  margin-bottom:8vw;
  opacity:0;
  transform:translate3d(0,3vw,0);
  transition:
    opacity .52s ease,
    transform .62s cubic-bezier(.22,.61,.36,1);
  will-change:opacity, transform;
}

.ncpNavIndexIntro__inner{
  border-left:1px solid rgba(240,238,233,.18);
  padding-left:4vw;
}

.ncpNavIndexIntro__title{
  margin:0;
  font-size:8vw;
  line-height:1;
  letter-spacing:-0.04em;
  color:rgba(240,238,233,.72);
  font-weight:200;
}

.ncpNavIndexIntro__sub{
  margin:3vw 0 0;
  font-size:3.4vw;
  line-height:1.4;
  letter-spacing:.02em;
  color:rgba(240,238,233,.68);
  font-weight:400;
}

.ncpHeaderMenuOffcanvas .ncpHeaderVMenu{
  mix-blend-mode:normal !important;
  margin-bottom:8vw;
}

.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__list{
  align-items:flex-start;
}

.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__item{
  width:fit-content;
  overflow:hidden;
}

.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__link{
  font-size:4vw;
  line-height:1.5;
  font-weight:400;
  color:#F0EEE9;
  transform:translate3d(0,112%,0);
  opacity:0;
  transition:
    transform .62s cubic-bezier(.22,.61,.36,1),
    opacity .34s ease;
  will-change:transform, opacity;
  mix-blend-mode:normal !important;
}

.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__link::before,
.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__link::after{
  bottom:0.08em;
}

.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__link::before{
  background:rgba(240,238,233,.28);
}

.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__link::after{
  background:rgba(240,238,233,.82);
}

.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__label{
  height:1.5em;
}

.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__line{
  height:1.5em;
  flex:0 0 1.5em;
}

.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__item.is-active .ncpHeaderVMenu__link,
.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__link[aria-current="page"],
.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__item:hover .ncpHeaderVMenu__link{
  color:#F0EEE9 !important;
}

.ncpNavIndex,
.ncpNavIndex *{
  box-sizing:border-box;
}

.ncpNavIndex{
  --ncp-nav-text: rgba(240,238,233,1);
  --ncp-nav-muted: rgba(240,238,233,.32);
  --ncp-nav-ja: rgba(240,238,233,1);
  --ncp-nav-line: rgba(240,238,233,.10);
  width:100%;
  color:var(--ncp-nav-text);
  opacity:0;
  transform:translate3d(0,3vw,0);
  transition:
    opacity .52s ease,
    transform .62s cubic-bezier(.22,.61,.36,1);
  will-change:opacity, transform;
}

.ncpNavIndex__list{
  width:100%;
  display:grid;
  gap:5vw;
}

.ncpNavIndex__link{
  display:grid;
  grid-template-columns:max-content max-content 1fr max-content;
  align-items:center;
  column-gap:2.4vw;
  width:100%;
  text-decoration:none;
  color:inherit;
}

.ncpNavIndex__no{
  font-size:3vw;
  line-height:1;
  letter-spacing:.02em;
  color:var(--ncp-nav-muted);
  white-space:nowrap;
  transition:opacity .28s ease;
}

.ncpNavIndex__en{
  font-size:3vw;
  line-height:1.08;
  letter-spacing:-0.01em;
  color:var(--ncp-nav-text);
  white-space:nowrap;
  transition:opacity .28s ease;
}

.ncpNavIndex__rule{
  width:100%;
  min-width:4vw;
  height:1px;
  background:var(--ncp-nav-line);
  transform:translateY(.02em);
  transition:opacity .28s ease;
}

.ncpNavIndex__ja{
  font-size:3vw;
  line-height:1.1;
  letter-spacing:-0.01em;
  color:var(--ncp-nav-ja);
  white-space:nowrap;
  text-align:right;
  transition:opacity .28s ease;
}

.ncpNavIndex__link:hover .ncpNavIndex__no,
.ncpNavIndex__link:hover .ncpNavIndex__en,
.ncpNavIndex__link:hover .ncpNavIndex__ja{
  opacity:.7;
}

.ncpNavIndex__link:hover .ncpNavIndex__rule{
  opacity:.6;
}

.ncpNavIndex__link[aria-current="page"] .ncpNavIndex__no,
.ncpNavIndex__link[aria-current="page"] .ncpNavIndex__en,
.ncpNavIndex__link[aria-current="page"] .ncpNavIndex__ja{
  opacity:1;
}

.ncpNavIndex__link[aria-current="page"] .ncpNavIndex__rule{
  opacity:1;
  background:rgba(240,238,233,.34);
}

.ncpHeaderMenuOffcanvas__msg{
  margin-top:10vw;
  opacity:0;
  transform:translate3d(0,3vw,0);
  transition:
    opacity .52s ease,
    transform .62s cubic-bezier(.22,.61,.36,1);
  will-change:opacity, transform;
}

.ncpHeaderMenuOffcanvas__msgText{
  margin:0;
  font-size:3.2vw;
  line-height:2;
  color:rgba(240,238,233,.42);
  letter-spacing:.04em;
  border-left:1px solid rgba(240,238,233,.22);
  padding-left:4vw;
}

.ncpHeaderMenuOffcanvas__footer{
  margin-top:auto;
  padding-top:14vw;
  opacity:0;
  transform:translate3d(0,3vw,0);
  transition:
    opacity .52s ease,
    transform .62s cubic-bezier(.22,.61,.36,1);
  will-change:opacity, transform;
}

.ncpHeaderMenuOffcanvas__footerLine{
  width:100%;
  height:1px;
  background:rgba(240,238,233,.10);
  margin-bottom:8vw;
}

.ncpHeaderMenuOffcanvas__footerRow{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:6vw;
}

.ncpHeaderMenuOffcanvas__footerInfo{
  min-width:0;
  flex:1 1 auto;
}

.ncpHeaderMenuOffcanvas__footerText{
  margin:0;
  font-size:3.2vw;
  line-height:1.9;
  letter-spacing:0;
  color:rgba(240,238,233,.34);
}

.ncpHeaderMenuOffcanvas__footerBtnWrap{
  flex:0 0 auto;
}

.ncpHeaderMenuOffcanvas__footerBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28vw;
  min-height:15vw;
  padding:0 6vw;
  border-radius:1.8vw;
  background:#F0EEE9;
  color:#1A1511;
  text-decoration:none;
  font-size:4vw;
  font-weight:400;
  line-height:1;
  letter-spacing:.02em;
  transition:
    transform .26s ease,
    opacity .26s ease;
}

.ncpHeaderMenuOffcanvas__footerBtn:hover{
  opacity:.9;
  transform:translateY(-1px);
}


/* #########################################################
   09. Open State
######################################################### */

.ncpHeaderMenuOffcanvas.is-open{
  pointer-events:auto;
}

.ncpHeaderMenuOffcanvas.is-open .ncpHeaderMenuOffcanvas__head.is-show,
.ncpHeaderMenuOffcanvas.is-open .ncpNavIndexIntro.is-show,
.ncpHeaderMenuOffcanvas.is-open .ncpNavIndex.is-show,
.ncpHeaderMenuOffcanvas.is-open .ncpHeaderMenuOffcanvas__msg.is-show,
.ncpHeaderMenuOffcanvas.is-open .ncpHeaderMenuOffcanvas__footer.is-show{
  opacity:1;
  transform:translate3d(0,0,0);
}

.ncpHeaderMenuOffcanvas.is-open .ncpHeaderMenuOffcanvas__panel{
  visibility:visible;
  pointer-events:auto;
  transform:translate3d(0,0,0);
  transition-delay:0s;
}

.ncpHeaderMenuOffcanvas.is-open .ncpHeaderVMenu__item.is-reveal > .ncpHeaderVMenu__link{
  transform:translate3d(0,0,0);
  opacity:1;
}


/* #########################################################
   10. Responsive
######################################################### */

@media only screen and (min-width:768px){
  .ncpHeaderMenuWrap,
  .ncpHeaderMenuWrap.is-compact,
  .ncpHeaderMenuPanel,
  .ncpHeaderMenuWrap.is-compact .ncpHeaderMenuPanel,
  .ncpHeaderMenuWrap.is-compact.is-expanded .ncpHeaderMenuPanel,
  .ncpHeaderVMenu,
  .ncpHeaderVMenu__nav,
  .ncpHeaderVMenu__list{
    width:max-content;
    max-width:none;
    display:inline-block;
  }

  .ncpHeaderMenuWrap,
  .ncpHeaderMenuWrap.is-compact{
    display:inline-block;
  }

  .ncpHeaderVMenu,
  .ncpHeaderVMenu__nav{
    display:flex;
  }

  .ncpHeaderVMenu__list{
    display:flex;
  }
}

@media only screen and (max-width:1020px) and (min-width:768px){
  .ncpHeaderMenuWrap.is-compact{
    min-height:1.6em;
  }

  .ncpHeaderMenuCompact{
    font-size:1.45vw;
    line-height:1.6;
    height:1.6em;
  }

  .ncpHeaderMenuCompact__label{
    height:1.6em;
    line-height:1.6;
  }

  .ncpHeaderVMenu__link{
    font-size:1.45vw;
    line-height:1.6;
  }

  .ncpHeaderVMenu__label{
    height:1.6em;
  }

  .ncpHeaderVMenu__line{
    height:1.6em;
    flex:0 0 1.6em;
  }

  .ncpHeaderMenuWrap.is-compact .ncpHeaderMenuPanel{
    transform:translate3d(0,.5vw,0) scale(.992);
  }

  .ncpHeaderVMenu__item:hover .ncpHeaderVMenu__labelInner{
    transform:translateY(0%) !important;
  }
}

@media only screen and (max-width:767px){
  .ncpHeaderMenuCompact,
  .ncpHeaderMenuPanel{
    display:none !important;
  }

  .ncpHeaderMenuMobileBar{
    display:flex;
    width:100%;
    justify-content:flex-end;
    align-items:flex-start;
    position:relative;
    z-index:30;
    padding-right:4vw;
  }

  .ncpHeaderMenuOffcanvas{
    display:block;
  }

  .ncpHeaderVMenu__item:hover .ncpHeaderVMenu__labelInner{
    transform:translateY(0%) !important;
  }
}


/* #########################################################
   11. Reduced Motion
######################################################### */

@media (prefers-reduced-motion: reduce){
  .ncpHeaderMenuCompact,
  .ncpHeaderMenuPanel,
  .ncpHeaderVMenu__link,
  .ncpHeaderVMenu__labelInner,
  .ncpHeaderMenuOffcanvas__panel,
  .ncpHeaderMenuOffcanvas__head,
  .ncpNavIndexIntro,
  .ncpNavIndex,
  .ncpHeaderMenuOffcanvas__msg,
  .ncpHeaderMenuOffcanvas__footer,
  #ncp-site-header{
    transition:none !important;
  }
}


/* #########################################################
   12. Mobile Tap Highlight Reset
######################################################### */

.ncpHeaderMenuMobileBtn,
.ncpHeaderMenuMobileBtn__label,
.ncpHeaderMenuOffcanvas__close,
.ncpHeaderMenuOffcanvas__close::before,
.ncpHeaderMenuOffcanvas__close::after,
.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__link,
.ncpNavIndex__link{
  -webkit-tap-highlight-color:transparent;
}

.ncpHeaderMenuMobileBtn,
.ncpHeaderMenuOffcanvas__close,
.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__link,
.ncpNavIndex__link{
  touch-action:manipulation;
}

.ncpHeaderMenuMobileBtn,
.ncpHeaderMenuMobileBtn:hover,
.ncpHeaderMenuMobileBtn:focus,
.ncpHeaderMenuMobileBtn:active,
.ncpHeaderMenuMobileBtn:visited,
.ncpHeaderMenuOffcanvas__close,
.ncpHeaderMenuOffcanvas__close:hover,
.ncpHeaderMenuOffcanvas__close:focus,
.ncpHeaderMenuOffcanvas__close:active,
.ncpHeaderMenuOffcanvas__close:visited,
.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__link,
.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__link:hover,
.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__link:focus,
.ncpHeaderMenuOffcanvas .ncpHeaderVMenu__link:active,
.ncpNavIndex__link,
.ncpNavIndex__link:hover,
.ncpNavIndex__link:focus,
.ncpNavIndex__link:active{
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
}


/* #########################################################
   13. Header Side Fix + Hide/Show + Compact Mode
######################################################### */

#ncp-site-header{
  position: fixed;
  top: 0vw;
  left: 0;
  width: 100%;
  z-index: 11000 !important;
  transform: translate3d(0, 0, 0);
  opacity: 1;
  will-change: transform, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-origin: top center;
  isolation: isolate;
  pointer-events: none;
}

#ncp-site-header a,
#ncp-site-header button,
#ncp-site-header input,
#ncp-site-header select,
#ncp-site-header textarea,
#ncp-site-header [role="button"],
#ncp-site-header [data-ncp-header-menu-wrap],
#ncp-site-header [data-ncp-header-menu-wrap] *{
  pointer-events: auto;
}

@media only screen and (max-width:1020px) and (min-width:768px){
  #ncp-site-header{
    top: 0vw;
  }
}

@media only screen and (max-width:767px){
  #ncp-site-header{
    top: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce){
  #ncp-site-header{
    transition: none !important;
  }
}

html.ncpHeaderHitDebug #ncp-site-header{
  outline:1px solid rgba(255, 220, 0, 0.75);
}

/* #########################################################
   14. Mobile Menu Scroll Lock
######################################################### */

html.ncp-mobile-menu-open,
body.ncp-mobile-menu-open{
  overflow: hidden !important;
  height: 100%;
}

body.ncp-mobile-menu-open{
  touch-action: none;
  overscroll-behavior: none;
}