/*************************************************************
[TABLE OF CONTENTS]

- MENU BUTTON
- MENU BUTTON LABEL
- WOOCOMMERCE CART BUTTON
- SEARCH BUTTON
- SEARCH BUTTON LABEL
- SEARCH FIELD
- SEARCH OVERLAY
- LOGO
- HEADER BACKGROUND IMAGE
- HEADER BACKGROUND COLOR
- HEADING + SUBHEADING
- HEADING IMAGE
- MENU
- SUBMENU
- ACCORDION SUBMENU ARROW
- MENU ICONS
- ALTERNATE CLOSE BUTTON
- HORIZONTAL MENU
- HORIZONTAL MENU SUBMENU ARROW
- IMAGE MENU
- IMAGE SUBMENU
- IMAGE ACCORDION SUBMENU ARROW
- IMAGE MENU ITEM DESCRIPTION
- GRID MENU (single-level)
- MENU ITEM BADGE
- MAIN WRAPPER
- MENU BACKGROUND COLOR
- MENU BACKGROUND IMAGE
- BACKGROUND OVERLAY
- WIDGETS
- SMART SCROLL
- MISC
- SCROLLBAR STYLING
- CART ICON
- WORDPRESS TOOLBAR
- MEDIA QUERIES
*************************************************************/


/* MENU BUTTON
**************************************************/
/* wrapper */
.taptap-menu-button-wrapper {
	position:fixed;
	z-index:999999;
	top:7px;
	left:7px;
    right:auto;
	width:40px;
	height:45px;
	cursor:pointer;
	
	-webkit-transition:opacity .2s ease .3s, top 0s ease .3s;
	transition:opacity .2s ease .3s, top 0s ease .3s;
    
    /* no tap highlight */
    -webkit-tap-highlight-color:transparent;
}
/* when button BG images entered as ::before, make sure images don't overflow the button */
.taptap-menu-button-individual {
    overflow:hidden;
}
/* when button BG images entered as ::before, make sure images are properly positioned */
.taptap-menu-button-individual:not(.taptap-menu-active .taptap-menu-button-individual)::before,
.taptap-menu-active .taptap-menu-button-individual::before,
.taptap-menu-button-03-front::before,
.taptap-menu-button-03-back::before,
.taptap-menu-button-bg-img {
    position:absolute;
    content:'';
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-size:cover;
}


/* MENU BUTTON STYLE 01
**************************************************/
.taptap-menu-button-01-wrapper {
    width:50px;
    height:50px;
    border-radius:50%;

    -webkit-transition:transform .4s cubic-bezier(.5, 1, 0.2, 2), background-color .4s ease;
    transition:transform .4s cubic-bezier(.5, 1, 0.2, 2), background-color .4s ease;
}
.taptap-menu-active .taptap-menu-button-01-wrapper {
    -webkit-transform:rotate(-45deg) scale(.9);
    transform:rotate(-45deg) scale(.9);
}
/* menu button 01 middle bar */
.taptap-menu-button-01-inner {
    position:absolute;
    content:'';
    top:24px;
    left:14px;
    
    width:21px;
    height:3px;
    background-color:#fff;
    border-radius:3px;
}
/* menu button 01 top bar */
.taptap-menu-button-01-inner::before {
    position:absolute;
    content:'';
    top:-8px;
    
    width:21px;
    height:3px;
    background-color:#fff;
    border-radius:3px;

    -webkit-transition:width .25s ease, transform .25s cubic-bezier(.2, 0, 0.2, 1.25);
    transition:width .25s ease, transform .25s cubic-bezier(.2, 0, 0.2, 1.25);
    
    -webkit-transform-origin:9px 0px;
    transform-origin:9px 0px;
}
.taptap-menu-active .taptap-menu-button-01-inner::before {
    -webkit-transform:rotate(-90deg);
    transform:rotate(-90deg);
    width:10px;
}
/* menu button 01 bottom bar */
.taptap-menu-button-01-inner::after {
    position:absolute;
    content:'';
    top:8px;
    right:0;
    
    width:21px;
    height:3px;
    background-color:#fff;
    border-radius:3px;

    -webkit-transition:width .25s ease, transform .25s cubic-bezier(.2, 0, 0.2, 1.25);
    transition:width .25s ease, transform .25s cubic-bezier(.2, 0, 0.2, 1.25);
    
    -webkit-transform-origin:1px 3px;
    transform-origin:1px 3px;
}
.taptap-menu-active .taptap-menu-button-01-inner::after {
    width:10px;

    -webkit-transform:rotate(-90deg);
    transform:rotate(-90deg);
}


/* MENU BUTTON STYLE 02
**************************************************/
.taptap-menu-button-02-wrapper {
    width:38px;
    height:38px;
    border-radius:50%;

    -webkit-transition:transform .2s cubic-bezier(.5, 1, 0.2, 2), background-color .2s ease;
    transition:transform .2s cubic-bezier(.5, 1, 0.2, 2), background-color .2s ease;
}
.taptap-menu-button-02-wrapper:active {
    -webkit-transform:scale(.9);
    transform:scale(.9);
}
/* menu button 02 middle bar */
.taptap-menu-button-02-inner {
    position:absolute;
    content:'';
    top:18px;
    left:10px;
}
/* menu button 02 top bar */
.taptap-menu-button-02-inner::before {
    position:absolute;
    content:'';
    top:-3px;
    
    width:18px;
    height:3px;
    background-color:#fff;
    border-radius:3px;

    -webkit-transform:scaleX(.75);
    transform:scaleX(.75);

    -webkit-transition:transform .25s cubic-bezier(.2, 0, 0.2, 1.65);
    transition:transform .25s cubic-bezier(.2, 0, 0.2, 1.65);
}
.taptap-menu-active .taptap-menu-button-02-inner::before {
    -webkit-transform:translateY(3px) rotate(-45deg) scaleX(1);
    transform:translateY(3px) rotate(-45deg) scaleX(1);
}
/* menu button 02 bottom bar */
.taptap-menu-button-02-inner::after {
    position:absolute;
    content:'';
    top:3px;
    left:0;
    
    width:18px;
    height:3px;
    background-color:#fff;
    border-radius:3px;

    -webkit-transform:scaleX(.75);
    transform:scaleX(.75);

    -webkit-transition:transform .25s cubic-bezier(.2, 0, 0.2, 1.65);
    transition:transform .25s cubic-bezier(.2, 0, 0.2, 1.65);
}
.taptap-menu-active .taptap-menu-button-02-inner::after {
    -webkit-transform:translateY(-3px) rotate(45deg) scaleX(1);
    transform:translateY(-3px) rotate(45deg) scaleX(1);
}


/* MENU BUTTON STYLE 03
**************************************************/
.taptap-menu-button-03-wrapper {
    width:50px;
    height:50px;

    -webkit-transform-style:preserve-3d;
    transform-style:preserve-3d;

    -webkit-perspective:1000px;
    perspective:1000px;
}
/* apply border-radius when BG images used */
.taptap-menu-button-03-front::before,
.taptap-menu-button-03-back::before {
    border-radius:50%;
}
/* menu button 03 front/back joint styling */
.taptap-menu-button-03-front,
.taptap-menu-button-03-back {
    text-align:center;
    height:inherit;
    border-radius:50%;

    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;

    -webkit-transform-style:preserve-3d;
    transform-style:preserve-3d;

    -webkit-transition:-webkit-transform .75s cubic-bezier(.4, 0.1, 0.1, 1.1), background-color .2s ease;
    transition:transform .75s cubic-bezier(.4, 0.1, 0.1, 1.1), background-color .2s ease;
}
/* menu button 03 inner joint styles */
.taptap-menu-button-03-inner {
    position:relative;
    z-index:2;
    top:25px;
    
    -webkit-perspective:inherit;
    perspective:inherit;
    
    -webkit-transform:translateY(-50%) translateZ(13px);
    transform:translateY(-50%) translateZ(13px);
}
/* menu button 03 front */
.taptap-menu-button-03-front {
    background-color:#666;

    -webkit-transform:rotateY(0deg);
    transform:rotateY(0deg);
}
.taptap-menu-active .taptap-menu-button-03-front {
    -webkit-transform:rotateY(-180deg);
    transform:rotateY(-180deg);
}
/* menu button 03 middle bar */
.taptap-menu-button-03-front .taptap-menu-button-03-inner {
    position:absolute;
    content:'';
    top:25px;
    left:15px;
    
    width:21px;
    height:3px;
    background-color:#fff;
    border-radius:3px;

    -webkit-transition:background-color .2s ease;
    transition:background-color .2s ease;
}
/* menu button 03 top bar */
.taptap-menu-button-03-front .taptap-menu-button-03-inner::before {
    position:absolute;
    content:'';
    left:0;
    top:-8px;
    
    width:21px;
    height:3px;
    background-color:#fff;
    border-radius:3px;

    -webkit-transition:width .25s ease, transform .25s cubic-bezier(.2, 0, 0.2, 1.25), background-color .2s ease;
    transition:width .25s ease, transform .25s cubic-bezier(.2, 0, 0.2, 1.25), background-color .2s ease;

    -webkit-transform-origin:9px 0px;
    transform-origin:9px 0px;
}
/* menu button 03 bottom bar */
.taptap-menu-button-03-front .taptap-menu-button-03-inner::after {
    position:absolute;
    content:'';
    top:8px;
    right:0;
    
    width:21px;
    height:3px;
    background-color:#fff;
    border-radius:3px;

    -webkit-transition:width .25s ease, transform .25s cubic-bezier(.2, 0, 0.2, 1.25), background-color .2s ease;
    transition:width .25s ease, transform .25s cubic-bezier(.2, 0, 0.2, 1.25), background-color .2s ease;

    -webkit-transform-origin:1px 3px;
    transform-origin:1px 3px;
}
/* menu button 03 back */
.taptap-menu-button-03-back {
    position:absolute;
    top:0;
    left:0;
    width:inherit;

    -webkit-transform:rotateY(180deg);
    transform:rotateY(180deg);

    background-color:#555;
}
.taptap-menu-active .taptap-menu-button-03-back {
    -webkit-transform:rotateY(0deg);
    transform:rotateY(0deg);
}
/* menu button 03 close button */
.taptap-menu-button-03-back .taptap-menu-button-03-inner::before,
.taptap-menu-button-03-back .taptap-menu-button-03-inner::after {
    position:absolute;
    content:'';
    top:-1px;
    left:15px;
    
    width:21px;
    height:3px;
    background-color:#fff;
    border-radius:3px;
}
.taptap-menu-button-03-back .taptap-menu-button-03-inner::before {
  -webkit-transform:rotate(45deg);
   transform:rotate(45deg);
}
.taptap-menu-button-03-back .taptap-menu-button-03-inner::after {
  -webkit-transform:rotate(-45deg);
  transform:rotate(-45deg);
}


