diff --git a/src/main/java/org/olat/_spring/extensionContext.xml b/src/main/java/org/olat/_spring/extensionContext.xml
index 90c43d7bff59150569ea0f46eb9486357c37f349..3597db88e10ccc45172dc7709ac8bf52b02f8ba8 100644
--- a/src/main/java/org/olat/_spring/extensionContext.xml
+++ b/src/main/java/org/olat/_spring/extensionContext.xml
@@ -419,7 +419,7 @@
 			</list>
 		</property>
 		<property name="parentTreeNodeIdentifier" value="sysconfigParent" /> 
-	</bean>			
+	</bean>
 	<!--  the spring-extensions ("Software Module") menu-entry -->
 	<bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints">
 			<property name="order" value="7207" />
diff --git a/src/main/java/org/olat/admin/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/admin/_i18n/LocalStrings_de.properties
index 2b20323652112197331a395a9d5d271bf678559d..d69dd5b9bc6f3732eec3e77bb2ad50fb2a0674ea 100644
--- a/src/main/java/org/olat/admin/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/admin/_i18n/LocalStrings_de.properties
@@ -58,6 +58,8 @@ menu.errors=Errors
 menu.errors.alt=Errors and log level
 menu.hibernate=Database ORM
 menu.hibernate.alt=Database ORM / Hibernate
+menu.landingpages=Startseite
+menu.landingpages.alt=Startseite
 menu.layout=Darstellung
 menu.layout.alt=Darstellung systemweit \u00E4ndern
 menu.lock=Locks
diff --git a/src/main/java/org/olat/admin/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/admin/_i18n/LocalStrings_en.properties
index 35086f1af7288ddd00808e8d00dc4726778ba905..e86751bf48735d3365eb322ea3c7debe914afaae 100644
--- a/src/main/java/org/olat/admin/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/admin/_i18n/LocalStrings_en.properties
@@ -58,6 +58,8 @@ menu.javavm=Java VM Infos
 menu.javavm.alt=Java Virtual Machine informations
 menu.jmx=JMX
 menu.jmx.alt=View JMX values
+menu.landingpages=Landing pages
+menu.landingpages.alt=Landing pages
 menu.layout=Layout
 menu.layout.alt=Modify layout within the entire system
 menu.lock=Locks
diff --git a/src/main/java/org/olat/admin/_spring/adminContext.xml b/src/main/java/org/olat/admin/_spring/adminContext.xml
index 75ec4a3b3a78a9f8aca4c0b43bdf228a683732c8..1607a13e598e1a7fa5957c76144664b38c18a125 100644
--- a/src/main/java/org/olat/admin/_spring/adminContext.xml
+++ b/src/main/java/org/olat/admin/_spring/adminContext.xml
@@ -9,6 +9,7 @@
 	<import resource="classpath:/org/olat/admin/registration/_spring/registrationContext.xml"/>
 	<import resource="classpath:/org/olat/admin/sysinfo/_spring/sysinfoContext.xml"/>
 	<import resource="classpath:/org/olat/admin/user/delete/service/_spring/deletionContext.xml"/>
+	<import resource="classpath:/org/olat/admin/landingpages/_spring/landingPagesContext.xml"/>
 
 	<bean id="adminModule" class="org.olat.admin.AdminModule">
 		<constructor-arg index="0" ref="propertyManager" />
@@ -56,5 +57,8 @@
 			</list>
 		</property>
 	</bean>
+	
+	
+	
 
 </beans>
\ No newline at end of file
diff --git a/src/main/java/org/olat/admin/landingpages/LandingPagesModule.java b/src/main/java/org/olat/admin/landingpages/LandingPagesModule.java
new file mode 100644
index 0000000000000000000000000000000000000000..06e851df1dbc8122ba8da69c399ef21597c125ea
--- /dev/null
+++ b/src/main/java/org/olat/admin/landingpages/LandingPagesModule.java
@@ -0,0 +1,84 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.admin.landingpages;
+
+import java.util.ArrayList;
+
+import org.olat.admin.landingpages.model.Rule;
+import org.olat.admin.landingpages.model.Rules;
+import org.olat.core.configuration.AbstractOLATModule;
+import org.olat.core.configuration.PersistedProperties;
+import org.olat.core.util.StringHelper;
+import org.olat.core.util.xml.XStreamHelper;
+
+import com.thoughtworks.xstream.XStream;
+
+/**
+ * 
+ * Initial date: 15.05.2014<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class LandingPagesModule extends AbstractOLATModule {
+	private static final String CONFIG_RULES = "rules";
+	private static final XStream rulesXStream;
+	static {
+		rulesXStream = XStreamHelper.createXStreamInstance();
+		rulesXStream.alias("rules", Rules.class);
+		rulesXStream.alias("rule", Rule.class);
+	}
+	
+	private Rules rules;
+
+	@Override
+	public void init() {
+		String rulesObj = getStringPropertyValue(CONFIG_RULES, true);
+		if(StringHelper.containsNonWhitespace(rulesObj)) {
+			rules = (Rules)rulesXStream.fromXML(rulesObj);
+		} else {
+			rules = new Rules();
+			rules.setRules(new ArrayList<Rule>(1));
+		}
+	}
+	
+	@Override
+	protected void initDefaultProperties() {
+		//
+	}
+
+	@Override
+	protected void initFromChangedProperties() {
+		init();
+	}
+
+	@Override
+	public void setPersistedProperties(PersistedProperties persistedProperties) {
+		this.moduleConfigProperties = persistedProperties;
+	}
+	
+	public Rules getRules() {
+		return rules;
+	}
+
+	public void setRules(Rules rules) {
+		String value = rulesXStream.toXML(rules);
+		setStringProperty(CONFIG_RULES, value, true);
+	}
+}
diff --git a/src/main/java/org/olat/admin/landingpages/_spring/landingPagesContext.xml b/src/main/java/org/olat/admin/landingpages/_spring/landingPagesContext.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fd23357dac3d1a9f14cedb3514e6ca91616647aa
--- /dev/null
+++ b/src/main/java/org/olat/admin/landingpages/_spring/landingPagesContext.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="
+  http://www.springframework.org/schema/beans 
+  http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+	<bean id="landingPagesModule" class="org.olat.admin.landingpages.LandingPagesModule" 
+		init-method="init" depends-on="coordinatorManager">
+		<property name="persistedProperties">
+			<bean class="org.olat.core.configuration.PersistedProperties" scope="prototype" init-method="init" destroy-method="destroy">
+				<constructor-arg index="0" ref="coordinatorManager"/>
+				<constructor-arg index="1" ref="landingPagesModule"/>
+			</bean>
+		</property>
+	</bean>
+	
+	<bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints">
+		<property name="order" value="7206" />
+		<property name="navigationKey" value="restapi" />
+		<property name="actionController">	
+			<bean class="org.olat.core.gui.control.creator.AutoCreator" scope="prototype">
+				<property name="className" value="org.olat.admin.landingpages.ui.LandingPagesAdminController"/>
+			</bean>
+		</property>
+		<property name="i18nActionKey" value="menu.landingpages"/>
+		<property name="i18nDescriptionKey" value="menu.landingpages.alt"/>
+		<property name="translationPackage" value="org.olat.admin"/>
+		<property name="extensionPoints">
+			<list>	
+				<value>org.olat.admin.SystemAdminMainController</value>		
+			</list>
+		</property>
+		<property name="parentTreeNodeIdentifier" value="sysconfigParent" /> 
+	</bean>	
+             
+</beans>
\ No newline at end of file
diff --git a/src/main/java/org/olat/admin/landingpages/model/Rule.java b/src/main/java/org/olat/admin/landingpages/model/Rule.java
new file mode 100644
index 0000000000000000000000000000000000000000..e12ccbe1c8c30bc4dba8060ecd7826f819d27889
--- /dev/null
+++ b/src/main/java/org/olat/admin/landingpages/model/Rule.java
@@ -0,0 +1,111 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.admin.landingpages.model;
+
+import org.olat.core.gui.UserRequest;
+import org.olat.core.id.Roles;
+import org.olat.core.id.User;
+import org.olat.core.util.StringHelper;
+
+/**
+ * 
+ * Initial date: 15.05.2014<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class Rule {
+	
+	public static final String AUTHOR = "author";
+	public static final String USER_MGR = "userManager";
+	public static final String GROUP_MGR = "groupManager";
+	public static final String RSRC_MGR = "institutionalResourceManager";
+	public static final String POOL_MGR = "poolAdmin";
+	public static final String ADMIN = "olatAdmin";
+	
+	private String role;
+	private String userAttributeKey;
+	private String userAttributeValue;
+	private String landingPath;
+	
+	public String getRole() {
+		return role;
+	}
+	
+	public void setRole(String role) {
+		this.role = role;
+	}
+	
+	public String getUserAttributeKey() {
+		return userAttributeKey;
+	}
+	
+	public void setUserAttributeKey(String userAttributeKey) {
+		this.userAttributeKey = userAttributeKey;
+	}
+	
+	public String getUserAttributeValue() {
+		return userAttributeValue;
+	}
+	
+	public void setUserAttributeValue(String userAttributeValue) {
+		this.userAttributeValue = userAttributeValue;
+	}
+	
+	public String getLandingPath() {
+		return landingPath;
+	}
+	
+	public void setLandingPath(String landingPath) {
+		this.landingPath = landingPath;
+	}
+	
+	public boolean match(UserRequest ureq) {
+		boolean match = true;
+		
+		//match the role?
+		if(!"none".equals(role) && StringHelper.containsNonWhitespace(role)) {
+			Roles roles = ureq.getUserSession().getRoles();
+			switch(role) {
+				case AUTHOR: match &= roles.isAuthor(); break;
+				case USER_MGR: match &= roles.isUserManager(); break;
+				case GROUP_MGR: match &= roles.isGroupManager(); break;
+				case  RSRC_MGR: match &= roles.isInstitutionalResourceManager(); break;
+				case POOL_MGR: match &= roles.isPoolAdmin(); break;
+				case ADMIN: match &= roles.isOLATAdmin(); break;
+				default: {
+					match &= false;
+				}
+			}
+		}
+		
+		if(StringHelper.containsNonWhitespace(userAttributeKey)) {
+			User user = ureq.getUserSession().getIdentity().getUser();
+			String value = user.getProperty(userAttributeKey, null);
+			if(!StringHelper.containsNonWhitespace(value) && !StringHelper.containsNonWhitespace(userAttributeValue)) {
+				// ok, both are null or empty
+			} else if(StringHelper.containsNonWhitespace(value) && StringHelper.containsNonWhitespace(userAttributeValue)) {
+				match &= userAttributeValue.trim().equalsIgnoreCase(value.trim());
+			} else {
+				match &= false;
+			}
+		}
+		return match;
+	}
+}
diff --git a/src/main/java/org/olat/admin/landingpages/model/Rules.java b/src/main/java/org/olat/admin/landingpages/model/Rules.java
new file mode 100644
index 0000000000000000000000000000000000000000..4705798f03ed87bb06725a4e5ed51747822ce278
--- /dev/null
+++ b/src/main/java/org/olat/admin/landingpages/model/Rules.java
@@ -0,0 +1,109 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.admin.landingpages.model;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.List;
+
+import org.olat.core.gui.UserRequest;
+import org.olat.core.id.Roles;
+import org.olat.core.id.context.BusinessControl;
+import org.olat.core.id.context.BusinessControlFactory;
+import org.olat.core.id.context.ContextEntry;
+import org.olat.core.util.StringHelper;
+import org.olat.core.util.WebappHelper;
+
+/**
+ * 
+ * Initial date: 15.05.2014<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class Rules {
+	
+	private List<Rule> rules;
+
+	public List<Rule> getRules() {
+		return rules;
+	}
+
+	public void setRules(List<Rule> rules) {
+		this.rules = rules;
+	}
+	
+	public Rule matchRule(UserRequest ureq) {
+		Roles roles = ureq.getUserSession().getRoles();
+		if(roles.isGuestOnly() || roles.isInvitee() || rules == null || rules.isEmpty()) {
+			return null;
+		}
+		
+		for(Rule rule:rules) {
+			if(rule.match(ureq)) {
+				return rule;
+			}
+		}
+		return null;
+	}
+	
+	public BusinessControl match(UserRequest ureq) {
+		BusinessControl bc = null;
+		Rule rule = matchRule(ureq);
+		if(rule != null && StringHelper.containsNonWhitespace(rule.getLandingPath())) {
+			String path = cleanUpLandingPath(rule.getLandingPath());
+			if(StringHelper.containsNonWhitespace(path)) {
+				String restPath = BusinessControlFactory.getInstance().formatFromURI(path);
+				List<ContextEntry> entries = BusinessControlFactory.getInstance().createCEListFromString(restPath);
+				if(entries.size() > 0) {
+					bc = BusinessControlFactory.getInstance().createFromContextEntries(entries);
+				}
+			}
+		}
+		return bc;
+	}
+	
+	public static String cleanUpLandingPath(String path) {
+		if(path == null) return null;//nothing to do
+		
+		if(path.startsWith("http")) {
+			//remove protocol, host, port...
+			try {
+				URL url = new URL(path);
+				path = url.getPath();
+			} catch (MalformedURLException e) {
+				//silently ignore it
+			}
+		}
+		
+		//cut context path if any
+		if(path.startsWith(WebappHelper.getServletContextPath())) {
+			path = path.substring(WebappHelper.getServletContextPath().length());
+		}
+		//cut dispatcher name
+		if(path.startsWith("/url/")) {
+			path = path.substring("/url/".length());
+		}
+		//factory doesn't like path which starts with /
+		if(path.startsWith("/")) {
+			path = path.substring("/".length());
+		}
+		return path;
+	}
+}
diff --git a/src/main/java/org/olat/admin/landingpages/ui/LandingPages.java b/src/main/java/org/olat/admin/landingpages/ui/LandingPages.java
new file mode 100644
index 0000000000000000000000000000000000000000..3333e8cf0e864e558a2a23503c1436b2b62645e4
--- /dev/null
+++ b/src/main/java/org/olat/admin/landingpages/ui/LandingPages.java
@@ -0,0 +1,65 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.admin.landingpages.ui;
+
+/**
+ * 
+ * Initial date: 15.05.2014<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public enum LandingPages {
+	
+	myCourses("page.myCourses", "/MyCoursesSite/0"),
+	myFavoritCourses("page.myFavoritCourses", "/MyCoursesSite/0/Favorits/0"),
+	catalog("page.catalog", "/CatalogEntry/0"),
+	myGroups("page.groups", "/GroupsSite/0/MyGroups/0"),
+	myFavoritGroups("page.myFavoritGroups", "/GroupsSite/0/MyGroups/0/Favorits/0"),
+	myNotifications("page.myNotifications", "/HomeSite/0/notifications/0"),
+	myPortfolios("page.myPortfolio", "/HomeSite/0/Portfolio/0"),
+	infoPage1("page.infoPage1", "/CourseSite/1"),
+	infoPage2("page.infoPage2", "/CourseSite/2"),
+	learnResources("page.learnResources", "/RepositorySite/0");
+	
+	private String i18nKey;
+	private String businessPath;
+	
+	private LandingPages(String i18nKey, String businessPath) {
+		this.i18nKey = i18nKey;
+		this.businessPath = businessPath;
+	}
+	
+	public String i18nKey() {
+		return i18nKey;
+	}
+	
+	public String businessPath() {
+		return businessPath;
+	}
+	
+	public static final LandingPages landingPageFromCmd(String cmd) {
+		for(LandingPages lp:values()) {
+			if(cmd.equals(lp.name())) {
+				return lp;
+			}
+		}
+		return null;
+	}
+}
diff --git a/src/main/java/org/olat/admin/landingpages/ui/LandingPagesAdminController.java b/src/main/java/org/olat/admin/landingpages/ui/LandingPagesAdminController.java
new file mode 100644
index 0000000000000000000000000000000000000000..5e749430b3ed65f549ad447cb815110cdcabf23a
--- /dev/null
+++ b/src/main/java/org/olat/admin/landingpages/ui/LandingPagesAdminController.java
@@ -0,0 +1,315 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.admin.landingpages.ui;
+
+import static org.olat.admin.landingpages.model.Rule.ADMIN;
+import static org.olat.admin.landingpages.model.Rule.AUTHOR;
+import static org.olat.admin.landingpages.model.Rule.GROUP_MGR;
+import static org.olat.admin.landingpages.model.Rule.POOL_MGR;
+import static org.olat.admin.landingpages.model.Rule.RSRC_MGR;
+import static org.olat.admin.landingpages.model.Rule.USER_MGR;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.olat.admin.landingpages.LandingPagesModule;
+import org.olat.admin.landingpages.model.Rule;
+import org.olat.admin.landingpages.model.Rules;
+import org.olat.admin.landingpages.ui.RulesDataModel.RCols;
+import org.olat.basesecurity.BaseSecurityModule;
+import org.olat.core.gui.UserRequest;
+import org.olat.core.gui.components.dropdown.DropdownItem;
+import org.olat.core.gui.components.form.flexible.FormItem;
+import org.olat.core.gui.components.form.flexible.FormItemContainer;
+import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement;
+import org.olat.core.gui.components.form.flexible.elements.FormLink;
+import org.olat.core.gui.components.form.flexible.elements.SingleSelection;
+import org.olat.core.gui.components.form.flexible.elements.TextElement;
+import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
+import org.olat.core.gui.components.form.flexible.impl.FormEvent;
+import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
+import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel;
+import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel;
+import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModelFactory;
+import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableRendererType;
+import org.olat.core.gui.components.form.flexible.impl.elements.table.SelectionEvent;
+import org.olat.core.gui.components.form.flexible.impl.elements.table.StaticFlexiCellRenderer;
+import org.olat.core.gui.components.form.flexible.impl.elements.table.StaticFlexiColumnModel;
+import org.olat.core.gui.components.link.Link;
+import org.olat.core.gui.control.Controller;
+import org.olat.core.gui.control.WindowControl;
+import org.olat.core.util.Util;
+import org.olat.user.UserManager;
+import org.olat.user.propertyhandlers.UserPropertyHandler;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * Initial date: 15.05.2014<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class LandingPagesAdminController extends FormBasicController {
+	
+	private static final String USER_PROPS_ID = LandingPagesModule.class.getName();
+
+	private RulesDataModel model;
+	private FlexiTableElement tableEl;
+	private static final String[] roleKeys = new String[]{ "none",
+		AUTHOR, USER_MGR, GROUP_MGR, RSRC_MGR, POOL_MGR, ADMIN
+	};
+	private final String[] roleValues;
+	private final String[] attrKeys;
+	private final String[] attrValues;
+
+	@Autowired
+	private UserManager userManager;
+	@Autowired
+	private LandingPagesModule lpModule;
+	@Autowired
+	private BaseSecurityModule securityModule;
+	
+	private AtomicInteger counter = new AtomicInteger();
+	
+	public LandingPagesAdminController(UserRequest ureq, WindowControl wControl) {
+		super(ureq, wControl, "rules");
+		setTranslator(Util.createPackageTranslator(UserPropertyHandler.class, getLocale(), getTranslator()));
+		
+		roleValues = new String[roleKeys.length];
+		for(int i=0; i<roleKeys.length; i++) {
+			roleValues[i] = translate(roleKeys[i]);
+		}
+		
+		boolean isAdministrativeUser = securityModule.isUserAllowedAdminProps(ureq.getUserSession().getRoles());
+		List<UserPropertyHandler> userPropertyHandlers = userManager
+				.getUserPropertyHandlersFor(USER_PROPS_ID, isAdministrativeUser);
+		
+		int numOfProperties = userPropertyHandlers.size();
+		attrKeys = new String[numOfProperties];
+		attrValues = new String[numOfProperties];
+		for(int i=0; i<numOfProperties; i++) {
+			UserPropertyHandler handler = userPropertyHandlers.get(i);
+			attrKeys[i] = handler.getName();
+			attrValues[i] = translate(handler.i18nFormElementLabelKey());
+		}
+		
+		initForm(ureq);
+	}
+
+	@Override
+	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
+		setFormTitle("landingpages.title");
+
+		//add the table
+		FlexiTableColumnModel columnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel();
+		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(RCols.position.i18nKey(), RCols.position.ordinal()));
+		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(RCols.role.i18nKey(), RCols.role.ordinal()));
+		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(RCols.userAttributeKey.i18nKey(), RCols.userAttributeKey.ordinal()));
+		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(RCols.userAttributeValue.i18nKey(), RCols.userAttributeValue.ordinal()));
+		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(RCols.landingPage.i18nKey(), RCols.landingPage.ordinal()));
+		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(RCols.landingPageChooser.i18nKey(), RCols.landingPageChooser.ordinal()));
+		
+		columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("up", -1, "up",
+				new StaticFlexiCellRenderer(" ", "up", "o_icon_move_up o_icon-lg")));
+		columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("down", -1, "down",
+				new StaticFlexiCellRenderer(" ", "down", "o_icon_move_down o_icon-lg")));
+		columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("add", translate("add"), "add"));
+		columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("delete", translate("delete"), "delete"));
+
+		//pack the rules
+		Rules rules = lpModule.getRules();
+		List<Rule> ruleList = new ArrayList<>(rules.getRules());
+		if(ruleList.isEmpty()) {
+			ruleList.add(new Rule());
+		}
+		
+		List<RuleWrapper> wrappers = new ArrayList<>();
+		int i = 0;
+		for(Rule rule:ruleList) {
+			wrappers.add(initRuleWrapper(++i, rule, formLayout));
+		}
+		if(formLayout instanceof FormLayoutContainer) {
+			FormLayoutContainer layoutCont = (FormLayoutContainer)formLayout;
+			layoutCont.contextPut("rules", wrappers);
+		}
+		model = new RulesDataModel(columnsModel, wrappers);
+		tableEl = uifactory.addTableElement(ureq, getWindowControl(), "rules", model, getTranslator(), formLayout);
+		tableEl.setCustomizeColumns(false);
+		tableEl.setRendererType(FlexiTableRendererType.classic);
+		
+		FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("buttons", getTranslator());
+		formLayout.add("buttons", buttonLayout);
+		uifactory.addFormSubmitButton("save", buttonLayout);
+	}
+	
+	@Override
+	protected void doDispose() {
+		//
+	}
+	
+	private RuleWrapper initRuleWrapper(int pos, Rule rule, FormItemContainer formLayout) {
+		int i = counter.incrementAndGet();
+		
+		RuleWrapper wrapper = new RuleWrapper(rule);
+		wrapper.setPosition(pos);
+		
+		SingleSelection roleEl = uifactory.addDropdownSingleselect("role-" + i, null, formLayout, roleKeys, roleValues, null);
+		String role = rule.getRole();
+		for(int j=roleKeys.length; j-->0; ) {
+			if(roleKeys[j].equals(role)) {
+				roleEl.select(roleKeys[j], true);
+			}
+		}
+		wrapper.setRoleEl(roleEl);
+		
+		SingleSelection attrNameEl = uifactory.addDropdownSingleselect("attr-key-" + i, null, formLayout, attrKeys, attrValues, null);
+		String userAttributeKey = rule.getUserAttributeKey();
+		for(int j=attrKeys.length; j-->0; ) {
+			if(attrKeys[j].equals(userAttributeKey)) {
+				attrNameEl.select(attrKeys[j], true);
+			}
+		}
+		wrapper.setAttrNameEl(attrNameEl);
+		
+		TextElement valEl = uifactory.addTextElement("attr-val-" + i, null, 256, "", formLayout);
+		valEl.setValue(rule.getUserAttributeValue());
+		wrapper.setAttrValueEl(valEl);
+		
+		TextElement landingPageEl = uifactory.addTextElement("l-page-" + i, null, 256, "", formLayout);
+		landingPageEl.setValue(rule.getLandingPath());
+		wrapper.setLandingPageEl(landingPageEl);
+		formLayout.add(landingPageEl);
+		
+		DropdownItem chooser = new DropdownItem("chooser-" + i, RCols.landingPageChooser.i18nKey(), getTranslator());
+		chooser.setButton(true);
+		chooser.setEmbbeded(true);
+		fillChooser(wrapper, chooser, formLayout);
+		wrapper.setLandingPageChooser(chooser);
+		return wrapper;
+	}
+	
+	private void fillChooser(RuleWrapper rule, DropdownItem chooser, FormItemContainer formLayout) {
+		int i = counter.incrementAndGet();
+		for(LandingPages lp:LandingPages.values()) {
+			FormLink link = uifactory.addFormLink(lp.name() + "-" + i, lp.name(), lp.i18nKey(), null, formLayout, Link.LINK);
+			link.setUserObject(rule);
+			chooser.addElement(link);
+		}
+	}
+
+	@Override
+	protected void formOK(UserRequest ureq) {
+		int rowCount = model.getRowCount();
+		List<Rule> ruleList = new ArrayList<Rule>(rowCount);
+		for(int i=0; i<rowCount; i++) {
+			ruleList.add(model.getObject(i).save());
+		}
+
+		Rules rules = new Rules();
+		rules.setRules(ruleList);
+		lpModule.setRules(rules);
+	}
+
+	@Override
+	protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
+		if(source == tableEl) {
+			if(event instanceof SelectionEvent) {
+				SelectionEvent se = (SelectionEvent)event;
+				RuleWrapper row = model.getObject(se.getIndex());
+				if("up".equals(se.getCommand())) {
+					moveUp(row);
+				} else if("down".equals(se.getCommand())) {
+					moveDown(row);
+				} else if("add".equals(se.getCommand())) {
+					addRow(row);
+				} else if("delete".equals(se.getCommand())) {
+					deleteRow(row);
+				}
+				tableEl.reset();
+				tableEl.getComponent().setDirty(true);
+			}
+		} else if(source instanceof FormLink && source.getUserObject() instanceof RuleWrapper) {
+			RuleWrapper rule = (RuleWrapper)source.getUserObject();
+			String cmd = ((FormLink)source).getCmd();
+			if("catalog".equals(cmd)) {
+				//do choose catalog
+			} else if("repo".equals(cmd)) {
+				
+			} else {
+				LandingPages lp = LandingPages.landingPageFromCmd(cmd);
+				if(lp != null) {
+					rule.getLandingPageEl().setValue(lp.businessPath());
+				}
+			}
+		}
+		super.formInnerEvent(ureq, source, event);
+	}
+	
+	private void addRow(RuleWrapper row) {
+		List<RuleWrapper> rows = model.getObjects();
+		int currentIndex = rows.indexOf(row);
+		RuleWrapper newRule = initRuleWrapper(1, new Rule(), flc);
+		if(currentIndex >= 0 && currentIndex < rows.size() - 1) {
+			rows.add(currentIndex + 1, newRule);
+		} else {
+			rows.add(newRule);
+		}
+		model.setObjects(reOrder(rows));
+	}
+	
+	private void deleteRow(RuleWrapper row) {
+		List<RuleWrapper> rows = model.getObjects();
+		rows.remove(row);
+		if(rows.isEmpty()) {
+			Rule rule = new Rule();
+			rows.add(initRuleWrapper(1, rule, flc));
+		}
+		model.setObjects(reOrder(rows));
+	}
+	
+	private void moveUp(RuleWrapper row) {
+		List<RuleWrapper> rows = model.getObjects();
+		int currentIndex = rows.indexOf(row);
+		if(currentIndex > 0) {
+			rows.remove(currentIndex);
+			rows.add(currentIndex - 1, row);
+		}
+		model.setObjects(reOrder(rows));
+	}
+	
+	private void moveDown(RuleWrapper row) {
+		List<RuleWrapper> rows = model.getObjects();
+		int currentIndex = rows.indexOf(row);
+		if(currentIndex >= 0 && currentIndex + 1 < rows.size()) {
+			rows.remove(currentIndex);
+			rows.add(currentIndex + 1, row);
+		}
+		model.setObjects(reOrder(rows));
+	}
+	
+	private List<RuleWrapper> reOrder(List<RuleWrapper> rows) {
+		int i=0;
+		for(RuleWrapper row:rows) {
+			row.setPosition(++i);
+		}
+		return rows;
+	}
+}
diff --git a/src/main/java/org/olat/admin/landingpages/ui/RuleWrapper.java b/src/main/java/org/olat/admin/landingpages/ui/RuleWrapper.java
new file mode 100644
index 0000000000000000000000000000000000000000..385d57981ebc19ab9c82318fed5062ca1c42dc39
--- /dev/null
+++ b/src/main/java/org/olat/admin/landingpages/ui/RuleWrapper.java
@@ -0,0 +1,112 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.admin.landingpages.ui;
+
+import org.olat.admin.landingpages.model.Rule;
+import org.olat.core.gui.components.dropdown.DropdownItem;
+import org.olat.core.gui.components.form.flexible.elements.SingleSelection;
+import org.olat.core.gui.components.form.flexible.elements.TextElement;
+
+/**
+ * 
+ * Initial date: 15.05.2014<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class RuleWrapper {
+
+	private final Rule rule;
+	private int position;
+
+	private SingleSelection roleEl;
+	private SingleSelection attrNameEl;
+	private TextElement attrValueEl;
+	private TextElement landingPageEl;
+	private DropdownItem landingPageChooser;
+	
+	public RuleWrapper(Rule rule) {
+		this.rule = rule;
+	}
+
+	public int getPosition() {
+		return position;
+	}
+
+	public void setPosition(int position) {
+		this.position = position;
+	}
+
+	public Rule getRule() {
+		return rule;
+	}
+
+	public SingleSelection getRoleEl() {
+		return roleEl;
+	}
+
+	public void setRoleEl(SingleSelection roleEl) {
+		this.roleEl = roleEl;
+	}
+
+	public SingleSelection getAttrNameEl() {
+		return attrNameEl;
+	}
+
+	public void setAttrNameEl(SingleSelection attrNameEl) {
+		this.attrNameEl = attrNameEl;
+	}
+
+	public TextElement getAttrValueEl() {
+		return attrValueEl;
+	}
+
+	public void setAttrValueEl(TextElement attrValueEl) {
+		this.attrValueEl = attrValueEl;
+	}
+
+	public TextElement getLandingPageEl() {
+		return landingPageEl;
+	}
+
+	public void setLandingPageEl(TextElement landingPageEl) {
+		this.landingPageEl = landingPageEl;
+	}
+	
+	public DropdownItem getLandingPageChooser() {
+		return landingPageChooser;
+	}
+
+	public void setLandingPageChooser(DropdownItem landingPageChooser) {
+		this.landingPageChooser = landingPageChooser;
+	}
+
+	public Rule save() {
+		Rule sRule = new Rule();
+		if(roleEl.isOneSelected()) {
+			sRule.setRole(roleEl.getSelectedKey());
+		}
+		if(attrNameEl.isOneSelected()) {
+			sRule.setUserAttributeKey(attrNameEl.getSelectedKey());
+			sRule.setUserAttributeValue(attrValueEl.getValue());
+		}
+		sRule.setLandingPath(landingPageEl.getValue());
+		return sRule;
+	}
+}
diff --git a/src/main/java/org/olat/admin/landingpages/ui/RulesDataModel.java b/src/main/java/org/olat/admin/landingpages/ui/RulesDataModel.java
new file mode 100644
index 0000000000000000000000000000000000000000..10ccc98f320b1790f84efc85366996c18021376b
--- /dev/null
+++ b/src/main/java/org/olat/admin/landingpages/ui/RulesDataModel.java
@@ -0,0 +1,121 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.admin.landingpages.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel;
+import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModel;
+import org.olat.core.gui.components.table.TableDataModel;
+
+/**
+ * 
+ * Initial date: 10.06.2013<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class RulesDataModel implements FlexiTableDataModel<RuleWrapper>, TableDataModel<RuleWrapper> {
+	
+	private FlexiTableColumnModel columnModel;
+	private List<RuleWrapper> rules;
+	
+	public RulesDataModel(FlexiTableColumnModel columnModel, List<RuleWrapper> rules) {
+		this.columnModel = columnModel;
+		this.rules = rules;
+	}
+	
+	@Override
+	public FlexiTableColumnModel getTableColumnModel() {
+		return columnModel;
+	}
+
+	@Override
+	public void setTableColumnModel(FlexiTableColumnModel tableColumnModel) {
+		this.columnModel = tableColumnModel;
+	}
+
+	@Override
+	public int getColumnCount() {
+		return 4;
+	}
+	
+	public List<RuleWrapper> getObjects() {
+		return rules;
+	}
+
+	@Override
+	public void setObjects(List<RuleWrapper> objects) {
+		rules = new ArrayList<RuleWrapper>(objects);
+	}
+
+	@Override
+	public RulesDataModel createCopyWithEmptyList() {
+		return new RulesDataModel(columnModel, new ArrayList<RuleWrapper>());
+	}
+
+	@Override
+	public int getRowCount() {
+		return rules == null ? 0 : rules.size();
+	}
+
+	@Override
+	public boolean isRowLoaded(int row) {
+		return true;
+	}
+
+	@Override
+	public RuleWrapper getObject(int row) {
+		return rules.get(row);
+	}
+
+	@Override
+	public Object getValueAt(int row, int col) {
+		RuleWrapper rule = getObject(row);
+		switch(RCols.values()[col]) {
+			case position: return rule.getPosition();
+			case role: return rule.getRoleEl();
+			case userAttributeKey: return rule.getAttrNameEl();
+			case userAttributeValue: return rule.getAttrValueEl();
+			case landingPage: return rule.getLandingPageEl();
+			case landingPageChooser: return rule.getLandingPageChooser();
+			default: return "ERROR";
+		}
+	}
+
+	public enum RCols {
+		position("rules.position"),
+		role("rules.role"),
+		userAttributeKey("rules.user.attribute.key"),
+		userAttributeValue("rules.user.attribute.value"),
+		landingPage("rules.landing.page"),
+		landingPageChooser("rules.landing.page.chooser");
+		
+		private final String i18nKey;
+	
+		private RCols(String i18nKey) {
+			this.i18nKey = i18nKey;
+		}
+		
+		public String i18nKey() {
+			return i18nKey;
+		}
+	}
+}
\ No newline at end of file
diff --git a/src/main/java/org/olat/admin/landingpages/ui/_content/rules.html b/src/main/java/org/olat/admin/landingpages/ui/_content/rules.html
new file mode 100644
index 0000000000000000000000000000000000000000..ac0fad553d0c714ba92f7999a8f45c39e4ecf095
--- /dev/null
+++ b/src/main/java/org/olat/admin/landingpages/ui/_content/rules.html
@@ -0,0 +1,2 @@
+$r.render("rules")
+$r.render("buttons")
\ No newline at end of file
diff --git a/src/main/java/org/olat/admin/landingpages/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/admin/landingpages/ui/_i18n/LocalStrings_de.properties
new file mode 100644
index 0000000000000000000000000000000000000000..fc7d652b16909e5d9325d8c78423257300bec5a6
--- /dev/null
+++ b/src/main/java/org/olat/admin/landingpages/ui/_i18n/LocalStrings_de.properties
@@ -0,0 +1,29 @@
+#Tue Jul 27 11:51:00 CEST 2010
+landingpages.title=Startseite
+rules.position=Position
+rules.role=Role
+rules.user.attribute.key=Benutzerattribut
+rules.user.attribute.value=Wert
+rules.landing.page=Startseite
+rules.landing.page.chooser=Auswahl
+page.groups=Gruppen
+page.myCourses=Meine Kurse
+page.myFavoritCourses=Favoriten Kurse
+page.catalog=Katalog
+page.myFavoritGroups=Favoriten Gruppe
+page.myNotifications=Abonnement
+page.myPortfolio=e-Portfolio
+page.infoPage1=Infokurs 1
+page.infoPage2=Infokurs 2
+page.learnResources=Lernressourcen
+up=Hoch
+down=Runter
+add=Hinzufügen
+delete=Löschen
+none=-
+author=$org.olat.admin.user\:rightsForm.isAuthor
+userManager=$org.olat.admin.user\:rightsForm.isUsermanager
+groupManager=$org.olat.admin.user\:rightsForm.isGroupmanager
+institutionalResourceManager=$org.olat.admin.user\:rightsForm.isInstitutionalResourceManager
+poolAdmin=$org.olat.admin.user\:rightsForm.isPoolmanager
+olatAdmin=$org.olat.admin.user\:rightsForm.isAdmin
diff --git a/src/main/java/org/olat/admin/landingpages/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/admin/landingpages/ui/_i18n/LocalStrings_en.properties
new file mode 100644
index 0000000000000000000000000000000000000000..a47c736b025941bd548a9d3d0f8e578954de0cc1
--- /dev/null
+++ b/src/main/java/org/olat/admin/landingpages/ui/_i18n/LocalStrings_en.properties
@@ -0,0 +1,2 @@
+#Sat Jan 22 17:28:23 CET 2011
+landingpages.title=Landing pages
\ No newline at end of file
diff --git a/src/main/java/org/olat/admin/site/ui/SitesConfigurationController.java b/src/main/java/org/olat/admin/site/ui/SitesConfigurationController.java
index ad0a02af284a99062e4630f2df983e737b1c5b11..d1102e3231975db3925e0a049fd5e015937e4240 100644
--- a/src/main/java/org/olat/admin/site/ui/SitesConfigurationController.java
+++ b/src/main/java/org/olat/admin/site/ui/SitesConfigurationController.java
@@ -138,9 +138,9 @@ public class SitesConfigurationController extends FormBasicController {
 		}
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, SiteCols.defaultOrder.i18nKey(), SiteCols.defaultOrder.ordinal(), false, null));
 		columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("up", SiteCols.up.ordinal(), "up",
-				new StaticFlexiCellRenderer("&nbsp;&nbsp;", "up", "b_small_table_icon b_move_up_icon")));
+				new StaticFlexiCellRenderer(" ", "up", "o_icon_move_up o_icon-lg")));
 		columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("down", SiteCols.down.ordinal(), "down",
-				new StaticFlexiCellRenderer("&nbsp;&nbsp;", "down", "b_small_table_icon b_move_down_icon")));
+				new StaticFlexiCellRenderer(" ", "down", "o_icon_move_down o_icon-lg")));
 
 		model = new SiteDefModel(columnsModel);
 		
@@ -157,7 +157,7 @@ public class SitesConfigurationController extends FormBasicController {
 
 	@Override
 	protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
-	 if(source == tableEl) {
+		if(source == tableEl) {
 			if(event instanceof SelectionEvent) {
 				SelectionEvent se = (SelectionEvent)event;
 				if("up".equals(se.getCommand())) {
diff --git a/src/main/java/org/olat/core/commons/controllers/filechooser/FileChooserController.java b/src/main/java/org/olat/core/commons/controllers/filechooser/FileChooserController.java
index 838863d414045cfa816c540c8be02ab0228ec29b..37792bc9b0cb819327cfc7f18b4c1fa6c730a398 100644
--- a/src/main/java/org/olat/core/commons/controllers/filechooser/FileChooserController.java
+++ b/src/main/java/org/olat/core/commons/controllers/filechooser/FileChooserController.java
@@ -85,7 +85,7 @@ public class FileChooserController extends BasicController {
 	 *            true: show a file chooser title and description; false: show
 	 *            only the tree without a title
 	 */
