/**
 * Règles d'affichage du bandeau image supérieur
 */
#header {
	width: 100%;
	height: 140px;
	background: black url(../images/menu/background_header.png) no-repeat top right;
	margin-bottom: 48px;
}

#portalLink,
#headerLeft,
#headerRight {
	position: absolute;
	height: 140px;
}

#portalLink {
	display: block;
	left: 0px;
	width: 70px;
	background: url('../images/menu/head.jpg') 0px 0px;
}

#portalLink:hover {
	background-position: -70px 0px;
}

#headerLeft {
	left: 70px;
	width: 680px;
	background: url('../images/menu/head.jpg') -140px 0px;
}

#headerRight {
	right: 0px;
}

/**
 * Règles d'affichage de la barre de navigation supérieure
 */

.topNav>* {
	position: absolute;
}

.topNav .news,
.topNav .missive,
.topNav .defis {
	top: 4px;
}

.topNav .news {
	left: 72px;
}

.topNav .missive {
	left: 118px;
	display: block;
	width: 36px;
	height: 36px;
}

.topNav .defis {
	left: 166px;
}

.topNav .nom {
	left: 78px;
	top: 48px;
	font: normal normal bold 130% serif;
	width: 115px;
	overflow: hidden;
	white-space: nowrap;
	text-align: center;
}

.topNav #joueurPo,
.topNav #joueurPR {
	left: 78px;
	top: 72px;
	width: 115px;
	overflow: hidden;
	text-align: right;
}

.topNav #joueurPR {
	top: 86px;
}

.topNav a.deco {
	left: 79px;
	top: 108px;
	width: 115px;
	text-align: center;
}

.topNav select.deco {
	left: 71px;
	top: 106px;
	width: 130px;
}

/**
 * Règles d'affichage du menu
 */

.menu * {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
	position: relative;
}

.menu {
	width: 100%;
	background: url(../images/menu/background.gif) repeat-x;
	height: 48px;
	position: absolute;
	top: 132px;
	box-sizing: border-box;
	/* Embossed ridge border — connects with corner studs */
	border-top: 3px ridge #9E9880;
	border-bottom: 3px ridge #9E9880;
}

.menu ul {
	width: 100%;
}

.menu>ul>li {
	width: auto;
	padding: 0;
	min-height: 42px;
	float: left;
	z-index: 20;
	position: relative;
	/* Make background transparent so menu background shows through */
	background: transparent;
}

.menu ul li.floatRight {
	float: right;
}

.menu>ul>li>ul {
	min-width: 100%;
	width: auto;
	display: none;
	position: absolute;
	left: 0;
	top: 0;
}

.menu>ul>li:hover>ul {
	display: inherit;
}

.menu a {
	display: block;
	line-height: 42px;
	background: transparent;
}

.menu a:hover {
	text-decoration: none;
}

/* Decorative borders and help button — reset padding, keep fixed widths */
.menu .leftBorderSquare,
.menu .rightBorderSquare,
#aideBouton {
	padding: 0;
}

.menu .leftBorderSquare {
	width: 44px;
	height: 42px;
	background: url(../images/menu/left-side-starting.svg) center/contain no-repeat;
}

.menu .leftBorderSquare.floatRight {
	background: url(../images/menu/right-side-starting.svg) center/contain no-repeat;
}

.menu .rightBorderSquare {
	width: 44px;
	height: 42px;
	background: url(../images/menu/left-side-ending.svg) center/contain no-repeat;
}

.menu .rightBorderSquare.floatRight {
	background: url(../images/menu/right-side-end.svg) center/contain no-repeat;
}

#aideBouton {
	width: 48px;
	height: 42px;
	background: url(../images/menu/gray-question-mark.svg) center/contain no-repeat;
}

#aideBouton:hover {
	background: url(../images/menu/red-question-mark.svg) center/contain no-repeat;
}

.on#aideBouton,
.on#aideBouton:hover {
	background: url(../images/menu/red-question-mark.svg) center/contain no-repeat;
}

/* Carved groove divider between menu items — short, centered */
.menu>ul>li[id^="menu"]:not(.floatRight) + li[id^="menu"]:not(.floatRight)::before {
	content: '';
	position: absolute;
	left: 0;
	top: 10px;
	bottom: 10px;
	width: 1px;
	background: rgba(0, 0, 0, 0.18);
	box-shadow: 1px 0 0 rgba(255, 255, 255, 0.18);
}

/**
 * Text-based menu styling
 */
.menu>ul>li>a {
	color: #3B3121;
	padding: 0 45px;
	font-family: serif;
	font-size: 115%;
	font-weight: 900;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	/* Add text shadow for depth - mimics engraved/embossed effect */
	text-shadow:
		0 1px 0 rgba(255, 255, 255, 0.5),
		0 2px 1px rgba(255, 255, 255, 0.3),
		0 -1px 1px rgba(0, 0, 0, 0.4),
		1px 0 1px rgba(0, 0, 0, 0.2);
	/* Smooth font rendering */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.menu>ul>li:hover>a,
.menu>ul>li.on>a {
	color: #1A1008;
	/* Stronger shadow on hover for more depth */
	text-shadow:
		0 1px 0 rgba(255, 255, 255, 0.6),
		0 2px 2px rgba(255, 255, 255, 0.4),
		0 -1px 1px rgba(0, 0, 0, 0.5),
		1px 0 1px rgba(0, 0, 0, 0.3);
}

/* Sub-menu dropdown container */
.menu>ul>li>ul {
	border-radius: 0 0 4px 4px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
	overflow: hidden;
	z-index: 30;
}

/* Sub-menu dropdown items */
.menu>ul>li>ul>li {
	background: #C8BF9A;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.menu>ul>li>ul>li:last-child {
	border-bottom: none;
}

/* First item replaces the main menu label at bar height */
.menu>ul>li>ul>li:first-child {
	background: #B8AF8A;
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.menu>ul>li>ul>li:first-child>a {
	line-height: 42px;
	font-size: 115%;
	font-weight: 700;
	font-family: serif;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	text-align: left;
	padding-left: 20px;
	padding-right: 20px;
	white-space: nowrap;
	color: #3B3121;
	text-shadow:
		0 1px 0 rgba(255, 255, 255, 0.5),
		0 -1px 1px rgba(0, 0, 0, 0.3);
}

/* Remaining dropdown items */
.menu>ul>li>ul>li>a {
	color: #5C5948;
	text-align: left;
	font-size: 150%;
	font-family: serif;
	font-weight: 400;
	padding-left: 20px;
	padding-right: 20px;
	text-transform: none;
	letter-spacing: 0;
	line-height: 35px;
	white-space: nowrap;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4), 0 -1px 0 rgba(0, 0, 0, 0.1);
}

.menu>ul>li>ul>li:hover {
	background: #B8AF8A;
	background: linear-gradient(to bottom, #B8AF8A 0%, #AEA580 100%);
}

.menu>ul>li>ul>li:first-child:hover {
	background: #AEA580;
	background: linear-gradient(to bottom, #B0A782 0%, #A8A07A 100%);
}

.menu>ul>li>ul>li>a:hover {
	color: #3B3121;
}

/* Language switcher — text-based, same style as other menus */
#menu5>a.lang-btn {
	display: block;
	line-height: 42px;
	text-indent: 0;
	text-transform: uppercase;
}