/* MENU BUTTON STYLE 04
**************************************************/
.taptap-menu-button-04-wrapper {
    width:38px;
    height:38px;
    border-radius:50%;

    -webkit-transition:background-color .3s ease, outline .3s ease;
    transition:background-color .3s ease, outline .3s ease;
}
.taptap-menu-active .taptap-menu-button-04-wrapper {
    background-color:transparent;
}
/* menu button 04 middle bar */
.taptap-menu-button-04-inner {
    position:absolute;
    content:'';
    top:18px;
    left:11px;
    width:16px;
    height:2px;
    border-radius:3px;
    background-color:#EAEAEB;

    -webkit-transition:transform .2s cubic-bezier(.5, 1, 0.2, 1.5), width .2s ease, left .2s ease;
    transition:transform .2s cubic-bezier(.5, 1, 0.2, 1.5), width .2s ease, left .2s ease;
}
.taptap-menu-active .taptap-menu-button-04-inner {
    left:10px;
    width:18px;
    background-color:#EBEBEB;

    -webkit-transform:rotate(-45deg);
    transform:rotate(-45deg);

    -webkit-transition:transform .55s cubic-bezier(.5, 1, 2, 1.5), width .2s ease, left .2s ease;
    transition:transform .55s cubic-bezier(.5, 1, 2, 1.5), width .2s ease, left .2s ease;
}
/* menu button 04 top bar */
.taptap-menu-button-04-inner::before {
    position:absolute;
    content:'';
    top:-8px;
    width:16px;
    height:2px;
    background-color:#EAEAEB;
    border-radius:3px;

    -webkit-transition:transform .1s cubic-bezier(0, .2, .2, 1), width .2s ease;
    transition:transform .1s cubic-bezier(0, .2, .2, 1), width .2s ease;

    -webkit-transform-origin:9px 0px;
    transform-origin:9px 0px;
}
.taptap-menu-active .taptap-menu-button-04-inner::before {
    width:7px;
    background-color:#EBEBEB;

    -webkit-transform:rotate(-90deg) translateX(2px) translateY(-1px);
    transform:rotate(-90deg) translateX(2px) translateY(-1px);

    -webkit-transition:transform .3s cubic-bezier(.25, 0, 0.2, 1.5) .05s, width .3s ease;
    transition:transform .3s cubic-bezier(.25, 0, 0.2, 1.5) .05s, width .3s ease;
}
/* menu button 04 bottom bar */
.taptap-menu-button-04-inner::after {
    position:absolute;
    content:'';
    top:8px;
    right:0;
    width:16px;
    height:2px;
    background-color:#EAEAEB;
    border-radius:3px;

    -webkit-transition:transform .1s cubic-bezier(0, .2, .2, 1), width .2s ease;
    transition:transform .1s cubic-bezier(0, .2, .2, 1), width .2s ease;

    -webkit-transform-origin:1px 3px;
    transform-origin:1px 3px;
}
.taptap-menu-active .taptap-menu-button-04-inner::after {
    width:7px;
    background-color:#EBEBEB;

    -webkit-transform:rotate(-90deg) translateX(2px) translateY(-1px);
    transform:rotate(-90deg) translateX(2px) translateY(-1px);

    -webkit-transition:transform .3s cubic-bezier(.25, 0, 0.2, 1.5) .05s, width .3s ease;
    transition:transform .3s cubic-bezier(.25, 0, 0.2, 1.5) .05s, width .3s ease;
}


/* MENU BUTTON STYLE 05
**************************************************/
.taptap-menu-button-05-wrapper {
    width:50px;
    height:50px;
}
/* menu button 05 open button */
.taptap-menu-button-05-open {
    position:absolute;
    z-index:4;
    top:0;
    left:0;
    width:inherit;
    height:inherit;

    background-color:#777;

    -webkit-transition:background-color .25s ease;
    transition:background-color .25s ease;
}
.taptap-menu-button-05-open::before,
.taptap-menu-button-05-open::after {
    position:absolute;
    content:'';
    z-index:1;
    left:0;
    right:0;
    margin:0 auto;
    width:12px;
    height:2px;
    background-color:#fff;

    -webkit-transform:scaleX(1);
    transform:scaleX(1);

    -webkit-transition:-webkit-transform .25s cubic-bezier(.5, 1, .2, 2) .2s, background-color .25s ease;
    transition:-webkit-transform .25s cubic-bezier(.5, 1, .2, 2) .2s, background-color .25s ease;
}
.taptap-menu-button-05-open::before {
    top:21px;
}
.taptap-menu-button-05-open::after {
    top:27px;
}
.taptap-menu-active .taptap-menu-button-05-open::before,
.taptap-menu-active .taptap-menu-button-05-open::after {
    -webkit-transform:scaleX(.35);
    transform:scaleX(.35);

    -webkit-transition:-webkit-transform 0 ease;
    transition:-webkit-transform 0 ease;
}
/* menu button 05 close button */
.taptap-menu-button-05-close {
    position:absolute;
    z-index:5;
    top:0;
    left:0;
    width:inherit;
    height:inherit;

    background-color:#555;

    -webkit-clip-path:circle(0px at center center);
    clip-path:circle(0px at center center);

    -webkit-transition:-webkit-clip-path .5s cubic-bezier(.2, .3, .5, 2), background-color .25s ease;
    transition:clip-path .5s cubic-bezier(.2, .3, .5, 2), background-color .25s ease;
}
.taptap-menu-active .taptap-menu-button-05-close {
    -webkit-clip-path:circle(50px at center center);
    clip-path:circle(50px at center center);

    -webkit-transition:-webkit-clip-path .5s cubic-bezier(.75, .5, .2, 1), background-color .25s ease;
    transition:clip-path .5s cubic-bezier(.75, .5, .2, 1), background-color .25s ease;
}
.taptap-menu-button-05-close::before,
.taptap-menu-button-05-close::after {
    position:absolute;
    content:'';
    z-index:1;
    top:24px;
    left:0;
    right:0;
    margin:0 auto;
    width:14px;
    height:2px;
    background-color:#fff;
}
.taptap-menu-button-05-close::before {
    -webkit-transform:rotate(45deg) scale(.15);
    transform:rotate(45deg) scale(.15);
}
.taptap-menu-button-05-close::after {
    -webkit-transform:rotate(-45deg) scale(.15);
    transform:rotate(-45deg) scale(.15);
}
.taptap-menu-active .taptap-menu-button-05-close::before {
    -webkit-transform:rotate(45deg) scale(1);
    transform:rotate(45deg) scale(1);
}
.taptap-menu-active .taptap-menu-button-05-close::after {
    -webkit-transform:rotate(-45deg) scale(1);
    transform:rotate(-45deg) scale(1);
}
.taptap-menu-button-05-close::before,
.taptap-menu-button-05-close::after {
    -webkit-transition:-webkit-transform 0s ease .35s, background-color .25s ease;
    transition:-webkit-transform 0s ease .35s, background-color .25s ease;
}
.taptap-menu-active .taptap-menu-button-05-close::before,
.taptap-menu-active .taptap-menu-button-05-close::after {
    -webkit-transition:-webkit-transform .35s cubic-bezier(.5, 1, .2, 1.5) .05s, background-color .25s ease;
    transition:-webkit-transform .35s cubic-bezier(.5, 1, .2, 1.5) .05s, background-color .25s ease;
}