-	FileChooserController(UserRequest ureq, WindowControl wControl, VFSContainer rootContainer, VFSItemFilter customItemFilter, boolean onlyLeafsSelectable, boolean showTitle) {
+	FileChooserController(UserRequest ureq, WindowControl wControl, VFSContainer rootContainer, VFSItemFilter customItemFilter, boolean onlyLeafsSelectable) {
 		super(ureq, wControl);
 		this.rootContainer = rootContainer;
 		this.onlyLeafsSelectable = onlyLeafsSelectable;
diff --git a/src/main/java/org/olat/core/commons/controllers/filechooser/FileChooserUIFactory.java b/src/main/java/org/olat/core/commons/controllers/filechooser/FileChooserUIFactory.java
index ff5197a09f15d1f6e5ff2a229c5a8b21896affef..a4f87cfcd74212a5fd5193379deda727e56f53d9 100644
--- a/src/main/java/org/olat/core/commons/controllers/filechooser/FileChooserUIFactory.java
+++ b/src/main/java/org/olat/core/commons/controllers/filechooser/FileChooserUIFactory.java
@@ -59,7 +59,7 @@ public class FileChooserUIFactory {
 	 *          false: all items can be selected
 	 */
 	public static FileChooserController createFileChooserController(UserRequest ureq, WindowControl wControl, VFSContainer rootContainer, VFSItemFilter customItemFilter, boolean onlyLeafsSelectable) {
-		return new FileChooserController(ureq, wControl, rootContainer, customItemFilter, onlyLeafsSelectable, true);
+		return new FileChooserController(ureq, wControl, rootContainer, customItemFilter, onlyLeafsSelectable);
 	}
 
 	/**
@@ -76,7 +76,7 @@ public class FileChooserUIFactory {
 	 *          false: all items can be selected
 	 */
 	public static FileChooserController createFileChooserControllerWithoutTitle(UserRequest ureq, WindowControl wControl, VFSContainer rootContainer, VFSItemFilter customItemFilter, boolean onlyLeafsSelectable) {
-		return new FileChooserController(ureq, wControl, rootContainer, customItemFilter, onlyLeafsSelectable, false);
+		return new FileChooserController(ureq, wControl, rootContainer, customItemFilter, onlyLeafsSelectable);
 	}
 
 	/**
@@ -95,7 +95,7 @@ public class FileChooserUIFactory {
 	 *            can be selected
 	 */
 	public static FileChooserController createFileChooserController(UserRequest ureq, WindowControl wControl, VFSContainer rootContainer, boolean showLeafs, boolean onlyLeafsSelectable) {
-		return new FileChooserController(ureq, wControl, rootContainer, (showLeafs ? null : containerFilter), onlyLeafsSelectable, true);
+		return new FileChooserController(ureq, wControl, rootContainer, (showLeafs ? null : containerFilter), onlyLeafsSelectable);
 	}
 
 	/**
@@ -114,7 +114,7 @@ public class FileChooserUIFactory {
 	 *            can be selected
 	 */
 	public static FileChooserController createFileChooserControllerWithoutTitle(UserRequest ureq, WindowControl wControl, VFSContainer rootContainer, boolean showLeafs, boolean onlyLeafsSelectable) {
-		return new FileChooserController(ureq, wControl, rootContainer, (showLeafs ? null : containerFilter), onlyLeafsSelectable, false);
+		return new FileChooserController(ureq, wControl, rootContainer, (showLeafs ? null : containerFilter), onlyLeafsSelectable);
 	}
 
 	/**
diff --git a/src/main/java/org/olat/core/commons/controllers/resume/ResumeController.java b/src/main/java/org/olat/core/commons/controllers/resume/ResumeController.java
index a9a40a3ccda2e1aebf57413c2758047e9683d352..a854f79bf64e8e5ad67b8454fa50f72e6b0beb1a 100644
--- a/src/main/java/org/olat/core/commons/controllers/resume/ResumeController.java
+++ b/src/main/java/org/olat/core/commons/controllers/resume/ResumeController.java
@@ -20,8 +20,11 @@
  */
 package org.olat.core.commons.controllers.resume;
 
+import java.util.List;
+
 import org.olat.NewControllerFactory;
-import org.olat.core.CoreSpringFactory;
+import org.olat.admin.landingpages.LandingPagesModule;
+import org.olat.admin.landingpages.model.Rules;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.WindowManager;
 import org.olat.core.gui.components.form.flexible.FormItem;
@@ -37,6 +40,7 @@ import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.id.context.BusinessControl;
 import org.olat.core.id.context.BusinessControlFactory;
+import org.olat.core.id.context.ContextEntry;
 import org.olat.core.id.context.HistoryManager;
 import org.olat.core.id.context.HistoryModule;
 import org.olat.core.id.context.HistoryPoint;
@@ -44,6 +48,7 @@ import org.olat.core.util.StringHelper;
 import org.olat.core.util.UserSession;
 import org.olat.core.util.prefs.Preferences;
 import org.olat.login.SupportsAfterLoginInterceptor;
+import org.springframework.beans.factory.annotation.Autowired;
 
 /**
  * 
@@ -58,12 +63,18 @@ import org.olat.login.SupportsAfterLoginInterceptor;
  */
 public class ResumeController extends FormBasicController implements SupportsAfterLoginInterceptor {
 
-	//the cancel button ("Nein")
-	private FormLink bttNo;
+	private FormLink noButton, landingButton;
 	
 	private String[] askagain_keys = new String[]{"askagain_k"};
 	private MultipleSelectionElement askagainCheckbox;
 	
+	@Autowired
+	private LandingPagesModule lpModule;
+	@Autowired
+	private HistoryModule historyModule;
+	@Autowired
+	private HistoryManager historyManager;
+	
 	public ResumeController(UserRequest ureq, WindowControl wControl) {
 		super(ureq, wControl);
 		initForm(ureq);
@@ -77,8 +88,8 @@ public class ResumeController extends FormBasicController implements SupportsAft
 		FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("button_layout", getTranslator());
 		formLayout.add(buttonLayout);
 		uifactory.addFormSubmitButton("submit", "resume.button", buttonLayout);
-		bttNo = uifactory.addFormLink("cancel","resume.button.cancel", "", buttonLayout, Link.BUTTON);
-//		FormCancel bttCancel =  uifactory.addFormCancelButton("cancel", buttonLayout, ureq, getWindowControl());
+		landingButton = uifactory.addFormLink("landing", "resume.button.landing", null, buttonLayout, Link.BUTTON);
+		noButton = uifactory.addFormLink("cancel", "resume.button.cancel", null, buttonLayout, Link.BUTTON);
 	}
 	
 	@Override
@@ -90,37 +101,39 @@ public class ResumeController extends FormBasicController implements SupportsAft
 		Preferences prefs =  usess.getGuiPreferences();
 		String resumePrefs = (String)prefs.get(WindowManager.class, "resume-prefs");
 		if(!StringHelper.containsNonWhitespace(resumePrefs)) {
-			HistoryModule historyModule = (HistoryModule)CoreSpringFactory.getBean("historyModule");
 			resumePrefs = historyModule.getResumeDefaultSetting();
 		}
+		
+		boolean interception = false;
 		if("none".equals(resumePrefs)) {
-				return false;
+			BusinessControl bc = getLandingBC(ureq);
+			launch(ureq, bc);
 		} else if ("auto".equals(resumePrefs)) {
 			HistoryPoint historyEntry = HistoryManager.getInstance().readHistoryPoint(ureq.getIdentity());
 			if(historyEntry != null && StringHelper.containsNonWhitespace(historyEntry.getBusinessPath())) {
 				BusinessControl bc = BusinessControlFactory.getInstance().createFromContextEntries(historyEntry.getEntries());
-				WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(bc, getWindowControl());
-				try {
-					//make the resume secure. If something fail, don't generate a red screen
-					NewControllerFactory.getInstance().launch(ureq, bwControl);
-				} catch (Exception e) {
-					logError("Error while resuming", e);
-				}
+				launch(ureq, bc);
 			}
-			return false;
 		} else if ("ondemand".equals(resumePrefs)) {
-			HistoryPoint historyEntry = HistoryManager.getInstance().readHistoryPoint(ureq.getIdentity());
-			return historyEntry != null &&  StringHelper.containsNonWhitespace(historyEntry.getBusinessPath());
+			HistoryPoint historyEntry = historyManager.readHistoryPoint(ureq.getIdentity());
+			interception = historyEntry != null &&  StringHelper.containsNonWhitespace(historyEntry.getBusinessPath());
 		}
-		return false;
+		return interception;
 	}
 	
+
+	
 	@Override
 	protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
-		if(source.equals(bttNo)){
-			this.flc.setDirty(true);
+		if(source.equals(noButton)){
+			flc.setDirty(true);
 			formResetted(ureq);
 			formCancelled(ureq);
+		} else if(source.equals(landingButton)){
+			savePreferences(ureq, "none");		
+			fireEvent (ureq, Event.DONE_EVENT);
+			BusinessControl bc = getLandingBC(ureq);
+			launch(ureq, bc);
 		}
 	}
 
@@ -131,7 +144,6 @@ public class ResumeController extends FormBasicController implements SupportsAft
 	 * @return
 	 */
 	private boolean isDisabled(UserRequest ureq) {
-		HistoryModule historyModule = (HistoryModule)CoreSpringFactory.getBean("historyModule");
 		if(!historyModule.isResumeEnabled()) return true;
 		UserSession usess = ureq.getUserSession();
 		if(usess.getRoles().isGuestOnly()) return true;
@@ -147,16 +159,10 @@ public class ResumeController extends FormBasicController implements SupportsAft
 
 	@Override
 	protected void formOK(UserRequest ureq) {
-		// check if checkbox (dont askagain) is checked
-		if(askagainCheckbox.isSelected(0)){
-			Preferences	prefs = ureq.getUserSession().getGuiPreferences();
-			prefs.put(WindowManager.class, "resume-prefs","auto");
-			prefs.save();
-		}
-				
+		savePreferences(ureq, "auto");		
 		fireEvent (ureq, Event.DONE_EVENT);
 		
-		HistoryPoint historyEntry = HistoryManager.getInstance().readHistoryPoint(ureq.getIdentity());
+		HistoryPoint historyEntry = historyManager.readHistoryPoint(ureq.getIdentity());
 		if(historyEntry != null && StringHelper.containsNonWhitespace(historyEntry.getBusinessPath())) {
 			BusinessControl bc = BusinessControlFactory.getInstance().createFromContextEntries(historyEntry.getEntries());
 			WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(bc, getWindowControl());
@@ -171,12 +177,48 @@ public class ResumeController extends FormBasicController implements SupportsAft
 	
 	@Override
 	protected void formCancelled(UserRequest ureq) {
+		savePreferences(ureq, "none");
+		fireEvent (ureq, Event.CANCELLED_EVENT);
+	}
+	
+	/**
+	 * Search first in the user preferences, after in rules
+	 * @param ureq
+	 * @return
+	 */
+	private BusinessControl getLandingBC(UserRequest ureq) {
+		Preferences prefs =  ureq.getUserSession().getGuiPreferences();
+		String landingPage = (String)prefs.get(WindowManager.class, "landing-page");
+		if(StringHelper.containsNonWhitespace(landingPage)) {
+			String path = Rules.cleanUpLandingPath(landingPage);
+			if(StringHelper.containsNonWhitespace(path)) {
+				String restPath = BusinessControlFactory.getInstance().formatFromURI(path);
+				List<ContextEntry> entries = BusinessControlFactory.getInstance().createCEListFromString(restPath);
+				if(entries.size() > 0) {
+					return BusinessControlFactory.getInstance().createFromContextEntries(entries);
+				}
+			}
+		}
+		return lpModule.getRules().match(ureq);
+	}
+	
+	private void launch(UserRequest ureq, BusinessControl bc) {
+		if(bc == null) return;
+		WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(bc, getWindowControl());
+		try {
+			//make the resume secure. If something fail, don't generate a red screen
+			NewControllerFactory.getInstance().launch(ureq, bwControl);
+		} catch (Exception e) {
+			logError("Error while resuming", e);
+		}
+	}
+	
+	private void savePreferences(UserRequest ureq, String val) {
 		// check if checkbox (dont askagain) is checked
 		if(askagainCheckbox.isSelected(0)){
 			Preferences	prefs = ureq.getUserSession().getGuiPreferences();
-			prefs.put(WindowManager.class, "resume-prefs","none");
+			prefs.put(WindowManager.class, "resume-prefs", val);
 			prefs.save();
 		}
-		fireEvent (ureq, Event.CANCELLED_EVENT);
 	}
 }
diff --git a/src/main/java/org/olat/core/commons/controllers/resume/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/core/commons/controllers/resume/_i18n/LocalStrings_de.properties
index 018fe740707b208b2aa422c11ee18dab8f691319..9d065663694150e67e3b743543888dad0bf956d6 100644
--- a/src/main/java/org/olat/core/commons/controllers/resume/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/core/commons/controllers/resume/_i18n/LocalStrings_de.properties
@@ -2,4 +2,5 @@
 resume=Wollen Sie Ihre letzte Sitzung wiederherstellen?
 resume.button=Ja
 resume.button.cancel=Nein
+resume.button.landing=Startseite
 askagain.label=Nicht mehr nachfragen
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/commons/controllers/resume/_spring/resumeCorecontext.xml b/src/main/java/org/olat/core/commons/controllers/resume/_spring/resumeCorecontext.xml
index fcf9db34366acad906703e8daea60b17287582ea..5319d9b8233ac091d515b246a196202bd9c13a84 100644
--- a/src/main/java/org/olat/core/commons/controllers/resume/_spring/resumeCorecontext.xml
+++ b/src/main/java/org/olat/core/commons/controllers/resume/_spring/resumeCorecontext.xml
@@ -3,9 +3,9 @@
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="
   http://www.springframework.org/schema/beans 
-  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
+  http://www.springframework.org/schema/beans/spring-beans.xsd">
   
-  <bean id="resume.AfterLogin.Injection" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
+	<bean id="resume.AfterLogin.Injection" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
 		<property name="targetObject" ref="afterLoginInterceptionManager" />
 		<property name="targetMethod" value="addAfterLoginControllerConfig" />
 		<property name="arguments">
diff --git a/src/main/java/org/olat/core/gui/components/Window.java b/src/main/java/org/olat/core/gui/components/Window.java
index f70a1929d929d6f305dfb5352b163f363e688792..7d10e52efd778452f1d8fd88ee4b0893d2e17d2b 100644
--- a/src/main/java/org/olat/core/gui/components/Window.java
+++ b/src/main/java/org/olat/core/gui/components/Window.java
@@ -218,7 +218,7 @@ public class Window extends AbstractComponent {
 	 * @see org.olat.core.gui.components.Container#getComponent(java.lang.String)
 	 */
 	public Component getComponent(String name) {
-		throw new AssertException("please use getContentPane()");
+		throw new AssertException("please use getContentPane(): " + name);
 	}
 
 	/**
@@ -809,7 +809,6 @@ public class Window extends AbstractComponent {
 		this.customCSS = customCSS;
 	}
 	
-	//fxdiff FXOLAT-119: update business path
 	public Command handleBusinessPath(UserRequest ureq) {
 		HistoryPoint p = ureq.getUserSession().getLastHistoryPoint();
 		if(p != null && StringHelper.containsNonWhitespace(p.getBusinessPath())) {
@@ -817,7 +816,7 @@ public class Window extends AbstractComponent {
 			List<ContextEntry> ces = p.getEntries();
 			String url = BusinessControlFactory.getInstance().getAsURIString(ces, true);
 			sb.append("try { o_info.businessPath='").append(url).append("';");
-			sb.append("b_shareActiveSocialUrl(); } catch(e) { }");
+			sb.append("o_shareActiveSocialUrl(); } catch(e) { }");
 			return new JSCommand(sb.toString());
 		}
 		return null;
diff --git a/src/main/java/org/olat/core/gui/components/dropdown/Dropdown.java b/src/main/java/org/olat/core/gui/components/dropdown/Dropdown.java
index a9dc46cb51da1b0f7f33b811032d4b61431b80a6..cb4ccfc3858626ce1d2a253c7c4e0b2c3e3ff65d 100644
--- a/src/main/java/org/olat/core/gui/components/dropdown/Dropdown.java
+++ b/src/main/java/org/olat/core/gui/components/dropdown/Dropdown.java
@@ -44,6 +44,7 @@ public class Dropdown extends AbstractComponent implements ComponentCollection {
 	
 	private String i18nKey;
 	private boolean button = false;
+	private boolean embbeded = false;
 	private String iconCSS;
 	private List<Component> components = new ArrayList<>();
 	
@@ -69,6 +70,14 @@ public class Dropdown extends AbstractComponent implements ComponentCollection {
 		this.button = button;
 	}
 
+	public boolean isEmbbeded() {
+		return embbeded;
+	}
+
+	public void setEmbbeded(boolean embbeded) {
+		this.embbeded = embbeded;
+	}
+
 	public String getIconCSS() {
 		return iconCSS;
 	}
diff --git a/src/main/java/org/olat/core/gui/components/dropdown/DropdownItem.java b/src/main/java/org/olat/core/gui/components/dropdown/DropdownItem.java
new file mode 100644
index 0000000000000000000000000000000000000000..fffcdc76b58511494092b86491c76bb68c36e778
--- /dev/null
+++ b/src/main/java/org/olat/core/gui/components/dropdown/DropdownItem.java
@@ -0,0 +1,101 @@
+/**
+ * OLAT - Online Learning and Training<br>
+ * http://www.olat.org
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Copyright (c) frentix GmbH<br>
+ * http://www.frentix.com<br>
+ * <p>
+ */
+package org.olat.core.gui.components.dropdown;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.olat.core.gui.UserRequest;
+import org.olat.core.gui.components.Component;
+import org.olat.core.gui.components.form.flexible.FormItem;
+import org.olat.core.gui.components.form.flexible.FormItemCollection;
+import org.olat.core.gui.components.form.flexible.elements.FormLink;
+import org.olat.core.gui.components.form.flexible.impl.FormItemImpl;
+import org.olat.core.gui.components.link.Link;
+import org.olat.core.gui.translator.Translator;
+
+/**
+ * 
+ * Initial date: 15.05.2014<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class DropdownItem extends FormItemImpl implements FormItemCollection {
+	
+	private final Dropdown dropdown;
+	private final List<FormItem> items = new ArrayList<>();
+	
+	public DropdownItem(String name, String label, Translator translator) {
+		super(name);
+		dropdown = new Dropdown(name, label, false, translator);
+	}
+	
+	public void setButton(boolean button) {
+		dropdown.setButton(button);
+	}
+	
+	public void setEmbbeded(boolean embbeded) {
+		dropdown.setEmbbeded(embbeded);
+	}
+	
+	public void addElement(FormLink link) {
+		items.add(link);
+		
+		Link linkCmp = (Link)link.getComponent();
+		linkCmp.setDomReplacementWrapperRequired(false);
+		dropdown.addComponent(linkCmp);
+	}
+
+	@Override
+	protected Component getFormItemComponent() {
+		return dropdown;
+	}
+
+	@Override
+	public Iterable<FormItem> getFormItems() {
+		return items;
+	}
+
+	@Override
+	public FormItem getFormComponent(String name) {
+		for(FormItem item:items) {
+			if(item != null && item.getName().equals(name)) {
+				return item;
+			}
+		}
+		return null;
+	}
+
+	@Override
+	protected void rootFormAvailable() {
+		//
+	}
+
+	@Override
+	public void evalFormRequest(UserRequest ureq) {
+		//
+	}
+
+	@Override
+	public void reset() {
+		//
+	}
+}
diff --git a/src/main/java/org/olat/core/gui/components/dropdown/DropdownRenderer.java b/src/main/java/org/olat/core/gui/components/dropdown/DropdownRenderer.java
index 830cc839c42c564a76cf66ce2190ce2e29dcf866..480a92e42210c94f545e7a7e7ca6bf6865b9df31 100644
--- a/src/main/java/org/olat/core/gui/components/dropdown/DropdownRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/dropdown/DropdownRenderer.java
@@ -41,8 +41,10 @@ public class DropdownRenderer extends DefaultComponentRenderer {
 	public void render(Renderer renderer, StringOutput sb, Component source,
 			URLBuilder ubu, Translator translator, RenderResult renderResult,
 			String[] args) {
-		
+
 		Dropdown dropdown = (Dropdown)source;
+		sb.append("<div class='btn-group'>", dropdown.isEmbbeded());
+		
 		Iterable<Component> components = dropdown.getComponents();
 		if(dropdown.isButton()) {
 			sb.append("<button class='btn btn-default dropdown-toggle'");
@@ -74,6 +76,6 @@ public class DropdownRenderer extends DefaultComponentRenderer {
 				sb.append("</li>");
 			}
 		}
-		sb.append("</ul>");
+		sb.append("</ul>").append("</div>", dropdown.isEmbbeded());
 	}
 }
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java
index 6895360196a553c79e2ec4de2d7a35fb4a824a97..a2158aed3fe71fedd9c9dae5a8c59c947a2ec90e 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java
@@ -417,6 +417,13 @@ public abstract class AbstractFlexiTableRenderer extends DefaultComponentRendere
 				formItem.getComponent().getHTMLRendererSingleton().render(renderer, target, formItem.getComponent(),
 					ubu, translator, renderResult, null);
 			}
+		} else if(cellValue instanceof Component) {
+			Component cmp = (Component)cellValue;
+			cmp.setTranslator(translator);
+			if(cmp.isVisible()) {
+				cmp.getHTMLRendererSingleton().render(renderer, target, cmp,
+					ubu, translator, renderResult, null);
+			}
 		} else {
 			fcm.getCellRenderer().render(target, cellValue, row, ftC, ubu, translator);
 		}
diff --git a/src/main/java/org/olat/core/gui/render/Renderer.java b/src/main/java/org/olat/core/gui/render/Renderer.java
index ab05ab9c5ec1bd4d76cd3e24d527ce7b3961f890..2c9c2f98bbf6f09306662f78da361d6562f0136a 100644
--- a/src/main/java/org/olat/core/gui/render/Renderer.java
+++ b/src/main/java/org/olat/core/gui/render/Renderer.java
@@ -219,7 +219,7 @@ public class Renderer {
 					sb.append("<div id='o_c").append(source.getDispatchID());
 				}
 				if(Settings.isDebuging()) {
-					sb.append("' title='").append(source.getComponentName());
+					//sb.append("' title='").append(source.getComponentName());
 				}
 				sb.append("'>");
 			}			
diff --git a/src/main/java/org/olat/core/id/context/BusinessControlFactory.java b/src/main/java/org/olat/core/id/context/BusinessControlFactory.java
index c25e329d9672a88ab7be131be04a0212f1b5ce15..afef88bfbf58fd772670a7cfc313fc151380ffee 100644
--- a/src/main/java/org/olat/core/id/context/BusinessControlFactory.java
+++ b/src/main/java/org/olat/core/id/context/BusinessControlFactory.java
@@ -501,12 +501,10 @@ public class BusinessControlFactory {
 			return null;
 		}
 		
-		try {
-			BusinessControlFactory bCF = BusinessControlFactory.getInstance(); 
-			List<ContextEntry> ceList = bCF.createCEListFromString(bPathString);
+		try { 
+			List<ContextEntry> ceList = createCEListFromString(bPathString);
 			String busPath = getBusinessPathAsURIFromCEList(ceList); 
-			
-			return WebappHelper.getServletContextPath() +"/url/"+busPath;
+			return WebappHelper.getServletContextPath() + "/url/" + busPath;
 		} catch(Exception e) {
 			log.error("Error with business path: " + bPathString, e);
 			return null;
diff --git a/src/main/java/org/olat/course/site/CourseSiteContextEntryControllerCreator.java b/src/main/java/org/olat/course/site/CourseSiteContextEntryControllerCreator.java
index 03374754561df07989aafa67e00d37c554735d51..c8ae693f45889da204a8a74230e80c5c9d073ca4 100644
--- a/src/main/java/org/olat/course/site/CourseSiteContextEntryControllerCreator.java
+++ b/src/main/java/org/olat/course/site/CourseSiteContextEntryControllerCreator.java
@@ -68,7 +68,7 @@ public class CourseSiteContextEntryControllerCreator extends DefaultContextEntry
 	@Override
 	public Controller createController(List<ContextEntry> ces, UserRequest ureq, WindowControl wControl) {
 		Controller ctrl = null;;
-		RepositoryEntry re = getRepositoryEntry(ces.get(0));
+		RepositoryEntry re = getRepositoryEntry(ureq, ces.get(0));
 		if(ces.size() > 1) {
 			ContextEntry subcontext = ces.get(1);
 			if("Editor".equals(subcontext.getOLATResourceable().getResourceableTypeName())) {
@@ -93,7 +93,7 @@ public class CourseSiteContextEntryControllerCreator extends DefaultContextEntry
 	 */
 	@Override
 	public String getTabName(ContextEntry ce, UserRequest ureq) {
-		RepositoryEntry re = getRepositoryEntry(ce);
+		RepositoryEntry re = getRepositoryEntry(ureq, ce);
 		CourseSiteDef siteDef = getCourseSite(ureq, re);
 		if(siteDef != null) {
 			return "Hello";
@@ -106,7 +106,7 @@ public class CourseSiteContextEntryControllerCreator extends DefaultContextEntry
 	 */
 	@Override
 	public String getSiteClassName(List<ContextEntry> ces, UserRequest ureq) {
-		RepositoryEntry re = getRepositoryEntry(ces.get(0));
+		RepositoryEntry re = getRepositoryEntry(ureq, ces.get(0));
 		CourseSiteDef siteDef = getCourseSite(ureq, re);
 		if(siteDef != null) {
 			return siteDef.getClass().getName().replace("Def", "");
@@ -116,7 +116,7 @@ public class CourseSiteContextEntryControllerCreator extends DefaultContextEntry
 	
 	@Override
 	public boolean validateContextEntryAndShowError(ContextEntry ce, UserRequest ureq, WindowControl wControl) {
-		return getRepositoryEntry(ce) != null;
+		return getRepositoryEntry(ureq, ce) != null;
 	}
 
 	private SiteDefinitions getSitesDefinitions() {
@@ -146,14 +146,43 @@ public class CourseSiteContextEntryControllerCreator extends DefaultContextEntry
 		return null;
 	}
 	
-	private RepositoryEntry getRepositoryEntry(ContextEntry ce) {
+	private RepositoryEntry getRepositoryEntry(UserRequest ureq, ContextEntry ce) {
 		if(repoEntry == null) {
 			if(ce.getOLATResourceable() instanceof RepositoryEntry) {
 				repoEntry = (RepositoryEntry)ce.getOLATResourceable();
 			} else {
 				OLATResourceable ores = ce.getOLATResourceable();
-				RepositoryManager rm = RepositoryManager.getInstance();
-				repoEntry = rm.lookupRepositoryEntry(ores.getResourceableId());
+				if("CourseSite".equals(ores.getResourceableTypeName())) {
+					int id = ores.getResourceableId().intValue();
+					CourseSiteDef courseSiteDef = null;
+					List<SiteDefinition> siteDefList = getSitesDefinitions().getSiteDefList();
+					if(id == 2) {
+						for(SiteDefinition siteDef:siteDefList) {
+							if(siteDef instanceof CourseSiteDef2) {
+								courseSiteDef = (CourseSiteDef)siteDef;
+							}
+						}
+					} else if(id == 1) {
+						for(SiteDefinition siteDef:siteDefList) {
+							if(siteDef instanceof CourseSiteDef) {
+								courseSiteDef = (CourseSiteDef)siteDef;
+							}
+						}
+					}
+					
+					if(courseSiteDef != null) {
+						CourseSiteConfiguration config = courseSiteDef.getCourseSiteconfiguration();
+						LanguageConfiguration langConfig = courseSiteDef.getLanguageConfiguration(ureq, config);
+						if(langConfig != null) {
+							String softKey = langConfig.getRepoSoftKey();
+							RepositoryManager rm = RepositoryManager.getInstance();
+							repoEntry = rm.lookupRepositoryEntryBySoftkey(softKey, false);
+						}
+					}
+				} else {
+					RepositoryManager rm = RepositoryManager.getInstance();
+					repoEntry = rm.lookupRepositoryEntry(ores.getResourceableId());
+				}
 			}
 		}
 		return repoEntry;
diff --git a/src/main/java/org/olat/repository/RepositoryModule.java b/src/main/java/org/olat/repository/RepositoryModule.java
index 4f5a0f917b92703df3a56478e5d457220ed33a1d..3a118ab8892a830769403f0afa14b06cd6efa10c 100644
--- a/src/main/java/org/olat/repository/RepositoryModule.java
+++ b/src/main/java/org/olat/repository/RepositoryModule.java
@@ -26,6 +26,7 @@ import org.olat.core.configuration.PersistedProperties;
 import org.olat.core.id.Roles;
 import org.olat.core.id.context.SiteContextEntryControllerCreator;
 import org.olat.core.util.StringHelper;
+import org.olat.course.site.CourseSite;
 import org.olat.course.site.CourseSiteContextEntryControllerCreator;
 import org.olat.group.BusinessGroupModule;
 import org.olat.repository.site.MyCoursesSite;
@@ -67,6 +68,9 @@ public class RepositoryModule extends AbstractOLATModule {
 		NewControllerFactory.getInstance().addContextEntryControllerCreator(RepositoryEntry.class.getSimpleName(),
 				new CourseSiteContextEntryControllerCreator());
 		
+		NewControllerFactory.getInstance().addContextEntryControllerCreator(CourseSite.class.getSimpleName(),
+				new CourseSiteContextEntryControllerCreator());
+		
 		NewControllerFactory.getInstance().addContextEntryControllerCreator(CatalogEntry.class.getSimpleName(),
 				new CatalogContextEntryControllerCreator(this));
 		
diff --git a/src/main/java/org/olat/social/shareLink/_content/shareLink.html b/src/main/java/org/olat/social/shareLink/_content/shareLink.html
index 6f16509fd59b60d7f73edd40c9e8d38f551d2eb8..27953ecd280f3a3c55f301551e1df162716600f6 100644
--- a/src/main/java/org/olat/social/shareLink/_content/shareLink.html
+++ b/src/main/java/org/olat/social/shareLink/_content/shareLink.html
@@ -10,7 +10,12 @@
 		if(o_info.businessPath && o_info.businessPath.length > 0) return o_info.businessPath;
 		return '$baseURL';
 	} 
-	function o_shareSocialTitle() { return document.title; }
+	function o_shareSocialTitle() {
+		return document.title;
+	}
+	function o_shareCallout() {
+		return '<p><span>$r.translate("share.link")</span>:<br/><input id="callout_share_link_in" type="text" name="cl_share_link" value="' + o_shareSocialUrl() + '" /></p>';
+	}
 /* ]]> */
 </script>
 
@@ -42,40 +47,19 @@
 			<i class="o_icon o_icon_mail o_icon-lg"></i>		
 		</a>
 	#elseif ($link == "link")	
-		<a id="o_link" href="#" onclick="javascript:o_shareSocialLink();">
+		<a id="o_link" href="#">
 			<i class="o_icon o_icon_link o_icon-lg"></i>
 		</a>
 		<script type="text/javascript">
 		/* <![CDATA[ */
-			function o_shareSocialLink() {
-				var callout = '';
-				callout += '<div id="o_callout_sharesociallink" class="o_callout_area b_clearfix" style="z-index:101;"><div class="b_floatscrollbox"><a name="b_modal"></a><div class="b_callout"><div class="o_callout_top_left_arrow"></div><div class="o_callout_top_left_arrow-border"></div>';
-				callout += '<div id="callout_layer_sharesociallink" class="o_callout_content"><div id="callout_layer_content_sharesociallink">';
-				callout += '<p><span>$r.translate("share.link")</span>:<br/><input id="callout_share_link_in" type="text" name="cl_share_link" size="64" value="' + o_shareSocialUrl() + '" /></p>';
-				callout += '</div></div></div></div></div><div id="o_callout_overlay_sharesociallink" class="o_callout_overlay" style="z-index:100;"></div>';
-			
-				jQuery('body').append(callout);
-				jQuery('#callout_layer_sharesociallink').each(function(index, el) {
-					jQuery(el).parents('div.o_callout_area').next('div.o_callout_overlay').each(function(index2, el2) {
-						jQuery(el2).click(function() {
-							jQuery('#o_callout_overlay_sharesociallink').remove();
-							jQuery('#o_callout_sharesociallink').remove();
-						});
-					});
-				});
-				
-				jQuery('#o_callout_sharesociallink').each(function(index, el) {
-					var targetEl = jQuery('#b_link');
-					var targetOffset = targetEl.offset();
-					if(targetOffset) {
-						var callout = jQuery(el);
-						callout.offset({
-							top: (targetOffset.top + targetEl.height() + 15) ,
-							left: (targetOffset.left - 23)
-						}).css('zindex', 105);
-					}
-				});
-			}
+			jQuery(function() {
+				jQuery("#o_link").popover({
+				    	placement : 'top',
+				    	html: true,
+				    	trigger: 'click',
+				    	content: o_shareCallout
+				 });
+			});
 		/* ]]> */
 		</script>
 	#end
diff --git a/src/main/java/org/olat/user/ChangePrefsController.java b/src/main/java/org/olat/user/ChangePrefsController.java
index 4e5489a05e468f6ec59db9e1f5318be29bd6641d..b4106370df419700775c2dc96d58293a08bb6112 100644
--- a/src/main/java/org/olat/user/ChangePrefsController.java
+++ b/src/main/java/org/olat/user/ChangePrefsController.java
@@ -31,10 +31,13 @@ import org.olat.core.CoreSpringFactory;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.WindowManager;
 import org.olat.core.gui.components.Component;
+import org.olat.core.gui.components.form.flexible.FormItem;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
 import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement;
 import org.olat.core.gui.components.form.flexible.elements.SingleSelection;
+import org.olat.core.gui.components.form.flexible.elements.TextElement;
 import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
+import org.olat.core.gui.components.form.flexible.impl.FormEvent;
 import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
 import org.olat.core.gui.components.velocity.VelocityContainer;
 import org.olat.core.gui.control.Controller;
@@ -107,6 +110,7 @@ public class ChangePrefsController extends BasicController {
 	 *      org.olat.core.gui.components.Component,
 	 *      org.olat.core.gui.control.Event)
 	 */
+	@Override
 	public void event(UserRequest ureq, Component source, Event event) {
 		if (source == myContent) {
 			if (event.getCommand().equals("exeBack")) {
@@ -114,7 +118,8 @@ public class ChangePrefsController extends BasicController {
 			}
 		} 
 	}
-
+	
+	@Override
 	public void event(UserRequest ureq, Controller source, Event event) {
 		if (source == generalPrefsCtr) {
 			if (event == Event.DONE_EVENT) {
@@ -129,6 +134,7 @@ public class ChangePrefsController extends BasicController {
 	/**
 	 * @see org.olat.core.gui.control.DefaultController#doDispose(boolean)
 	 */
+	@Override
 	protected void doDispose() {
 		//
 	}
@@ -152,9 +158,9 @@ class SpecialPrefsForm extends FormBasicController {
 	private Identity tobeChangedIdentity;
 	private Preferences prefs;
 	private MultipleSelectionElement prefsElement;
-	//fxdiff BAKS-7 Resume function
 	private SingleSelection resumeElement;
 	private SingleSelection backElement;
+	private TextElement landingPageEl;
 	private String[] keys, values;
 	private boolean useAjaxCheckbox = false;
 	private String[] resumeKeys, resumeValues;
@@ -192,7 +198,7 @@ class SpecialPrefsForm extends FormBasicController {
 					translate("accessibility.web2aMode.label")
 			};
 		}
-		//fxdiff BAKS-7 Resume function
+		
 		resumeKeys = new String[]{"none", "auto", "ondemand"}; 
 		resumeValues = new String[] {
 				translate("resume.none"),
@@ -221,13 +227,15 @@ class SpecialPrefsForm extends FormBasicController {
 		}
 		prefs.put(WindowManager.class, "web2a-beta-on", prefsElement.getSelectedKeys().contains("web2a"));
 		
-		//fxdiff BAKS-7 Resume function
 		if(resumeElement != null) {
 			prefs.put(WindowManager.class, "resume-prefs", resumeElement.getSelectedKey());
 		}
 		if(backElement != null) {
 			prefs.put(WindowManager.class, "back-enabled", backElement.isSelected(0));
 		}
+		String landingPage = landingPageEl.isVisible() ? landingPageEl.getValue() : "";
+		prefs.put(WindowManager.class, "landing-page", landingPage);
+		
 		if (ureq.getIdentity().equalsByPersistableKey(tobeChangedIdentity)) {
 			showInfo("preferences.successful");
 		}
@@ -236,6 +244,16 @@ class SpecialPrefsForm extends FormBasicController {
 		prefs.save();
 	}
 	
+	@Override
+	protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
+		if(resumeElement == source) {
+			if(resumeElement.isOneSelected()) {
+				landingPageEl.setVisible(!resumeElement.getSelectedKey().equals("auto"));
+			}
+		}
+		super.formInnerEvent(ureq, source, event);
+	}
+
 	@Override
 	protected void formCancelled(UserRequest ureq) {
 		update();
@@ -252,7 +270,11 @@ class SpecialPrefsForm extends FormBasicController {
 		if(historyModule.isResumeEnabled()) {
 			resumeElement = uifactory.addRadiosVertical("resume", "resume.label", formLayout, resumeKeys, resumeValues);
 			resumeElement.setElementCssClass("o_sel_home_settings_resume");
+			resumeElement.addActionListener(FormEvent.ONCHANGE);
 		}
+		
+		landingPageEl = uifactory.addTextElement("landingpages", "landing.pages", 256, "", formLayout);
+		
 		if(historyModule.isBackEnabled()) {
 			backElement = uifactory.addRadiosVertical("back-enabling", "back.label", formLayout, yesNoKeys, yesNoValues);
 			backElement.setElementCssClass("o_sel_home_settings_back_enabling");
@@ -273,7 +295,7 @@ class SpecialPrefsForm extends FormBasicController {
 			prefsElement.select("ajax", ajax == null ? true: ajax.booleanValue());
 		}
 		prefsElement.select("web2a", web2a == null ? false: web2a.booleanValue());
-		//fxdiff BAKS-7 Resume function
+		boolean landingPageVisible = true;
 		if(resumeElement != null) {
 			String resumePrefs = (String)prefs.get(WindowManager.class, "resume-prefs");
 			if(StringHelper.containsNonWhitespace(resumePrefs)) {
@@ -286,6 +308,10 @@ class SpecialPrefsForm extends FormBasicController {
 					logError("Unavailable setting for resume function: " + defaultSetting, e);
 				}
 			}
+			
+			if(resumeElement.isOneSelected()) {
+				landingPageVisible = !resumeElement.getSelectedKey().equals("auto");
+			}
 		}
 		if(backElement != null) {
 			Boolean be = (Boolean)prefs.get(WindowManager.class, "back-enabled");
@@ -299,6 +325,10 @@ class SpecialPrefsForm extends FormBasicController {
 
 			backElement.select(selected, true);
 		}
+
+		String landingPage = (String)prefs.get(WindowManager.class, "landing-page");
+		landingPageEl.setValue(landingPage);
+		landingPageEl.setVisible(landingPageVisible);
 	}
 	
 	@Override
@@ -308,7 +338,6 @@ class SpecialPrefsForm extends FormBasicController {
 	
 }
 
-// fxdiff FXOLAT-149 
 /**
  * Controller to reset the users GUI prefs and other preferences
  */
diff --git a/src/main/java/org/olat/user/ProfileFormController.java b/src/main/java/org/olat/user/ProfileFormController.java
index 75445f3aa1c079a98726804cb9309b42d95aae7e..9e188d4530b1110e1fbeaa4968ca917caf4f5cd7 100644
--- a/src/main/java/org/olat/user/ProfileFormController.java
+++ b/src/main/java/org/olat/user/ProfileFormController.java
@@ -147,7 +147,6 @@ public class ProfileFormController extends FormBasicController {
 		formContext.put("username", identity.getName());
 		
 		String currentGroup = null;
-		List<UserPropertyHandler> homepagePropertyHanders = UserManager.getInstance().getUserPropertyHandlersFor(HomePageConfig.class.getCanonicalName(), isAdministrativeUser);
 		// show a form element for each property handler 
 		FormLayoutContainer groupContainer = null;
 		for (UserPropertyHandler userPropertyHandler : this.userPropertyHandlers) {
@@ -255,16 +254,17 @@ public class ProfileFormController extends FormBasicController {
 	public void updateFromFormData(final HomePageConfig config, final Identity identity) {
 		User user = identity.getUser();
 		// For each user property...
-		for (UserPropertyHandler userPropertyHandler : this.userPropertyHandlers) {
+		for (UserPropertyHandler userPropertyHandler : userPropertyHandlers) {
 
 			// ...get the value from the form field and store it into the user
 			// property...
-			FormItem formItem = this.formItems.get(userPropertyHandler.getName());
-
-			userPropertyHandler.updateUserFromFormItem(user, formItem);
+			FormItem formItem = formItems.get(userPropertyHandler.getName());
+			if(formItem.isEnabled()) {
+				userPropertyHandler.updateUserFromFormItem(user, formItem);
+			}
 
 			// ...and store the "publish" flag for each property.
-			MultipleSelectionElement checkbox = this.publishCheckboxes.get("checkbox_" + userPropertyHandler.getName());
+			MultipleSelectionElement checkbox = publishCheckboxes.get("checkbox_" + userPropertyHandler.getName());
 			if (checkbox != null) {
 				// null when not enabled for the org.olat.user.HomePageConfig usage
 				// identifier key
@@ -291,7 +291,9 @@ public class ProfileFormController extends FormBasicController {
 		// update each user field
 		for (UserPropertyHandler userPropertyHandler : userPropertyHandlers) {
 			FormItem formItem = formItems.get(userPropertyHandler.getName());
-			userPropertyHandler.updateUserFromFormItem(user, formItem);
+			if(formItem.isEnabled()) {
+				userPropertyHandler.updateUserFromFormItem(user, formItem);
+			}
 		}
 		return identity;
 	}
diff --git a/src/main/java/org/olat/user/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/user/_i18n/LocalStrings_de.properties
index 437792d4150dcbce1a3d126c006c7faea1b64cdc..991bb09fb7fdbba13bd40b14709c777b89ac05e5 100644
--- a/src/main/java/org/olat/user/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/user/_i18n/LocalStrings_de.properties
@@ -138,6 +138,7 @@ menu.homepage=Visitenkarte
 menu.homepage.alt=Visitenkarte des ausgew\u00E4hlten Benutzers
 menu.portfolio=Portfolio
 menu.portfolio.alt=Portfolio
+landing.pages=Startseite
 notallowedtochangepwd=Sie d\u00FCrfen das Passwort nicht selbst setzen. Bei Fragen wenden Sie sich bitte an {0}.
 password.failed=Ihr neues Passwort wurde nicht gespeichert. Ein unerwarteter Fehler ist aufgetreten. 
 password.successful=Ihr neues Passwort wurde erfolgreich gespeichert. Es ist ab sofort aktiv.
diff --git a/src/main/java/org/olat/user/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/user/_i18n/LocalStrings_en.properties
index 54b686b264b11144fabc87182e0f8d1b784494e8..0a91ccb82d95d6cfe16968d5ec0673e6ba274f81 100644
--- a/src/main/java/org/olat/user/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/user/_i18n/LocalStrings_en.properties
@@ -145,6 +145,7 @@ interval.monthly=Monthly
 interval.never=Never
 interval.two-hourly=Every two hours
 interval.weekly=Weekly
+landing.pages=Landing page
 mail.intern.only=Send e-mails to the OpenOLAT internal inbox
 mail.send.copy=Send e-mails to the OpenOLAT internal inbox and the address {0}
 mail.system=E-mail delivery
diff --git a/src/main/java/org/olat/user/propertyhandlers/_spring/userPropertiesContext.xml b/src/main/java/org/olat/user/propertyhandlers/_spring/userPropertiesContext.xml
index ca3ca49d46b09c7febaaa4562a9f514935af91ff..c27a158b97241963526ee2f7ecf4aaa571b87112 100644
--- a/src/main/java/org/olat/user/propertyhandlers/_spring/userPropertiesContext.xml
+++ b/src/main/java/org/olat/user/propertyhandlers/_spring/userPropertiesContext.xml
@@ -4,9 +4,9 @@
 	xmlns:context="http://www.springframework.org/schema/context" 
 	xsi:schemaLocation="
   http://www.springframework.org/schema/beans 
-  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
+  http://www.springframework.org/schema/beans/spring-beans.xsd 
   http://www.springframework.org/schema/context 
-  http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+  http://www.springframework.org/schema/context/spring-context.xsd">
 
 	<!-- 
 		Configure the users properties, forms and tables 
@@ -948,7 +948,30 @@
 							</list>
 						</property>						
 					</bean>
-				</entry>			
+				</entry>
+				
+				<entry key="org.olat.admin.landingpages.LandingPagesModule">
+					<bean class="org.olat.user.propertyhandlers.UserPropertyUsageContext">
+						<property name="description" value="Properties used in the administration of landing pages. " />
+						<property name="propertyHandlers">
+							<list>
+								<ref bean="userPropertyGender" />
+								<ref bean="userPropertyStreet" />
+								<ref bean="userPropertyExtendedAddress" />
+								<ref bean="userPropertyPoBox" />
+								<ref bean="userPropertyZipCode" />
+								<ref bean="userPropertyRegion" />
+								<ref bean="userPropertyCity" />
+								<ref bean="userPropertyCountry" />
+								<ref bean="userPropertyInstitutionalName" />
+								<ref bean="userPropertyInstitutionalUserIdentifier" />
+								<ref bean="userPropertyInstitutionalEmail" />
+								<ref bean="userPropertyOrgUnit" />
+								<ref bean="userPropertyStudySubject" />
+							</list>
+						</property>						
+					</bean>
+				</entry>
 				
 				<!--
 					Default configuration in case nothing else matches.
diff --git a/src/main/java/org/olat/user/propertyhandlers/_spring/userPropertriesHandlersContext.xml b/src/main/java/org/olat/user/propertyhandlers/_spring/userPropertriesHandlersContext.xml
index 7165e2326ab64329aa1e45f6c6d315690df3b355..f6c5476c9fceddeb781843455da4004abd557ff0 100644
--- a/src/main/java/org/olat/user/propertyhandlers/_spring/userPropertriesHandlersContext.xml
+++ b/src/main/java/org/olat/user/propertyhandlers/_spring/userPropertriesHandlersContext.xml
@@ -3,7 +3,7 @@
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 	xsi:schemaLocation="
   http://www.springframework.org/schema/beans 
-  http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
+  http://www.springframework.org/schema/beans/spring-beans.xsd">
   
 
 	<!-- 
diff --git a/src/main/webapp/static/themes/light/modules/_icons.scss b/src/main/webapp/static/themes/light/modules/_icons.scss
index 2f3554af6c7b7e94fd1110779a27c9ae519978ea..9c6731e156bcb6b86a193788d8e1bbcdb3c7a589 100644
--- a/src/main/webapp/static/themes/light/modules/_icons.scss
+++ b/src/main/webapp/static/themes/light/modules/_icons.scss
@@ -47,8 +47,10 @@ $fa-css-prefix: "o_icon" !default;
 .o_icon_membersmanagement { @extend .o_icon-users;}
 .o_icon_message { @extend .o_icon-envelope;}
 .o_icon_move{ @extend .o_icon-arrows;}
+.o_icon_move_down { @extend .o_icon-angle-double-down;}
 .o_icon_move_left { @extend .o_icon-angle-double-left;}
 .o_icon_move_right { @extend .o_icon-angle-double-right;}
+.o_icon_move_up { @extend .o_icon-angle-double-up;}
 .o_icon_new_document { @extend .o_icon-fighter-jet; color:pink;}
 .o_icon_new_folder { @extend .o_icon-fighter-jet; color:violet;}
 .o_icon_notes{@extend .o_icon-pencil; }
diff --git a/src/main/webapp/static/themes/light/theme.css b/src/main/webapp/static/themes/light/theme.css
index ddac0f8c629761bb379ef158bb8069232f730789..adcce27f647d324b38715e31aab9ba833f1c0ec6 100644
--- a/src/main/webapp/static/themes/light/theme.css
+++ b/src/main/webapp/static/themes/light/theme.css
@@ -42,7 +42,7 @@ small,.small,.o_comments .o_comment_wrapper h5,.o_comments .o_comment_wrapper .o
 .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#333}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left,#o_main_wrapper #o_main_container .media>#o_main_left,#o_navbar_imclient .media>#o_im_message,#o_navbar_imclient .media>#o_im_status,#o_navbar_imclient .media>#o_im_summary,.o_comments .o_comment_wrapper .media>.o_avatar,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .media>.o_rating_wrapper,.o_catalog .o_sublevels .media>.o_sublevel,.o_repo_details .o_social .media>.o_rating_wrapper{margin-right:10px}.media>.pull-right,.media>div.o_chelp_wrapper,.o_withEllipsis .media>.o_ellipsis_links,#o_main_wrapper #o_main_container .media>#o_main_right,.o_comments .o_comment_wrapper .media>.o_reply,.o_comments .o_comment_wrapper .media>.o_delete,.o_repo_details .o_lead .media>.o_media{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px;overflow:hidden}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857}.modal-body{position:relative;padding:20px}.modal-footer{margin-top:15px;padding:19px 20px 20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn,.modal-footer a.o_chelp+.btn,.modal-footer .btn+a.o_chelp,.modal-footer a.o_chelp+a.o_chelp{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn,.modal-footer .btn-group a.o_chelp+.btn,.modal-footer .btn-group .btn+a.o_chelp,.modal-footer .btn-group a.o_chelp+a.o_chelp{margin-left:-1px}.modal-footer .btn-block+.btn-block,.modal-footer .o_repo_details .o_start+.btn-block,.o_repo_details .modal-footer .o_start+.btn-block,.modal-footer .o_repo_details .o_book+.btn-block,.o_repo_details .modal-footer .o_book+.btn-block,.modal-footer .o_repo_details .btn-block+.o_start,.o_repo_details .modal-footer .btn-block+.o_start,.modal-footer .o_repo_details .o_start+.o_start,.o_repo_details .modal-footer .o_start+.o_start,.modal-footer .o_repo_details .o_book+.o_start,.o_repo_details .modal-footer .o_book+.o_start,.modal-footer .o_repo_details .btn-block+.o_book,.o_repo_details .modal-footer .btn-block+.o_book,.modal-footer .o_repo_details .o_start+.o_book,.o_repo_details .modal-footer .o_start+.o_book,.modal-footer .o_repo_details .o_book+.o_book,.o_repo_details .modal-footer .o_book+.o_book{margin-left:0}@media (min-width: 768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width: 992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:fadein(rgba(0,0,0,0.2), 5%);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:fadein(rgba(0,0,0,0.2), 5%)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:fadein(rgba(0,0,0,0.2), 5%);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:fadein(rgba(0,0,0,0.2), 5%)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, color-stop(rgba(0,0,0,0.5) 0%), color-stop(rgba(0,0,0,0.0001) 100%));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, color-stop(rgba(0,0,0,0.0001) 0%), color-stop(rgba(0,0,0,0.5) 100%));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:none;color:#fff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:transparent}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn,.carousel-caption a.o_chelp{text-shadow:none}@media screen and (min-width: 768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.o_catalog .o_sublevels:before,.o_repo_details .o_social:before,.clearfix:after,.o_catalog .o_sublevels:after,.o_repo_details .o_social:after{content:" ";display:table}.clearfix:after,.o_catalog .o_sublevels:after,.o_repo_details .o_social:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right,div.o_chelp_wrapper,.o_withEllipsis .o_ellipsis_links,#o_main_wrapper #o_main_container #o_main_right,.o_comments .o_comment_wrapper .o_reply,.o_comments .o_comment_wrapper .o_delete,.o_repo_details .o_lead .o_media{float:right !important}.pull-left,#o_main_wrapper #o_main_container #o_main_left,#o_navbar_imclient #o_im_message,#o_navbar_imclient #o_im_status,#o_navbar_imclient #o_im_summary,.o_comments .o_comment_wrapper .o_avatar,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating_wrapper,.o_catalog .o_sublevels .o_sublevel,.o_repo_details .o_social .o_rating_wrapper{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important;visibility:hidden !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}@media (max-width: 767px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width: 1200px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (max-width: 767px){.hidden-xs{display:none !important}}@media (min-width: 768px) and (max-width: 991px){.hidden-sm{display:none !important}}@media (min-width: 992px) and (max-width: 1199px){.hidden-md{display:none !important}}@media (min-width: 1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}@media print{.hidden-print{display:none !important}}body .modal{position:absolute;overflow:visible}/*!
  *  Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome
  *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- */@font-face{font-family:'FontAwesome';src:url("../../../font-awesome/fonts/fontawesome-webfont.eot?v=4.1.0");src:url("../../../font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.1.0") format("embedded-opentype"),url("../../../font-awesome/fonts/fontawesome-webfont.woff?v=4.1.0") format("woff"),url("../../../font-awesome/fonts/fontawesome-webfont.ttf?v=4.1.0") format("truetype"),url("../../../font-awesome/fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.o_icon{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.o_icon-lg,.o_icon_help{font-size:1.33333em;line-height:0.75em;vertical-align:-15%}.o_icon-2x{font-size:2em}.o_icon-3x{font-size:3em}.o_icon-4x{font-size:4em}.o_icon-5x{font-size:5em}.o_icon-fw{width:1.28571em;text-align:center}.o_icon-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.o_icon-ul>li{position:relative}.o_icon-li{position:absolute;left:-2.14286em;width:2.14286em;top:0.14286em;text-align:center}.o_icon-li.o_icon-lg,.o_icon-li.o_icon_help{left:-1.85714em}.o_icon-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.pull-right,div.o_chelp_wrapper,.o_withEllipsis .o_ellipsis_links,#o_main_wrapper #o_main_container #o_main_right,.o_comments .o_comment_wrapper .o_reply,.o_comments .o_comment_wrapper .o_delete,.o_repo_details .o_lead .o_media{float:right}.pull-left,#o_main_wrapper #o_main_container #o_main_left,#o_navbar_imclient #o_im_message,#o_navbar_imclient #o_im_status,#o_navbar_imclient #o_im_summary,.o_comments .o_comment_wrapper .o_avatar,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating_wrapper,.o_catalog .o_sublevels .o_sublevel,.o_repo_details .o_social .o_rating_wrapper{float:left}.o_icon.pull-left,#o_main_wrapper #o_main_container .o_icon#o_main_left,#o_navbar_imclient .o_icon#o_im_message,#o_navbar_imclient .o_icon#o_im_status,#o_navbar_imclient .o_icon#o_im_summary,.o_comments .o_comment_wrapper .o_icon.o_avatar,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_icon.o_rating_wrapper,.o_catalog .o_sublevels .o_icon.o_sublevel,.o_repo_details .o_social .o_icon.o_rating_wrapper{margin-right:.3em}.o_icon.pull-right,div.o_icon.o_chelp_wrapper,.o_withEllipsis .o_icon.o_ellipsis_links,#o_main_wrapper #o_main_container .o_icon#o_main_right,.o_comments .o_comment_wrapper .o_icon.o_reply,.o_comments .o_comment_wrapper .o_icon.o_delete,.o_repo_details .o_lead .o_icon.o_media{margin-left:.3em}.o_icon-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.o_icon-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.o_icon-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.o_icon-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.o_icon-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.o_icon-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.o_icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.o_icon-stack-1x,.o_icon-stack-2x{position:absolute;left:0;width:100%;text-align:center}.o_icon-stack-1x{line-height:inherit}.o_icon-stack-2x{font-size:2em}.o_icon-inverse{color:#fff}.o_icon-glass:before{content:"\f000"}.o_icon-music:before{content:"\f001"}.o_icon-search:before,.o_icon_search:before{content:"\f002"}.o_icon-envelope-o:before,.o_co_icon:before{content:"\f003"}.o_icon-heart:before{content:"\f004"}.o_icon-star:before,.o_icon_rating_on:before,.o_rating .o_rating_items.o_enabled .o_icon:hover:before{content:"\f005"}.o_icon-star-o:before,.o_icon_rating_off:before{content:"\f006"}.o_icon-user:before{content:"\f007"}.o_icon-film:before{content:"\f008"}.o_icon-th-large:before{content:"\f009"}.o_icon-th:before{content:"\f00a"}.o_icon-th-list:before{content:"\f00b"}.o_icon-check:before,.o_icon_check:before{content:"\f00c"}.o_icon-times:before,.o_icon_close:before,.o_icon_close_tab:before,.o_icon_close_tool:before{content:"\f00d"}.o_icon-search-plus:before{content:"\f00e"}.o_icon-search-minus:before{content:"\f010"}.o_icon-power-off:before{content:"\f011"}.o_icon-signal:before{content:"\f012"}.o_icon-gear:before,.o_icon_customize:before,.o_icon_tool:before,.o_icon-cog:before{content:"\f013"}.o_icon-trash-o:before,.o_icon_delete_item:before{content:"\f014"}.o_icon-home:before{content:"\f015"}.o_icon-file-o:before{content:"\f016"}.o_icon-clock-o:before,.o_icon_expenditure:before{content:"\f017"}.o_icon-road:before{content:"\f018"}.o_icon-download:before,.o_icon_archive_tool:before,.o_icon_download:before{content:"\f019"}.o_icon-arrow-circle-o-down:before{content:"\f01a"}.o_icon-arrow-circle-o-up:before{content:"\f01b"}.o_icon-inbox:before{content:"\f01c"}.o_icon-play-circle-o:before{content:"\f01d"}.o_icon-rotate-right:before,.o_icon-repeat:before{content:"\f01e"}.o_icon-refresh:before,.o_icon_refresh:before{content:"\f021"}.o_icon-list-alt:before{content:"\f022"}.o_icon-lock:before,.o_ac_membersonly_icon:before,.o_midlock:before{content:"\f023"}.o_icon-flag:before{content:"\f024"}.o_icon-headphones:before{content:"\f025"}.o_icon-volume-off:before{content:"\f026"}.o_icon-volume-down:before{content:"\f027"}.o_icon-volume-up:before{content:"\f028"}.o_icon-qrcode:before{content:"\f029"}.o_icon-barcode:before{content:"\f02a"}.o_icon-tag:before{content:"\f02b"}.o_icon-tags:before{content:"\f02c"}.o_icon-book:before{content:"\f02d"}.o_icon-bookmark:before,.o_icon_bookmark:before{content:"\f02e"}.o_icon-print:before,.o_icon_print:before{content:"\f02f"}.o_icon-camera:before{content:"\f030"}.o_icon-font:before{content:"\f031"}.o_icon-bold:before{content:"\f032"}.o_icon-italic:before{content:"\f033"}.o_icon-text-height:before{content:"\f034"}.o_icon-text-width:before{content:"\f035"}.o_icon-align-left:before{content:"\f036"}.o_icon-align-center:before{content:"\f037"}.o_icon-align-right:before{content:"\f038"}.o_icon-align-justify:before{content:"\f039"}.o_icon-list:before,.o_icon_list:before{content:"\f03a"}.o_icon-dedent:before,.o_icon-outdent:before{content:"\f03b"}.o_icon-indent:before{content:"\f03c"}.o_icon-video-camera:before,.o_FileResource-PODCAST_icon:before,.o_podcast_icon:before{content:"\f03d"}.o_icon-photo:before,.o_icon-image:before,.o_icon-picture-o:before{content:"\f03e"}.o_icon-pencil:before,.o_icon_notes:before{content:"\f040"}.o_icon-map-marker:before{content:"\f041"}.o_icon-adjust:before{content:"\f042"}.o_icon-tint:before{content:"\f043"}.o_icon-edit:before,.o_icon_edit:before,.o_icon_edit_file:before,.o_icon_edit_metadata:before,.o_icon_readonly:before,.o_icon_readwrite:before,.o_icon-pencil-square-o:before,.o_FileResource-TEST_icon:before,.o_iqtest_icon:before,.o_iqself_icon:before{content:"\f044"}.o_icon-share-square-o:before{content:"\f045"}.o_icon-check-square-o:before,.o_cl_icon:before{content:"\f046"}.o_icon-arrows:before,.o_icon_move:before{content:"\f047"}.o_icon-step-backward:before{content:"\f048"}.o_icon-fast-backward:before{content:"\f049"}.o_icon-backward:before{content:"\f04a"}.o_icon-play:before{content:"\f04b"}.o_icon-pause:before{content:"\f04c"}.o_icon-stop:before{content:"\f04d"}.o_icon-forward:before{content:"\f04e"}.o_icon-fast-forward:before{content:"\f050"}.o_icon-step-forward:before{content:"\f051"}.o_icon-eject:before{content:"\f052"}.o_icon-chevron-left:before{content:"\f053"}.o_icon-chevron-right:before,.o_icon_start:before{content:"\f054"}.o_icon-plus-circle:before{content:"\f055"}.o_icon-minus-circle:before,.o_icon_delete:before{content:"\f056"}.o_icon-times-circle:before,.o_icon_failed:before{content:"\f057"}.o_icon-check-circle:before,.o_icon_passed:before,.o_midpub:before{content:"\f058"}.o_icon-question-circle:before,.o_icon_help:before{content:"\f059"}.o_icon-info-circle:before,.o_icon_impress:before,.o_infomsg_icon:before{content:"\f05a"}.o_icon-crosshairs:before{content:"\f05b"}.o_icon-times-circle-o:before,.o_icon_status_unavailable:before{content:"\f05c"}.o_icon-check-circle-o:before{content:"\f05d"}.o_icon-ban:before{content:"\f05e"}.o_icon-arrow-left:before{content:"\f060"}.o_icon-arrow-right:before{content:"\f061"}.o_icon-arrow-up:before{content:"\f062"}.o_icon-arrow-down:before{content:"\f063"}.o_icon-mail-forward:before,.o_icon-share:before,.o_icon_publish:before{content:"\f064"}.o_icon-expand:before{content:"\f065"}.o_icon-compress:before{content:"\f066"}.o_icon-plus:before{content:"\f067"}.o_icon-minus:before{content:"\f068"}.o_icon-asterisk:before,.o_icon_mandatory:before{content:"\f069"}.o_icon-exclamation-circle:before{content:"\f06a"}.o_icon-gift:before,.o_ac_free_icon:before{content:"\f06b"}.o_icon-leaf:before{content:"\f06c"}.o_icon-fire:before{content:"\f06d"}.o_icon-eye:before,.o_icon_details:before,.o_icon_preview:before{content:"\f06e"}.o_icon-eye-slash:before{content:"\f070"}.o_icon-warning:before,.o_midwarn:before,.o_miderr:before,.o_icon-exclamation-triangle:before{content:"\f071"}.o_icon-plane:before{content:"\f072"}.o_icon-calendar:before,.o_icon_calendar:before,.o_icon_lifecycle:before,.o_cal_icon:before{content:"\f073"}.o_icon-random:before{content:"\f074"}.o_icon-comment:before,.o_icon_status_chat:before{content:"\f075"}.o_icon-magnet:before{content:"\f076"}.o_icon-chevron-up:before,.o_icon_top:before{content:"\f077"}.o_icon-chevron-down:before{content:"\f078"}.o_icon-retweet:before,.o_icon_managed:before{content:"\f079"}.o_icon-shopping-cart:before{content:"\f07a"}.o_icon-folder:before{content:"\f07b"}.o_icon-folder-open:before{content:"\f07c"}.o_icon-arrows-v:before{content:"\f07d"}.o_icon-arrows-h:before{content:"\f07e"}.o_icon-bar-chart-o:before{content:"\f080"}.o_icon-twitter-square:before,.o_icon_twitter:before{content:"\f081"}.o_icon-facebook-square:before,.o_icon_facebook:before{content:"\f082"}.o_icon-camera-retro:before{content:"\f083"}.o_icon-key:before,.o_ac_token_icon:before{content:"\f084"}.o_icon-gears:before,.o_icon_settings:before,.o_icon-cogs:before{content:"\f085"}.o_icon-comments:before,.o_icon_comments:before{content:"\f086"}.o_icon-thumbs-o-up:before,.o_ms_icon:before{content:"\f087"}.o_icon-thumbs-o-down:before{content:"\f088"}.o_icon-star-half:before{content:"\f089"}.o_icon-heart-o:before{content:"\f08a"}.o_icon-sign-out:before,.o_icon_logout:before{content:"\f08b"}.o_icon-linkedin-square:before{content:"\f08c"}.o_icon-thumb-tack:before{content:"\f08d"}.o_icon-external-link:before,.o_icon_content_popup:before,.o_FileResource.SHAREDFOLDER:before,.o_tu_icon:before,.o_lti_icon:before{content:"\f08e"}.o_icon-sign-in:before,.o_icon_login:before,.o_en_icon:before{content:"\f090"}.o_icon-trophy:before,.o_icon_assessment_tool:before{content:"\f091"}.o_icon-github-square:before{content:"\f092"}.o_icon-upload:before,.o_icon_upload:before{content:"\f093"}.o_icon-lemon-o:before{content:"\f094"}.o_icon-phone:before{content:"\f095"}.o_icon-square-o:before{content:"\f096"}.o_icon-bookmark-o:before,.o_icon_bookmark_add:before{content:"\f097"}.o_icon-phone-square:before{content:"\f098"}.o_icon-twitter:before{content:"\f099"}.o_icon-facebook:before{content:"\f09a"}.o_icon-github:before{content:"\f09b"}.o_icon-unlock:before{content:"\f09c"}.o_icon-credit-card:before,.o_ac_paypal_icon:before{content:"\f09d"}.o_icon-rss:before{content:"\f09e"}.o_icon-hdd-o:before{content:"\f0a0"}.o_icon-bullhorn:before,.o_FileResource-BLOG_icon:before,.o_blog_icon:before{content:"\f0a1"}.o_icon-bell:before{content:"\f0f3"}.o_icon-certificate:before,.o_icon_certificate:before{content:"\f0a3"}.o_icon-hand-o-right:before{content:"\f0a4"}.o_icon-hand-o-left:before{content:"\f0a5"}.o_icon-hand-o-up:before{content:"\f0a6"}.o_icon-hand-o-down:before{content:"\f0a7"}.o_icon-arrow-circle-left:before{content:"\f0a8"}.o_icon-arrow-circle-right:before{content:"\f0a9"}.o_icon-arrow-circle-up:before{content:"\f0aa"}.o_icon-arrow-circle-down:before{content:"\f0ab"}.o_icon-globe:before,.o_icon_language:before,.o_FileResource-WIKI_icon:before,.o_wiki_icon:before{content:"\f0ac"}.o_icon-wrench:before{content:"\f0ad"}.o_icon-tasks:before,.o_ta_icon:before{content:"\f0ae"}.o_icon-filter:before,.o_icon_filter:before{content:"\f0b0"}.o_icon-briefcase:before{content:"\f0b1"}.o_icon-arrows-alt:before{content:"\f0b2"}.o_icon-group:before,.o_ac_group_icon:before,.o_icon-users:before,.o_icon_membersmanagement:before,.o_cmembers_icon:before{content:"\f0c0"}.o_icon-chain:before,.o_icon-link:before,.o_icon_link:before,.o_ll_icon:before{content:"\f0c1"}.o_icon-cloud:before{content:"\f0c2"}.o_icon-flask:before{content:"\f0c3"}.o_icon-cut:before,.o_icon-scissors:before{content:"\f0c4"}.o_icon-copy:before,.o_icon_copy:before,.o_icon-files-o:before,.o_dialog_icon:before{content:"\f0c5"}.o_icon-paperclip:before{content:"\f0c6"}.o_icon-save:before,.o_icon-floppy-o:before{content:"\f0c7"}.o_icon-square:before{content:"\f0c8"}.o_icon-navicon:before,.o_icon-reorder:before,.o_icon-bars:before{content:"\f0c9"}.o_icon-list-ul:before{content:"\f0ca"}.o_icon-list-ol:before{content:"\f0cb"}.o_icon-strikethrough:before{content:"\f0cc"}.o_icon-underline:before{content:"\f0cd"}.o_icon-table:before,.o_icon_table:before{content:"\f0ce"}.o_icon-magic:before,.o_icon_wizard:before{content:"\f0d0"}.o_icon-truck:before{content:"\f0d1"}.o_icon-pinterest:before{content:"\f0d2"}.o_icon-pinterest-square:before{content:"\f0d3"}.o_icon-google-plus-square:before,.o_icon_google:before{content:"\f0d4"}.o_icon-google-plus:before{content:"\f0d5"}.o_icon-money:before{content:"\f0d6"}.o_icon-caret-down:before,.o_icon_close_tree:before{content:"\f0d7"}.o_icon-caret-up:before{content:"\f0d8"}.o_icon-caret-left:before{content:"\f0d9"}.o_icon-caret-right:before,.o_icon_open_tree:before{content:"\f0da"}.o_icon-columns:before{content:"\f0db"}.o_icon-unsorted:before,.o_icon-sort:before,.o_icon_sort:before{content:"\f0dc"}.o_icon-sort-down:before,.o_icon-sort-desc:before,.o_icon_sort_desc:before{content:"\f0dd"}.o_icon-sort-up:before,.o_icon-sort-asc:before,.o_icon_sort_asc:before{content:"\f0de"}.o_icon-envelope:before,.o_icon_message:before{content:"\f0e0"}.o_icon-linkedin:before{content:"\f0e1"}.o_icon-rotate-left:before,.o_icon-undo:before{content:"\f0e2"}.o_icon-legal:before,.o_icon-gavel:before{content:"\f0e3"}.o_icon-dashboard:before,.o_icon-tachometer:before,.o_icon_statistics_tool:before{content:"\f0e4"}.o_icon-comment-o:before,.o_icon_chat:before,.o_icon_comments_none:before{content:"\f0e5"}.o_icon-comments-o:before,.o_fo_icon:before{content:"\f0e6"}.o_icon-flash:before,.o_icon-bolt:before{content:"\f0e7"}.o_icon-sitemap:before{content:"\f0e8"}.o_icon-umbrella:before{content:"\f0e9"}.o_icon-paste:before,.o_icon-clipboard:before{content:"\f0ea"}.o_icon-lightbulb-o:before{content:"\f0eb"}.o_icon-exchange:before{content:"\f0ec"}.o_icon-cloud-download:before{content:"\f0ed"}.o_icon-cloud-upload:before{content:"\f0ee"}.o_icon-user-md:before{content:"\f0f0"}.o_icon-stethoscope:before{content:"\f0f1"}.o_icon-suitcase:before{content:"\f0f2"}.o_icon-bell-o:before{content:"\f0a2"}.o_icon-coffee:before{content:"\f0f4"}.o_icon-cutlery:before{content:"\f0f5"}.o_icon-file-text-o:before,.o_sp_icon:before,.o_cp_item:before{content:"\f0f6"}.o_icon-building-o:before{content:"\f0f7"}.o_icon-hospital-o:before{content:"\f0f8"}.o_icon-ambulance:before{content:"\f0f9"}.o_icon-medkit:before{content:"\f0fa"}.o_icon-fighter-jet:before,.o_icon_new_document:before,.o_icon_new_folder:before,.o_icon_read:before,.o_icon_to_read:before{content:"\f0fb"}.o_icon-beer:before{content:"\f0fc"}.o_icon-h-square:before{content:"\f0fd"}.o_icon-plus-square:before{content:"\f0fe"}.o_icon-angle-double-left:before,.o_icon_move_left:before{content:"\f100"}.o_icon-angle-double-right:before,.o_icon_move_right:before{content:"\f101"}.o_icon-angle-double-up:before{content:"\f102"}.o_icon-angle-double-down:before{content:"\f103"}.o_icon-angle-left:before{content:"\f104"}.o_icon-angle-right:before{content:"\f105"}.o_icon-angle-up:before{content:"\f106"}.o_icon-angle-down:before{content:"\f107"}.o_icon-desktop:before,.o_vc_icon:before,.o_vitero_icon:before,.o_openmeetings_icon:before{content:"\f108"}.o_icon-laptop:before{content:"\f109"}.o_icon-tablet:before{content:"\f10a"}.o_icon-mobile-phone:before,.o_icon-mobile:before{content:"\f10b"}.o_icon-circle-o:before,.o_projectbroker_icon:before{content:"\f10c"}.o_icon-quote-left:before{content:"\f10d"}.o_icon-quote-right:before{content:"\f10e"}.o_icon-spinner:before{content:"\f110"}.o_icon-circle:before,.o_icon_status_available:before{content:"\f111"}.o_icon-mail-reply:before,.o_icon-reply:before{content:"\f112"}.o_icon-github-alt:before{content:"\f113"}.o_icon-folder-o:before,.o_icon_coursefolder:before{content:"\f114"}.o_icon-folder-open-o:before,.o_bc_icon:before{content:"\f115"}.o_icon-smile-o:before{content:"\f118"}.o_icon-frown-o:before{content:"\f119"}.o_icon-meh-o:before,.o_FileResource-SURVEY_icon:before,.o_iqsurv_icon:before{content:"\f11a"}.o_icon-gamepad:before{content:"\f11b"}.o_icon-keyboard-o:before{content:"\f11c"}.o_icon-flag-o:before{content:"\f11d"}.o_icon-flag-checkered:before{content:"\f11e"}.o_icon-terminal:before{content:"\f120"}.o_icon-code:before{content:"\f121"}.o_icon-mail-reply-all:before,.o_icon-reply-all:before{content:"\f122"}.o_icon-star-half-empty:before,.o_icon-star-half-full:before,.o_icon-star-half-o:before{content:"\f123"}.o_icon-location-arrow:before{content:"\f124"}.o_icon-crop:before{content:"\f125"}.o_icon-code-fork:before{content:"\f126"}.o_icon-unlink:before,.o_icon-chain-broken:before{content:"\f127"}.o_icon-question:before{content:"\f128"}.o_icon-info:before{content:"\f129"}.o_icon-exclamation:before,.o_icon_error:before{content:"\f12a"}.o_icon-superscript:before{content:"\f12b"}.o_icon-subscript:before{content:"\f12c"}.o_icon-eraser:before,.o_middel:before{content:"\f12d"}.o_icon-puzzle-piece:before,.o_EPStructuredMapTemplate_icon:before,.o_ep_icon:before{content:"\f12e"}.o_icon-microphone:before{content:"\f130"}.o_icon-microphone-slash:before{content:"\f131"}.o_icon-shield:before{content:"\f132"}.o_icon-calendar-o:before{content:"\f133"}.o_icon-fire-extinguisher:before{content:"\f134"}.o_icon-rocket:before{content:"\f135"}.o_icon-maxcdn:before{content:"\f136"}.o_icon-chevron-circle-left:before{content:"\f137"}.o_icon-chevron-circle-right:before{content:"\f138"}.o_icon-chevron-circle-up:before{content:"\f139"}.o_icon-chevron-circle-down:before{content:"\f13a"}.o_icon-html5:before{content:"\f13b"}.o_icon-css3:before{content:"\f13c"}.o_icon-anchor:before{content:"\f13d"}.o_icon-unlock-alt:before{content:"\f13e"}.o_icon-bullseye:before{content:"\f140"}.o_icon-ellipsis-h:before{content:"\f141"}.o_icon-ellipsis-v:before{content:"\f142"}.o_icon-rss-square:before{content:"\f143"}.o_icon-play-circle:before{content:"\f144"}.o_icon-ticket:before{content:"\f145"}.o_icon-minus-square:before{content:"\f146"}.o_icon-minus-square-o:before{content:"\f147"}.o_icon-level-up:before{content:"\f148"}.o_icon-level-down:before{content:"\f149"}.o_icon-check-square:before{content:"\f14a"}.o_icon-pencil-square:before{content:"\f14b"}.o_icon-external-link-square:before{content:"\f14c"}.o_icon-share-square:before{content:"\f14d"}.o_icon-compass:before{content:"\f14e"}.o_icon-toggle-down:before,.o_icon_show_more:before,.o_icon-caret-square-o-down:before{content:"\f150"}.o_icon-toggle-up:before,.o_icon_show_less:before,.o_icon-caret-square-o-up:before{content:"\f151"}.o_icon-toggle-right:before,.o_icon-caret-square-o-right:before{content:"\f152"}.o_icon-euro:before,.o_icon-eur:before{content:"\f153"}.o_icon-gbp:before{content:"\f154"}.o_icon-dollar:before,.o_icon-usd:before{content:"\f155"}.o_icon-rupee:before,.o_icon-inr:before{content:"\f156"}.o_icon-cny:before,.o_icon-rmb:before,.o_icon-yen:before,.o_icon-jpy:before{content:"\f157"}.o_icon-ruble:before,.o_icon-rouble:before,.o_icon-rub:before{content:"\f158"}.o_icon-won:before,.o_icon-krw:before{content:"\f159"}.o_icon-bitcoin:before,.o_icon-btc:before{content:"\f15a"}.o_icon-file:before{content:"\f15b"}.o_icon-file-text:before{content:"\f15c"}.o_icon-sort-alpha-asc:before{content:"\f15d"}.o_icon-sort-alpha-desc:before{content:"\f15e"}.o_icon-sort-amount-asc:before,.o_icon_sort_menu:before{content:"\f160"}.o_icon-sort-amount-desc:before{content:"\f161"}.o_icon-sort-numeric-asc:before{content:"\f162"}.o_icon-sort-numeric-desc:before{content:"\f163"}.o_icon-thumbs-up:before{content:"\f164"}.o_icon-thumbs-down:before{content:"\f165"}.o_icon-youtube-square:before{content:"\f166"}.o_icon-youtube:before{content:"\f167"}.o_icon-xing:before{content:"\f168"}.o_icon-xing-square:before{content:"\f169"}.o_icon-youtube-play:before{content:"\f16a"}.o_icon-dropbox:before{content:"\f16b"}.o_icon-stack-overflow:before{content:"\f16c"}.o_icon-instagram:before{content:"\f16d"}.o_icon-flickr:before{content:"\f16e"}.o_icon-adn:before{content:"\f170"}.o_icon-bitbucket:before{content:"\f171"}.o_icon-bitbucket-square:before{content:"\f172"}.o_icon-tumblr:before{content:"\f173"}.o_icon-tumblr-square:before{content:"\f174"}.o_icon-long-arrow-down:before{content:"\f175"}.o_icon-long-arrow-up:before{content:"\f176"}.o_icon-long-arrow-left:before{content:"\f177"}.o_icon-long-arrow-right:before{content:"\f178"}.o_icon-apple:before{content:"\f179"}.o_icon-windows:before{content:"\f17a"}.o_icon-android:before{content:"\f17b"}.o_icon-linux:before{content:"\f17c"}.o_icon-dribbble:before{content:"\f17d"}.o_icon-skype:before{content:"\f17e"}.o_icon-foursquare:before{content:"\f180"}.o_icon-trello:before{content:"\f181"}.o_icon-female:before{content:"\f182"}.o_icon-male:before{content:"\f183"}.o_icon-gittip:before{content:"\f184"}.o_icon-sun-o:before{content:"\f185"}.o_icon-moon-o:before{content:"\f186"}.o_icon-archive:before,.o_FileResource-IMSCP_icon:before,.o_FileResource-SCORMCP_icon:before,.o_cp_icon:before,.o_scorm_icon:before{content:"\f187"}.o_icon-bug:before,.o_icon_dev:before{content:"\f188"}.o_icon-vk:before{content:"\f189"}.o_icon-weibo:before{content:"\f18a"}.o_icon-renren:before{content:"\f18b"}.o_icon-pagelines:before{content:"\f18c"}.o_icon-stack-exchange:before{content:"\f18d"}.o_icon-arrow-circle-o-right:before{content:"\f18e"}.o_icon-arrow-circle-o-left:before{content:"\f190"}.o_icon-toggle-left:before,.o_icon-caret-square-o-left:before{content:"\f191"}.o_icon-dot-circle-o:before,.o_icon_status_dnd:before{content:"\f192"}.o_icon-wheelchair:before{content:"\f193"}.o_icon-vimeo-square:before{content:"\f194"}.o_icon-turkish-lira:before,.o_icon-try:before{content:"\f195"}.o_icon-plus-square-o:before{content:"\f196"}.o_icon-space-shuttle:before{content:"\f197"}.o_icon-slack:before{content:"\f198"}.o_icon-envelope-square:before,.o_icon_mail:before{content:"\f199"}.o_icon-wordpress:before{content:"\f19a"}.o_icon-openid:before{content:"\f19b"}.o_icon-institution:before,.o_icon-bank:before,.o_icon-university:before{content:"\f19c"}.o_icon-mortar-board:before,.o_icon-graduation-cap:before{content:"\f19d"}.o_icon-yahoo:before{content:"\f19e"}.o_icon-google:before{content:"\f1a0"}.o_icon-reddit:before{content:"\f1a1"}.o_icon-reddit-square:before{content:"\f1a2"}.o_icon-stumbleupon-circle:before{content:"\f1a3"}.o_icon-stumbleupon:before{content:"\f1a4"}.o_icon-delicious:before,.o_icon_delicious:before{content:"\f1a5"}.o_icon-digg:before,.o_icon_digg:before{content:"\f1a6"}.o_icon-pied-piper-square:before,.o_icon-pied-piper:before{content:"\f1a7"}.o_icon-pied-piper-alt:before{content:"\f1a8"}.o_icon-drupal:before{content:"\f1a9"}.o_icon-joomla:before{content:"\f1aa"}.o_icon-language:before{content:"\f1ab"}.o_icon-fax:before{content:"\f1ac"}.o_icon-building:before{content:"\f1ad"}.o_icon-child:before{content:"\f1ae"}.o_icon-paw:before{content:"\f1b0"}.o_icon-spoon:before{content:"\f1b1"}.o_icon-cube:before,.o_icon_courseeditor:before,.o_CourseModule_icon:before{content:"\f1b2"}.o_icon-cubes:before,.o_st_icon:before{content:"\f1b3"}.o_icon-behance:before{content:"\f1b4"}.o_icon-behance-square:before{content:"\f1b5"}.o_icon-steam:before{content:"\f1b6"}.o_icon-steam-square:before{content:"\f1b7"}.o_icon-recycle:before{content:"\f1b8"}.o_icon-automobile:before,.o_icon-car:before{content:"\f1b9"}.o_icon-cab:before,.o_icon-taxi:before{content:"\f1ba"}.o_icon-tree:before{content:"\f1bb"}.o_icon-spotify:before{content:"\f1bc"}.o_icon-deviantart:before{content:"\f1bd"}.o_icon-soundcloud:before{content:"\f1be"}.o_icon-database:before,.o_icon_coursedb:before{content:"\f1c0"}.o_icon-file-pdf-o:before{content:"\f1c1"}.o_icon-file-word-o:before{content:"\f1c2"}.o_icon-file-excel-o:before{content:"\f1c3"}.o_icon-file-powerpoint-o:before{content:"\f1c4"}.o_icon-file-photo-o:before,.o_icon-file-picture-o:before,.o_icon-file-image-o:before{content:"\f1c5"}.o_icon-file-zip-o:before,.o_icon-file-archive-o:before{content:"\f1c6"}.o_icon-file-sound-o:before,.o_icon-file-audio-o:before{content:"\f1c7"}.o_icon-file-movie-o:before,.o_icon-file-video-o:before{content:"\f1c8"}.o_icon-file-code-o:before{content:"\f1c9"}.o_icon-vine:before{content:"\f1ca"}.o_icon-codepen:before{content:"\f1cb"}.o_icon-jsfiddle:before{content:"\f1cc"}.o_icon-life-bouy:before,.o_icon-life-saver:before,.o_icon-support:before,.o_icon-life-ring:before{content:"\f1cd"}.o_icon-circle-o-notch:before{content:"\f1ce"}.o_icon-ra:before,.o_icon-rebel:before{content:"\f1d0"}.o_icon-ge:before,.o_icon-empire:before{content:"\f1d1"}.o_icon-git-square:before{content:"\f1d2"}.o_icon-git:before{content:"\f1d3"}.o_icon-hacker-news:before{content:"\f1d4"}.o_icon-tencent-weibo:before{content:"\f1d5"}.o_icon-qq:before{content:"\f1d6"}.o_icon-wechat:before,.o_icon-weixin:before{content:"\f1d7"}.o_icon-send:before,.o_icon-paper-plane:before{content:"\f1d8"}.o_icon-send-o:before,.o_icon-paper-plane-o:before{content:"\f1d9"}.o_icon-history:before{content:"\f1da"}.o_icon-circle-thin:before,.o_icon_courseareas:before{content:"\f1db"}.o_icon-header:before{content:"\f1dc"}.o_icon-paragraph:before{content:"\f1dd"}.o_icon-sliders:before{content:"\f1de"}.o_icon-share-alt:before{content:"\f1e0"}.o_icon-share-alt-square:before{content:"\f1e1"}.o_icon-bomb:before{content:"\f1e2"}.o_icon_bookmark{color:#996633}.o_icon_bookmark_add{color:#999999}.o_icon_delete{color:#A87E7E}.o_icon_edit_metadata{color:#996633}.o_icon_help{cursor:help}.o_icon_new_document{color:pink}.o_icon_new_folder{color:violet}.o_icon_mandatory{color:#f0ad4e}.o_icon_managed{color:#999}.o_icon_read{color:green}.o_icon_readonly{color:red}.o_icon_status_available{color:#006633}.o_icon_status_dnd{color:#CCCC33}.o_icon_status_unavailable{color:#996633}.o_icon_to_read{color:blue}.o_portrait_dummy,.o_portrait_dummy_female_big,.o_portrait_dummy_male_big,.o_portrait_anonymous{width:100px;height:100px}.o_portrait_dummy{background-image:url("../light/images/portrait/dummy.png")}.o_portrait_dummy_female_big{background-image:url("../light/images/portrait/dummy_female_big.png")}.o_portrait_dummy_male_big{background-image:url("../light/images/portrait/dummy_male_big.png")}.o_portrait_anonymous{background-image:url("../light/images/portrait/dummy.png")}.o_portrait_dummy_small,.o_portrait_dummy_female_small,.o_portrait_dummy_male_small,.o_portrait_anonymous_small{width:30px;height:30px}.o_portrait_dummy_small{background-image:url("../light/images/portrait/dummy_small.png")}.o_portrait_dummy_female_small{background-image:url("../light/images/portrait/dummy_female_small.png")}.o_portrait_dummy_male_small{background-image:url("../light/images/portrait/dummy_male_small.png")}.o_portrait_anonymous_small{background-image:url("../light/images/portrait/dummy_small.png")}a.o_chelp{padding:1px 3px;font-size:10px;line-height:1.5;border-radius:2px}div.o_chelp_wrapper{position:relative}.o_undecorated:hover,a.o_icon:hover,.o_withEllipsis .o_morelink:hover,.o_withEllipsis .o_lesslink:hover,#o_main_wrapper #o_toplink:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_comments:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:hover,.o_catalog .o_level .o_meta .o_title a:hover,.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:hover,.o_repo_details .o_social .o_comments:hover,.o_undecorated:focus,a.o_icon:focus,.o_withEllipsis .o_morelink:focus,.o_withEllipsis .o_lesslink:focus,#o_main_wrapper #o_toplink:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_comments:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:focus,.o_catalog .o_level .o_meta .o_title a:focus,.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:focus,.o_repo_details .o_social .o_comments:focus{text-decoration:none}.o_block{margin:0.75em 0}.o_nowrap{white-space:nowrap}.o_video{display:inline-block}.o_image{display:inline-block;max-width:100%}.o_rotate_90,#o_main_wrapper #o_main_container #o_main_center #o_offcanvas_toggle{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3)}.o_segments_content{margin-top:20px}.o_withEllipsis .o_morelink,.o_withEllipsis .o_lesslink{display:none}.o_withEllipsis.o_hasOverflow .o_morelink{display:block}.o_withEllipsis.o_hasOverflow .o_lesslink{display:none}.o_withEllipsis.o_hasOverflow.o_showOverflow{height:auto !important}.o_withEllipsis.o_hasOverflow.o_showOverflow .o_morelink{display:none}.o_withEllipsis.o_hasOverflow.o_showOverflow .o_lesslink{display:block}.o_info,.o_note,.o_form .o_desc,.o_important,.o_warning,.o_form .o_warning,.o_error,.o_form .o_info{margin:20px 0;padding:20px;background-color:#eee;border-left:3px solid #d4d4d4}.o_info h2,.o_note h2,.o_form .o_desc h2,.o_important h2,.o_warning h2,.o_form .o_warning h2,.o_error h2,.o_form .o_info h2,.o_info h3,.o_note h3,.o_form .o_desc h3,.o_important h3,.o_warning h3,.o_form .o_warning h3,.o_error h3,.o_form .o_info h3,.o_info h4,.o_note h4,.o_form .o_desc h4,.o_important h4,.o_warning h4,.o_form .o_warning h4,.o_error h4,.o_form .o_info h4,.o_info h5,.o_note h5,.o_form .o_desc h5,.o_important h5,.o_warning h5,.o_form .o_warning h5,.o_error h5,.o_form .o_info h5{color:#bbbbbb}p.o_info,p.o_note,.o_form p.o_desc,p.o_important,p.o_warning,.o_form p.o_warning,p.o_error,.o_form p.o_info,div.o_info,div.o_note,.o_form div.o_desc,div.o_important,div.o_warning,.o_form div.o_warning,div.o_error,.o_form div.o_info{margin:20px 0}.o_note,.o_form .o_desc{background-color:#f4f8fa;border-color:#5bc0de}.o_note h2,.o_form .o_desc h2,.o_note h3,.o_form .o_desc h3,.o_note h4,.o_form .o_desc h4,.o_note h5,.o_form .o_desc h5{color:#5bc0de}p.o_note,.o_form p.o_desc,div.o_note,.o_form div.o_desc{margin:20px 0}.o_important{background-color:#FFF1A4;border-color:#F4D000}.o_important h2,.o_important h3,.o_important h4,.o_important h5{color:#F4D000}p.o_important,div.o_important{margin:20px 0}.o_warning,.o_form .o_warning{background-color:#FFD5AA;border-color:#FF9E3E}.o_warning h2,.o_form .o_warning h2,.o_warning h3,.o_form .o_warning h3,.o_warning h4,.o_form .o_warning h4,.o_warning h5,.o_form .o_warning h5{color:#FF9E3E}o.b_warning,div.o_warning,.o_form div.o_warning{margin:20px 0}.o_error{background-color:#fdf7f7;border-color:#d9534f}.o_error h2,.o_error h3,.o_error h4,.o_error h5{color:#d9534f}o.b_error,div.o_error{margin:20px 0}.b_border_box{border:1px solid #999;padding:1em;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}p.b_border_box,div.b_border_box{margin:1em 0}table.b_grid{background:transparent;border-collapse:separate}table.b_grid td,table.b_grid th{padding:2px 5px;border:1px solid #888}table.b_grid thead th{background:#ccc}table.b_grid tbody th{background:#eee}table.b_border{background:transparent;border-collapse:collapse}table.b_border td,table.b_border th{padding:2px 5px;border:1px solid #888}table.b_full{width:99.5%}table td{vertical-align:top}table.b_middle{background:transparent}table.b_middle td{vertical-align:middle}.b_selected,p.b_selected,div.b_selected{font-weight:bold}.b_dimmed,p.b_dimmed,div.b_dimmed{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.b_disabled,p.b_disabled,div.b_disabled{color:#999}.b_deleted,p.b_deleted,div.b_deleted{text-decoration:line-through}.b_xsmall,sup,sub,p.b_xsmall,div.b_xsmall{font-size:80%}.b_small,small,p.b_small,div.b_small{font-size:90%}.b_large,p.b_large,div.b_large{font-size:110%}.b_xlarge,big,p.b_xlarge,div.b_xlarge{font-size:120%}.b_align_normal{text-align:left}.b_align_center{text-align:center}.b_align_inverse{text-align:right}.o_ochre{color:#c8a959}.o_blue{color:#12223F}a.b_link_extern{background:transparent url("../../openolat/images/external_link_trimmed.png") no-repeat right top;padding-right:13px}a.b_link_mailto{background:transparent url("../../openolat/images/mail_small.png") no-repeat left center;padding-left:18px}a.b_link_forward{background:transparent url("../../openolat/images/arrow_right.png") no-repeat right center;padding-right:18px}img.b_float_left{float:left;margin:0 2em 2em 0}img.b_float_right{float:right;margin:0 0 2em 2em}img.b_centered{display:block;margin:0 auto 2em auto}img.o_emoticons_angel{background:url(../light/images/emoticons/smiley-angel.png);width:16px;height:16px}img.o_emoticons_angry{background:url(../light/images/emoticons/smiley-mad.png);width:16px;height:16px}img.o_emoticons_blushing{background:url(../light/images/emoticons/smiley-red.png);width:16px;height:16px}img.o_emoticons_confused{background:url(../light/images/emoticons/smiley-confuse.png);width:16px;height:16px}img.o_emoticons_cool{background:url(../light/images/emoticons/smiley-cool.png);width:16px;height:16px}img.o_emoticons_cry{background:url(../light/images/emoticons/smiley-cry.png);width:16px;height:16px}img.o_emoticons_devil{background:url(../light/images/emoticons/smiley-evil.png);width:16px;height:16px}img.o_emoticons_grin{background:url(../light/images/emoticons/smiley-grin.png);width:16px;height:16px}img.o_emoticons_kiss{background:url(../light/images/emoticons/smiley-kiss.png);width:16px;height:16px}img.o_emoticons_ohoh{background:url(../light/images/emoticons/smiley-eek.png);width:16px;height:16px}img.o_emoticons_sad{background:url(../light/images/emoticons/smiley-sad.png);width:16px;height:16px}img.o_emoticons_sick{background:url(../light/images/emoticons/smiley-sad-blue.png);width:16px;height:16px}img.o_emoticons_smile{background:url(../light/images/emoticons/smiley.png);width:16px;height:16px}img.o_emoticons_tongue{background:url(../light/images/emoticons/smiley-razz.png);width:16px;height:16px}img.o_emoticons_ugly{background:url(../light/images/emoticons/smiley-money.png);width:16px;height:16px}img.o_emoticons_weird{background:url(../light/images/emoticons/smiley-nerd.png);width:16px;height:16px}img.o_emoticons_wink{background:url(../light/images/emoticons/smiley-wink.png);width:16px;height:16px}img.o_emoticons_worried{background:url(../light/images/emoticons/smiley-roll-blue.png);width:16px;height:16px}img.o_emoticons_up{background:url(../light/images/emoticons/thumb-up.png);width:16px;height:16px}img.o_emoticons_down{background:url(../light/images/emoticons/thumb.png);width:16px;height:16px}html{position:relative;min-height:100%}body{min-height:100%;margin-bottom:60px}#o_navbar_wrapper{z-index:4}#o_navbar_wrapper #o_navbar_container{position:relative}#o_navbar_wrapper #o_navbar_container a.o_navbar-brand{font-size:40px;vertical-align:top;font-weight:bold;color:#31729B}#o_navbar_wrapper #o_navbar_container a.o_navbar-brand:after{content:"\221E"}#o_navbar_wrapper #o_navbar_container .o_navbar_tabs li a{padding-right:30px}#o_navbar_wrapper #o_navbar_container .o_navbar_tabs .o_navbar_tab_close{position:absolute;top:15px;right:0.5em;padding:0;width:1em;height:1em}#o_navbar_wrapper #o_navbar_container .o_navbar_tabs .o_navbar_tab_close i:before{color:#A87E7E}#o_navbar_wrapper #o_navbar_container .o_navbar_tabs .o_navbar_tab_close:hover i:before{color:#CC0000}#o_navbar_wrapper #o_navbar_container #o_navbar_tools #o_navbar_langchooser{color:#777;padding:15px}#o_navbar_wrapper #o_navbar_container #o_navbar_tools #o_navbar_langchooser form span+div{display:inline}#o_navbar_wrapper #o_navbar_container #o_navbar_tools #o_navbar_help a i{margin-right:0.4em}#o_navbar_wrapper #o_navbar_container #o_navbar_tools #o_navbar_my_menu .dropdown-toggle{padding-left:45px}#o_navbar_wrapper #o_navbar_container #o_navbar_tools #o_navbar_my_menu img{position:absolute;left:7px;top:10px;height:30px;width:30px}.o_navbar{position:relative;min-height:50px;margin-bottom:0;border:1px solid transparent}.o_navbar:before,.o_navbar:after{content:" ";display:table}.o_navbar:after{clear:both}.o_navbar-collapse{max-height:100%;overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.o_navbar-collapse:before,.o_navbar-collapse:after{content:" ";display:table}.o_navbar-collapse:after{clear:both}.o_navbar-collapse.o_collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.o_navbar-offcanvas .o_navbar-collapse{width:auto;border-top:0;box-shadow:none;margin-top:10px;margin-right:-15px;margin-left:-15px}.o_navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.o_navbar-brand:hover,.o_navbar-brand:focus{text-decoration:none}.o_navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.o_navbar-toggle:focus{outline:none}.o_navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.o_navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.o_navbar-nav{margin:7.5px -15px}.o_navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}.o_collapse .o_navbar-nav{float:left;margin:0}.o_collapse .o_navbar-nav>li{float:left}.o_collapse .o_navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.o_collapse .o_navbar-nav.o_navbar-right:last-child{margin-right:-15px}.o_collapse.o_navbar-collapse .o_navbar-left{float:left !important}.o_collapse.o_navbar-collapse .o_navbar-right{float:right !important}.o_navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (max-width: 767px){.o_navbar-form .form-group{margin-bottom:5px}}
+ */@font-face{font-family:'FontAwesome';src:url("../../../font-awesome/fonts/fontawesome-webfont.eot?v=4.1.0");src:url("../../../font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.1.0") format("embedded-opentype"),url("../../../font-awesome/fonts/fontawesome-webfont.woff?v=4.1.0") format("woff"),url("../../../font-awesome/fonts/fontawesome-webfont.ttf?v=4.1.0") format("truetype"),url("../../../font-awesome/fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.o_icon{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.o_icon-lg,.o_icon_help{font-size:1.33333em;line-height:0.75em;vertical-align:-15%}.o_icon-2x{font-size:2em}.o_icon-3x{font-size:3em}.o_icon-4x{font-size:4em}.o_icon-5x{font-size:5em}.o_icon-fw{width:1.28571em;text-align:center}.o_icon-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.o_icon-ul>li{position:relative}.o_icon-li{position:absolute;left:-2.14286em;width:2.14286em;top:0.14286em;text-align:center}.o_icon-li.o_icon-lg,.o_icon-li.o_icon_help{left:-1.85714em}.o_icon-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.pull-right,div.o_chelp_wrapper,.o_withEllipsis .o_ellipsis_links,#o_main_wrapper #o_main_container #o_main_right,.o_comments .o_comment_wrapper .o_reply,.o_comments .o_comment_wrapper .o_delete,.o_repo_details .o_lead .o_media{float:right}.pull-left,#o_main_wrapper #o_main_container #o_main_left,#o_navbar_imclient #o_im_message,#o_navbar_imclient #o_im_status,#o_navbar_imclient #o_im_summary,.o_comments .o_comment_wrapper .o_avatar,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating_wrapper,.o_catalog .o_sublevels .o_sublevel,.o_repo_details .o_social .o_rating_wrapper{float:left}.o_icon.pull-left,#o_main_wrapper #o_main_container .o_icon#o_main_left,#o_navbar_imclient .o_icon#o_im_message,#o_navbar_imclient .o_icon#o_im_status,#o_navbar_imclient .o_icon#o_im_summary,.o_comments .o_comment_wrapper .o_icon.o_avatar,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_icon.o_rating_wrapper,.o_catalog .o_sublevels .o_icon.o_sublevel,.o_repo_details .o_social .o_icon.o_rating_wrapper{margin-right:.3em}.o_icon.pull-right,div.o_icon.o_chelp_wrapper,.o_withEllipsis .o_icon.o_ellipsis_links,#o_main_wrapper #o_main_container .o_icon#o_main_right,.o_comments .o_comment_wrapper .o_icon.o_reply,.o_comments .o_comment_wrapper .o_icon.o_delete,.o_repo_details .o_lead .o_icon.o_media{margin-left:.3em}.o_icon-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.o_icon-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.o_icon-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.o_icon-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.o_icon-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.o_icon-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.o_icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.o_icon-stack-1x,.o_icon-stack-2x{position:absolute;left:0;width:100%;text-align:center}.o_icon-stack-1x{line-height:inherit}.o_icon-stack-2x{font-size:2em}.o_icon-inverse{color:#fff}.o_icon-glass:before{content:"\f000"}.o_icon-music:before{content:"\f001"}.o_icon-search:before,.o_icon_search:before{content:"\f002"}.o_icon-envelope-o:before,.o_co_icon:before{content:"\f003"}.o_icon-heart:before{content:"\f004"}.o_icon-star:before,.o_icon_rating_on:before,.o_rating .o_rating_items.o_enabled .o_icon:hover:before{content:"\f005"}.o_icon-star-o:before,.o_icon_rating_off:before{content:"\f006"}.o_icon-user:before{content:"\f007"}.o_icon-film:before{content:"\f008"}.o_icon-th-large:before{content:"\f009"}.o_icon-th:before{content:"\f00a"}.o_icon-th-list:before{content:"\f00b"}.o_icon-check:before,.o_icon_check:before{content:"\f00c"}.o_icon-times:before,.o_icon_close:before,.o_icon_close_tab:before,.o_icon_close_tool:before{content:"\f00d"}.o_icon-search-plus:before{content:"\f00e"}.o_icon-search-minus:before{content:"\f010"}.o_icon-power-off:before{content:"\f011"}.o_icon-signal:before{content:"\f012"}.o_icon-gear:before,.o_icon_customize:before,.o_icon_tool:before,.o_icon-cog:before{content:"\f013"}.o_icon-trash-o:before,.o_icon_delete_item:before{content:"\f014"}.o_icon-home:before{content:"\f015"}.o_icon-file-o:before{content:"\f016"}.o_icon-clock-o:before,.o_icon_expenditure:before{content:"\f017"}.o_icon-road:before{content:"\f018"}.o_icon-download:before,.o_icon_archive_tool:before,.o_icon_download:before{content:"\f019"}.o_icon-arrow-circle-o-down:before{content:"\f01a"}.o_icon-arrow-circle-o-up:before{content:"\f01b"}.o_icon-inbox:before{content:"\f01c"}.o_icon-play-circle-o:before{content:"\f01d"}.o_icon-rotate-right:before,.o_icon-repeat:before{content:"\f01e"}.o_icon-refresh:before,.o_icon_refresh:before{content:"\f021"}.o_icon-list-alt:before{content:"\f022"}.o_icon-lock:before,.o_ac_membersonly_icon:before,.o_midlock:before{content:"\f023"}.o_icon-flag:before{content:"\f024"}.o_icon-headphones:before{content:"\f025"}.o_icon-volume-off:before{content:"\f026"}.o_icon-volume-down:before{content:"\f027"}.o_icon-volume-up:before{content:"\f028"}.o_icon-qrcode:before{content:"\f029"}.o_icon-barcode:before{content:"\f02a"}.o_icon-tag:before{content:"\f02b"}.o_icon-tags:before{content:"\f02c"}.o_icon-book:before{content:"\f02d"}.o_icon-bookmark:before,.o_icon_bookmark:before{content:"\f02e"}.o_icon-print:before,.o_icon_print:before{content:"\f02f"}.o_icon-camera:before{content:"\f030"}.o_icon-font:before{content:"\f031"}.o_icon-bold:before{content:"\f032"}.o_icon-italic:before{content:"\f033"}.o_icon-text-height:before{content:"\f034"}.o_icon-text-width:before{content:"\f035"}.o_icon-align-left:before{content:"\f036"}.o_icon-align-center:before{content:"\f037"}.o_icon-align-right:before{content:"\f038"}.o_icon-align-justify:before{content:"\f039"}.o_icon-list:before,.o_icon_list:before{content:"\f03a"}.o_icon-dedent:before,.o_icon-outdent:before{content:"\f03b"}.o_icon-indent:before{content:"\f03c"}.o_icon-video-camera:before,.o_FileResource-PODCAST_icon:before,.o_podcast_icon:before{content:"\f03d"}.o_icon-photo:before,.o_icon-image:before,.o_icon-picture-o:before{content:"\f03e"}.o_icon-pencil:before,.o_icon_notes:before{content:"\f040"}.o_icon-map-marker:before{content:"\f041"}.o_icon-adjust:before{content:"\f042"}.o_icon-tint:before{content:"\f043"}.o_icon-edit:before,.o_icon_edit:before,.o_icon_edit_file:before,.o_icon_edit_metadata:before,.o_icon_readonly:before,.o_icon_readwrite:before,.o_icon-pencil-square-o:before,.o_FileResource-TEST_icon:before,.o_iqtest_icon:before,.o_iqself_icon:before{content:"\f044"}.o_icon-share-square-o:before{content:"\f045"}.o_icon-check-square-o:before,.o_cl_icon:before{content:"\f046"}.o_icon-arrows:before,.o_icon_move:before{content:"\f047"}.o_icon-step-backward:before{content:"\f048"}.o_icon-fast-backward:before{content:"\f049"}.o_icon-backward:before{content:"\f04a"}.o_icon-play:before{content:"\f04b"}.o_icon-pause:before{content:"\f04c"}.o_icon-stop:before{content:"\f04d"}.o_icon-forward:before{content:"\f04e"}.o_icon-fast-forward:before{content:"\f050"}.o_icon-step-forward:before{content:"\f051"}.o_icon-eject:before{content:"\f052"}.o_icon-chevron-left:before{content:"\f053"}.o_icon-chevron-right:before,.o_icon_start:before{content:"\f054"}.o_icon-plus-circle:before{content:"\f055"}.o_icon-minus-circle:before,.o_icon_delete:before{content:"\f056"}.o_icon-times-circle:before,.o_icon_failed:before{content:"\f057"}.o_icon-check-circle:before,.o_icon_passed:before,.o_midpub:before{content:"\f058"}.o_icon-question-circle:before,.o_icon_help:before{content:"\f059"}.o_icon-info-circle:before,.o_icon_impress:before,.o_infomsg_icon:before{content:"\f05a"}.o_icon-crosshairs:before{content:"\f05b"}.o_icon-times-circle-o:before,.o_icon_status_unavailable:before{content:"\f05c"}.o_icon-check-circle-o:before{content:"\f05d"}.o_icon-ban:before{content:"\f05e"}.o_icon-arrow-left:before{content:"\f060"}.o_icon-arrow-right:before{content:"\f061"}.o_icon-arrow-up:before{content:"\f062"}.o_icon-arrow-down:before{content:"\f063"}.o_icon-mail-forward:before,.o_icon-share:before,.o_icon_publish:before{content:"\f064"}.o_icon-expand:before{content:"\f065"}.o_icon-compress:before{content:"\f066"}.o_icon-plus:before{content:"\f067"}.o_icon-minus:before{content:"\f068"}.o_icon-asterisk:before,.o_icon_mandatory:before{content:"\f069"}.o_icon-exclamation-circle:before{content:"\f06a"}.o_icon-gift:before,.o_ac_free_icon:before{content:"\f06b"}.o_icon-leaf:before{content:"\f06c"}.o_icon-fire:before{content:"\f06d"}.o_icon-eye:before,.o_icon_details:before,.o_icon_preview:before{content:"\f06e"}.o_icon-eye-slash:before{content:"\f070"}.o_icon-warning:before,.o_midwarn:before,.o_miderr:before,.o_icon-exclamation-triangle:before{content:"\f071"}.o_icon-plane:before{content:"\f072"}.o_icon-calendar:before,.o_icon_calendar:before,.o_icon_lifecycle:before,.o_cal_icon:before{content:"\f073"}.o_icon-random:before{content:"\f074"}.o_icon-comment:before,.o_icon_status_chat:before{content:"\f075"}.o_icon-magnet:before{content:"\f076"}.o_icon-chevron-up:before,.o_icon_top:before{content:"\f077"}.o_icon-chevron-down:before{content:"\f078"}.o_icon-retweet:before,.o_icon_managed:before{content:"\f079"}.o_icon-shopping-cart:before{content:"\f07a"}.o_icon-folder:before{content:"\f07b"}.o_icon-folder-open:before{content:"\f07c"}.o_icon-arrows-v:before{content:"\f07d"}.o_icon-arrows-h:before{content:"\f07e"}.o_icon-bar-chart-o:before{content:"\f080"}.o_icon-twitter-square:before,.o_icon_twitter:before{content:"\f081"}.o_icon-facebook-square:before,.o_icon_facebook:before{content:"\f082"}.o_icon-camera-retro:before{content:"\f083"}.o_icon-key:before,.o_ac_token_icon:before{content:"\f084"}.o_icon-gears:before,.o_icon_settings:before,.o_icon-cogs:before{content:"\f085"}.o_icon-comments:before,.o_icon_comments:before{content:"\f086"}.o_icon-thumbs-o-up:before,.o_ms_icon:before{content:"\f087"}.o_icon-thumbs-o-down:before{content:"\f088"}.o_icon-star-half:before{content:"\f089"}.o_icon-heart-o:before{content:"\f08a"}.o_icon-sign-out:before,.o_icon_logout:before{content:"\f08b"}.o_icon-linkedin-square:before{content:"\f08c"}.o_icon-thumb-tack:before{content:"\f08d"}.o_icon-external-link:before,.o_icon_content_popup:before,.o_FileResource.SHAREDFOLDER:before,.o_tu_icon:before,.o_lti_icon:before{content:"\f08e"}.o_icon-sign-in:before,.o_icon_login:before,.o_en_icon:before{content:"\f090"}.o_icon-trophy:before,.o_icon_assessment_tool:before{content:"\f091"}.o_icon-github-square:before{content:"\f092"}.o_icon-upload:before,.o_icon_upload:before{content:"\f093"}.o_icon-lemon-o:before{content:"\f094"}.o_icon-phone:before{content:"\f095"}.o_icon-square-o:before{content:"\f096"}.o_icon-bookmark-o:before,.o_icon_bookmark_add:before{content:"\f097"}.o_icon-phone-square:before{content:"\f098"}.o_icon-twitter:before{content:"\f099"}.o_icon-facebook:before{content:"\f09a"}.o_icon-github:before{content:"\f09b"}.o_icon-unlock:before{content:"\f09c"}.o_icon-credit-card:before,.o_ac_paypal_icon:before{content:"\f09d"}.o_icon-rss:before{content:"\f09e"}.o_icon-hdd-o:before{content:"\f0a0"}.o_icon-bullhorn:before,.o_FileResource-BLOG_icon:before,.o_blog_icon:before{content:"\f0a1"}.o_icon-bell:before{content:"\f0f3"}.o_icon-certificate:before,.o_icon_certificate:before{content:"\f0a3"}.o_icon-hand-o-right:before{content:"\f0a4"}.o_icon-hand-o-left:before{content:"\f0a5"}.o_icon-hand-o-up:before{content:"\f0a6"}.o_icon-hand-o-down:before{content:"\f0a7"}.o_icon-arrow-circle-left:before{content:"\f0a8"}.o_icon-arrow-circle-right:before{content:"\f0a9"}.o_icon-arrow-circle-up:before{content:"\f0aa"}.o_icon-arrow-circle-down:before{content:"\f0ab"}.o_icon-globe:before,.o_icon_language:before,.o_FileResource-WIKI_icon:before,.o_wiki_icon:before{content:"\f0ac"}.o_icon-wrench:before{content:"\f0ad"}.o_icon-tasks:before,.o_ta_icon:before{content:"\f0ae"}.o_icon-filter:before,.o_icon_filter:before{content:"\f0b0"}.o_icon-briefcase:before{content:"\f0b1"}.o_icon-arrows-alt:before{content:"\f0b2"}.o_icon-group:before,.o_ac_group_icon:before,.o_icon-users:before,.o_icon_membersmanagement:before,.o_cmembers_icon:before{content:"\f0c0"}.o_icon-chain:before,.o_icon-link:before,.o_icon_link:before,.o_ll_icon:before{content:"\f0c1"}.o_icon-cloud:before{content:"\f0c2"}.o_icon-flask:before{content:"\f0c3"}.o_icon-cut:before,.o_icon-scissors:before{content:"\f0c4"}.o_icon-copy:before,.o_icon_copy:before,.o_icon-files-o:before,.o_dialog_icon:before{content:"\f0c5"}.o_icon-paperclip:before{content:"\f0c6"}.o_icon-save:before,.o_icon-floppy-o:before{content:"\f0c7"}.o_icon-square:before{content:"\f0c8"}.o_icon-navicon:before,.o_icon-reorder:before,.o_icon-bars:before{content:"\f0c9"}.o_icon-list-ul:before{content:"\f0ca"}.o_icon-list-ol:before{content:"\f0cb"}.o_icon-strikethrough:before{content:"\f0cc"}.o_icon-underline:before{content:"\f0cd"}.o_icon-table:before,.o_icon_table:before{content:"\f0ce"}.o_icon-magic:before,.o_icon_wizard:before{content:"\f0d0"}.o_icon-truck:before{content:"\f0d1"}.o_icon-pinterest:before{content:"\f0d2"}.o_icon-pinterest-square:before{content:"\f0d3"}.o_icon-google-plus-square:before,.o_icon_google:before{content:"\f0d4"}.o_icon-google-plus:before{content:"\f0d5"}.o_icon-money:before{content:"\f0d6"}.o_icon-caret-down:before,.o_icon_close_tree:before{content:"\f0d7"}.o_icon-caret-up:before{content:"\f0d8"}.o_icon-caret-left:before{content:"\f0d9"}.o_icon-caret-right:before,.o_icon_open_tree:before{content:"\f0da"}.o_icon-columns:before{content:"\f0db"}.o_icon-unsorted:before,.o_icon-sort:before,.o_icon_sort:before{content:"\f0dc"}.o_icon-sort-down:before,.o_icon-sort-desc:before,.o_icon_sort_desc:before{content:"\f0dd"}.o_icon-sort-up:before,.o_icon-sort-asc:before,.o_icon_sort_asc:before{content:"\f0de"}.o_icon-envelope:before,.o_icon_message:before{content:"\f0e0"}.o_icon-linkedin:before{content:"\f0e1"}.o_icon-rotate-left:before,.o_icon-undo:before{content:"\f0e2"}.o_icon-legal:before,.o_icon-gavel:before{content:"\f0e3"}.o_icon-dashboard:before,.o_icon-tachometer:before,.o_icon_statistics_tool:before{content:"\f0e4"}.o_icon-comment-o:before,.o_icon_chat:before,.o_icon_comments_none:before{content:"\f0e5"}.o_icon-comments-o:before,.o_fo_icon:before{content:"\f0e6"}.o_icon-flash:before,.o_icon-bolt:before{content:"\f0e7"}.o_icon-sitemap:before{content:"\f0e8"}.o_icon-umbrella:before{content:"\f0e9"}.o_icon-paste:before,.o_icon-clipboard:before{content:"\f0ea"}.o_icon-lightbulb-o:before{content:"\f0eb"}.o_icon-exchange:before{content:"\f0ec"}.o_icon-cloud-download:before{content:"\f0ed"}.o_icon-cloud-upload:before{content:"\f0ee"}.o_icon-user-md:before{content:"\f0f0"}.o_icon-stethoscope:before{content:"\f0f1"}.o_icon-suitcase:before{content:"\f0f2"}.o_icon-bell-o:before{content:"\f0a2"}.o_icon-coffee:before{content:"\f0f4"}.o_icon-cutlery:before{content:"\f0f5"}.o_icon-file-text-o:before,.o_sp_icon:before,.o_cp_item:before{content:"\f0f6"}.o_icon-building-o:before{content:"\f0f7"}.o_icon-hospital-o:before{content:"\f0f8"}.o_icon-ambulance:before{content:"\f0f9"}.o_icon-medkit:before{content:"\f0fa"}.o_icon-fighter-jet:before,.o_icon_new_document:before,.o_icon_new_folder:before,.o_icon_read:before,.o_icon_to_read:before{content:"\f0fb"}.o_icon-beer:before{content:"\f0fc"}.o_icon-h-square:before{content:"\f0fd"}.o_icon-plus-square:before{content:"\f0fe"}.o_icon-angle-double-left:before,.o_icon_move_left:before{content:"\f100"}.o_icon-angle-double-right:before,.o_icon_move_right:before{content:"\f101"}.o_icon-angle-double-up:before,.o_icon_move_up:before{content:"\f102"}.o_icon-angle-double-down:before,.o_icon_move_down:before{content:"\f103"}.o_icon-angle-left:before{content:"\f104"}.o_icon-angle-right:before{content:"\f105"}.o_icon-angle-up:before{content:"\f106"}.o_icon-angle-down:before{content:"\f107"}.o_icon-desktop:before,.o_vc_icon:before,.o_vitero_icon:before,.o_openmeetings_icon:before{content:"\f108"}.o_icon-laptop:before{content:"\f109"}.o_icon-tablet:before{content:"\f10a"}.o_icon-mobile-phone:before,.o_icon-mobile:before{content:"\f10b"}.o_icon-circle-o:before,.o_projectbroker_icon:before{content:"\f10c"}.o_icon-quote-left:before{content:"\f10d"}.o_icon-quote-right:before{content:"\f10e"}.o_icon-spinner:before{content:"\f110"}.o_icon-circle:before,.o_icon_status_available:before{content:"\f111"}.o_icon-mail-reply:before,.o_icon-reply:before{content:"\f112"}.o_icon-github-alt:before{content:"\f113"}.o_icon-folder-o:before,.o_icon_coursefolder:before{content:"\f114"}.o_icon-folder-open-o:before,.o_bc_icon:before{content:"\f115"}.o_icon-smile-o:before{content:"\f118"}.o_icon-frown-o:before{content:"\f119"}.o_icon-meh-o:before,.o_FileResource-SURVEY_icon:before,.o_iqsurv_icon:before{content:"\f11a"}.o_icon-gamepad:before{content:"\f11b"}.o_icon-keyboard-o:before{content:"\f11c"}.o_icon-flag-o:before{content:"\f11d"}.o_icon-flag-checkered:before{content:"\f11e"}.o_icon-terminal:before{content:"\f120"}.o_icon-code:before{content:"\f121"}.o_icon-mail-reply-all:before,.o_icon-reply-all:before{content:"\f122"}.o_icon-star-half-empty:before,.o_icon-star-half-full:before,.o_icon-star-half-o:before{content:"\f123"}.o_icon-location-arrow:before{content:"\f124"}.o_icon-crop:before{content:"\f125"}.o_icon-code-fork:before{content:"\f126"}.o_icon-unlink:before,.o_icon-chain-broken:before{content:"\f127"}.o_icon-question:before{content:"\f128"}.o_icon-info:before{content:"\f129"}.o_icon-exclamation:before,.o_icon_error:before{content:"\f12a"}.o_icon-superscript:before{content:"\f12b"}.o_icon-subscript:before{content:"\f12c"}.o_icon-eraser:before,.o_middel:before{content:"\f12d"}.o_icon-puzzle-piece:before,.o_EPStructuredMapTemplate_icon:before,.o_ep_icon:before{content:"\f12e"}.o_icon-microphone:before{content:"\f130"}.o_icon-microphone-slash:before{content:"\f131"}.o_icon-shield:before{content:"\f132"}.o_icon-calendar-o:before{content:"\f133"}.o_icon-fire-extinguisher:before{content:"\f134"}.o_icon-rocket:before{content:"\f135"}.o_icon-maxcdn:before{content:"\f136"}.o_icon-chevron-circle-left:before{content:"\f137"}.o_icon-chevron-circle-right:before{content:"\f138"}.o_icon-chevron-circle-up:before{content:"\f139"}.o_icon-chevron-circle-down:before{content:"\f13a"}.o_icon-html5:before{content:"\f13b"}.o_icon-css3:before{content:"\f13c"}.o_icon-anchor:before{content:"\f13d"}.o_icon-unlock-alt:before{content:"\f13e"}.o_icon-bullseye:before{content:"\f140"}.o_icon-ellipsis-h:before{content:"\f141"}.o_icon-ellipsis-v:before{content:"\f142"}.o_icon-rss-square:before{content:"\f143"}.o_icon-play-circle:before{content:"\f144"}.o_icon-ticket:before{content:"\f145"}.o_icon-minus-square:before{content:"\f146"}.o_icon-minus-square-o:before{content:"\f147"}.o_icon-level-up:before{content:"\f148"}.o_icon-level-down:before{content:"\f149"}.o_icon-check-square:before{content:"\f14a"}.o_icon-pencil-square:before{content:"\f14b"}.o_icon-external-link-square:before{content:"\f14c"}.o_icon-share-square:before{content:"\f14d"}.o_icon-compass:before{content:"\f14e"}.o_icon-toggle-down:before,.o_icon_show_more:before,.o_icon-caret-square-o-down:before{content:"\f150"}.o_icon-toggle-up:before,.o_icon_show_less:before,.o_icon-caret-square-o-up:before{content:"\f151"}.o_icon-toggle-right:before,.o_icon-caret-square-o-right:before{content:"\f152"}.o_icon-euro:before,.o_icon-eur:before{content:"\f153"}.o_icon-gbp:before{content:"\f154"}.o_icon-dollar:before,.o_icon-usd:before{content:"\f155"}.o_icon-rupee:before,.o_icon-inr:before{content:"\f156"}.o_icon-cny:before,.o_icon-rmb:before,.o_icon-yen:before,.o_icon-jpy:before{content:"\f157"}.o_icon-ruble:before,.o_icon-rouble:before,.o_icon-rub:before{content:"\f158"}.o_icon-won:before,.o_icon-krw:before{content:"\f159"}.o_icon-bitcoin:before,.o_icon-btc:before{content:"\f15a"}.o_icon-file:before{content:"\f15b"}.o_icon-file-text:before{content:"\f15c"}.o_icon-sort-alpha-asc:before{content:"\f15d"}.o_icon-sort-alpha-desc:before{content:"\f15e"}.o_icon-sort-amount-asc:before,.o_icon_sort_menu:before{content:"\f160"}.o_icon-sort-amount-desc:before{content:"\f161"}.o_icon-sort-numeric-asc:before{content:"\f162"}.o_icon-sort-numeric-desc:before{content:"\f163"}.o_icon-thumbs-up:before{content:"\f164"}.o_icon-thumbs-down:before{content:"\f165"}.o_icon-youtube-square:before{content:"\f166"}.o_icon-youtube:before{content:"\f167"}.o_icon-xing:before{content:"\f168"}.o_icon-xing-square:before{content:"\f169"}.o_icon-youtube-play:before{content:"\f16a"}.o_icon-dropbox:before{content:"\f16b"}.o_icon-stack-overflow:before{content:"\f16c"}.o_icon-instagram:before{content:"\f16d"}.o_icon-flickr:before{content:"\f16e"}.o_icon-adn:before{content:"\f170"}.o_icon-bitbucket:before{content:"\f171"}.o_icon-bitbucket-square:before{content:"\f172"}.o_icon-tumblr:before{content:"\f173"}.o_icon-tumblr-square:before{content:"\f174"}.o_icon-long-arrow-down:before{content:"\f175"}.o_icon-long-arrow-up:before{content:"\f176"}.o_icon-long-arrow-left:before{content:"\f177"}.o_icon-long-arrow-right:before{content:"\f178"}.o_icon-apple:before{content:"\f179"}.o_icon-windows:before{content:"\f17a"}.o_icon-android:before{content:"\f17b"}.o_icon-linux:before{content:"\f17c"}.o_icon-dribbble:before{content:"\f17d"}.o_icon-skype:before{content:"\f17e"}.o_icon-foursquare:before{content:"\f180"}.o_icon-trello:before{content:"\f181"}.o_icon-female:before{content:"\f182"}.o_icon-male:before{content:"\f183"}.o_icon-gittip:before{content:"\f184"}.o_icon-sun-o:before{content:"\f185"}.o_icon-moon-o:before{content:"\f186"}.o_icon-archive:before,.o_FileResource-IMSCP_icon:before,.o_FileResource-SCORMCP_icon:before,.o_cp_icon:before,.o_scorm_icon:before{content:"\f187"}.o_icon-bug:before,.o_icon_dev:before{content:"\f188"}.o_icon-vk:before{content:"\f189"}.o_icon-weibo:before{content:"\f18a"}.o_icon-renren:before{content:"\f18b"}.o_icon-pagelines:before{content:"\f18c"}.o_icon-stack-exchange:before{content:"\f18d"}.o_icon-arrow-circle-o-right:before{content:"\f18e"}.o_icon-arrow-circle-o-left:before{content:"\f190"}.o_icon-toggle-left:before,.o_icon-caret-square-o-left:before{content:"\f191"}.o_icon-dot-circle-o:before,.o_icon_status_dnd:before{content:"\f192"}.o_icon-wheelchair:before{content:"\f193"}.o_icon-vimeo-square:before{content:"\f194"}.o_icon-turkish-lira:before,.o_icon-try:before{content:"\f195"}.o_icon-plus-square-o:before{content:"\f196"}.o_icon-space-shuttle:before{content:"\f197"}.o_icon-slack:before{content:"\f198"}.o_icon-envelope-square:before,.o_icon_mail:before{content:"\f199"}.o_icon-wordpress:before{content:"\f19a"}.o_icon-openid:before{content:"\f19b"}.o_icon-institution:before,.o_icon-bank:before,.o_icon-university:before{content:"\f19c"}.o_icon-mortar-board:before,.o_icon-graduation-cap:before{content:"\f19d"}.o_icon-yahoo:before{content:"\f19e"}.o_icon-google:before{content:"\f1a0"}.o_icon-reddit:before{content:"\f1a1"}.o_icon-reddit-square:before{content:"\f1a2"}.o_icon-stumbleupon-circle:before{content:"\f1a3"}.o_icon-stumbleupon:before{content:"\f1a4"}.o_icon-delicious:before,.o_icon_delicious:before{content:"\f1a5"}.o_icon-digg:before,.o_icon_digg:before{content:"\f1a6"}.o_icon-pied-piper-square:before,.o_icon-pied-piper:before{content:"\f1a7"}.o_icon-pied-piper-alt:before{content:"\f1a8"}.o_icon-drupal:before{content:"\f1a9"}.o_icon-joomla:before{content:"\f1aa"}.o_icon-language:before{content:"\f1ab"}.o_icon-fax:before{content:"\f1ac"}.o_icon-building:before{content:"\f1ad"}.o_icon-child:before{content:"\f1ae"}.o_icon-paw:before{content:"\f1b0"}.o_icon-spoon:before{content:"\f1b1"}.o_icon-cube:before,.o_icon_courseeditor:before,.o_CourseModule_icon:before{content:"\f1b2"}.o_icon-cubes:before,.o_st_icon:before{content:"\f1b3"}.o_icon-behance:before{content:"\f1b4"}.o_icon-behance-square:before{content:"\f1b5"}.o_icon-steam:before{content:"\f1b6"}.o_icon-steam-square:before{content:"\f1b7"}.o_icon-recycle:before{content:"\f1b8"}.o_icon-automobile:before,.o_icon-car:before{content:"\f1b9"}.o_icon-cab:before,.o_icon-taxi:before{content:"\f1ba"}.o_icon-tree:before{content:"\f1bb"}.o_icon-spotify:before{content:"\f1bc"}.o_icon-deviantart:before{content:"\f1bd"}.o_icon-soundcloud:before{content:"\f1be"}.o_icon-database:before,.o_icon_coursedb:before{content:"\f1c0"}.o_icon-file-pdf-o:before{content:"\f1c1"}.o_icon-file-word-o:before{content:"\f1c2"}.o_icon-file-excel-o:before{content:"\f1c3"}.o_icon-file-powerpoint-o:before{content:"\f1c4"}.o_icon-file-photo-o:before,.o_icon-file-picture-o:before,.o_icon-file-image-o:before{content:"\f1c5"}.o_icon-file-zip-o:before,.o_icon-file-archive-o:before{content:"\f1c6"}.o_icon-file-sound-o:before,.o_icon-file-audio-o:before{content:"\f1c7"}.o_icon-file-movie-o:before,.o_icon-file-video-o:before{content:"\f1c8"}.o_icon-file-code-o:before{content:"\f1c9"}.o_icon-vine:before{content:"\f1ca"}.o_icon-codepen:before{content:"\f1cb"}.o_icon-jsfiddle:before{content:"\f1cc"}.o_icon-life-bouy:before,.o_icon-life-saver:before,.o_icon-support:before,.o_icon-life-ring:before{content:"\f1cd"}.o_icon-circle-o-notch:before{content:"\f1ce"}.o_icon-ra:before,.o_icon-rebel:before{content:"\f1d0"}.o_icon-ge:before,.o_icon-empire:before{content:"\f1d1"}.o_icon-git-square:before{content:"\f1d2"}.o_icon-git:before{content:"\f1d3"}.o_icon-hacker-news:before{content:"\f1d4"}.o_icon-tencent-weibo:before{content:"\f1d5"}.o_icon-qq:before{content:"\f1d6"}.o_icon-wechat:before,.o_icon-weixin:before{content:"\f1d7"}.o_icon-send:before,.o_icon-paper-plane:before{content:"\f1d8"}.o_icon-send-o:before,.o_icon-paper-plane-o:before{content:"\f1d9"}.o_icon-history:before{content:"\f1da"}.o_icon-circle-thin:before,.o_icon_courseareas:before{content:"\f1db"}.o_icon-header:before{content:"\f1dc"}.o_icon-paragraph:before{content:"\f1dd"}.o_icon-sliders:before{content:"\f1de"}.o_icon-share-alt:before{content:"\f1e0"}.o_icon-share-alt-square:before{content:"\f1e1"}.o_icon-bomb:before{content:"\f1e2"}.o_icon_bookmark{color:#996633}.o_icon_bookmark_add{color:#999999}.o_icon_delete{color:#A87E7E}.o_icon_edit_metadata{color:#996633}.o_icon_help{cursor:help}.o_icon_new_document{color:pink}.o_icon_new_folder{color:violet}.o_icon_mandatory{color:#f0ad4e}.o_icon_managed{color:#999}.o_icon_read{color:green}.o_icon_readonly{color:red}.o_icon_status_available{color:#006633}.o_icon_status_dnd{color:#CCCC33}.o_icon_status_unavailable{color:#996633}.o_icon_to_read{color:blue}.o_portrait_dummy,.o_portrait_dummy_female_big,.o_portrait_dummy_male_big,.o_portrait_anonymous{width:100px;height:100px}.o_portrait_dummy{background-image:url("../light/images/portrait/dummy.png")}.o_portrait_dummy_female_big{background-image:url("../light/images/portrait/dummy_female_big.png")}.o_portrait_dummy_male_big{background-image:url("../light/images/portrait/dummy_male_big.png")}.o_portrait_anonymous{background-image:url("../light/images/portrait/dummy.png")}.o_portrait_dummy_small,.o_portrait_dummy_female_small,.o_portrait_dummy_male_small,.o_portrait_anonymous_small{width:30px;height:30px}.o_portrait_dummy_small{background-image:url("../light/images/portrait/dummy_small.png")}.o_portrait_dummy_female_small{background-image:url("../light/images/portrait/dummy_female_small.png")}.o_portrait_dummy_male_small{background-image:url("../light/images/portrait/dummy_male_small.png")}.o_portrait_anonymous_small{background-image:url("../light/images/portrait/dummy_small.png")}a.o_chelp{padding:1px 3px;font-size:10px;line-height:1.5;border-radius:2px}div.o_chelp_wrapper{position:relative}.o_undecorated:hover,a.o_icon:hover,.o_withEllipsis .o_morelink:hover,.o_withEllipsis .o_lesslink:hover,#o_main_wrapper #o_toplink:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_comments:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:hover,.o_catalog .o_level .o_meta .o_title a:hover,.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:hover,.o_repo_details .o_social .o_comments:hover,.o_undecorated:focus,a.o_icon:focus,.o_withEllipsis .o_morelink:focus,.o_withEllipsis .o_lesslink:focus,#o_main_wrapper #o_toplink:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_comments:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:focus,.o_catalog .o_level .o_meta .o_title a:focus,.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:focus,.o_repo_details .o_social .o_comments:focus{text-decoration:none}.o_block{margin:0.75em 0}.o_nowrap{white-space:nowrap}.o_video{display:inline-block}.o_image{display:inline-block;max-width:100%}.o_rotate_90,#o_main_wrapper #o_main_container #o_main_center #o_offcanvas_toggle{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3)}.o_segments_content{margin-top:20px}.o_withEllipsis .o_morelink,.o_withEllipsis .o_lesslink{display:none}.o_withEllipsis.o_hasOverflow .o_morelink{display:block}.o_withEllipsis.o_hasOverflow .o_lesslink{display:none}.o_withEllipsis.o_hasOverflow.o_showOverflow{height:auto !important}.o_withEllipsis.o_hasOverflow.o_showOverflow .o_morelink{display:none}.o_withEllipsis.o_hasOverflow.o_showOverflow .o_lesslink{display:block}.o_info,.o_note,.o_form .o_desc,.o_important,.o_warning,.o_form .o_warning,.o_error,.o_form .o_info{margin:20px 0;padding:20px;background-color:#eee;border-left:3px solid #d4d4d4}.o_info h2,.o_note h2,.o_form .o_desc h2,.o_important h2,.o_warning h2,.o_form .o_warning h2,.o_error h2,.o_form .o_info h2,.o_info h3,.o_note h3,.o_form .o_desc h3,.o_important h3,.o_warning h3,.o_form .o_warning h3,.o_error h3,.o_form .o_info h3,.o_info h4,.o_note h4,.o_form .o_desc h4,.o_important h4,.o_warning h4,.o_form .o_warning h4,.o_error h4,.o_form .o_info h4,.o_info h5,.o_note h5,.o_form .o_desc h5,.o_important h5,.o_warning h5,.o_form .o_warning h5,.o_error h5,.o_form .o_info h5{color:#bbbbbb}p.o_info,p.o_note,.o_form p.o_desc,p.o_important,p.o_warning,.o_form p.o_warning,p.o_error,.o_form p.o_info,div.o_info,div.o_note,.o_form div.o_desc,div.o_important,div.o_warning,.o_form div.o_warning,div.o_error,.o_form div.o_info{margin:20px 0}.o_note,.o_form .o_desc{background-color:#f4f8fa;border-color:#5bc0de}.o_note h2,.o_form .o_desc h2,.o_note h3,.o_form .o_desc h3,.o_note h4,.o_form .o_desc h4,.o_note h5,.o_form .o_desc h5{color:#5bc0de}p.o_note,.o_form p.o_desc,div.o_note,.o_form div.o_desc{margin:20px 0}.o_important{background-color:#FFF1A4;border-color:#F4D000}.o_important h2,.o_important h3,.o_important h4,.o_important h5{color:#F4D000}p.o_important,div.o_important{margin:20px 0}.o_warning,.o_form .o_warning{background-color:#FFD5AA;border-color:#FF9E3E}.o_warning h2,.o_form .o_warning h2,.o_warning h3,.o_form .o_warning h3,.o_warning h4,.o_form .o_warning h4,.o_warning h5,.o_form .o_warning h5{color:#FF9E3E}o.b_warning,div.o_warning,.o_form div.o_warning{margin:20px 0}.o_error{background-color:#fdf7f7;border-color:#d9534f}.o_error h2,.o_error h3,.o_error h4,.o_error h5{color:#d9534f}o.b_error,div.o_error{margin:20px 0}.b_border_box{border:1px solid #999;padding:1em;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}p.b_border_box,div.b_border_box{margin:1em 0}table.b_grid{background:transparent;border-collapse:separate}table.b_grid td,table.b_grid th{padding:2px 5px;border:1px solid #888}table.b_grid thead th{background:#ccc}table.b_grid tbody th{background:#eee}table.b_border{background:transparent;border-collapse:collapse}table.b_border td,table.b_border th{padding:2px 5px;border:1px solid #888}table.b_full{width:99.5%}table td{vertical-align:top}table.b_middle{background:transparent}table.b_middle td{vertical-align:middle}.b_selected,p.b_selected,div.b_selected{font-weight:bold}.b_dimmed,p.b_dimmed,div.b_dimmed{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.b_disabled,p.b_disabled,div.b_disabled{color:#999}.b_deleted,p.b_deleted,div.b_deleted{text-decoration:line-through}.b_xsmall,sup,sub,p.b_xsmall,div.b_xsmall{font-size:80%}.b_small,small,p.b_small,div.b_small{font-size:90%}.b_large,p.b_large,div.b_large{font-size:110%}.b_xlarge,big,p.b_xlarge,div.b_xlarge{font-size:120%}.b_align_normal{text-align:left}.b_align_center{text-align:center}.b_align_inverse{text-align:right}.o_ochre{color:#c8a959}.o_blue{color:#12223F}a.b_link_extern{background:transparent url("../../openolat/images/external_link_trimmed.png") no-repeat right top;padding-right:13px}a.b_link_mailto{background:transparent url("../../openolat/images/mail_small.png") no-repeat left center;padding-left:18px}a.b_link_forward{background:transparent url("../../openolat/images/arrow_right.png") no-repeat right center;padding-right:18px}img.b_float_left{float:left;margin:0 2em 2em 0}img.b_float_right{float:right;margin:0 0 2em 2em}img.b_centered{display:block;margin:0 auto 2em auto}img.o_emoticons_angel{background:url(../light/images/emoticons/smiley-angel.png);width:16px;height:16px}img.o_emoticons_angry{background:url(../light/images/emoticons/smiley-mad.png);width:16px;height:16px}img.o_emoticons_blushing{background:url(../light/images/emoticons/smiley-red.png);width:16px;height:16px}img.o_emoticons_confused{background:url(../light/images/emoticons/smiley-confuse.png);width:16px;height:16px}img.o_emoticons_cool{background:url(../light/images/emoticons/smiley-cool.png);width:16px;height:16px}img.o_emoticons_cry{background:url(../light/images/emoticons/smiley-cry.png);width:16px;height:16px}img.o_emoticons_devil{background:url(../light/images/emoticons/smiley-evil.png);width:16px;height:16px}img.o_emoticons_grin{background:url(../light/images/emoticons/smiley-grin.png);width:16px;height:16px}img.o_emoticons_kiss{background:url(../light/images/emoticons/smiley-kiss.png);width:16px;height:16px}img.o_emoticons_ohoh{background:url(../light/images/emoticons/smiley-eek.png);width:16px;height:16px}img.o_emoticons_sad{background:url(../light/images/emoticons/smiley-sad.png);width:16px;height:16px}img.o_emoticons_sick{background:url(../light/images/emoticons/smiley-sad-blue.png);width:16px;height:16px}img.o_emoticons_smile{background:url(../light/images/emoticons/smiley.png);width:16px;height:16px}img.o_emoticons_tongue{background:url(../light/images/emoticons/smiley-razz.png);width:16px;height:16px}img.o_emoticons_ugly{background:url(../light/images/emoticons/smiley-money.png);width:16px;height:16px}img.o_emoticons_weird{background:url(../light/images/emoticons/smiley-nerd.png);width:16px;height:16px}img.o_emoticons_wink{background:url(../light/images/emoticons/smiley-wink.png);width:16px;height:16px}img.o_emoticons_worried{background:url(../light/images/emoticons/smiley-roll-blue.png);width:16px;height:16px}img.o_emoticons_up{background:url(../light/images/emoticons/thumb-up.png);width:16px;height:16px}img.o_emoticons_down{background:url(../light/images/emoticons/thumb.png);width:16px;height:16px}html{position:relative;min-height:100%}body{min-height:100%;margin-bottom:60px}#o_navbar_wrapper{z-index:4}#o_navbar_wrapper #o_navbar_container{position:relative}#o_navbar_wrapper #o_navbar_container a.o_navbar-brand{font-size:40px;vertical-align:top;font-weight:bold;color:#31729B}#o_navbar_wrapper #o_navbar_container a.o_navbar-brand:after{content:"\221E"}#o_navbar_wrapper #o_navbar_container .o_navbar_tabs li a{padding-right:30px}#o_navbar_wrapper #o_navbar_container .o_navbar_tabs .o_navbar_tab_close{position:absolute;top:15px;right:0.5em;padding:0;width:1em;height:1em}#o_navbar_wrapper #o_navbar_container .o_navbar_tabs .o_navbar_tab_close i:before{color:#A87E7E}#o_navbar_wrapper #o_navbar_container .o_navbar_tabs .o_navbar_tab_close:hover i:before{color:#CC0000}#o_navbar_wrapper #o_navbar_container #o_navbar_tools #o_navbar_langchooser{color:#777;padding:15px}#o_navbar_wrapper #o_navbar_container #o_navbar_tools #o_navbar_langchooser form span+div{display:inline}#o_navbar_wrapper #o_navbar_container #o_navbar_tools #o_navbar_help a i{margin-right:0.4em}#o_navbar_wrapper #o_navbar_container #o_navbar_tools #o_navbar_my_menu .dropdown-toggle{padding-left:45px}#o_navbar_wrapper #o_navbar_container #o_navbar_tools #o_navbar_my_menu img{position:absolute;left:7px;top:10px;height:30px;width:30px}.o_navbar{position:relative;min-height:50px;margin-bottom:0;border:1px solid transparent}.o_navbar:before,.o_navbar:after{content:" ";display:table}.o_navbar:after{clear:both}.o_navbar-collapse{max-height:100%;overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.o_navbar-collapse:before,.o_navbar-collapse:after{content:" ";display:table}.o_navbar-collapse:after{clear:both}.o_navbar-collapse.o_collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.o_navbar-offcanvas .o_navbar-collapse{width:auto;border-top:0;box-shadow:none;margin-top:10px;margin-right:-15px;margin-left:-15px}.o_navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.o_navbar-brand:hover,.o_navbar-brand:focus{text-decoration:none}.o_navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.o_navbar-toggle:focus{outline:none}.o_navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.o_navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.o_navbar-nav{margin:7.5px -15px}.o_navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}.o_collapse .o_navbar-nav{float:left;margin:0}.o_collapse .o_navbar-nav>li{float:left}.o_collapse .o_navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.o_collapse .o_navbar-nav.o_navbar-right:last-child{margin-right:-15px}.o_collapse.o_navbar-collapse .o_navbar-left{float:left !important}.o_collapse.o_navbar-collapse .o_navbar-right{float:right !important}.o_navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (max-width: 767px){.o_navbar-form .form-group{margin-bottom:5px}}
 .o_collapse .o_navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.o_collapse .o_navbar-form.o_navbar-right:last-child{margin-right:-15px}.o_navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.o_navbar-fixed-bottom .o_navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.o_navbar-btn{margin-top:8px;margin-bottom:8px}.o_navbar-btn.btn-sm,.btn-group-sm>.o_navbar-btn.btn,.btn-group-sm>a.o_navbar-btn.o_chelp{margin-top:10px;margin-bottom:10px}.o_navbar-btn.btn-xs,.btn-group-xs>.o_navbar-btn.btn,.btn-group-xs>a.o_navbar-btn.o_chelp{margin-top:14px;margin-bottom:14px}.o_navbar-text{margin-top:15px;margin-bottom:15px}.o_collapse .o_navbar-text{float:left;margin-left:15px;margin-right:15px}.o_collapse .o_navbar-text.o_navbar-right:last-child{margin-right:0}.o_navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.o_navbar-default .o_navbar-brand{color:#777}.o_navbar-default .o_navbar-brand:hover,.o_navbar-default .o_navbar-brand:focus{color:#5e5e5e;background-color:transparent}.o_navbar-default .o_navbar-text{color:#777}.o_navbar-default .o_navbar-nav>li>a{color:#777}.o_navbar-default .o_navbar-nav>li>a:hover,.o_navbar-default .o_navbar-nav>li>a:focus{color:#333;background-color:transparent}.o_navbar-default .o_navbar-nav>.active>a,.o_navbar-default .o_navbar-nav>.active>a:hover,.o_navbar-default .o_navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.o_navbar-default .o_navbar-nav>.disabled>a,.o_navbar-default .o_navbar-nav>.disabled>a:hover,.o_navbar-default .o_navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.o_navbar-default .o_navbar-toggle{border-color:#ddd}.o_navbar-default .o_navbar-toggle:hover,.o_navbar-default .o_navbar-toggle:focus{background-color:#ddd}.o_navbar-default .o_navbar-toggle .icon-bar{background-color:#888}.o_navbar-default .o_navbar-collapse,.o_navbar-default .o_navbar-form{border-color:#e7e7e7}.o_navbar-default .o_navbar-nav>.open>a,.o_navbar-default .o_navbar-nav>.open>a:hover,.o_navbar-default .o_navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}.o_navbar-default .o_navbar-link{color:#777}.o_navbar-default .o_navbar-link:hover{color:#333}.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>li>a{color:#777}.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>li>a:hover,.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>.active>a,.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>.active>a:hover,.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>.disabled>a,.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>.disabled>a:hover,.o_navbar-offcanvas.o_navbar-default .o_navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}.o_navbar-inverse{background-color:#222;border-color:#090909}.o_navbar-inverse .o_navbar-brand{color:#999}.o_navbar-inverse .o_navbar-brand:hover,.o_navbar-inverse .o_navbar-brand:focus{color:#fff;background-color:transparent}.o_navbar-inverse .o_navbar-text{color:#999}.o_navbar-inverse .o_navbar-nav>li>a{color:#999}.o_navbar-inverse .o_navbar-nav>li>a:hover,.o_navbar-inverse .o_navbar-nav>li>a:focus{color:#fff;background-color:transparent}.o_navbar-inverse .o_navbar-nav>.active>a,.o_navbar-inverse .o_navbar-nav>.active>a:hover,.o_navbar-inverse .o_navbar-nav>.active>a:focus{color:#fff;background-color:#090909}.o_navbar-inverse .o_navbar-nav>.disabled>a,.o_navbar-inverse .o_navbar-nav>.disabled>a:hover,.o_navbar-inverse .o_navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.o_navbar-inverse .o_navbar-toggle{border-color:#333}.o_navbar-inverse .o_navbar-toggle:hover,.o_navbar-inverse .o_navbar-toggle:focus{background-color:#333}.o_navbar-inverse .o_navbar-toggle .icon-bar{background-color:#fff}.o_navbar-inverse .o_navbar-collapse,.o_navbar-inverse .o_navbar-form{border-color:#101010}.o_navbar-inverse .o_navbar-nav>.open>a,.o_navbar-inverse .o_navbar-nav>.open>a:hover,.o_navbar-inverse .o_navbar-nav>.open>a:focus{background-color:#090909;color:#fff}.o_navbar-inverse .o_navbar-nav .o_navbar-link{color:#999}.o_navbar-inverse .o_navbar-nav .o_navbar-link:hover{color:#fff}.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu .divider{background-color:#090909}.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>li>a{color:#999}.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>li>a:hover,.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>.active>a,.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>.active>a:hover,.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#090909}.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>.disabled>a,.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>.disabled>a:hover,.o_navbar-inverse .o_navbar-offcanvas.o_navbar-inverse .o_navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}#o_main_wrapper{background:#fff;z-index:3}#o_main_wrapper #o_main_container{background:#fff}#o_main_wrapper #o_main_container #o_main_left{position:absolute}#o_main_wrapper #o_main_container #o_main_left #o_main_left_content{padding:30px}#o_main_wrapper #o_main_container #o_main_right{position:relative;background:#999}#o_main_wrapper #o_main_container #o_main_right #o_main_right_content{padding:30px}#o_main_wrapper #o_main_container #o_main_center{position:relative}@media screen and (max-width: 767px){#o_main_wrapper #o_main_container #o_main_center{margin-left:0 !important}}#o_main_wrapper #o_main_container #o_main_center #o_offcanvas_toggle{position:absolute;left:-4em;top:0;left:-2em;top:1.7em;z-index:2}#o_main_wrapper #o_main_container #o_main_center #o_main_center_content{padding:30px 15px}#o_main_wrapper #o_toplink{position:absolute;bottom:0;right:10px;text-align:center}@media (max-width: 767px){#o_main_wrapper #o_main_container #o_main_center #o_main_center_content{padding:15px}}
 #o_footer_wrapper{position:absolute;bottom:0;width:100%;z-index:2;min-height:60px;background-color:#f5f5f5;color:#999;line-height:16px}#o_footer_wrapper a{color:#999}#o_footer_wrapper a:hover{color:#000}#o_footer_wrapper #o_footer_container{position:relative;padding-top:10px;min-height:60px;background:#f5f5f5}#o_footer_wrapper #o_footer_container #o_footer_user #o_counter{white-space:nowrap}#o_footer_wrapper #o_footer_container #o_footer_user #o_username{white-space:nowrap;margin-right:1em}#o_footer_wrapper #o_footer_container #o_footer_version{text-align:right}@media (max-width: 767px){#o_footer_wrapper #o_footer_container #o_footer_version{padding-top:10px;text-align:left}}#o_footer_wrapper #o_footer_container #o_footer_powered{text-align:center}#o_footer_wrapper #o_footer_container #o_footer_powered img{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#o_footer_wrapper #o_footer_container #o_footer_powered img:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}@media (max-width: 767px){#o_footer_wrapper #o_footer_container #o_footer_powered{display:none}}
 #o_share{margin-top:10px;width:250px}#o_share a{margin:0 5px 0 0;float:left;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#o_share a:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}body{overflow-x:hidden}.o_container_offcanvas{position:relative;max-width:1324px;-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;-m-transition:all .25s ease-in-out;transition:all .25s ease-in-out}#o_offcanvas_right{position:absolute;top:0;right:-250px;width:250px;padding:15px 15px;background-color:#222;color:#999;border:1px solid #090909;min-height:100%;z-index:10;-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-o-transition:all .25s ease-out;-m-transition:all .25s ease-out;transition:all .25s ease-out}#o_offcanvas_right:before,#o_offcanvas_right:after{content:" ";display:table}#o_offcanvas_right:after{clear:both}@media screen and (min-width: 1324px) and (max-width: 1574px){body.o_offcanvas_right_visible .o_container_offcanvas{left:-125px;max-width:1074px}}@media screen and (min-width: 1574px) and (max-width: 1824px){body.o_offcanvas_right_visible .o_container_offcanvas{left:-125px}}body.o_offcanvas_right_visible #o_offcanvas_right{right:0;-webkit-box-shadow:0px 0px 4px 3px rgba(0,0,0,0.25);box-shadow:0px 0px 4px 3px rgba(0,0,0,0.25)}@media screen and (max-width: 767px){.row-offcanvas{position:relative;-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;transition:all .25s ease-out}.row-offcanvas-right{right:0}.row-offcanvas-right .sidebar-offcanvas{right:-50%}.row-offcanvas-right.active{right:50%}.row-offcanvas-left{left:0}.row-offcanvas-left .sidebar-offcanvas{left:-50%}.row-offcanvas-left.active{left:50%}.sidebar-offcanvas{position:absolute;top:0;width:50%}}div.o_callout_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1;background:#000;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=1);-moz-opacity:0.01;-khtml-opacity:0.01;opacity:0.01}.alert-fixed-top,.alert-fixed-bottom{position:fixed;width:100%;z-index:1035;border-radius:0;margin:0;left:0}@media (min-width: 992px){.alert-fixed-top,.alert-fixed-bottom{width:992px;left:50%;margin-left:-496px}}