<?xml version="1.0" encoding="UTF-8"?>
<!--
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
<project xmlns="http://maven.apache.org/DECORATION/1.6.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/DECORATION/1.6.0 http://maven.apache.org/xsd/decoration-1.6.0.xsd"
  name="Apache OpenMeetings Project">

	<bannerLeft>
		<name>Apache OpenMeetings</name>
		<src>http://openmeetings.apache.org/images/logo.png</src>
		<href>http://openmeetings.apache.org/index.html</href>
	</bannerLeft>
	<bannerRight>
		<name>Apache</name>
		<src>http://apache.org/img/asf_logo.png</src>
		<href>http://apache.org</href>
	</bannerRight>

	<skin>
		<groupId>org.apache.maven.skins</groupId>
		<artifactId>maven-fluido-skin</artifactId>
		<version>1.5</version>
	</skin>
	
	<version position="none"/>
	
	<body>
		<head>
			<![CDATA[<script type="text/javascript" src="http://openmeetings.apache.org/js/site.js"></script>]]>
		</head>
		
		<links>
			<item name="Demo" href="http://openmeetings.apache.org/demo.html"/>
			<item name="Download" href="http://openmeetings.apache.org/downloads.html"/>
			<item name="Installation" href="http://openmeetings.apache.org/installation.html"/>
			<item name="Wiki" href="https://cwiki.apache.org/confluence/display/OPENMEETINGS"/>
		</links>
		<menu ref="modules" inherit="bottom"/>
	</body>
	
	<poweredBy></poweredBy>
	
	<custom>
		<fluidoSkin>
			<topBarEnabled>false</topBarEnabled>
			<sideBarEnabled>true</sideBarEnabled>
		</fluidoSkin>
	</custom>
</project>