/* MENU BUTTON STYLE 06
**************************************************/
.taptap-menu-button-06-wrapper {
    width:40px;
    height:40.5px;
    border-radius:2px;

    -webkit-transition:all .25s ease;
    transition:all .25s ease;
}
/* menu button 06 middle bar */
.taptap-menu-button-06-inner {
    position:absolute;
    content:'';
    top:19px;
    left:10px;
    
    width:20px;
    height:2.5px;
    background-color:#fff;
    border-radius:2px;

    -webkit-transition:all .25s ease;
    transition:all .25s ease;
}
/* menu button 06 top bar */
.taptap-menu-button-06-inner::before {
    position:absolute;
    content:'';
    top:-8px;
    
    width:20px;
    height:2.5px;
    background-color:#fff;
    border-radius:2px;

    -webkit-transition:all .25s ease;
    transition:all .25s ease;
    
    -webkit-transform-origin:9px 0px;
    transform-origin:9px 0px;
}
/* menu button 06 bottom bar */
.taptap-menu-button-06-inner::after {
    position:absolute;
    content:'';
    top:8px;
    right:0;
    
    width:20px;
    height:2.5px;
    background-color:#fff;
    border-radius:2px;

    -webkit-transition:all .25s ease;
    transition:all .25s ease;
    
    -webkit-transform-origin:1px 3px;
    transform-origin:1px 3px;
}


/* MENU BUTTON LABEL
**************************************************/
.taptap-menu-button-label {
    position:absolute;
    z-index:5;
    top:6px;
    left:40px;
    font-family:'Inter Tight',sans serif;
    font-weight:500;
    font-size:11px;
    letter-spacing:0;
    color:#747A7D;
    padding:10px;
    white-space:nowrap;
}
.taptap-menu-button-label::before,
.taptap-menu-button-label::after {
	position:absolute;
	top:0;
	left:0;
	padding:10px;

	-webkit-transition:all .25s ease;
	transition:all .25s ease;
}
.taptap-menu-button-label-hide {
    opacity:0;
    pointer-events:none;
}


/* WOOCOMMERCE CART BUTTON
**************************************************/
.taptap-woo-button-wrapper {
	position:fixed;
	z-index:99996;
	top:12px;
	right:55px;
	padding:10px;
}
/* shopping bag icon */
.taptap-shopping-icon {
    background-color:#999;
    width:25px;
    height:25px;
    font-size:21px;
    margin-left:-20px;

    -webkit-mask-image:url(icons/taptap-shopping-cart.svg);
    mask-image:url(icons/taptap-shopping-cart.svg);

    -webkit-mask-size:25px;
    mask-size:25px;
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;

    -webkit-transition:all .25s ease;
	transition:all .25s ease;
}
a.taptap-cart-count:hover .taptap-shopping-icon {
    background-color:#ddd;
}
a.taptap-cart-count,
a.taptap-cart-count:hover,
a.taptap-cart-count:active {
    text-decoration:none;
}
.taptap-cart-count > span {
	position:absolute;
	top:2px;
	right:2px;
	border-radius:50px;
	height:17px;
	min-width:10px;
	padding:0 3px;
	display:block;
	text-align:center;
	font-family:'Inter Tight',sans serif;
    font-weight:500;
	font-size:10px;
    color:#fff;
    background-color:#A2A464;
}
.taptap-cart-count > span > span {
	margin-top:2px;
	display:block;
}


/* SEARCH BUTTON
**************************************************/
/* search button wrapper */
.taptap-search-button-wrapper { 
    position:fixed;
    z-index:99996;
	width:40px;
    height:45px;
	top:10px;
	right:10px;
    left:auto;
	cursor:pointer;
    
    /* no tap highlight */
    -webkit-tap-highlight-color:transparent;
}
/* search button */
.taptap-search-button {
    position:relative;
    width:15px;
	height:15px;
    top:13px;
    left:11px;
    margin:0;
    padding:0;
    border:2px solid #999;
    border-radius:50%;

    box-sizing:border-box;
    -webkit-box-sizing:border-box;
    
    -webkit-transition:all .25s ease;
	transition:all .25s ease;
}
.taptap-search-button::after {
    content:'';
    position:absolute;
    top:12px;
    left:10px;
    width:7px;
    height:2px;
    background-color:#999;
    margin:0;
    padding:0;
    
    -webkit-transform:rotate(45deg);
	transform:rotate(45deg);
    
    -webkit-transition:all .25s ease;
	transition:all .25s ease;
}


/* SEARCH BUTTON LABEL
**************************************************/
.taptap-search-button-label {
    position:absolute;
    top:6px;
    left:-55px;
    font-family:'Inter Tight',sans serif;
    font-weight:500;
    font-size:11px;
    letter-spacing:0;
    color:#747A7D;
    padding:10px;
    white-space:nowrap;
    
    -webkit-transition:all .25s ease;
	transition:all .25s ease;
}


