/*** ESSENTIAL STYLES ***/
.sf-menu,
.sf-menu * {
	margin: 0;
	padding: 0;
	list-style: none;
}

	.sf-menu li {
		position: relative;
	}

	.sf-menu ul {
		position: absolute;
		display: none;
		top: 100%;
		left: 0;
		z-index: 99;
	}

	.sf-menu > li {
		float: left;
	}

	.sf-menu ul ul {
		top: 0;
		left: 100%;
	}

/*** DEMO SKIN ***/
.sf-menu {
	float: left;
	position: relative;
}

	.sf-menu ul {
		box-shadow: 2px 2px 10px 2px rgba(0, 0, 0, 0.5);
		min-width: 12em;
		max-width: 18em;
		white-space: normal;
		width: max-content;
	}

	.sf-menu a {
		padding: 0.75em 1em;
		text-decoration: none;
		zoom: 1;
		transition: background-color 0.2s, color 0.2s;
		color: var(--cor-fonte-icon-menu);
		font-size: 1em;
		display: block;
		position: relative;
		font-family: var(--fonte-link);
		font-weight: var(--peso-link);
	}

	.sf-menu li {
		white-space: normal;
		*white-space: normal;
	}

		.sf-menu li:hover,
		.sf-menu li.sfHover {
			-webkit-transition: none;
			transition: none;
			background-color: var(--cor-hover-interno-menu);
		}

/*** arrows (for all except IE7) ***/
.sf-arrows .sf-with-ul {
	padding-right: 2.5em;
	*padding-right: 1em;
}

	.sf-arrows .sf-with-ul:after {
		content: '';
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 1em;
		height: 0;
		width: 0;
		border: 5px solid transparent;
		border-top-color: rgba(255, 255, 255, 0.5);
	}

.sf-arrows > li > .sf-with-ul:focus:after,
.sf-arrows > li:hover > .sf-with-ul:after,
.sf-arrows > .sfHover > .sf-with-ul:after {
	border-top-color: white;
}

.sf-arrows ul .sf-with-ul:after {
	margin-top: -5px;
	margin-right: -3px;
	border-color: transparent;
	border-left-color: rgba(255, 255, 255, 0.5);
}

.sf-arrows ul li > .sf-with-ul:focus:after,
.sf-arrows ul li:hover > .sf-with-ul:after,
.sf-arrows ul .sfHover > .sf-with-ul:after {
	border-left-color: white;
}

/* ======================================================== */
/* ========= NOVAS REGRAS PARA O EFEITO DE DESTAQUE ========= */
/* ======================================================== */

.sf-menu > li:hover > a,
.sf-menu > li.sfHover > a {
	background-color: var(--cor-hover-interno-menu);
	color: var(--cor-fonte-icon-menu-hover);
}

ul.sf-submenu li.sfHover > a,
ul.sf-submenu li:hover > a {
	color: var(--cor-fonte-icon-menu-hover);
}

/* Seta para baixo dos itens principais */
.sf-arrows > li:hover > .sf-with-ul:after,
.sf-arrows > .sfHover > .sf-with-ul:after {
	border-top-color: #fff;
}

/* Seta para a direita dos itens de submenu */
.sf-arrows ul li:hover > .sf-with-ul:after,
.sf-arrows ul .sfHover > .sf-with-ul:after {
	border-left-color: #fff;
}

a.sf-submenu-link {
}

li.sf-menu-item.col-gov-bar-navigation-header a.sf-top-link {
	border-top: 1px solid #dfeeff;
	border-top: 1px solid rgba(255, 255, 255, 0.5);
}

