
/*** ESSENTIAL STYLES ***/
.sf-menu, .sf-menu * {
	margin:			0;
	padding:		0;
	list-style:		none;
}
.sf-menu {
	line-height:	1.0;
}
.sf-menu ul {
	position:		absolute;
	top:			-999em;
	width:			10em; /* left offset of submenus need to match (see below) */
}
.sf-menu ul li {
	width:			100%;
}
.sf-menu li:hover {
	visibility:		inherit; /* fixes IE7 'sticky bug' */
}
.sf-menu li {
	float:			left;
	position:		relative;
}
.sf-menu a {
	display:		block;
	position:		relative;
}

/*** arrows **/
.sf-menu a.sf-with-ul {
	/*padding-right: 	2.25em;
	min-width:		1px; 
    */
    /* trigger IE7 hasLayout so spans position accurately */
}
.sf-sub-indicator {
	position:		absolute;
	display:		block;
	right:			.75em;
	top:			1.05em; /* IE6 only */
	width:			10px;
	height:			10px;
	text-indent: 	-999em;
	overflow:		hidden;
	background:		url('../images/arrows-ffffff.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
}
a > .sf-sub-indicator {  /* give all except IE6 the correct values */
	top:			.8em;
	background-position: 0 -100px; /* use translucent arrow for modern browsers*/
}
/* apply hovers to modern browsers */
a:focus > .sf-sub-indicator,
a:hover > .sf-sub-indicator,
a:active > .sf-sub-indicator,
li:hover > a > .sf-sub-indicator,
li.sfHover > a > .sf-sub-indicator {
	background-position: -10px -100px; /* arrow hovers for modern browsers*/
}

/* point right for anchors in subs */
.sf-menu ul .sf-sub-indicator { background-position:  -10px 0; }
.sf-menu ul a > .sf-sub-indicator { background-position:  0 0; }
/* apply hovers to modern browsers */
.sf-menu ul a:focus > .sf-sub-indicator,
.sf-menu ul a:hover > .sf-sub-indicator,
.sf-menu ul a:active > .sf-sub-indicator,
.sf-menu ul li:hover > a > .sf-sub-indicator,
.sf-menu ul li.sfHover > a > .sf-sub-indicator {
	background-position: -10px 0; /* arrow hovers for modern browsers*/
}

/*** shadows for all but IE6 ***/
.sf-shadow ul {
	background:	url('../images/shadow.png') no-repeat bottom right;
	padding: 0 8px 9px 0;
	-moz-border-radius-bottomleft: 17px;
	-moz-border-radius-topright: 17px;
	-webkit-border-top-right-radius: 17px;
	-webkit-border-bottom-left-radius: 17px;
}
.sf-shadow ul.sf-shadow-off {
	background: transparent;
}

.sf-menu > li {
	height: 100%;
}
.sf-menu > li > a, .sf-menu > li > a:visited {
    display: flex;
	height: 100%;
    color: var(--cColour);
    font-family: var(--fAlt);
	font-size: 15px;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 15px;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
	box-sizing: border-box;
	position: relative;
    margin: 0px;
    padding: 6px 30px;
    background: none;
    border: none;
	background-image:linear-gradient(to top,#6e6e6e 1px,transparent 0);
    background-position:0-2px;
    transition: background-size .8s  cubic-bezier(.33,.02,0,.93);
    background-repeat:no-repeat;
    background-size: 0 100%;
	background-position-x: 30px;
	background-position-y: -30px;
    box-shadow: none;
    text-decoration: none;
}
.sf-menu > li > a:before {
	/*content: '';*/
	display: block;
	width: 0px;
	height: 1px;
	position: absolute;
	bottom: 26px;
    left: 30px;
	background-color: var(--cColour);
	/*-webkit-transition: var(--tQuick);
	transition: var(--tQuick);*/
}
.sf-menu > li.selected > a:before, .sf-menu > li:hover > a:before {
	/*width: 40px;*/
}
.sf-menu > li > a:hover {
	background-size: 100% 100%;
    background-position-x: 30px;
	background-position-y: -30px;
}
#header.iheader .sf-menu > li > a, .sf-menu > li > a:visited  {
	background-image:linear-gradient(to top,#fff 1px,transparent 0);
}

.sticky .sf-menu > li.selected > a, .sticky .sf-menu > li:hover > a, .subpages .sf-menu > li.selected > a, .subpages .sf-menu > li:hover > a {
}
.sticky.header .sf-menu > li > a {
	background-image:linear-gradient(to top,#6e6e6e 1px,transparent 0);
    background-position:0-2px;
    transition: background-size .8s  cubic-bezier(.33,.02,0,.93);
    background-repeat:no-repeat;
    background-size: 0 100%;
	background-position-x: 30px;
	background-position-y: -20px;
    box-shadow: none;
    text-decoration: none;
}
.sticky.header .sf-menu > li > a:hover, .sticky.header .sf-menu > li > a:visited {
	background-size: 100% 100%;
    background-position-x: 30px;
	background-position-y: -20px;
}


.sf-menu li ul {
    width: auto;
    min-width: 280px;
    top: var(--hHeader);
	margin: 0px;
	padding: 24px 0px;
    background: var(--cBack);
    border: none;
	box-shadow: var(--sGeneric);
	z-index: 100;
}
.sticky .sf-menu li ul {
	top: var(--hSticky);
}
.sf-menu li ul li {
    width: 100%;
    height: auto;
	margin: 0px;
	padding: 0px;
}
.sf-menu li ul li a {
	color: #000 !important;
	font-family: var(--fAlt);
	font-size: 16px;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1.6em;
	text-align: left;
	text-decoration: none !important;
	text-transform: uppercase;
	box-sizing: border-box;
	margin: 0px;
	padding: 6px 30px;
	border-bottom: 0px solid var(--cLight);
}
.sf-menu li ul li.selected a, .sf-menu li ul li a:hover {
	color: var(--cColour);
}