/* SEARCH FIELD
**************************************************/
/* search form */
.taptap-search-wrapper,
.taptap-search-background {
	position:fixed;
	z-index:9999999;
	top:-1000px;
	left:0;
	right:0;
	width:100%;
	height:65px;
	margin:0;
	padding:0;
	overflow:hidden;
	
	-webkit-transform:translateY(-100%);
	transform:translateY(-100%);
	
	-webkit-transition:-webkit-transform .25s ease 0s, top 0s ease .25s;
	transition:transform .25s ease 0s, top 0s ease .25s;
}
/* search form background */
.taptap-search-background {
    z-index:9999998;
    background-color:#191919;
}
.taptap-search-wrapper-active {
	top:0 !important;
	
	-webkit-transform:translateY(0) !important;
	transform:translateY(0) !important;
	
	-webkit-transition:-webkit-transform .25s ease 0s, top 0s ease 0s !important;
	transition:transform .25s ease 0s, top 0s ease 0s !important;
}
/* searchform input */
.taptap-search-wrapper #searchform input {
	width:100%;
	height:100%;
    position:absolute;
    z-index:10;
    top:0px;
	font-family:'Inter Tight',sans serif;
    font-weight:500;
    font-size:16px;
    letter-spacing:0;
	color:#eee;
	padding:0 50px;
	margin:0;
	border:0;
	background:none;
    outline:none;

    /* so padding wouldn't affect width */
    box-sizing:border-box;
    -webkit-box-sizing:border-box;
	
	-webkit-border-radius:0;
	border-radius:0;
}
/* hide IE's built-in clear field button */
.taptap-search-wrapper #searchform input::-ms-clear { display:none; }
/* searchform placeholder */
#searchform input::-webkit-input-placeholder { font-size:15px; color:#555 !important; }
#searchform input:-moz-placeholder { font-size:15px; color:#555 !important; }
#searchform input::-moz-placeholder { font-size:15px; color:#555 !important; }
#searchform input:-ms-input-placeholder { font-size:15px; color:#555 !important; }
/* search form close button */
.taptap-search-close-wrapper {
    display:table;
	position:absolute;
    z-index:20;
	top:0;
	left:0;
    width:40px;
	height:100%;
	cursor:pointer;
    
    /* no tap highlight */
    -webkit-tap-highlight-color:transparent;
}
.taptap-search-close-inner {
    display:table-cell;
    vertical-align:middle;
}
.taptap-search-close-inner::before,
.taptap-search-close-inner::after {
    content:'';
    position:absolute;
    vertical-align:middle;
    left:15px;
    width:9px;
    height:1px;
    background-color:#999;
    
    -webkit-transition:all .25s ease;
	transition:all .25s ease;
}
.taptap-search-close-inner::before {
    margin-top:-3px;
    -webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
.taptap-search-close-inner::after {
    margin-top:3px;
    -webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}
/* search form clear field button */
.taptap-search-clear-wrapper {
    display:table;
	position:absolute;
    z-index:20;
	top:0;
	right:0;
    width:50px;
	height:100%;
	cursor:pointer;
    
    /* no tap highlight */
    -webkit-tap-highlight-color:transparent;
}
.taptap-search-clear-inner {
    display:table-cell;
    vertical-align:middle;
}
.taptap-search-clear {
    position:relative;
    vertical-align:middle;
    left:15px;
    width:18px;
    height:18px;
    border-radius:50%;
    background-color:#555;
    
    -webkit-transition:all .25s ease;
	transition:all .25s ease;
}
.taptap-search-clear::before {
    content:'';
    position:absolute;
    top:8px;
    left:3px;
    width:12px;
    height:2px;
    background-color:#191919;
    
    -webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
.taptap-search-clear::after {
    content:'';
    position:absolute;
    top:8px;
    left:3px;
    width:12px;
    height:2px;
    background-color:#191919;
    
    -webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}


/* SEARCH OVERLAY
**************************************************/
.taptap-search-overlay {
    position:fixed;
    z-index:9999997;
    top:-1000%;
    left:0;
    right:0;
    width:100%;
    height:100%;
    height:100vh;
    background-color:#000;
    cursor:pointer;
    opacity:0;
	
	-webkit-transition:opacity .25s ease 0s, top 0s ease .25s;
	transition:opacity .25s ease 0s, top 0s ease .25s;
}
.taptap-search-overlay-active {
	top:0;
    opacity:.5;
	
	-webkit-transition:opacity .25s ease 0s, top 0s ease 0s;
	transition:opacity .25s ease 0s, top 0s ease 0s;
}


/* LOGO
**************************************************/
/* wrapper */
.taptap-logo-wrapper {
	position:fixed;
	z-index:99996;
	top:23px;
    left:50%;
    
    -webkit-transform:translateX(-50%);
    transform:translateX(-50%);
}
/* if logo is an image */
.taptap-logo-image img {
	width:auto;
	max-height:35px;
}
/* if logo is text */
.taptap-logo a {
	font-family:'Inter Tight',sans serif;
    font-weight:500;
	font-size:14px;
    letter-spacing:0;
	text-decoration:none;
	color:#878C91;
	margin:0;
	padding:5px;
	
	-webkit-transition:all .25s ease;
	transition:all .25s ease;
}
.taptap-logo a:hover {
	color:#D4D9DE;
	text-decoration:none;
}
/* primary/secondary logo switch */
.taptap-logo-primary {
	position:relative;
	z-index:10;

	-webkit-transition:all .4s ease;
	transition:all .4s ease;
}
.taptap-logo-secondary {
	opacity:0;
	position:absolute;
	top:0;
	z-index:9;

	-webkit-transition:all .4s ease;
	transition:all .4s ease;
}
.taptap-logo-image-active .taptap-logo-primary {
	opacity:0;
}
.taptap-logo-image-active .taptap-logo-secondary {
	opacity:1;
}


/* HEADER BACKGROUND IMAGE
**************************************************/
.taptap-header-bg-image {
	position:fixed;
	z-index:99995;
	top:0;
	left:0;
	width:100%;
	height:65px;
	background-size:cover;
	background-repeat:no-repeat;
}


/* HEADER BACKGROUND COLOR
**************************************************/
.taptap-header {
	position:fixed;
	z-index:99994;
	top:0;
	left:0;
	width:100%;
	height:65px;
	background-color:#1D2124;
}


/* HEADING + SUBHEADING
**************************************************/
/* heading + subheading joint styles */
.taptap-heading,
.taptap-subheading,
.taptap-heading a,
.taptap-subheading a {
	text-align:center;
	letter-spacing:0;
    line-height:16px;
	text-decoration:none;
}
/* heading */
.taptap-heading,
.taptap-heading a {
    font-family:'Inter Tight',sans serif;
    font-weight:500;
	font-size:22px;
	color:#D1CA66;
}
/* subheading */
.taptap-subheading { margin-top:10px; }
.taptap-subheading,
.taptap-subheading a {
    font-family:'Inter Tight',sans serif;
    font-weight:500;
	font-size:16px;
	color:#727B81;
}
.taptap-heading a:hover {
	color:#D1CA66;
	text-decoration:underline;
}
.taptap-subheading a:hover {
	color:#727B81;
	text-decoration:underline;
}


/* HEADING IMAGE
**************************************************/
.taptap-image {
	text-align:center;
	margin:0;
}
.taptap-image img {
	margin:0 auto;
	max-width:100%;
	height:auto;
}


/* MENU
**************************************************/
.taptap-by-bonfire {
    position:relative;
    z-index:1;
    top:0;
    right:0;
    left:0;
    padding:0;
    margin:0 auto;
    text-align:center;
    display:block;
    max-width:400px;

    font-family:'Inter Tight',sans serif;
    font-weight:500;
}
.taptap-by-bonfire .menu {
    width:inherit;
    list-style-type:none;
    margin:0;
    padding:0;
    box-sizing:border-box;
}
/* individual main menu items */
.taptap-by-bonfire ul li {
    list-style-type:none;
    margin:0;
    padding:0;
    text-align:left;
    margin:0 auto;
}
.taptap-by-bonfire ul li a {
    position:relative;
    box-sizing:border-box;
    min-height:calc(70px - 20px);
    margin:0;
    padding:10px 15px;

    font-size:16px;
    line-height:16px;
    color:#fff;
    text-decoration:none;

    display:inline-flex;
    align-items:center;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:left;
}
/* menu description (vertical menu) */
.taptap-by-bonfire .taptap-menu-item-description {
    width:100%;
    font-size:14px;
    line-height:16px;
    color:#A1A19E;
    margin:0 50px 0 0;
    padding-top:5px;
}
/* menu item divider */
.taptap-by-bonfire .menu > li {
    border-top:0px solid #444;
}
/* hide top and bottom borders */
.taptap-by-bonfire .menu > li:first-child { border:none; }
.taptap-by-bonfire .menu > li:last-child { border-bottom:none; }


/* SUBMENU
**************************************************/
.taptap-by-bonfire ul.sub-menu {
	list-style:none;
	margin:0 0 0 10px;
	padding:0;
	display:none;
}
/* sub-menu items */
.taptap-by-bonfire .sub-menu a {
	color:#848482;
	margin:0;
}
.taptap-by-bonfire .sub-menu a:hover {
	color:#6390CF;   
}
/* decrease sub-menu item vertical spacing */
.taptap-by-bonfire .sub-menu a,
.taptap-by-bonfire .sub-menu .taptap-sub-arrow {
    margin-top:-10px;
}
/* more space below last sub-menu item */
.taptap-by-bonfire .sub-menu li:last-child {
    padding-bottom:5px;
}


/* ACCORDION SUBMENU ARROW
**************************************************/
/* submenu arrow */
.taptap-sub-arrow {
    position:absolute;
    cursor:pointer;
    top:0;
    right:0;
    width:43px;
    display:inline-block;
    height:calc(70px - 20px);

    box-sizing:border-box;
    
    /* no tap highlight */
    -webkit-tap-highlight-color:transparent;
}
.taptap-sub-arrow-inner {
    position:relative;
    display:block;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%);
    right:0;
    width:43px;
    height:28px;
    
    border-left-width:1px;
    border-left-style:solid;
    border-color:#6F6F6F;
}
.taptap-sub-arrow-inner::before,
.taptap-sub-arrow-inner::after {
    position:absolute;
    content:'';
    display:block;
    top:14px;
    width:9px;
    height:2px;
    border-radius:10px;
    background-color:#ADADAC;
    
    -webkit-transition:all .35s ease;
	transition:all .35s ease;
}
.taptap-sub-arrow-inner::before {
    right:22px;
    -webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}
.taptap-sub-arrow-inner::after {
    right:17px;
    -webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
.taptap-by-bonfire span.taptap-submenu-active span::before {
    -webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
.taptap-by-bonfire span.taptap-submenu-active span::after {
    -webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}


/* MENU ICONS
**************************************************/
.taptap-by-bonfire ul li a i,
.taptap-by-bonfire .sub-menu a i {
    font-size:22px;
    margin-right:10px;
	
	-webkit-transition:all .25s ease;
	transition:all .25s ease;
}
.taptap-by-bonfire ul li a i {
	color:#8C9093;
}
.taptap-by-bonfire .sub-menu a i {
	color:#686C6F;
}


/* ALTERNATE CLOSE BUTTON
**************************************************/
.taptap-alternate-close-button {
    position:fixed;
    z-index:2;
    top:20px;
    right:20px;
    width:40px;
    height:40px;
    border-radius:50%;
    cursor:pointer;

    outline:2px solid transparent;

    -webkit-transition: all .15s ease;
    transition: all .15s ease;

    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.taptap-alternate-close-button:hover {
    outline-color:transparent;
    background-color:transparent;
}
.taptap-alternate-close-button::before,
.taptap-alternate-close-button::after {
	content:'';
	position:absolute;
	top:auto;
	left:auto;
	width:20px;
	height:2.5px;
	background-color:#ccc;
	
	-webkit-border-radius:50px;
	border-radius:50px;

	-webkit-transition: all .15s ease;
	transition: all .15s ease;
}
.taptap-alternate-close-button::before {
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}
.taptap-alternate-close-button::after {
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}


/* HORIZONTAL MENU
**************************************************/
.taptap-by-bonfire-horizontal-wrapper {
    position:relative;
    width:100%;
}
.taptap-by-bonfire-horizontal-inner {
    position:relative;
    max-width:100%;
    width:100%;
    margin:0 auto;
}
.taptap-by-bonfire-horizontal {
    position:absolute;
    top:0;
    left:0;
	max-width:100%;
    width:100%;
    margin:0 auto;
    clear:both;
    display:block;
    box-sizing:border-box;
    -webkit-transition:all .5s ease;
    transition:all .5s ease;
}
/* show menu item descriptions */
.taptap-by-bonfire-horizontal li.menu-item-has-children > a .taptap-menu-item-description {
    display:block;
}
/* hide menu item descriptions on back button */
.taptap-horizontal-close-submenu .taptap-menu-item-description {
    display:none;
}
/* individual main menu items */
.taptap-by-bonfire-horizontal ul li {
	list-style-type:none;
	text-align:left !important;
}
.taptap-by-bonfire-horizontal ul li a {
    outline:none;
    display:inline-block;
    opacity:1;
    width:100%;
    color:#fff;
	font-size:16px;
    font-family:'Inter Tight',sans serif;
    font-weight:500;
    line-height:22px;
	padding:11px 0;
	text-decoration:none;
    -webkit-transform:scale(1);
    transform:scale(1);
    -webkit-transition:all .25s ease, transform .5s ease;
    transition:all .25s ease, transform .5s ease;
}
.taptap-by-bonfire-horizontal .menu,
.taptap-by-bonfire-horizontal .sub-menu {
	margin-top:0;
	margin-bottom:0;
	padding:10px 10px 10px 15px;
	list-style-type:none;
    display:block;
    box-sizing:border-box;
}
.taptap-by-bonfire-horizontal .menu {
    position:relative;
    width:100%;
    margin:0 auto;
    display:block;
    height:auto;
}
.taptap-by-bonfire-horizontal .sub-menu {
	position:absolute;
	z-index:99999;
	top:0;
	right:0;
	width:100%;
	opacity:0;
    padding-top:0;

	-webkit-transition:all .5s ease;
    transition:all .5s ease;
	
    -webkit-transform:translateX(100%);
    transform:translateX(100%);
    
    -webkit-transform-origin:left;
    transform-origin:left;
    
    pointer-events:none;
    display:none;
}
.taptap-by-bonfire-horizontal .sub-menu.is-active {
    opacity:1;
    pointer-events:auto;
    -webkit-transition:all .5s ease;
    transition:all .5s ease;
}
.is-active-top {
    opacity:0 !important;
    pointer-events:none;
}
/* taptap-title class */
.taptap-by-bonfire-horizontal .taptap-title {
    display:table;
    width:100%;
}
.taptap-by-bonfire-horizontal .taptap-title:not(:first-child) {
    margin-top:20px;
}
.taptap-by-bonfire-horizontal .taptap-title i {
    margin:0 3px;
}
.taptap-by-bonfire-horizontal .taptap-title a {
    display:table-cell;
    width:auto;
    white-space:nowrap;
    cursor:default;
    color:#8A8A91;
    font-size:14px;
}
.taptap-by-bonfire-horizontal .taptap-title-line {
    display:table-cell;
    width:100%;
    height:10px;
    -webkit-transition:all .5s ease;
    transition:all .5s ease;
}
.taptap-by-bonfire-horizontal .taptap-title-line::before {
    display:block;
    content:'';
    width:calc(100% - 10px);
    height:1px;
    margin:-5px 0 0 10px;
    background-color:#31373C;
}
/* menu item icons */
.taptap-by-bonfire-horizontal .menu-item:not(.taptap-title) i {
    font-size:20px;
    -webkit-transform:translateY(2px);
    transform:translateY(2px);
    margin-right:5px;
    color:#E0E1E1;
    -webkit-transition:all .25s ease;
    transition:all .25s ease;
}
/* delay pointer-events on back button (otherwise if clicked on rapidly after opening sub-menu, could cause entire menu to become hidden) */
@keyframes taptap-delay-pointer-events {
    0% { pointer-events:none; }
    99% { pointer-events:none; }
    100% { pointer-events:auto; }
}
.sub-menu.is-active .taptap-horizontal-close-submenu {
    animation:taptap-delay-pointer-events 500ms linear;
}
/* back button arrow */
.taptap-horizontal-back {
    visibility: visible !important;
    display:block !important;
    position: relative !important;
    opacity:1 !important;
    margin-left:-5px !important;
    padding-left:35px !important;
    color:#999 !important;
    pointer-events:none;
    width:calc(100% + 5px) !important;
  
    border-bottom:1px solid #31373C;
	
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}
.taptap-horizontal-back::before,
.taptap-horizontal-back::after {
    content:'';
    position:absolute;
    width:7px;
    height:2px;
    left:12px !important;
    background-color:#A4AAAF;
    -webkit-transition:all .25s ease;
    transition:all .25s ease;
}
.taptap-horizontal-back::before {
    top:19px;
    -webkit-transform:rotate(-45deg);
    transform:rotate(-45deg);
}
.taptap-horizontal-back::after {
    top:23px;
    -webkit-transform:rotate(45deg);
    transform:rotate(45deg);
}
.taptap-horizontal-back .taptap-horizontal-sub-arrow,
.taptap-horizontal-back i {
    display:none;
}
/* horizontal menu item description */
.taptap-by-bonfire-horizontal .taptap-menu-item-description {
    font-size:14px;
    line-height:16px;
    color:#999;
    padding-top:5px;
}



/* HORIZONTAL MENU SUBMENU ARROW
**************************************************/
/* submenu arrow */
.taptap-horizontal-sub-arrow {
    position:absolute;
    cursor:pointer;
    top:10px;
    right:5px;
    width:25px;
    height:25px;
  
    display:inline-flex;
    align-items:center;
    
    /* no tap highlight */
    -webkit-tap-highlight-color:transparent;
}
.taptap-horizontal-sub-arrow::before {
    position:absolute;
    right:0;
    content:'';
    display:block;
    
    width:25px;
    height:25px;
    
    -webkit-mask-size:25px;
    mask-size:25px;
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    
    background-color:#999;

    -webkit-transition:all .25s ease;
    transition:all .25s ease;
}


/* IMAGE MENU
**************************************************/
.taptap-by-bonfire-image-wrapper {
	display:block;
	margin:0 5px;
	text-align:center;
}
.taptap-by-bonfire-image {
	margin:0 auto;
}
.taptap-by-bonfire-image ul {
	list-style-type:none;
	margin:0;
	padding:10px;
}
.taptap-by-bonfire-image ul li {
	list-style-type:none;
	text-align:center;

	-webkit-transition:all .2s ease;
	transition:all .2s ease;
}
.taptap-by-bonfire-image ul li a {
	font-family:'Muli';
    font-weight:700;
	margin:0;
	padding:0;
	display:inline-block;
	text-decoration:none;
	text-align:left;
	
	-webkit-transition:all .2s ease;
	transition:all .2s ease;
}
.taptap-image-grid-item > a {
	font-size:18px;
    letter-spacing:0;
	color:#fff;
}
.taptap-by-bonfire-image .menu {
	list-style:none;
}
.taptap-by-bonfire-image .menu li {
	position:relative;
	border:none;
	z-index:auto;
}
.taptap-by-bonfire-image .menu ul {
	list-style:none;
	margin:0;
	padding:0;
	display:none;
}
.taptap-by-bonfire-image > ul {
    position:relative;
    max-width:960px;

	display:grid;
	grid-gap:20px;
    grid-template-columns:repeat(3, 1fr);
    color:#444;
    list-style-type:none;
    margin:0 auto;
    padding:0;
}
.taptap-by-bonfire-image > ul > li {
	width:100%;
	min-width:100px;
	height:100%;
}
/* image sub-menus wrapper (div added via jQuery) */
.taptap-image-sub-wrapper {
	position:relative;
	z-index:9;
	min-width:100px;
	height:160px;
	padding:0;
	margin:0;
}
.taptap-image-grid-item {
	position:relative;
    width:100%;
    max-height:340px;
    background-color:#333;
	overflow:auto;
	border-radius:7px;
}
.taptap-by-bonfire-image-active .taptap-image-grid-item {
	-webkit-box-shadow:0px 0px 30px 15px rgba(0,0,0,0.75);
	box-shadow:0px 0px 30px 15px rgba(0,0,0,0.75);
}
.taptap-image-grid-item > a {
	width:100%;
	height:160px;
	padding:14px 10px 0 15px !important;
	line-height:20px;

	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}
.taptap-by-bonfire-image > ul > li > ul {
    width:100%;
}
.taptap-image-grid-item > ul {
	padding-left:15px !important;
}
.taptap-image-grid-item > ul li {
	z-index:99999 !important;
	opacity:0;

	-webkit-transform:translateY(20px);
	transform:translateY(20px);

	-webkit-transition:all .75s ease;
	transition:all .75s ease;
}
.taptap-image-grid-item > ul > li:first-child {
	margin-top:-50px;
}
.taptap-image-grid-item > ul > li:last-child {
	padding-bottom:10px;
}
/* when image menu opened, give it z-index so it would appear on top of others (also used for gradient overlay animation) */
.taptap-by-bonfire-image-active {
	z-index:1 !important;
	opacity:1;
}
/* top-level gradient overlay */
.taptap-image-grid-item > ul::before {
	opacity:0;
	content:'';
	position:absolute;
	z-index:99999;
	top:-0px;
	left:0;
	width:100%;
	height:160px;
	display:block;
	pointer-events:none;

	-webkit-transition:all .35s ease;
	transition:all .35s ease;
	
	background:#333;
	background:linear-gradient(180deg, rgba(30,30,30,0) 25%, #333 100%, #333 100%);
}
.taptap-by-bonfire-image-active .taptap-image-grid-item > ul::before {
	opacity:1;
}
.taptap-by-bonfire-image-sub-active {
	opacity:1 !important;
	-webkit-transform:translateY(0) !important;
	transform:translateY(0) !important;
}
.taptap-main-wrapper-active .taptap-by-bonfire-image > ul > li {
	opacity:1;
	-webkit-transform:translateX(0);
	transform:translateX(0);
}
/* individual li animation speeds (up to 10) */
.taptap-main-wrapper-active .taptap-by-bonfire-image > ul > li:nth-child(1) {
	-webkit-transition:opacity .75s ease .1s, -webkit-transform .85s ease .1s;
	transition:opacity .75s ease .1s, transform .85s ease .1s;
}
.taptap-main-wrapper-active .taptap-by-bonfire-image > ul > li:nth-child(2) {
	-webkit-transition:opacity .75s ease .15s, -webkit-transform .85s ease .15s;
	transition:opacity .75s ease .15s, transform .85s ease .15s;
}
.taptap-main-wrapper-active .taptap-by-bonfire-image > ul > li:nth-child(3) {
	-webkit-transition:opacity .75s ease .2s, -webkit-transform .85s ease .2s;
	transition:opacity .75s ease .2s, transform .85s ease .2s;
}
.taptap-main-wrapper-active .taptap-by-bonfire-image > ul > li:nth-child(4) {
	-webkit-transition:opacity .75s ease .25s, -webkit-transform .85s ease .25s;
	transition:opacity .75s ease .25s, transform .85s ease .25s;
}
.taptap-main-wrapper-active .taptap-by-bonfire-image > ul > li:nth-child(5) {
	-webkit-transition:opacity .75s ease .3s, -webkit-transform .85s ease .3s;
	transition:opacity .75s ease .3s, transform .85s ease .3s;
}
.taptap-main-wrapper-active .taptap-by-bonfire-image > ul > li:nth-child(6) {
	-webkit-transition:opacity .75s ease .35s, -webkit-transform .85s ease .35s;
	transition:opacity .75s ease .35s, transform .85s ease .35s;
}
.taptap-main-wrapper-active .taptap-by-bonfire-image > ul > li:nth-child(7) {
	-webkit-transition:opacity .75s ease .4s, -webkit-transform .85s ease .4s;
	transition:opacity .75s ease .4s, transform .85s ease .4s;
}
.taptap-main-wrapper-active .taptap-by-bonfire-image > ul > li:nth-child(8) {
	-webkit-transition:opacity .75s ease .45s, -webkit-transform .85s ease .45s;
	transition:opacity .75s ease .45s, transform .85s ease .45s;
}
.taptap-main-wrapper-active .taptap-by-bonfire-image > ul > li:nth-child(9) {
	-webkit-transition:opacity .75s ease .5s, -webkit-transform .85s ease .5s;
	transition:opacity .75s ease .5s, transform .85s ease .5s;
}
.taptap-main-wrapper-active .taptap-by-bonfire-image > ul > li:nth-child(10) {
	-webkit-transition:opacity .75s ease .55s, -webkit-transform .85s ease .55s;
	transition:opacity .75s ease .55s, transform .85s ease .55s;
}
.taptap-image-grid-item > a {
	position:relative;
	z-index:0;
}
.taptap-image-grid-item > a:before {
	content:'';
	position:absolute;
	z-index:-1;
	top:0;
	left:0;
	width:100%;
	height:100%;
	border-radius:7px;
	
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
}


/* IMAGE SUBMENU
**************************************************/
.taptap-by-bonfire-image .sub-menu {
	display:none;
}
.taptap-image-submenu-active {
	display:inline !important;
}
.taptap-by-bonfire-image .sub-menu li {
	text-align:left;
}
.taptap-by-bonfire-image .sub-menu li a {
	color:#686C6F;
	font-size:16px;
    letter-spacing:0;
	margin:0;
	padding:11px 0;
	width:100%;
}
/* indent sub-menu items */
.taptap-by-bonfire-image ul.sub-menu ul li {
	padding-left:10px;
}


/* IMAGE ACCORDION SUBMENU ARROW
**************************************************/
/* top-level arrow */
.taptap-image-sub-arrow {
    position:absolute;
    top:0;
    right:8px;
    pointer-events:none;
	width:36px;
	height:36px;
    display:inline-block;
	margin:8px 0 0 13px;
	padding:0;
	border-radius:50%;
	background-color:#525BDE;
    
    /* no tap highlight */
    -webkit-tap-highlight-color:transparent;
}
.taptap-by-bonfire-image .taptap-image-sub-arrow-inner::before,
.taptap-by-bonfire-image .taptap-image-sub-arrow-inner::after {
	position:absolute;
    content:'';
    display:block;
    top:17px;
    width:14px;
	height:2px;
	border-radius:50px;
	background-color:#fff;
    
    -webkit-transition:all .5s ease;
	transition:all .5s ease;
}
.taptap-by-bonfire-image .taptap-image-sub-arrow-inner::before {
	left:11px;
    -webkit-transform:rotate(0deg);
	transform:rotate(0deg);
}
.taptap-by-bonfire-image .taptap-image-sub-arrow-inner::after {
    left:11px;
    -webkit-transform:rotate(90deg);
	transform:rotate(90deg);
}
.taptap-by-bonfire-image span.taptap-submenu-active span::before {
    -webkit-transform:rotate(225deg);
	transform:rotate(225deg);
}
.taptap-by-bonfire-image span.taptap-submenu-active span::after {
    -webkit-transform:rotate(135deg);
	transform:rotate(135deg);
}
/* sub-level arrow */
.taptap-by-bonfire-image .sub-menu .taptap-image-sub-arrow {
	top:-5px;
	width:32px;
	height:32px;

	border:2px solid transparent;
	background:#444;

	-webkit-transition:all .35s ease;
	transition:all .35s ease;
}
.taptap-by-bonfire-image .sub-menu span.taptap-submenu-active {
	border-color:#444;
	background:transparent;
}
.taptap-image-sub-arrow-inner {
    position:relative;
    display:block;
    top:0;
    right:0;
    width:40px;
    height:25px;
}
.sub-menu .taptap-image-sub-arrow-inner::before,
.sub-menu .taptap-image-sub-arrow-inner::after {
    position:absolute;
    content:'';
    display:block;
    top:15px;
    width:7px;
	height:2px;
	border-radius:50px;
    background-color:#ADADAC;
    
    -webkit-transition:all .35s ease;
	transition:all .35s ease;
}
.sub-menu .taptap-image-sub-arrow-inner::before {
    left:11px;
    -webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}
.sub-menu .taptap-image-sub-arrow-inner::after {
    left:15px;
    -webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
.taptap-by-bonfire-image .sub-menu span.taptap-submenu-active span::before {
    -webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
.taptap-by-bonfire-image .sub-menu span.taptap-submenu-active span::after {
    -webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}


/* IMAGE MENU ITEM DESCRIPTION
**************************************************/
.taptap-by-bonfire-image .taptap-menu-item-description {
	font-size:11px;
	line-height:11px;
	color:#60666B;
    letter-spacing:0;
    margin:2px 0 0 0;

    -webkit-transition:all .5s ease;
    transition:all .5s ease;
}
/* hide menu descriptions for drop-down items */
.taptap-by-bonfire-image li.menu-item-has-children > a .taptap-menu-item-description { display:none; }


/* GRID MENU (single-level)
**************************************************/
.taptap-by-bonfire-grid {
    margin:0 10px;
}
.taptap-by-bonfire-grid .taptap-menu-item-description {
    display:none;
}
.taptap-by-bonfire-grid ul {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(80px, max-content));
    grid-gap:5px;
    justify-content:center;
    margin:0;
}
.taptap-by-bonfire-grid li {
    position:relative;
    display:table;
    width:90px;
    height:90px;
    list-style-type:none;
    padding:0;
    margin:0;
}
.taptap-by-bonfire-grid li a {
    display:table-cell;
    width:100%;
    height:100%;
    text-align:center;
    vertical-align:middle;
    box-sizing:border-box;
    font-family:'Inter Tight',sans serif;
    font-weight:500;
    font-size:12px;
    line-height:12px;
    color:#EEEEF1;

    -webkit-transition:color .2s ease;
	transition:color .2s ease;
}
.taptap-by-bonfire-grid li:hover a {
    text-decoration:none;
}
.taptap-by-bonfire-grid li a i {
    display:block;
    color:#BEBEBE;
    font-size:25px;
    margin-bottom:8px;

    -webkit-transition:color .2s ease, -webkit-transform .5s cubic-bezier(.5, 1, 0.2, 1);
    transition:color .2s ease, transform .5s cubic-bezier(.5, 1, 0.2, 1);
}
.taptap-by-bonfire-grid li:hover i {
    color:#fff;

    -webkit-transform:translateY(-3px);
    transform:translateY(-3px);

    -webkit-transition:color .2s ease, -webkit-transform .3s cubic-bezier(.5, 1, 0.2, 2);
    transition:color .2s ease, transform .3s cubic-bezier(.5, 1, 0.2, 2);
}
/* grid menu current menu item */
.taptap-by-bonfire-grid ul li.current-menu-item > a {
    color:#bbb;
}
.taptap-by-bonfire-grid ul li.current-menu-item > a i {
    color:#fff;
}


/* MENU ITEM BADGE
**************************************************/
.taptap-menu-badge {
    position:absolute;
    content:'';
    top:0;
    right:0;

    font-family:'Inter Tight',sans serif;
    font-weight:600;
    font-size:8px;
    line-height:normal;

    padding:2px 3px;
    color:#fff;
    display:block;
    border-radius:1px;
    background-color:#FF8300;
}


/* MAIN WRAPPER
**************************************************/
.taptap-main-wrapper {
	position:fixed;
	z-index:99999;
	top:-1000%;
	left:0;
	width:100%;
	height:100%;
    overflow:hidden;
	opacity:0;
	
	/* prevent iOS scroll flicker */
	-webkit-transform:translate3d(0,0,0);
    transform:translate3d(0,0,0);
	/* smooth scroll on touch devices */
	-webkit-overflow-scrolling:touch;
	
	-webkit-transition:-webkit-transform .5s ease, top 0s ease .5s, opacity .5s ease 0s;
	transition:transform .5s ease, top 0s ease .5s, opacity .5s ease 0s;
}
.taptap-main-wrapper-active {
	top:0;
	opacity:1;
	
	-webkit-transition:-webkit-transform .5s ease, top 0s ease 0s, opacity .5s ease 0s;
	transition:transform .5s ease, top 0s ease 0s, opacity .5s ease 0s;
}
.taptap-main-inner {
	width:100%;
	height:100%;
    overflow-x:hidden;
	overflow-y:auto;
}
.taptap-main {
	padding:0;
	margin:0;
	display:table;
	width:100%;
	height:100%;
}
.taptap-main-inner-inner {
	display:table-cell;
	vertical-align:top;
	margin:0;
	padding:75px 25px;
}
/* if toolbar is showing */
.taptap-main-inner-inner-toolbar {
	padding-top:157px;
}
.taptap-contents-wrapper {
    margin:0 auto;
}


/* MENU BACKGROUND COLOR
**************************************************/
.taptap-background-color {
	position:fixed;
	z-index:99997;
	top:-1000%;
	left:0;
	width:100%;
	height:100%;
    height:100vh;
	background-color:#111112;
	
	/* prevent iOS scroll flicker */
	-webkit-transform:translate3d(0,0,0);
	
	/* smooth scroll on touch devices */
	-webkit-overflow-scrolling:touch;
	
	-webkit-transform:translateY(-100%);
	transform:translateY(-100%);
	
	-webkit-transition:-webkit-transform .5s ease, top 0s ease .5s;
	transition:transform .5s ease, top 0s ease .5s;
}
.taptap-background-color-active {
	top:0;

	-webkit-transform:translateY(0);
	transform:translateY(0);
	
	-webkit-transition:-webkit-transform .5s ease, top 0s ease 0s;
	transition:transform .5s ease, top 0s ease 0s;
    
    -webkit-box-shadow:0px 0px 5px 0px rgba(0,0,0,0.25);
	box-shadow:0px 0px 5px 0px rgba(0,0,0,0.25);
}


/* MENU BACKGROUND VIDEO
**************************************************/
.taptap-background-video {
	position:fixed;
	z-index:99998;
	top:-1000%;
	left:0;
	width:100%;
	height:100%;
    height:100vh;
	
	/* prevent iOS scroll flicker */
	-webkit-transform:translate3d(0,0,0);
	
	/* smooth scroll on touch devices */
	-webkit-overflow-scrolling:touch;
	
	-webkit-transform:translateY(-100%);
	transform:translateY(-100%);
	
	-webkit-transition:-webkit-transform .5s ease, top 0s ease .5s;
	transition:transform .5s ease, top 0s ease .5s;
}
.taptap-background-video video {
    position:absolute;
    z-index:0;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
}
.taptap-background-video-active {
	top:0;

	-webkit-transform:translateY(0);
	transform:translateY(0);
	
	-webkit-transition:-webkit-transform .5s ease, top 0s ease 0s;
	transition:transform .5s ease, top 0s ease 0s;
}


/* MENU BACKGROUND IMAGE
**************************************************/
.taptap-background-image {
	position:fixed;
	z-index:99999;
	top:-1000%;
	left:0;
	width:100%;
	height:100%;
    height:100vh;
	opacity:.1;
	
	/* prevent iOS scroll flicker */
	-webkit-transform:translate3d(0,0,0);
	
	/* smooth scroll on touch devices */
	-webkit-overflow-scrolling:touch;
	
	-webkit-transform:translateY(-100%);
	transform:translateY(-100%);
	
	background-size:cover;
	background-repeat:no-repeat;
	/* background-position set in taptap.php */
	
	-webkit-transition:-webkit-transform .5s ease, top 0s ease .5s;
	transition:transform .5s ease, top 0s ease .5s;
}
.taptap-background-image-active {
	top:0;
	
	-webkit-transform:translateY(0);
	transform:translateY(0);
	
	-webkit-transition:-webkit-transform .5s ease, top 0s ease 0s;
	transition:transform .5s ease, top 0s ease 0s;
}


/* BACKGROUND OVERLAY
**************************************************/
.taptap-background-overlay {
	position:fixed;
	z-index:99996;
	top:-1000%;
	left:0;
	width:100%;
	height:100%;
    height:100vh;
	background-color:#000;
    cursor:pointer;
    opacity:0;
	
	-webkit-transition:opacity .5s ease, top 0s ease .5s;
	transition:opacity .5s ease, top 0s ease .5s;

    /* no tap highlight */
    -webkit-tap-highlight-color:transparent;
}
.taptap-background-overlay-active {
	top:0;
    opacity:.5;
	
	-webkit-transition:opacity .5s ease, top 0s ease 0s;
	transition:opacity .5s ease, top 0s ease 0s;
}


/* WIDGETS
**************************************************/
.taptap-widgets-wrapper {
    position:relative;
    z-index:1;
    margin-top:30px;
}
.taptap-widgets-wrapper .widget {
    font-family:'Inter Tight',sans serif;
    font-weight:500;
	text-align:center;
	width:100%;
	margin:0;
	padding:0;
	font-size:12px;
    line-height:16px;
	color:#8C9093;
	letter-spacing:0;
}
.taptap-widgets-wrapper .widget a {
	color:#8C9093;
	text-decoration:none;
	border:none;
}
.taptap-widgets-wrapper .widget a:hover {
	text-decoration:none;
	border:none;
}
.taptap-widgets-wrapper .widget div,
.taptap-widgets-wrapper .widget span,
.taptap-widgets-wrapper .widget iframe,
.taptap-widgets-wrapper .widget object,
.taptap-widgets-wrapper .widget embed {
	margin-left:auto;
	margin-right:auto;
}
.taptap-widgets-wrapper .widget .widgettitle {
    font-size:12px;
    line-height:16px;
}
/* animate lower widgets distance from top when horizontal menu used */
.taptap-widgets-wrapper-below {
    -webkit-transition:all .5s ease;
    transition:all .5s ease;
}
/* bottom adjustments so bottom widgets appear at equal distance from horizontal menu */
.taptap-by-bonfire-horizontal ul.menu > li:last-of-type {
    margin-bottom:30px;
}
.taptap-by-bonfire-horizontal .sub-menu > li:last-of-type {
    margin-bottom:20px;
}


/* WIDGETS (in header)
**************************************************/
.taptap-header-widgets-wrapper {
    position:fixed;
    z-index:99996;
    top:15px;
    right:60px;
}


/* SMART SCROLL
**************************************************/
.taptap-smart-header-hide {
    top:calc(0px - 150px) !important;
}


/* MISC
**************************************************/
/* if absolute positioning active */
.taptap-absolute { position:absolute; }
/* when search active, apply 0 opacity to header + menu/woo/search buttons + logo */
.taptap-header-bg-image,
.taptap-header,
.taptap-menu-button-wrapper,
.taptap-woo-button-wrapper,
.taptap-search-button-wrapper,
.taptap-header-widgets-wrapper,
.taptap-logo-wrapper {
    -webkit-transition:opacity .25s ease, top .35s ease;
	transition:opacity .25s ease, top .35s ease;
}
.taptap-hide-header-elements {
    opacity:0 !important;
}


/* SCROLLBAR STYLING
**************************************************/
.scroll-wrapper {
	overflow:hidden !important;
	padding:0 !important;
	position:relative;
}
.scroll-wrapper > .scroll-content {
	border:none !important;
	box-sizing:content-box !important;
	height:auto;
	left:0;	
	margin:0;
	max-height:none !important;
	max-width:none !important;
	overflow:scroll !important;
	position:relative !important;
	top:0;
	width:auto !important;
}
.scroll-wrapper > .scroll-content::-webkit-scrollbar {
	height:0;
	width:0;
}
.scroll-element {
	display:none;
}
.scroll-element.scroll-x.scroll-scrollx_visible,
.scroll-element.scroll-y.scroll-scrolly_visible {
	display:block;
}
/* main menu background scrollbar */
.taptap-main-inner > .scroll-element,
.taptap-main-inner > .scroll-element div {
	border:none;
	margin:0;
	padding:0;
	position:absolute;
	z-index:9999999999;
}
.taptap-main-inner > .scroll-element div {
	display:block;
	height:100%;
	left:0;
	top:0;
	width:100%;
}
.taptap-main-inner > .scroll-element.scroll-x {
	bottom:0;
	height:8px;
	left:0;
	width:100%;

    /* hide horizontal styled scrollbar */
    display:none !important;
}
.taptap-main-inner > .scroll-element.scroll-y {
	max-height:100%;
	right:3px;
	top:3px;
    bottom:3px;
	width:5px;
}
.taptap-main-inner > .scroll-element .scroll-element_outer {
	overflow:hidden;
}
.taptap-main-inner > .scroll-element .scroll-bar { background-color:#5E6469; }
/* update scrollbar offset if both scrolls are visible */
.taptap-main-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { left:-12px; }
.taptap-main-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { top:-12px; }

.taptap-main-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { left: -12px; }
.taptap-main-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { top: -12px; }

/* image menu scrollbar */
.taptap-image-grid-item > .scroll-element,
.taptap-image-grid-item > .scroll-element div {
	border:none;
	margin:0;
	padding:0;
	position:absolute;
	z-index:9999999999;
}
.taptap-image-grid-item > .scroll-element div {
	display:block;
	height:100%;
	left:0;
	top:0;
	width:100%;
}
.taptap-image-grid-item > .scroll-element.scroll-x {
	bottom:0;
	height:8px;
	left:0;
	width:100%;
}
.taptap-image-grid-item > .scroll-element.scroll-y {
	max-height:100%;
	right:3px;
	top:3px;
    bottom:3px;
	width:5px;
}
.taptap-image-grid-item > .scroll-element .scroll-element_outer {
	overflow:hidden;
}
.taptap-image-grid-item > .scroll-element .scroll-bar { background-color:#5E6469; }
/* update scrollbar offset if both scrolls are visible */
.taptap-image-grid-item > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { left:-12px; }
.taptap-image-grid-item > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { top:-12px; }

.taptap-image-grid-item > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { left: -12px; }
.taptap-image-grid-item > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { top: -12px; }

/* WORDPRESS TOOLBAR (IF WORDPRESS TOOLBAR ACTIVE, PUSH HEADER ELEMENTS DOWN A BIT)
**************************************************/
.wp-toolbar-active { margin-top:32px; }
/* if WordPress amin bar active, keep it above everything else */
#wpadminbar { z-index:9999999999999999999999999999; }


/* MEDIA QUERIES
**************************************************/
/* for the thicker, mobile admin bar */
@media screen and (max-width: 782px) {
	.wp-toolbar-active { margin-top:46px; }
	#wpadminbar { position: fixed !important; }
}
/* image-based menu responsive options */
@media screen and (max-width:800px) {
    .taptap-by-bonfire-image > ul {
		grid-template-columns:repeat(2, 1fr);
	}
}
@media screen and (max-width:600px) {
    .taptap-by-bonfire-image > ul {
		grid-template-columns:none;
    }
    .taptap-image-sub-wrapper {
		height:100%;
	}
	.taptap-image-grid-item {
		position:relative !important;
		max-height:none;
	}
	.taptap-image-grid-item > a:after {
		position:absolute;
	}
	.taptap-image-grid-item > .scroll-element,
	.taptap-image-grid-item > .scroll-element div {
		display:none;
	}
}



.taptap-body-overflow {
    overflow-x:hidden;
}





/* CUSTOM WORK
**************************************************/
.taptap-by-bonfire .menu > li > a::before,
.taptap-by-bonfire .menu > li > a::after {
    display:none;
}
.taptap-by-bonfire .menu > li > a::after {
    display:inline;
    opacity:1;
    height:1px;
    bottom:-30px;
    background-image:none;
    background-color:#FF7E16;
}
.taptap-background-image {
    position:fixed;
}
.menu-background {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-size: cover;
    background-position: center;
    opacity:0;
    transition:opacity 0.4s ease-in-out;
    pointer-events:none;
    z-index:0;
}
.menu-background.active {
    opacity:1;
}
.menu-item-has-children {
    cursor: pointer;
    transition: background 0.3s;
}
/* hide default BG image after first hover */
.taptap-background-image {
    transition:background-image 0.3s ease, opacity 0.3s ease;
}
.taptap-background-image.bg-hidden {
    background-image: none !important;
}


/*
.taptap-by-bonfire,
.taptap-by-bonfire ul li,
.taptap-sub-arrow {
    outline:1px dashed #fff;
}
*/

.taptap-main-inner-inner {
    padding-left:10px;
    padding-right:10px;
}
.taptap-by-bonfire {
    max-width:625px;
}
.taptap-by-bonfire ul,
.taptap-by-bonfire ul li,
.taptap-by-bonfire ul li a {
    margin:0 !important;
    padding:15px 0 !important;
}
.taptap-by-bonfire ul {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:0;
    margin:0;
    list-style:none;
    text-align:left;
}
.taptap-by-bonfire ul li {
    display:block;
    width:fit-content;
    cursor:auto;
}
.taptap-by-bonfire ul li a {
    display:inline-block;
}
.taptap-by-bonfire .menu a {
    display:inline;
    font-size:40px;
    font-weight:600;
    line-height:100%;
}
.taptap-by-bonfire .sub-menu a {
    display:inline;
    font-size:30px;
    font-weight:600;
    line-height:100%;
}
.taptap-sub-arrow {
    position:relative;
    width:35px;
    height:30px;
    transform:scale(2) translateX(5px);
    transform-origin:center center;
}

@media screen and (max-width: 675px) {

    .taptap-by-bonfire {
        max-width:475px;
    }
    .taptap-by-bonfire ul,
    .taptap-by-bonfire ul li,
    .taptap-by-bonfire ul li a {
        padding:12px 0 !important;
    }
    .taptap-by-bonfire .menu a {
        font-size:30px;
    }
    .taptap-by-bonfire .sub-menu a {
        font-size:20px;
    }
    .taptap-sub-arrow {
        height:25px;
        transform:scale(1.5) translateX(0);
    }
      
}

@media screen and (max-width: 500px) {

    .taptap-by-bonfire {
        max-width:300px;
    }
    .taptap-by-bonfire ul,
    .taptap-by-bonfire ul li,
    .taptap-by-bonfire ul li a {
        padding:8px 0 !important;
    }
    .taptap-by-bonfire .menu a {
        font-size:18px;
    }
    .taptap-by-bonfire .sub-menu a {
        font-size:14px;
    }
    .taptap-sub-arrow {
        height:15px;
        transform:scale(1) translateX(-5px);
    }
    
}

@media (max-width:650px) {
    /* top-level */
    .taptap-by-bonfire .menu a {
        font-size:20px;
    }
    /* sub-level */
    .taptap-by-bonfire .sub-menu a {
        font-size:16px;
    }
}