li a.sf-submenu-link {
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

ul.sf-submenu > li:last-child > a.sf-submenu-link {
	border-bottom: none;
}

ul.sf-submenu > li.sf-menu-item.col-gov-bar-navigation-header {
	padding-left: 1em;
	padding-right: 1em;
}

	ul.sf-submenu > li.sf-menu-item.col-gov-bar-navigation-header:last-child {
		border-bottom: none;
	}

/* Estilo base dos links do submenu */
li a.sf-submenu-link {
	color: var(--cor-fonte-icon-menu);
	text-decoration: none;
	display: block;
	padding: 0.5em 0;
	text-transform: none;
}

.sf-menu > li > a.sf-top-link {
	font-weight: 500;
}

/* cada item no mesmo nível */
.sf-menu > li {
	position: relative;
	z-index: 1;
}

	/* quando o item está com submenu aberto, ele e os filhos sobem na pilha */
	.sf-menu > li.sfHover {
		z-index: 10000;
	}

		.sf-menu > li.sfHover > ul {
			z-index: 10001;
		}




@media (min-width: 992px) {

	/* ----------------------------------------
       SETAS
       ---------------------------------------- */
	#layout-header .sf-menu li.has-submenu > a {
		position: relative;
	}

	#layout-header .sf-menu li.sf-item-inline-parent > a.sf-submenu-link {
		padding-right: 2rem !important;
		overflow: visible !important;
	}

	#layout-header .sf-menu li.sf-item-inline-parent,
	#layout-header .sf-menu li.sf-item-inline-parent > a,
	#layout-header .sf-menu li.sf-item-inline-parent > a svg.menu-depth-indicator,
	#layout-header .sf-menu li.sf-item-inline-parent > a .menu-depth-indicator {
		overflow: visible !important;
	}

	#layout-header .sf-menu li.has-submenu > a svg.menu-depth-indicator,
	#layout-header .sf-menu li.has-submenu > a .menu-depth-indicator {
		position: absolute;
		right: 0.55rem;
		top: 50%;
		width: 0.75em;
		height: 0.75em;
		transform: translateY(-50%);
		transform-origin: center center;
		transition: transform 0.2s ease;
		pointer-events: none;
		opacity: 0.9;
	}

		#layout-header .sf-menu li.has-submenu > a .menu-depth-indicator.is-flyout-indicator,
		#layout-header .sf-menu li.has-submenu > a svg.menu-depth-indicator.is-flyout-indicator {
			transform: translateY(-50%) rotate(0deg) !important;
		}

	#layout-header .sf-menu li.sf-item-inline-parent > a .menu-depth-indicator.is-inline-indicator,
	#layout-header .sf-menu li.sf-item-inline-parent > a svg.menu-depth-indicator.is-inline-indicator {
		transform: translateY(-50%) rotate(90deg) !important;
	}

	#layout-header .sf-menu li.sf-item-inline-parent.sfHover > a .menu-depth-indicator.is-inline-indicator,
	#layout-header .sf-menu li.sf-item-inline-parent.sfHover > a svg.menu-depth-indicator.is-inline-indicator {
		transform: translateY(-50%) rotate(90deg) !important;
	}

	/* ----------------------------------------
       SUBMENU INLINE
       ---------------------------------------- */
	#layout-header .sf-menu li.sf-item-inline-parent {
		position: relative;
	}

		#layout-header .sf-menu li.sf-item-inline-parent > ul.sf-submenu.sf-submenu--inline,
		#layout-header .sf-menu ul.sf-submenu.sf-submenu--inline ul.sf-submenu.sf-submenu--inline {
			position: static !important;
			top: auto !important;
			left: auto !important;
			right: auto !important;
			z-index: auto !important;
			display: none;
			float: none;
			min-width: 100%;
			max-width: none;
			width: 100%;			
			padding: 0;
			box-shadow: none !important;
			white-space: normal;
			background: var(--cor-barra-menu) !important;
			border: none;
		}

		#layout-header .sf-menu li.sf-item-inline-parent.sfHover > ul.sf-submenu.sf-submenu--inline,
		#layout-header .sf-menu ul.sf-submenu.sf-submenu--inline li.sfHover > ul.sf-submenu.sf-submenu--inline {
			display: block;
		}

		/* neutraliza o hover global do li dentro do inline */
		#layout-header .sf-menu li.sf-item-inline-parent,
		#layout-header .sf-menu li.sf-item-inline-parent:hover,
		#layout-header .sf-menu li.sf-item-inline-parent.sfHover,
		#layout-header .sf-menu ul.sf-submenu.sf-submenu--inline > li.sf-menu-item.col-gov-bar-navigation-header,
		#layout-header .sf-menu ul.sf-submenu.sf-submenu--inline > li.sf-menu-item.col-gov-bar-navigation-header:hover,
		#layout-header .sf-menu ul.sf-submenu.sf-submenu--inline > li.sf-menu-item.col-gov-bar-navigation-header.sfHover {
			background-color: var(--cor-barra-menu) !important;
		}

	/* cada item dentro do submenu inline */
	#layout-header .sf-menu ul.sf-submenu.sf-submenu--inline > li.sf-menu-item.col-gov-bar-navigation-header {
		float: none;
		display: block;
		width: 100%;
		box-sizing: border-box;
		white-space: normal;
		position: relative;
		margin: 0;
		padding-left: 14px !important;
		padding-right: 0 !important;
		background-color: var(--cor-barra-menu) !important;
	}

		/* linha vertical de hierarquia */
		#layout-header .sf-menu ul.sf-submenu.sf-submenu--inline > li.sf-menu-item.col-gov-bar-navigation-header::before {
			content: "";
			position: absolute;
			left: 0;
			top: 2px;
			bottom: 2px;
			width: 1px;
			background: rgba(255, 255, 255, 0.20);
		}

	/* links internos */
	#layout-header .sf-menu ul.sf-submenu.sf-submenu--inline > li > a.sf-submenu-link {
		position: relative;
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 8px 2rem 8px 0;
		border: none !important;
		white-space: normal;
		text-decoration: none !important;
		background-color: transparent !important;
		box-shadow: none !important;
		color: var(--cor-fonte-icon-menu);
		overflow: visible !important;
	}

		/* linha inferior com respiro à direita */
		#layout-header .sf-menu ul.sf-submenu.sf-submenu--inline > li > a.sf-submenu-link::after {
			content: "";
			position: absolute;
			left: 0;
			right: 1em;
			bottom: 0;
			height: 1px;
			background: rgba(255, 255, 255, 0.5);
		}

	#layout-header .sf-menu ul.sf-submenu.sf-submenu--inline > li:last-child > a.sf-submenu-link::after {
		display: none;
	}

	/* hover/ativo: só o link recebe destaque */
	#layout-header .sf-menu li.sf-item-inline-parent.sfHover > a.sf-submenu-link,
	#layout-header .sf-menu ul.sf-submenu.sf-submenu--inline > li > a.sf-submenu-link:hover,
	#layout-header .sf-menu ul.sf-submenu.sf-submenu--inline > li.sfHover > a.sf-submenu-link {		
		color: var(--cor-fonte-icon-menu-hover) !important;
		text-decoration: none !important;
	}

	/* fundo base do painel */
	#layout-header .sf-menu ul.sf-submenu.sf-submenu--inline,
	#layout-header .sf-menu ul.sf-submenu.sf-submenu--inline li {
		background-color: var(--cor-barra-menu) !important;
	}

		#layout-header .sf-menu ul.sf-submenu.sf-submenu--inline a {
			background-color: transparent !important;
		}
}