From 1cb2eb21d3915c8d7741907d46ffc32aeff7ff94 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Tue, 27 May 2014 09:28:06 +0200
Subject: [PATCH] OO-990: icons in checkbox

---
 .../cl/ChecklistCourseNodeConfiguration.java  |  33 ++--
 .../nodes/den/DENCourseNodeConfiguration.java |  18 +-
 .../de/bps/course/nodes/den/DENEditForm.java  |   2 +-
 .../nodes/ll/LLCourseNodeConfiguration.java   |  34 ++--
 .../de/bps/course/nodes/ll/LLEditForm.java    |   2 +-
 .../nodes/vc/VCCourseNodeConfiguration.java   |  16 +-
 .../de/bps/course/nodes/vc/VCEditForm.java    |   2 +-
 .../vc/provider/adobe/AdobeEditForm.java      |   2 +-
 .../vc/provider/wimba/WimbaEditForm.java      |   2 +-
 .../links/LinksPortletEditController.java     |   2 +-
 .../GenericCheckboxPropertyHandler.java       |   2 +-
 .../plugin/course/nodes/iq/IQEditForm.java    |  10 +-
 .../coursecreation/steps/CcStep00.java        |  16 +-
 .../coursecreation/steps/CcStep02.java        |   2 +-
 .../steps/EnrollmentEditForm.java             |   4 +-
 .../admin/privacy/PrivacyAdminController.java |   6 +-
 .../SystemRegistrationAdminController.java    |   4 +-
 .../admin/restapi/RestapiAdminController.java |   6 +-
 .../olat/admin/search/SearchAdminForm.java    |   6 +-
 .../security/SecurityAdminController.java     |   6 +-
 .../site/ui/SitesConfigurationController.java |   2 +-
 .../BlockLoginConfirmationController.java     |   2 +-
 .../sysinfo/CoreFunctionsController.java      |   6 +-
 .../olat/admin/sysinfo/SysinfoController.java |   2 +-
 .../admin/user/SystemRolesAndRightsForm.java  |   4 +-
 .../olat/admin/user/UserCreateController.java |   2 +-
 .../admin/user/UserSearchFlexiController.java |   2 +-
 .../user/UsermanagerUserSearchController.java |  11 +-
 .../UserBulkChangePasswordController.java     |   4 +-
 .../user/bulkChange/UserBulkChangeStep00.java |   7 +-
 .../user/bulkChange/UserBulkChangeStep01.java |  10 +-
 .../CourseLeaveDialogBoxController.java       |   4 +-
 .../groups/GroupLeaveDialogBoxController.java |   4 +-
 .../user/groups/GroupSearchController.java    |   2 +-
 .../org/olat/admin/user/imp/ImportStep01.java |   4 +-
 .../imp/SendMailConfirmationController.java   |   2 +-
 .../tools/ui/UserToolsAdminController.java    |   4 +-
 .../CollaborationToolsSettingsController.java |   4 +-
 .../calendar/ui/KalendarEntryForm.java        |   2 +-
 .../FileChooseCreateEditController.java       |   2 +-
 .../info/ui/SendMailStepController.java       |   2 +-
 .../controllers/resume/ResumeController.java  |   2 +-
 .../modules/bc/FileUploadController.java      |   2 +-
 .../glossary/GlossaryFlexionController.java   |   6 +-
 .../webdav/ui/WebDAVAdminController.java      |   6 +-
 .../form/flexible/FormUIFactory.java          |  38 ++--
 .../elements/MultipleSelectionElement.java    |   4 +-
 .../elements/CheckboxElementComponent.java    |  13 +-
 .../impl/elements/CheckboxRenderer.java       |  54 ++----
 .../impl/elements/MultiSelectionTree.java     |   6 +-
 .../MultipleSelectionElementImpl.java         |  13 +-
 .../tree/SelectionTreeRenderer.java           |  41 ++---
 .../generic/choice/ChoiceController.java      |   4 +-
 .../generic/folder/FolderTreeModel.java       |   6 +-
 ...eliveryOptionsConfigurationController.java |   2 +-
 .../org/olat/core/util/i18n/I18nManager.java  |   2 +-
 .../util/i18n/ui/I18nConfigController.java    |   6 +-
 .../ui/I18nConfigSubDeleteLangController.java |   2 +-
 .../ui/I18nConfigSubExportLangController.java |   4 +-
 .../ui/I18nConfigSubImportLangController.java |   4 +-
 ...lationToolI18nItemEditCrumbController.java |   2 +-
 .../TranslationToolStartCrumbController.java  |  16 +-
 .../olat/core/util/mail/MailTemplateForm.java |   4 +-
 .../mail/ui/MailSettingsAdminController.java  |   2 +-
 .../course/archiver/LogFileChooserForm.java   |   6 +-
 .../condition/AreaSelectionController.java    |   4 +-
 .../ConditionConfigEasyController.java        |  12 +-
 .../condition/GroupSelectionController.java   |   4 +-
 .../PasswordConditionEditController.java      |   2 +-
 .../config/ui/CourseCalendarConfigForm.java   |   2 +-
 .../config/ui/CourseChatSettingsForm.java     |   2 +-
 .../ui/CourseEfficencyStatementForm.java      |   2 +-
 .../course/editor/ChooseNodeController.java   | 170 ++++++++++++++++++
 .../course/editor/EditorMainController.java   | 117 ++++++------
 .../olat/course/editor/MultiSPController.java |   7 +-
 .../course/editor/_content/choosesps.html     |  10 +-
 .../course/editor/_content/create_node.html   |  12 ++
 .../editor/_i18n/LocalStrings_de.properties   |   4 +
 .../GroupsAndRightsController.java            |   2 +-
 .../olat/course/member/MemberSearchForm.java  |   2 +-
 .../course/nodes/CourseNodeConfiguration.java |   4 +-
 .../olat/course/nodes/CourseNodeGroup.java    |  39 ++++
 .../course/nodes/basiclti/LTIConfigForm.java  |  14 +-
 .../basiclti/LTICourseNodeConfiguration.java  |  30 ++--
 .../nodes/bc/BCCourseNodeConfiguration.java   |  32 ++--
 .../nodes/cal/CalCourseNodeConfiguration.java |  25 ++-
 .../course/nodes/cal/CalEditController.java   |   2 +-
 .../cl/CheckListCourseNodeConfiguration.java  |  22 +--
 .../AssessedIdentityCheckListController.java  |   2 +-
 .../cl/ui/CheckListAssessmentController.java  |   2 +-
 .../ui/CheckListConfigurationController.java  |   8 +-
 .../nodes/cl/ui/CheckListRunController.java   |   2 +-
 .../cl/ui/CheckboxAssessmentController.java   |   2 +-
 .../nodes/cl/ui/CheckboxEditController.java   |   2 +-
 .../wizard/StructureNodeStepController.java   |   4 +-
 .../olat/course/nodes/co/COConfigForm.java    |   8 +-
 .../nodes/co/COCourseNodeConfiguration.java   |  25 ++-
 .../nodes/cp/CPCourseNodeConfiguration.java   |  27 ++-
 .../course/nodes/cp/CPEditController.java     |   4 +-
 .../course/nodes/dialog/DialogConfigForm.java |   3 +-
 .../dialog/DialogCourseNodeConfiguration.java |  29 ++-
 .../nodes/en/ENCourseNodeConfiguration.java   |  25 ++-
 .../en/ENEditGroupAreaFormController.java     |   2 +-
 .../blog/BlogCourseNodeConfiguration.java     |  32 ++--
 .../PodcastCourseNodeConfiguration.java       |  32 ++--
 .../nodes/fo/FOCourseNodeConfiguration.java   |  25 ++-
 .../course/nodes/info/InfoConfigForm.java     |   2 +-
 .../info/InfoCourseNodeConfiguration.java     |  14 +-
 .../olat/course/nodes/iq/IQ12EditForm.java    |  32 ++--
 .../iq/IQSELFCourseNodeConfiguration.java     |  25 ++-
 .../iq/IQSURVCourseNodeConfiguration.java     |  25 ++-
 .../iq/IQTESTCourseNodeConfiguration.java     |  28 ++-
 .../MembersCourseNodeConfiguration.java       |  13 +-
 .../nodes/ms/MSCourseNodeConfiguration.java   |  25 ++-
 .../course/nodes/ms/MSEditFormController.java |   6 +-
 .../OpenMeetingsCourseNodeConfiguration.java  |  19 +-
 .../OpenMeetingsEditFormController.java       |   2 +-
 .../PortfolioCourseNodeConfiguration.java     |  13 +-
 .../CustomfieldsFormController.java           |   2 +-
 .../projectbroker/ModulesFormController.java  |   4 +-
 .../projectbroker/OptionsFormController.java  |   6 +-
 .../ProjectBrokerNodeConfiguration.java       |  29 ++-
 .../ProjectEditDetailsFormController.java     |   4 +-
 .../ProjectEventFormController.java           |   2 +-
 .../scorm/ScormCourseNodeConfiguration.java   |  31 ++--
 .../nodes/scorm/ScormEditController.java      |  14 +-
 .../nodes/sp/SPCourseNodeConfiguration.java   |  25 ++-
 .../st/EditScoreCalculationEasyForm.java      |   6 +-
 .../nodes/st/STCourseNodeConfiguration.java   |  25 ++-
 ...CourseNodeDisplayConfigFormController.java |   4 +-
 .../org/olat/course/nodes/ta/DropboxForm.java |   2 +-
 .../org/olat/course/nodes/ta/ModulesForm.java |  10 +-
 .../nodes/ta/TACourseNodeConfiguration.java   |  25 ++-
 .../olat/course/nodes/tu/TUConfigForm.java    |   2 +-
 .../nodes/tu/TUCourseNodeConfiguration.java   |  25 ++-
 .../vitero/ViteroCourseNodeConfiguration.java |  20 ++-
 .../wiki/WikiCourseNodeConfiguration.java     |  25 ++-
 .../site/ui/CourseSiteAdminController.java    |   4 +-
 .../org/olat/course/tree/InsertTreeModel.java |   1 +
 .../group/ui/BusinessGroupFormController.java |   4 +-
 .../BusinessGroupModuleAdminController.java   |  10 +-
 .../ui/edit/DisplayMemberSwitchForm.java      |  14 +-
 .../main/BusinessGroupSearchController.java   |   2 +-
 .../DedupMembersConfirmationController.java   |   2 +-
 .../ui/main/EditMembershipController.java     |   4 +-
 .../MemberChangeConfirmationController.java   |   2 +-
 .../MemberLeaveConfirmationController.java    |   2 +-
 .../run/BusinessGroupSendToChooserForm.java   |   6 +-
 .../wizard/BGConfigToolsStepController.java   |   2 +-
 .../BGCopyPreparationStepController.java      |   2 +-
 .../group/ui/wizard/BGCopyWizardCopyForm.java |   2 +-
 .../BGEmailSelectReceiversStepController.java |   2 +-
 .../ui/wizard/BGMailTemplateController.java   |   6 +-
 .../GuiDemoFlexiFormAdvancedController.java   |   2 +-
 .../guidemo/GuiDemoFlexiFormHideUnhide.java   |   2 +-
 .../ims/cp/ui/CPFileImportController.java     |   2 +-
 .../ims/qti/editor/ChangeMessageForm.java     |   2 +-
 .../olat/ims/qti/export/DelimChooseForm.java  |   2 +-
 .../ims/qti/export/OptionsChooseForm.java     |  10 +-
 .../ui/IMPreferenceController.java            |   2 +-
 .../ui/InstantMessagingAdminController.java   |  20 +--
 .../java/org/olat/modules/co/ContactForm.java |   2 +-
 .../coach/ui/CoachAdminController.java        |   2 +-
 .../cp/CPSelectPrintPagesController.java      |   5 +-
 .../modules/fo/MessageEditController.java     |   2 +-
 .../GlossaryEditSettingsController.java       |   2 +-
 .../GlossaryRegisterSettingsController.java   |   3 +-
 .../OpenMeetingsConfigurationController.java  |   2 +-
 .../ui/OpenMeetingsRoomEditController.java    |   2 +-
 .../qpool/ui/admin/PoolEditController.java    |   2 +-
 .../MetadataBulkChangeController.java         |   2 +-
 .../ui/metadata/RightsMetadataController.java |   2 +-
 .../ViteroAdminBookingRawInfosController.java |   2 +-
 .../ui/ViteroBookingEditController.java       |   2 +-
 .../ui/ViteroConfigurationController.java     |   2 +-
 .../ui/PortfolioAdminController.java          |   8 +-
 .../collect/EPCollectStepForm02.java          |   2 +-
 .../EPArtefactAttributeSettingController.java |   2 +-
 .../EPArtefactTagSelectionController.java     |   2 +-
 .../EPArtefactTypeSelectionController.java    |   2 +-
 .../DisclaimerFormController.java             |   4 +-
 .../RegistrationAdminController.java          |   8 +-
 .../repository/controllers/SearchForm.java    |  16 +-
 .../WizardCloseCourseController.java          |   2 +-
 .../ui/admin/CatalogAdminController.java      |   6 +-
 .../ui/author/AuthorListController.java       |   2 +
 .../ImportRepositoryEntryController.java      |   2 +-
 .../repository/ui/author/PropPupForm.java     |   6 +-
 .../PaypalAccessConfigurationController.java  |   2 +-
 .../ui/PaypalMasterAccountController.java     |   2 +-
 .../ui/AccessControlAdminController.java      |   6 +-
 .../ui/AdvancedSearchInputController.java     |   2 +-
 .../org/olat/user/ChangePrefsController.java  |   4 +-
 .../org/olat/user/ToolsPrefsController.java   |   2 +-
 .../themes/light/modules/_courseeditor.scss   |  27 ++-
 .../static/themes/light/modules/_icons.scss   |  12 ++
 src/main/webapp/static/themes/light/theme.css |   4 +-
 197 files changed, 1075 insertions(+), 908 deletions(-)
 create mode 100644 src/main/java/org/olat/course/editor/ChooseNodeController.java
 create mode 100644 src/main/java/org/olat/course/editor/_content/create_node.html
 create mode 100644 src/main/java/org/olat/course/nodes/CourseNodeGroup.java

diff --git a/src/main/java/de/bps/course/nodes/cl/ChecklistCourseNodeConfiguration.java b/src/main/java/de/bps/course/nodes/cl/ChecklistCourseNodeConfiguration.java
index 90949a971d8..3455c0abe64 100644
--- a/src/main/java/de/bps/course/nodes/cl/ChecklistCourseNodeConfiguration.java
+++ b/src/main/java/de/bps/course/nodes/cl/ChecklistCourseNodeConfiguration.java
@@ -26,6 +26,7 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 
 import de.bps.course.nodes.ChecklistCourseNode;
 
@@ -37,43 +38,33 @@ import de.bps.course.nodes.ChecklistCourseNode;
  * Initial Date:  23.07.2009 <br>
  * @author bja <bja@bps-system.de>
  */
-public class ChecklistCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class ChecklistCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 	
 	private ChecklistCourseNodeConfiguration() {
 	}
 
-	
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getAlias()
-	 */
+	@Override
 	public String getAlias() {
 		return "cl";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.other.name();
+	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getIconCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_cl_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getInstance()
-	 */
+
+	@Override
 	public CourseNode getInstance() {
 		return new ChecklistCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return "o_cl_icon";
-	}
-
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
diff --git a/src/main/java/de/bps/course/nodes/den/DENCourseNodeConfiguration.java b/src/main/java/de/bps/course/nodes/den/DENCourseNodeConfiguration.java
index e5a4739abfc..ff8bfe803ed 100644
--- a/src/main/java/de/bps/course/nodes/den/DENCourseNodeConfiguration.java
+++ b/src/main/java/de/bps/course/nodes/den/DENCourseNodeConfiguration.java
@@ -26,30 +26,36 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 
 import de.bps.course.nodes.DENCourseNode;
 
-public class DENCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class DENCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 	
 	DENCourseNodeConfiguration() {
 	}
-	
+
+	@Override
 	public String getAlias() {
 		return "den";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.other.name();
+	}
 
+	@Override
 	public String getIconCSSClass() {
 		return "o_den_icon";
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new DENCourseNode();
 	}
 
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
diff --git a/src/main/java/de/bps/course/nodes/den/DENEditForm.java b/src/main/java/de/bps/course/nodes/den/DENEditForm.java
index 31f5cf34708..1e874e9163f 100644
--- a/src/main/java/de/bps/course/nodes/den/DENEditForm.java
+++ b/src/main/java/de/bps/course/nodes/den/DENEditForm.java
@@ -72,7 +72,7 @@ public class DENEditForm extends FormBasicController {
 
 		Boolean initialCancelEnrollEnabled  = (Boolean) moduleConfig.get(ENCourseNode.CONF_CANCEL_ENROLL_ENABLED);
 		
-		enableCancelEnroll = uifactory.addCheckboxesHorizontal("enableCancelEnroll", "form.enableCancelEnroll", formLayout, new String[] { "ison" }, new String[] { "" }, null);
+		enableCancelEnroll = uifactory.addCheckboxesHorizontal("enableCancelEnroll", "form.enableCancelEnroll", formLayout, new String[] { "ison" }, new String[] { "" });
 		enableCancelEnroll.select("ison", initialCancelEnrollEnabled);
 		
 		subm = new FormSubmit("subm", "submit");
diff --git a/src/main/java/de/bps/course/nodes/ll/LLCourseNodeConfiguration.java b/src/main/java/de/bps/course/nodes/ll/LLCourseNodeConfiguration.java
index 33d4f017cc8..5be4c9b27a6 100644
--- a/src/main/java/de/bps/course/nodes/ll/LLCourseNodeConfiguration.java
+++ b/src/main/java/de/bps/course/nodes/ll/LLCourseNodeConfiguration.java
@@ -26,6 +26,7 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 
 import de.bps.course.nodes.LLCourseNode;
 
@@ -38,7 +39,7 @@ import de.bps.course.nodes.LLCourseNode;
  *
  * @author Marcel Karras (toka@freebits.de)
  */
-public class LLCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class LLCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 
 	/**
 	 * [spring only]
@@ -47,42 +48,31 @@ public class LLCourseNodeConfiguration extends AbstractCourseNodeConfiguration i
 	private LLCourseNodeConfiguration() {
 		super();
 	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
+
+	@Override
 	public String getAlias() {
 		return "ll";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.other.name();
+	}
 
-	/**
-	 * {@inheritDoc}
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_ll_icon";
 	}
 
-	/**
-	 * {@inheritDoc}
-	 */
+	@Override
 	public CourseNode getInstance() {
 		return new LLCourseNode();
 	}
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getLinkCSSClass() {
-		return "o_ll_icon";
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_ll");
 	}
-
 }
diff --git a/src/main/java/de/bps/course/nodes/ll/LLEditForm.java b/src/main/java/de/bps/course/nodes/ll/LLEditForm.java
index 9c46f3fd3ee..c5da2754234 100644
--- a/src/main/java/de/bps/course/nodes/ll/LLEditForm.java
+++ b/src/main/java/de/bps/course/nodes/ll/LLEditForm.java
@@ -326,7 +326,7 @@ public class LLEditForm extends FormBasicController {
 		lTarget.setUserObject(link);
 		lTargetInputList.add(index, lTarget);
 		//add html target
-		MultipleSelectionElement htmlTargetSelection = uifactory.addCheckboxesHorizontal("html_target" + counter, titleContainer, new String[]{BLANK_KEY}, new String[]{""}, null);
+		MultipleSelectionElement htmlTargetSelection = uifactory.addCheckboxesHorizontal("html_target" + counter, titleContainer, new String[]{BLANK_KEY}, new String[]{""});
 		htmlTargetSelection.setUserObject(link);
 		htmlTargetSelection.select(BLANK_KEY, "_blank".equals(link.getHtmlTarget()));
 		lHtmlTargetInputList.add(index, htmlTargetSelection);
diff --git a/src/main/java/de/bps/course/nodes/vc/VCCourseNodeConfiguration.java b/src/main/java/de/bps/course/nodes/vc/VCCourseNodeConfiguration.java
index 75875e9e9bc..49d167e5157 100644
--- a/src/main/java/de/bps/course/nodes/vc/VCCourseNodeConfiguration.java
+++ b/src/main/java/de/bps/course/nodes/vc/VCCourseNodeConfiguration.java
@@ -27,6 +27,7 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 
 import de.bps.course.nodes.VCCourseNode;
 
@@ -40,24 +41,29 @@ import de.bps.course.nodes.VCCourseNode;
  * @author Jens Lindner(jlindne4@hs-mittweida.de)
  * @author skoeber
  */
-public class VCCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class VCCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 
+	@Override
 	public String getAlias() {
 		return "vc";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.virtualClassroom.name();
+	}
 
+	@Override
 	public String getIconCSSClass() {
 		return "o_vc_icon";
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new VCCourseNode();
 	}
 
-	public String getLinkCSSClass() {
-		return "o_vc_icon";
-	}
-
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
diff --git a/src/main/java/de/bps/course/nodes/vc/VCEditForm.java b/src/main/java/de/bps/course/nodes/vc/VCEditForm.java
index 0bf38d223b4..696b1ade1b2 100644
--- a/src/main/java/de/bps/course/nodes/vc/VCEditForm.java
+++ b/src/main/java/de/bps/course/nodes/vc/VCEditForm.java
@@ -125,7 +125,7 @@ public class VCEditForm extends FormBasicController {
     boolean useDates = !dateList.isEmpty() | config.isUseMeetingDates();
     String[] accessKeys = new String[] {OPTION_DATES};
   	String[] accessVals = new String[] {translate(OPTION_DATES)};
-  	multiSelectOptions = uifactory.addCheckboxesVertical("vc.options", "vc.options.label", editVC, accessKeys, accessVals, null, 1);
+  	multiSelectOptions = uifactory.addCheckboxesVertical("vc.options", "vc.options.label", editVC, accessKeys, accessVals, 1);
   	multiSelectOptions.select(OPTION_DATES, useDates);
   	multiSelectOptions.addActionListener(FormEvent.ONCHANGE);
 
diff --git a/src/main/java/de/bps/course/nodes/vc/provider/adobe/AdobeEditForm.java b/src/main/java/de/bps/course/nodes/vc/provider/adobe/AdobeEditForm.java
index d897a52b6fa..1698f3f45b3 100644
--- a/src/main/java/de/bps/course/nodes/vc/provider/adobe/AdobeEditForm.java
+++ b/src/main/java/de/bps/course/nodes/vc/provider/adobe/AdobeEditForm.java
@@ -66,7 +66,7 @@ public class AdobeEditForm extends FormBasicController {
     // meeting options
     String[] accessKeys = new String[] {OPTION_OPEN_MEETING, OPTION_START_MEETING};
     String[] accessVals = new String[] {translate(OPTION_OPEN_MEETING), translate(OPTION_START_MEETING)};
-    multiSelectOptions = uifactory.addCheckboxesVertical("vc.access", "vc.access.label", formLayout, accessKeys, accessVals, null, 1);
+    multiSelectOptions = uifactory.addCheckboxesVertical("vc.access", "vc.access.label", formLayout, accessKeys, accessVals, 1);
     multiSelectOptions.select(OPTION_START_MEETING, !config.isGuestStartMeetingAllowed());
     multiSelectOptions.select(OPTION_OPEN_MEETING, !config.isGuestAccessAllowed());
     multiSelectOptions.setVisible(showOptions);
diff --git a/src/main/java/de/bps/course/nodes/vc/provider/wimba/WimbaEditForm.java b/src/main/java/de/bps/course/nodes/vc/provider/wimba/WimbaEditForm.java
index 7d2afb46b9c..31c89f17738 100644
--- a/src/main/java/de/bps/course/nodes/vc/provider/wimba/WimbaEditForm.java
+++ b/src/main/java/de/bps/course/nodes/vc/provider/wimba/WimbaEditForm.java
@@ -61,7 +61,7 @@ public class WimbaEditForm extends FormBasicController {
     // options
     String[] optionKeys = new String[] {OPTION_GUEST_ACCESS};
     String[] optionVals = new String[] {translate(OPTION_GUEST_ACCESS)};
-    multiSelectOptions = uifactory.addCheckboxesVertical("vc.options", "vc.options.label", formLayout, optionKeys, optionVals, null, 1);
+    multiSelectOptions = uifactory.addCheckboxesVertical("vc.options", "vc.options.label", formLayout, optionKeys, optionVals, 1);
     multiSelectOptions.select(OPTION_GUEST_ACCESS, config.isGuestAccessAllowed());
     multiSelectOptions.showLabel(false);
     
diff --git a/src/main/java/de/bps/olat/portal/links/LinksPortletEditController.java b/src/main/java/de/bps/olat/portal/links/LinksPortletEditController.java
index 787c033b6b3..a35bbf7164f 100644
--- a/src/main/java/de/bps/olat/portal/links/LinksPortletEditController.java
+++ b/src/main/java/de/bps/olat/portal/links/LinksPortletEditController.java
@@ -104,7 +104,7 @@ public class LinksPortletEditController extends FormBasicController {
 				return true;
 			}
 		});
-		openPopup = uifactory.addCheckboxesHorizontal("link.open.new.window", "link.open.new.window", formLayout, new String[]{TARGET_BLANK}, new String[]{""}, new String[]{""});
+		openPopup = uifactory.addCheckboxesHorizontal("link.open.new.window", "link.open.new.window", formLayout, new String[]{TARGET_BLANK}, new String[]{""});
 		if (portletLink.getTarget().equals(TARGET_BLANK)) {
 			openPopup.selectAll();
 		}
diff --git a/src/main/java/de/bps/olat/user/propertyhandlers/GenericCheckboxPropertyHandler.java b/src/main/java/de/bps/olat/user/propertyhandlers/GenericCheckboxPropertyHandler.java
index 0ba16d183ab..07ba6f62ff9 100644
--- a/src/main/java/de/bps/olat/user/propertyhandlers/GenericCheckboxPropertyHandler.java
+++ b/src/main/java/de/bps/olat/user/propertyhandlers/GenericCheckboxPropertyHandler.java
@@ -49,7 +49,7 @@ public class GenericCheckboxPropertyHandler extends AbstractUserPropertyHandler
 	public FormItem addFormItem(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser,
 			FormItemContainer formItemContainer) {
 		SelectionElement sElem = null;
-		sElem = FormUIFactory.getInstance().addCheckboxesVertical(getName(), i18nFormElementLabelKey(), formItemContainer, new String[] { getName() }, new String[]{ "" }, null, 1);
+		sElem = FormUIFactory.getInstance().addCheckboxesVertical(getName(), i18nFormElementLabelKey(), formItemContainer, new String[] { getName() }, new String[]{ "" }, 1);
 		
 		UserManager um = UserManager.getInstance();
 		if ( um.isUserViewReadOnly(usageIdentifyer, this) && ! isAdministrativeUser) {
diff --git a/src/main/java/de/bps/onyx/plugin/course/nodes/iq/IQEditForm.java b/src/main/java/de/bps/onyx/plugin/course/nodes/iq/IQEditForm.java
index fb8f6b392a4..96ebdaa0e12 100644
--- a/src/main/java/de/bps/onyx/plugin/course/nodes/iq/IQEditForm.java
+++ b/src/main/java/de/bps/onyx/plugin/course/nodes/iq/IQEditForm.java
@@ -180,7 +180,7 @@ public class IQEditForm extends FormBasicController {
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 
-		limitAttempts = uifactory.addCheckboxesVertical("limitAttempts", "qti.form.limit.attempts", formLayout, new String[] { "xx" }, new String[] { null }, null, 1);
+		limitAttempts = uifactory.addCheckboxesVertical("limitAttempts", "qti.form.limit.attempts", formLayout, new String[] { "xx" }, new String[] { null }, 1);
 
 		Integer confAttempts = (Integer) modConfig.get(IQEditController.CONFIG_KEY_ATTEMPTS);
 		if (confAttempts == null) {
@@ -209,7 +209,7 @@ public class IQEditForm extends FormBasicController {
 		String[] valuesShowSolution = new String[]{""};
 		//Surveys do not have a solution
 		if(!isSurvey){
-			allowShowSolutionBox = uifactory.addCheckboxesVertical("allowShowSolution", "qti.form.allowShowSolution", formLayout, allowShowSolution, valuesShowSolution, null, 1);
+			allowShowSolutionBox = uifactory.addCheckboxesVertical("allowShowSolution", "qti.form.allowShowSolution", formLayout, allowShowSolution, valuesShowSolution, 1);
 			allowShowSolutionBox.addActionListener(FormEvent.ONCLICK);
 			if(confAllowShowSolution!=null){
 				allowShowSolutionBox.select(ALLOW, confAllowShowSolution);
@@ -223,7 +223,7 @@ public class IQEditForm extends FormBasicController {
 		String[] allowSuspension = new String[] { ALLOW };
 		String[] valuesSuspesion = new String[] { "" };
 		allowSuspensionBox = uifactory.addCheckboxesVertical("allowSuspension", "qti.form.allowSuspension", formLayout, allowSuspension,
-				valuesSuspesion, null, 1);
+				valuesSuspesion, 1);
 		allowSuspensionBox.addActionListener(FormEvent.ONCLICK);
 		if (confAllowSuspension != null) {
 			allowSuspensionBox.select(ALLOW, confAllowSuspension);
@@ -287,7 +287,7 @@ public class IQEditForm extends FormBasicController {
 		boolean confEnableShowResultOnHomePage = (showResultOnHomePage != null) ? showResultOnHomePage.booleanValue() : false;
 		confEnableShowResultOnHomePage = !noSummary && confEnableShowResultOnHomePage;
 		showResultsOnHomePage = uifactory.addCheckboxesVertical("qti_enableResultsOnHomePage", "qti.form.results.onhomepage", formLayout, new String[] { "xx" },
-				new String[] { null }, null, 1);
+				new String[] { null }, 1);
 		showResultsOnHomePage.select("xx", confEnableShowResultOnHomePage);
 		showResultsOnHomePage.addActionListener(FormEvent.ONCLICK);
 		showResultsOnHomePage.setVisible(!isSurvey);
@@ -299,7 +299,7 @@ public class IQEditForm extends FormBasicController {
 		}
 
 		showResultsDateDependentButton = uifactory.addCheckboxesVertical("qti_showresult", "qti.form.show.results", formLayout, new String[] { "xx" },
-				new String[] { null }, null, 1);
+				new String[] { null }, 1);
 		if (isAssessment || isSelfTest) {
 			showResultsDateDependentButton.select("xx", showResultsDateDependent);
 			showResultsDateDependentButton.addActionListener(FormEvent.ONCLICK);
diff --git a/src/main/java/de/tuchemnitz/wizard/workflows/coursecreation/steps/CcStep00.java b/src/main/java/de/tuchemnitz/wizard/workflows/coursecreation/steps/CcStep00.java
index 1bd0f1c427b..a33ec51274a 100644
--- a/src/main/java/de/tuchemnitz/wizard/workflows/coursecreation/steps/CcStep00.java
+++ b/src/main/java/de/tuchemnitz/wizard/workflows/coursecreation/steps/CcStep00.java
@@ -175,13 +175,19 @@ public class CcStep00 extends BasicStep {
 
 			// prepare checkboxes
 			String[] keys = new String[] { "sp", "en", "bc", "fo", "co" };
-			String[] values = new String[] { translator.translate("cce.informationpage"), translator.translate("cce.enrollment"),
-					translator.translate("cce.downloadfolder"), translator.translate("cce.forum"), translator.translate("cce.contactform") };
-
+			String[] values = new String[] {
+					translator.translate("cce.informationpage"), translator.translate("cce.enrollment"),
+					translator.translate("cce.downloadfolder"), translator.translate("cce.forum"),
+					translator.translate("cce.contactform")
+			};
 			// CSS for thumbs
-			String[] cssClasses = new String[] { "cc_sp", "en_sp", "bc_sp", "fo_sp", "co_sp", };
+			String[] iconCSS = new String[] {
+					"o_icon o_sp_icon", "o_icon o_en_icon",
+					"o_icon o_bc_icon", "o_icon o_fo_icon",
+					"o_icon o_co_icon"
+			};
 			// show checkbox
-			rightsChooser = FormUIFactory.getInstance().addCheckboxesVertical("rightsChooser", fic, keys, values, cssClasses, 1);
+			rightsChooser = FormUIFactory.getInstance().addCheckboxesVertical("rightsChooser", fic, keys, values, iconCSS, 1);
 			rightsChooser.addActionListener(FormEvent.ONCLICK); // Radios/Checkboxes need onclick because of IE bug OLAT-5753
 			// create edit button for enrollment and hide it
 			editButtonEnrollment = FormUIFactory.getInstance().addFormLink("cce.edit", fic);
diff --git a/src/main/java/de/tuchemnitz/wizard/workflows/coursecreation/steps/CcStep02.java b/src/main/java/de/tuchemnitz/wizard/workflows/coursecreation/steps/CcStep02.java
index 1b81d251a57..f76258d4758 100644
--- a/src/main/java/de/tuchemnitz/wizard/workflows/coursecreation/steps/CcStep02.java
+++ b/src/main/java/de/tuchemnitz/wizard/workflows/coursecreation/steps/CcStep02.java
@@ -155,7 +155,7 @@ public class CcStep02 extends BasicStep {
 			formLayout.add(formItems);
 
 			// create access limit checkbox
-			publishCheckbox = FormUIFactory.getInstance().addCheckboxesVertical("publishCheckbox", formItems, new String[] {"ison"}, new String[] {""}, null, 1);
+			publishCheckbox = FormUIFactory.getInstance().addCheckboxesVertical("publishCheckbox", formItems, new String[] {"ison"}, new String[] {""}, 1);
 			publishCheckbox.setLabel("car.makepublic", null);
 			publishCheckbox.select("ison", true);
 
diff --git a/src/main/java/de/tuchemnitz/wizard/workflows/coursecreation/steps/EnrollmentEditForm.java b/src/main/java/de/tuchemnitz/wizard/workflows/coursecreation/steps/EnrollmentEditForm.java
index 12284bd6e1a..610555bfadd 100644
--- a/src/main/java/de/tuchemnitz/wizard/workflows/coursecreation/steps/EnrollmentEditForm.java
+++ b/src/main/java/de/tuchemnitz/wizard/workflows/coursecreation/steps/EnrollmentEditForm.java
@@ -140,7 +140,7 @@ public class EnrollmentEditForm extends FormBasicController {
 		keys = new String[] { "ison" };
 		values = new String[] { "" };
 
-		accessLimit = uifactory.addCheckboxesVertical("accessLimit", formLayout, keys, values, null, 1);
+		accessLimit = uifactory.addCheckboxesVertical("accessLimit", formLayout, keys, values, 1);
 		accessLimit.setLabel("en.accesscheckbox", null);
 		accessLimit.select("ison", courseConfig.getEnableAccessLimit());
 		accessLimit.addActionListener(FormEvent.ONCLICK);
@@ -154,7 +154,7 @@ public class EnrollmentEditForm extends FormBasicController {
 			values[i] = elements.get(i);
 		}
 
-		courseElements = uifactory.addCheckboxesVertical("courseElements", formLayout, keys, values, null, 1);
+		courseElements = uifactory.addCheckboxesVertical("courseElements", formLayout, keys, values, 1);
 		courseElements.setLabel("en.selectelements", null);
 
 		if (!accessLimit.isSelected(0)) courseElements.setVisible(false);
diff --git a/src/main/java/org/olat/admin/privacy/PrivacyAdminController.java b/src/main/java/org/olat/admin/privacy/PrivacyAdminController.java
index 0a93314a715..0b333e332df 100644
--- a/src/main/java/org/olat/admin/privacy/PrivacyAdminController.java
+++ b/src/main/java/org/olat/admin/privacy/PrivacyAdminController.java
@@ -71,7 +71,7 @@ public class PrivacyAdminController extends FormBasicController {
 				translate("admin.props.groupmanagers"),
 				translate("admin.props.administrators")
 		};
-		adminPropsEl = uifactory.addCheckboxesVertical("admin.props", propsCont, adminPropKeys, adminPropValues, null, 1);
+		adminPropsEl = uifactory.addCheckboxesVertical("admin.props", propsCont, adminPropKeys, adminPropValues, 1);
 		adminPropsEl.select("users", "enabled".equals(module.getUserSearchAdminPropsForUsers()));
 		adminPropsEl.select("authors", "enabled".equals(module.getUserSearchAdminPropsForAuthors()));
 		adminPropsEl.select("usermanagers", "enabled".equals(module.getUserSearchAdminPropsForUsermanagers()));
@@ -81,7 +81,7 @@ public class PrivacyAdminController extends FormBasicController {
 		
 		uifactory.addSpacerElement("admin.space.1", propsCont, true);
 
-		lastloginEl = uifactory.addCheckboxesVertical("last.login", propsCont, adminPropKeys, adminPropValues, null, 1);
+		lastloginEl = uifactory.addCheckboxesVertical("last.login", propsCont, adminPropKeys, adminPropValues, 1);
 		lastloginEl.select("users", "enabled".equals(module.getUserLastLoginVisibleForUsers()));
 		lastloginEl.select("authors", "enabled".equals(module.getUserLastLoginVisibleForAuthors()));
 		lastloginEl.select("usermanagers", "enabled".equals(module.getUserLastLoginVisibleForUsermanagers()));
@@ -94,7 +94,7 @@ public class PrivacyAdminController extends FormBasicController {
 		tuCont.setFormTitle(translate("tunnel.title"));
 		tuCont.setFormDescription(translate("tunnel.desc"));
 		
-		tunnelEl = uifactory.addCheckboxesHorizontal("tunnel.cbb", tuCont, onKeys, new String[]{""}, null);
+		tunnelEl = uifactory.addCheckboxesHorizontal("tunnel.cbb", tuCont, onKeys, new String[]{""});
 		tunnelEl.select("on", "enabled".equals(module.getUserInfosTunnelCourseBuildingBlock()));
 		tunnelEl.addActionListener(FormEvent.ONCHANGE);
 	}
diff --git a/src/main/java/org/olat/admin/registration/SystemRegistrationAdminController.java b/src/main/java/org/olat/admin/registration/SystemRegistrationAdminController.java
index 6f8b6909a5f..bdbd0df7da9 100644
--- a/src/main/java/org/olat/admin/registration/SystemRegistrationAdminController.java
+++ b/src/main/java/org/olat/admin/registration/SystemRegistrationAdminController.java
@@ -99,7 +99,7 @@ public class SystemRegistrationAdminController extends FormBasicController {
 		//
 		// Add website
 		publishWebSiteSelection = uifactory.addCheckboxesVertical("registration.publishWebSiteSelection", null,  formLayout,
-				new String[] { YES }, new String[] { "" }, null, 1);
+				new String[] { YES }, new String[] { "" }, 1);
 		publishWebSiteSelection.addActionListener(FormEvent.ONCLICK);
 		boolean publishWebsiteConfig = registrationModule.isPublishWebsite();
 		publishWebSiteSelection.select(YES, publishWebsiteConfig);
@@ -123,7 +123,7 @@ public class SystemRegistrationAdminController extends FormBasicController {
 		//
 		// Add announce list
 		addToAnnounceListSelection = uifactory.addCheckboxesVertical("registration.addToAnnounceListSelection", null, formLayout,
-				new String[] { YES }, new String[] { "" }, null, 1);
+				new String[] { YES }, new String[] { "" }, 1);
 		addToAnnounceListSelection.addActionListener(FormEvent.ONCLICK);
 		addToAnnounceListSelection.select(YES, registrationModule.isNotifyReleases());
 		//
diff --git a/src/main/java/org/olat/admin/restapi/RestapiAdminController.java b/src/main/java/org/olat/admin/restapi/RestapiAdminController.java
index eca2fb909ba..58ce2e853a5 100644
--- a/src/main/java/org/olat/admin/restapi/RestapiAdminController.java
+++ b/src/main/java/org/olat/admin/restapi/RestapiAdminController.java
@@ -87,7 +87,7 @@ public class RestapiAdminController extends FormBasicController {
 			layoutContainer.add(accessDataFlc);
 
 			String[] values = new String[] { getTranslator().translate("rest.on") };
-			enabled = uifactory.addCheckboxesHorizontal("rest.enabled", accessDataFlc, keys, values, null);
+			enabled = uifactory.addCheckboxesHorizontal("rest.enabled", accessDataFlc, keys, values);
 			enabled.select(keys[0], restEnabled);
 			enabled.addActionListener(FormEvent.ONCHANGE);
 			
@@ -98,12 +98,12 @@ public class RestapiAdminController extends FormBasicController {
 			layoutContainer.add(managedFlc);
 			
 			String[] valueGrps = new String[] { getTranslator().translate("rest.on") };
-			managedGroupsEl = uifactory.addCheckboxesHorizontal("managed.group", managedFlc, keys, valueGrps, null);
+			managedGroupsEl = uifactory.addCheckboxesHorizontal("managed.group", managedFlc, keys, valueGrps);
 			managedGroupsEl.addActionListener(FormEvent.ONCHANGE);
 			managedGroupsEl.select(keys[0], groupModule.isManagedBusinessGroups());
 			
 			String[] valueRes = new String[] { getTranslator().translate("rest.on") };
-			managedRepoEl = uifactory.addCheckboxesHorizontal("managed.repo", managedFlc, keys, valueRes, null);
+			managedRepoEl = uifactory.addCheckboxesHorizontal("managed.repo", managedFlc, keys, valueRes);
 			managedRepoEl.addActionListener(FormEvent.ONCHANGE);
 			managedRepoEl.select(keys[0], repositoryModule.isManagedRepositoryEntries());
 		}
diff --git a/src/main/java/org/olat/admin/search/SearchAdminForm.java b/src/main/java/org/olat/admin/search/SearchAdminForm.java
index 700558e18e7..294669f0b2a 100644
--- a/src/main/java/org/olat/admin/search/SearchAdminForm.java
+++ b/src/main/java/org/olat/admin/search/SearchAdminForm.java
@@ -138,9 +138,9 @@ public class SearchAdminForm extends FormBasicController {
 		blackList = uifactory.addTextAreaElement("search.admin.label.blackList", 3, 80, "", formLayout);
 		blackList.setExampleKey("search.admin.label.blackList.example", null);
 		
-		excelFileEnabled = uifactory.addCheckboxesHorizontal("search.admin.label.enableExcel", formLayout, new String[]{"on"}, new String[]{""}, null);
-		pptFileEnabled = uifactory.addCheckboxesHorizontal("search.admin.label.enablePpt", formLayout, new String[]{"on"}, new String[]{""}, null);
-		pdfFileEnabled = uifactory.addCheckboxesHorizontal("search.admin.label.enablePdf", formLayout, new String[]{"on"}, new String[]{""}, null);
+		excelFileEnabled = uifactory.addCheckboxesHorizontal("search.admin.label.enableExcel", formLayout, new String[]{"on"}, new String[]{""});
+		pptFileEnabled = uifactory.addCheckboxesHorizontal("search.admin.label.enablePpt", formLayout, new String[]{"on"}, new String[]{""});
+		pdfFileEnabled = uifactory.addCheckboxesHorizontal("search.admin.label.enablePdf", formLayout, new String[]{"on"}, new String[]{""});
 
 		submit = new FormSubmit("submit", "submit");
 		formLayout.add(submit);
diff --git a/src/main/java/org/olat/admin/security/SecurityAdminController.java b/src/main/java/org/olat/admin/security/SecurityAdminController.java
index 919cd41e7d8..c4dc10c6d4a 100644
--- a/src/main/java/org/olat/admin/security/SecurityAdminController.java
+++ b/src/main/java/org/olat/admin/security/SecurityAdminController.java
@@ -62,17 +62,17 @@ public class SecurityAdminController extends FormBasicController {
 		String[] values = new String[]{ "" };
 		
 		// on: force top top frame (more security); off: allow in frame (less security)
-		topFrameEl = uifactory.addCheckboxesHorizontal("sec.topframe", "sec.topframe", formLayout, keys, values, null);
+		topFrameEl = uifactory.addCheckboxesHorizontal("sec.topframe", "sec.topframe", formLayout, keys, values);
 		topFrameEl.select("on", securityModule.isForceTopFrame());
 		topFrameEl.addActionListener(FormEvent.ONCHANGE);
 		
 		// on: block wiki (more security); off: do not block wiki (less security)
-		wikiEl = uifactory.addCheckboxesHorizontal("sec.wiki", "sec.wiki", formLayout, keys, values, null);
+		wikiEl = uifactory.addCheckboxesHorizontal("sec.wiki", "sec.wiki", formLayout, keys, values);
 		wikiEl.select("off", securityModule.isWikiEnabled());
 		wikiEl.addActionListener(FormEvent.ONCHANGE);
 
 		// on: force file download in folder component (more security); off: allow execution of content (less security)
-		forceDownloadEl = uifactory.addCheckboxesHorizontal("sec.download", "sec.force.download", formLayout, keys, values, null);
+		forceDownloadEl = uifactory.addCheckboxesHorizontal("sec.download", "sec.force.download", formLayout, keys, values);
 		forceDownloadEl.select("on", folderModule.isForceDownload());
 		forceDownloadEl.addActionListener(FormEvent.ONCHANGE);
 	}
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 d1102e32319..2675429b5b7 100644
--- a/src/main/java/org/olat/admin/site/ui/SitesConfigurationController.java
+++ b/src/main/java/org/olat/admin/site/ui/SitesConfigurationController.java
@@ -307,7 +307,7 @@ public class SitesConfigurationController extends FormBasicController {
 				}
 			}
 			
-			enableSiteEl = uifactory.addCheckboxesHorizontal("site.enable." + id, null, formLayout, new String[]{ "x" }, new String[]{ "" }, null);
+			enableSiteEl = uifactory.addCheckboxesHorizontal("site.enable." + id, null, formLayout, new String[]{ "x" }, new String[]{ "" });
 			enableSiteEl.addActionListener(FormEvent.ONCHANGE);
 			
 			altControllerEl = uifactory.addDropdownSingleselect("site.alternative." + id, "site.alternative", formLayout, altKeys, altValues, null);
diff --git a/src/main/java/org/olat/admin/sysinfo/BlockLoginConfirmationController.java b/src/main/java/org/olat/admin/sysinfo/BlockLoginConfirmationController.java
index 64a3d278f63..a1852b27daf 100644
--- a/src/main/java/org/olat/admin/sysinfo/BlockLoginConfirmationController.java
+++ b/src/main/java/org/olat/admin/sysinfo/BlockLoginConfirmationController.java
@@ -49,7 +49,7 @@ public class BlockLoginConfirmationController extends FormBasicController {
 		formLayout.add(optionsCont);
 		formLayout.add("options", optionsCont);
 		String[] values = new String[] { translate("persist.block.login")};
-		persistEl = uifactory.addCheckboxesVertical("block.login.options", "block.login.options", optionsCont, keys, values, null, 1);
+		persistEl = uifactory.addCheckboxesVertical("block.login.options", "block.login.options", optionsCont, keys, values, 1);
 		persistEl.select(keys[0], true);
 
 		FormLayoutContainer buttonCont = FormLayoutContainer.createButtonLayout("buttons", getTranslator());
diff --git a/src/main/java/org/olat/admin/sysinfo/CoreFunctionsController.java b/src/main/java/org/olat/admin/sysinfo/CoreFunctionsController.java
index a816ba0a64b..cab10867339 100644
--- a/src/main/java/org/olat/admin/sysinfo/CoreFunctionsController.java
+++ b/src/main/java/org/olat/admin/sysinfo/CoreFunctionsController.java
@@ -58,17 +58,17 @@ public class CoreFunctionsController extends FormBasicController {
 		formLayout.add("functions", serverCont);
 
 		MultipleSelectionElement clusterEl
-			= uifactory.addCheckboxesHorizontal("webdav", "core.webdav", serverCont, new String[]{"xx"}, new String[]{""}, null);
+			= uifactory.addCheckboxesHorizontal("webdav", "core.webdav", serverCont, new String[]{"xx"}, new String[]{""});
 		clusterEl.setEnabled(false);
 		clusterEl.select("xx", CoreSpringFactory.getImpl(WebDAVModule.class).isEnabled());
 
 		MultipleSelectionElement jsMathEl
-			= uifactory.addCheckboxesHorizontal("jsmath", "core.jsMath", serverCont, new String[]{"xx"}, new String[]{""}, null);
+			= uifactory.addCheckboxesHorizontal("jsmath", "core.jsMath", serverCont, new String[]{"xx"}, new String[]{""});
 		jsMathEl.setEnabled(false);
 		jsMathEl.select("xx", Boolean.TRUE);
 		
 		MultipleSelectionElement restEl
-		= uifactory.addCheckboxesHorizontal("restapi", "core.restapi", serverCont, new String[]{"xx"}, new String[]{""}, null);
+		= uifactory.addCheckboxesHorizontal("restapi", "core.restapi", serverCont, new String[]{"xx"}, new String[]{""});
 		restEl.setEnabled(false);
 		RestModule restModule = CoreSpringFactory.getImpl(RestModule.class);
 		restEl.select("xx", restModule.isEnabled());
diff --git a/src/main/java/org/olat/admin/sysinfo/SysinfoController.java b/src/main/java/org/olat/admin/sysinfo/SysinfoController.java
index a65efa965f4..bbd2e542cdb 100644
--- a/src/main/java/org/olat/admin/sysinfo/SysinfoController.java
+++ b/src/main/java/org/olat/admin/sysinfo/SysinfoController.java
@@ -162,7 +162,7 @@ public class SysinfoController extends FormBasicController {
 		//cluster
 		boolean clusterMode = "Cluster".equals(Settings.getClusterMode());
 		MultipleSelectionElement clusterEl
-			= uifactory.addCheckboxesHorizontal("cluster", "sysinfo.cluster", serverCont, new String[]{"xx"}, new String[]{""}, null);
+			= uifactory.addCheckboxesHorizontal("cluster", "sysinfo.cluster", serverCont, new String[]{"xx"}, new String[]{""});
 		clusterEl.setEnabled(false);
 		clusterEl.select("xx", clusterMode);
 		
diff --git a/src/main/java/org/olat/admin/user/SystemRolesAndRightsForm.java b/src/main/java/org/olat/admin/user/SystemRolesAndRightsForm.java
index b98c4c92eb6..4df41ef4293 100644
--- a/src/main/java/org/olat/admin/user/SystemRolesAndRightsForm.java
+++ b/src/main/java/org/olat/admin/user/SystemRolesAndRightsForm.java
@@ -300,9 +300,7 @@ public class SystemRolesAndRightsForm extends FormBasicController {
 		RolesSE = uifactory.addCheckboxesVertical(
 				"roles", "rightsForm.roles", formLayout,
 				roleKeys.toArray(new String[roleKeys.size()]),
-				roleValues.toArray(new String[roleValues.size()]),
-				null, 1
-		);
+				roleValues.toArray(new String[roleValues.size()]), 1);
 		rolesSep = uifactory.addSpacerElement("rolesSep", formLayout, false);
 		
 		statusRE = uifactory.addRadiosVertical(
diff --git a/src/main/java/org/olat/admin/user/UserCreateController.java b/src/main/java/org/olat/admin/user/UserCreateController.java
index 449edba5b12..575784e5ae1 100644
--- a/src/main/java/org/olat/admin/user/UserCreateController.java
+++ b/src/main/java/org/olat/admin/user/UserCreateController.java
@@ -207,7 +207,7 @@ class NewUserForm extends FormBasicController {
 			// checkBox: generate user with OLAT authentication or not
 			String[] authKeys = {"xx"};
 			String[] authValues = {translate("new.form.auth.true")};
-			authCheckbox = uifactory.addCheckboxesHorizontal("new.form.auth", formLayout, authKeys, authValues, null);
+			authCheckbox = uifactory.addCheckboxesHorizontal("new.form.auth", formLayout, authKeys, authValues);
 			authCheckbox.select("xx", showPasswordFields);
 			authCheckbox.addActionListener(FormEvent.ONCLICK);
 
diff --git a/src/main/java/org/olat/admin/user/UserSearchFlexiController.java b/src/main/java/org/olat/admin/user/UserSearchFlexiController.java
index 4427182e395..16837364682 100644
--- a/src/main/java/org/olat/admin/user/UserSearchFlexiController.java
+++ b/src/main/java/org/olat/admin/user/UserSearchFlexiController.java
@@ -442,7 +442,7 @@ public class UserSearchFlexiController extends FlexiAutoCompleterController {
 	private List<UserResultWrapper> wrapIdentities(List<Identity> identities) {
 		List<UserResultWrapper> wrappers = new ArrayList<UserResultWrapper>(identities.size());
 		for(Identity identity:identities) {
-			MultipleSelectionElement selectEl = uifactory.addCheckboxesHorizontal("sel_" + identity.getKey(), null, flc, new String[]{"on"}, new String[]{""}, null);
+			MultipleSelectionElement selectEl = uifactory.addCheckboxesHorizontal("sel_" + identity.getKey(), null, flc, new String[]{"on"}, new String[]{""});
 			FormLink selectLink = uifactory.addFormLink("sel_lin_" + identity.getKey(), "select", null, flc, Link.LINK);
 			selectLink.setUserObject(identity);
 			wrappers.add(new UserResultWrapper(identity, selectLink, selectEl));
diff --git a/src/main/java/org/olat/admin/user/UsermanagerUserSearchController.java b/src/main/java/org/olat/admin/user/UsermanagerUserSearchController.java
index 92d82d386f6..6bd0874da9c 100644
--- a/src/main/java/org/olat/admin/user/UsermanagerUserSearchController.java
+++ b/src/main/java/org/olat/admin/user/UsermanagerUserSearchController.java
@@ -858,17 +858,12 @@ class UsermanagerUserSearchForm extends FormBasicController {
 
 		uifactory.addSpacerElement("space1", formLayout, false);
 		roles = uifactory.addCheckboxesVertical(
-				"roles", "search.form.title.roles", formLayout, roleKeys, roleValues,
-				null, 1
-		);
-		
-		
+				"roles", "search.form.title.roles", formLayout, roleKeys, roleValues, 1);
+
 		uifactory.addSpacerElement("space2", formLayout, false);
 		auth = uifactory.addCheckboxesVertical(
 				"auth", "search.form.title.authentications",
-				formLayout, authKeys, authValues, null, 1
-		);
-		
+				formLayout, authKeys, authValues, 1);
 		
 		uifactory.addSpacerElement("space3", formLayout, false);
 		status = uifactory.addRadiosVertical(
diff --git a/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangePasswordController.java b/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangePasswordController.java
index 5894a431827..58b305f0fcb 100644
--- a/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangePasswordController.java
+++ b/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangePasswordController.java
@@ -173,8 +173,8 @@ public class UserBulkChangePasswordController extends BasicController {
 			
 			userListTextArea = FormUIFactory.getInstance().addTextAreaElement("bulk.psw.users", 10, 2, null, formLayout);
 			olatPasswordAuthentication = FormUIFactory.getInstance().addTextElement("pswtextfield", "bulk.psw.newpsw", 255, "", formLayout);
-			acceptDisclaimer = FormUIFactory.getInstance().addCheckboxesVertical("bulk.auto.disc", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
-			langGerman = FormUIFactory.getInstance().addCheckboxesVertical("bulk.lang.german", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+			acceptDisclaimer = FormUIFactory.getInstance().addCheckboxesVertical("bulk.auto.disc", formLayout, new String[]{"xx"}, new String[]{null}, 1);
+			langGerman = FormUIFactory.getInstance().addCheckboxesVertical("bulk.lang.german", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 			
 			final FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("button_layout", getTranslator());
 			formLayout.add(buttonLayout);
diff --git a/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep00.java b/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep00.java
index bc96aac5a04..2e42416a6fe 100644
--- a/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep00.java
+++ b/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep00.java
@@ -282,7 +282,7 @@ class UserBulkChangeStep00 extends BasicStep {
 			// add input field for password
 			Boolean canChangePwd = BaseSecurityModule.USERMANAGER_CAN_MODIFY_PWD;
 			if (canChangePwd.booleanValue() || isOLATAdmin) {
-				checkbox = uifactory.addCheckboxesVertical("checkboxPWD", "form.name.pwd", innerFormLayout, new String[] { "changePWD" }, new String[] { "" }, null, 1);
+				checkbox = uifactory.addCheckboxesVertical("checkboxPWD", "form.name.pwd", innerFormLayout, new String[] { "changePWD" }, new String[] { "" }, 1);
 				checkbox.select("changePWD", false);
 				checkbox.addActionListener(FormEvent.ONCLICK);
 				formitem = uifactory.addTextElement(UserBulkChangeManager.PWD_IDENTIFYER, "password", 127, null, innerFormLayout);
@@ -310,7 +310,7 @@ class UserBulkChangeStep00 extends BasicStep {
 				languageValues[p] = locdescs.get(key);
 				p++;
 			}
-			checkbox = uifactory.addCheckboxesVertical("checkboxLang", "form.name.language", innerFormLayout, new String[] { "changeLang" }, new String[] { "" }, null, 1);
+			checkbox = uifactory.addCheckboxesVertical("checkboxLang", "form.name.language", innerFormLayout, new String[] { "changeLang" }, new String[] { "" }, 1);
 			checkbox.select("changeLang", false);
 			checkbox.addActionListener(FormEvent.ONCLICK);
 			formitem = uifactory.addDropdownSingleselect(UserBulkChangeManager.LANG_IDENTIFYER, innerFormLayout, languageKeys, languageValues, null);
@@ -333,7 +333,8 @@ class UserBulkChangeStep00 extends BasicStep {
 				if(!(userPropertyHandler instanceof GenericUnique127CharTextPropertyHandler)) {
 					userPropertyHandlers.add(userPropertyHandler);
 
-					checkbox = uifactory.addCheckboxesVertical("checkbox" + i, "form.name." + userPropertyHandler.getName(), innerFormLayout, new String[] { "change" + userPropertyHandler.getName() }, new String[] { "" }, null, 1);
+					checkbox = uifactory.addCheckboxesVertical("checkbox" + i, "form.name." + userPropertyHandler.getName(), innerFormLayout,
+							new String[] { "change" + userPropertyHandler.getName() }, new String[] { "" }, 1);
 					checkbox.select("change" + userPropertyHandler.getName(), false);
 					checkbox.addActionListener(FormEvent.ONCLICK);
 	
diff --git a/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep01.java b/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep01.java
index e1ed014e7f3..3d27185726e 100644
--- a/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep01.java
+++ b/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep01.java
@@ -192,7 +192,7 @@ class UserBulkChangeStep01 extends BasicStep {
 
 			// usermanager:
 			if (isAdmin || isUserManager || iAmOlatAdmin) {
-				chkUserManager = uifactory.addCheckboxesVertical("Usermanager", "table.role.useradmin", innerFormLayout, new String[] { "Usermanager" }, new String[] { "" }, null, 1);
+				chkUserManager = uifactory.addCheckboxesVertical("Usermanager", "table.role.useradmin", innerFormLayout, new String[] { "Usermanager" }, new String[] { "" }, 1);
 				chkUserManager.select("Usermanager", false);
 				chkUserManager.addActionListener(FormEvent.ONCLICK);
 
@@ -206,7 +206,7 @@ class UserBulkChangeStep01 extends BasicStep {
 
 			// groupmanager
 			if (isAdmin || isGroupManager || iAmOlatAdmin) {
-				chkGroupManager = uifactory.addCheckboxesVertical("Groupmanager", "table.role.groupadmin", innerFormLayout, new String[] { "Groupmanager" }, new String[] { "" }, null, 1);
+				chkGroupManager = uifactory.addCheckboxesVertical("Groupmanager", "table.role.groupadmin", innerFormLayout, new String[] { "Groupmanager" }, new String[] { "" }, 1);
 				chkGroupManager.select("Groupmanager", false);
 				chkGroupManager.addActionListener(FormEvent.ONCLICK);
 
@@ -220,7 +220,7 @@ class UserBulkChangeStep01 extends BasicStep {
 
 			// author
 			if (isAdmin || isAuthor || iAmOlatAdmin) {
-				chkAuthor = uifactory.addCheckboxesVertical("Author", "table.role.author", innerFormLayout, new String[] { "Author" }, new String[] { "" }, null, 1);
+				chkAuthor = uifactory.addCheckboxesVertical("Author", "table.role.author", innerFormLayout, new String[] { "Author" }, new String[] { "" }, 1);
 				chkAuthor.select("Author", false);
 				chkAuthor.addActionListener(FormEvent.ONCLICK);
 
@@ -237,7 +237,7 @@ class UserBulkChangeStep01 extends BasicStep {
 			
 			// sysadmin
 			if (isAdmin || iAmOlatAdmin) {
-				chkAdmin = uifactory.addCheckboxesVertical("Admin", "table.role.admin", innerFormLayout, new String[] { "Admin" }, new String[] { "" }, null, 1);
+				chkAdmin = uifactory.addCheckboxesVertical("Admin", "table.role.admin", innerFormLayout, new String[] { "Admin" }, new String[] { "" }, 1);
 				chkAdmin.select("Admin", false);
 				chkAdmin.addActionListener(FormEvent.ONCLICK);
 
@@ -251,7 +251,7 @@ class UserBulkChangeStep01 extends BasicStep {
 
 			// status
 			if (isAdmin || iAmOlatAdmin) {
-				chkStatus = uifactory.addCheckboxesVertical("Status", "table.role.status", innerFormLayout, new String[] { "Status" }, new String[] { "" }, null, 1);
+				chkStatus = uifactory.addCheckboxesVertical("Status", "table.role.status", innerFormLayout, new String[] { "Status" }, new String[] { "" }, 1);
 				chkStatus.select("Status", false);
 				chkStatus.addActionListener(FormEvent.ONCLICK);
 
diff --git a/src/main/java/org/olat/admin/user/course/CourseLeaveDialogBoxController.java b/src/main/java/org/olat/admin/user/course/CourseLeaveDialogBoxController.java
index 0f5810722a3..3652566f02a 100644
--- a/src/main/java/org/olat/admin/user/course/CourseLeaveDialogBoxController.java
+++ b/src/main/java/org/olat/admin/user/course/CourseLeaveDialogBoxController.java
@@ -89,7 +89,7 @@ public class CourseLeaveDialogBoxController extends FormBasicController {
 		String[] values = new String[]{
 				translate("dialog.modal.bg.mail.text")
 		};
-		sendMail = uifactory.addCheckboxesHorizontal("send.mail", null, formLayout, keys, values, null);
+		sendMail = uifactory.addCheckboxesHorizontal("send.mail", null, formLayout, keys, values);
 		
 		if(!groupsToDelete.isEmpty()) {
 			String deletMsg = translate("unsubscribe.group.del");
@@ -98,7 +98,7 @@ public class CourseLeaveDialogBoxController extends FormBasicController {
 			String[] delValues = new String[]{
 					translate("group.delete.confirmation")
 			};
-			groupDeleteEl = uifactory.addCheckboxesHorizontal("group.del", null, formLayout, keys, delValues, null);
+			groupDeleteEl = uifactory.addCheckboxesHorizontal("group.del", null, formLayout, keys, delValues);
 			groupDeleteEl.select(keys[0], true);
 		}
 		
diff --git a/src/main/java/org/olat/admin/user/groups/GroupLeaveDialogBoxController.java b/src/main/java/org/olat/admin/user/groups/GroupLeaveDialogBoxController.java
index e2a82b97569..e2694529136 100644
--- a/src/main/java/org/olat/admin/user/groups/GroupLeaveDialogBoxController.java
+++ b/src/main/java/org/olat/admin/user/groups/GroupLeaveDialogBoxController.java
@@ -75,7 +75,7 @@ public class GroupLeaveDialogBoxController extends FormBasicController {
 		String[] values = new String[]{
 				translate("dialog.modal.bg.mail.text")
 		};
-		sendMail = uifactory.addCheckboxesHorizontal("send.mail", null, formLayout, keys, values, null);
+		sendMail = uifactory.addCheckboxesHorizontal("send.mail", null, formLayout, keys, values);
 
 		if(!groupsToDelete.isEmpty()) {
 			String deletMsg = translate("unsubscribe.group.del");
@@ -84,7 +84,7 @@ public class GroupLeaveDialogBoxController extends FormBasicController {
 			String[] delValues = new String[]{
 					translate("group.delete.confirmation")
 			};
-			groupDeleteEl = uifactory.addCheckboxesHorizontal("group.del", null, formLayout, keys, delValues, null);
+			groupDeleteEl = uifactory.addCheckboxesHorizontal("group.del", null, formLayout, keys, delValues);
 			groupDeleteEl.select(keys[0], true);
 		}
 		
diff --git a/src/main/java/org/olat/admin/user/groups/GroupSearchController.java b/src/main/java/org/olat/admin/user/groups/GroupSearchController.java
index 6e65c3e56c7..8ee3bf48d1e 100644
--- a/src/main/java/org/olat/admin/user/groups/GroupSearchController.java
+++ b/src/main/java/org/olat/admin/user/groups/GroupSearchController.java
@@ -251,7 +251,7 @@ public class GroupSearchController extends StepFormBasicController {
 	
 	private MultipleSelectionElement createSelection(String name) {
 		MultipleSelectionElement selection = new MultipleSelectionElementImpl(name, MultipleSelectionElementImpl.createVerticalLayout("checkbox",1));
-		selection.setKeysAndValues(new String[]{"on"}, new String[]{""}, null);
+		selection.setKeysAndValues(new String[]{"on"}, new String[]{""});
 		tableCont.add(name, selection);
 		return selection;
 	}
diff --git a/src/main/java/org/olat/admin/user/imp/ImportStep01.java b/src/main/java/org/olat/admin/user/imp/ImportStep01.java
index b15537abf68..d33b1a90441 100644
--- a/src/main/java/org/olat/admin/user/imp/ImportStep01.java
+++ b/src/main/java/org/olat/admin/user/imp/ImportStep01.java
@@ -137,13 +137,13 @@ class ImportStep01 extends BasicStep {
 			if(!updateIdents.isEmpty()) {
 				String[] updateValues = new String[]{ translate("update.user") };
 				updateEl = uifactory
-						.addCheckboxesHorizontal("update.user", textContainer, new String[]{"on"}, updateValues, null);
+						.addCheckboxesHorizontal("update.user", textContainer, new String[]{"on"}, updateValues);
 				updateEl.select("on", true);
 				
 				if(canCreateOLATPassword) {
 					String[] theValues = new String[]{ translate("update.password") };
 					updatePasswordEl = uifactory
-							.addCheckboxesHorizontal("update.password", textContainer, new String[]{"on"}, theValues, null);
+							.addCheckboxesHorizontal("update.password", textContainer, new String[]{"on"}, theValues);
 				}
 			}
 
diff --git a/src/main/java/org/olat/admin/user/imp/SendMailConfirmationController.java b/src/main/java/org/olat/admin/user/imp/SendMailConfirmationController.java
index 149d1f8ee60..e4bdc1b3e10 100644
--- a/src/main/java/org/olat/admin/user/imp/SendMailConfirmationController.java
+++ b/src/main/java/org/olat/admin/user/imp/SendMailConfirmationController.java
@@ -59,7 +59,7 @@ public class SendMailConfirmationController extends StepFormBasicController {
 		List<Long> partGroups = (List<Long>) getFromRunContext("partGroups");
 		
 		String[] values = new String[] { translate("step3.send.mail") };
-		typEl = uifactory.addCheckboxesVertical("typ", "step3.send.label", formLayout, keys, values, null, 1);
+		typEl = uifactory.addCheckboxesVertical("typ", "step3.send.label", formLayout, keys, values, 1);
 		typEl.setEnabled(ownGroups.size() > 0 || partGroups.size() > 0);
 	}
 	
diff --git a/src/main/java/org/olat/admin/user/tools/ui/UserToolsAdminController.java b/src/main/java/org/olat/admin/user/tools/ui/UserToolsAdminController.java
index f04cbb16a1e..bc53d41b963 100644
--- a/src/main/java/org/olat/admin/user/tools/ui/UserToolsAdminController.java
+++ b/src/main/java/org/olat/admin/user/tools/ui/UserToolsAdminController.java
@@ -74,7 +74,7 @@ public class UserToolsAdminController extends FormBasicController {
 			toolValues[i] = userTool.getLabel();
 		}
 
-		availableEl = uifactory.addCheckboxesVertical("available.tools", "available.tools", formLayout, toolKeys, toolValues, null, 1);
+		availableEl = uifactory.addCheckboxesVertical("available.tools", "available.tools", formLayout, toolKeys, toolValues, 1);
 		availableEl.addActionListener(FormEvent.ONCHANGE);
 		
 		if(!userToolsModule.isUserToolsDisabled()) {
@@ -92,7 +92,7 @@ public class UserToolsAdminController extends FormBasicController {
 			}
 		}
 
-		presetEl = uifactory.addCheckboxesVertical("preset.tools", "preset.tools", formLayout, toolKeys, toolValues, null, 1);
+		presetEl = uifactory.addCheckboxesVertical("preset.tools", "preset.tools", formLayout, toolKeys, toolValues, 1);
 		presetEl.addActionListener(FormEvent.ONCHANGE);
 	}
 	
diff --git a/src/main/java/org/olat/collaboration/CollaborationToolsSettingsController.java b/src/main/java/org/olat/collaboration/CollaborationToolsSettingsController.java
index aca9c22bde1..d54f3b22ec0 100644
--- a/src/main/java/org/olat/collaboration/CollaborationToolsSettingsController.java
+++ b/src/main/java/org/olat/collaboration/CollaborationToolsSettingsController.java
@@ -312,9 +312,7 @@ class ChoiceOfToolsForm extends FormBasicController {
 		ms = uifactory.addCheckboxesVertical(
 				"selection", formLayout, 
 				theKeys.toArray(new String[theKeys.size()]),
-				theValues.toArray(new String[theValues.size()]),
-				null, 1
-		);
+				theValues.toArray(new String[theValues.size()]), 1);
 		for (int i=0; i<availableTools.length; i++) {
 			ms.select(""+i, cts.isToolEnabled(availableTools[i]));
 		}
diff --git a/src/main/java/org/olat/commons/calendar/ui/KalendarEntryForm.java b/src/main/java/org/olat/commons/calendar/ui/KalendarEntryForm.java
index 56b27078935..173994bf3a7 100644
--- a/src/main/java/org/olat/commons/calendar/ui/KalendarEntryForm.java
+++ b/src/main/java/org/olat/commons/calendar/ui/KalendarEntryForm.java
@@ -321,7 +321,7 @@ public class KalendarEntryForm extends FormBasicController {
 		end.setMandatory(true);
 		end.setDate(event.getEnd());
 		
-		allDayEvent = uifactory.addCheckboxesVertical("allday", "cal.form.allday", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		allDayEvent = uifactory.addCheckboxesVertical("allday", "cal.form.allday", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		allDayEvent.select("xx", event.isAllDayEvent());
 		
 		chooseRecurrence = uifactory.addDropdownSingleselect("cal.form.recurrence", formLayout, keysRecurrence, valuesRecurrence, null);
diff --git a/src/main/java/org/olat/commons/file/filechooser/FileChooseCreateEditController.java b/src/main/java/org/olat/commons/file/filechooser/FileChooseCreateEditController.java
index 6d2814500fd..3efb21dc59c 100644
--- a/src/main/java/org/olat/commons/file/filechooser/FileChooseCreateEditController.java
+++ b/src/main/java/org/olat/commons/file/filechooser/FileChooseCreateEditController.java
@@ -719,7 +719,7 @@ class AllowRelativeLinksForm extends FormBasicController {
 
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
-		allowRelativeLinks = uifactory.addCheckboxesVertical("allowRelativeLinks", "allowRelativeLinks", formLayout, new String[] {"xx"}, new String[] {null}, null, 1);
+		allowRelativeLinks = uifactory.addCheckboxesVertical("allowRelativeLinks", "allowRelativeLinks", formLayout, new String[] {"xx"}, new String[] {null}, 1);
 		allowRelativeLinks.select("xx", isOn);
 		allowRelativeLinks.addActionListener(FormEvent.ONCLICK);
 	}
diff --git a/src/main/java/org/olat/commons/info/ui/SendMailStepController.java b/src/main/java/org/olat/commons/info/ui/SendMailStepController.java
index afab95f3199..dd5396fdf01 100644
--- a/src/main/java/org/olat/commons/info/ui/SendMailStepController.java
+++ b/src/main/java/org/olat/commons/info/ui/SendMailStepController.java
@@ -67,7 +67,7 @@ public class SendMailStepController extends StepFormBasicController {
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		setFormTitle("wizard.step1.title");
 		setFormDescription("wizard.step1.form_description");
-		sendSelection = uifactory.addCheckboxesVertical("wizard.step1.send_option", formLayout, sendOptionKeys, sendOptionValues, null, 1);
+		sendSelection = uifactory.addCheckboxesVertical("wizard.step1.send_option", formLayout, sendOptionKeys, sendOptionValues, 1);
 	}
 	
 	@Override
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 952f018ec0a..d2b62516800 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
@@ -82,7 +82,7 @@ public class ResumeController extends FormBasicController implements SupportsAft
 
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
-		askagainCheckbox = uifactory.addCheckboxesHorizontal("askagain",null, formLayout, askagain_keys,  new String[]{translate("askagain.label")}, null);
+		askagainCheckbox = uifactory.addCheckboxesHorizontal("askagain",null, formLayout, askagain_keys,  new String[]{translate("askagain.label")});
 		
 		// Button layout
 		FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("button_layout", getTranslator());
diff --git a/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java b/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java
index 3255f4fde06..0e6def0f8dc 100644
--- a/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java
+++ b/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java
@@ -230,7 +230,7 @@ public class FileUploadController extends FormBasicController {
 
 			String[] keys = new String[]{"resize"};
 			String[] values = new String[]{translate("resize_image")};
-			resizeEl = uifactory.addCheckboxesHorizontal("resize_image", resizeCont, keys, values, null);
+			resizeEl = uifactory.addCheckboxesHorizontal("resize_image", resizeCont, keys, values);
 			resizeEl.setLabel(null, null);
 			resizeEl.select("resize", true);
 		}
diff --git a/src/main/java/org/olat/core/commons/modules/glossary/GlossaryFlexionController.java b/src/main/java/org/olat/core/commons/modules/glossary/GlossaryFlexionController.java
index e9b0fe89496..10ce8742344 100644
--- a/src/main/java/org/olat/core/commons/modules/glossary/GlossaryFlexionController.java
+++ b/src/main/java/org/olat/core/commons/modules/glossary/GlossaryFlexionController.java
@@ -212,12 +212,11 @@ public class GlossaryFlexionController extends FormBasicController {
 			Collections.sort(glossItemFlexions);
 			String[] flexionKeys = ArrayHelper.toArray(glossItemFlexions);
 			String[] flexionValues = new String[flexionKeys.length];
-			String[] flexionCSS = new String[flexionKeys.length];
 			for (int i = 0; i < flexionKeys.length; i++) {
 				flexionValues[i] = glossItemFlexions.get(i);
 			}
-			existingFlexions = uifactory.addCheckboxesVertical("existing.flexions.checkboxes", null, formLayout, flexionKeys, flexionValues, flexionCSS,
-					1);
+			existingFlexions = uifactory.addCheckboxesVertical("existing.flexions.checkboxes", null, formLayout,
+					flexionKeys, flexionValues, 1);
 			existingFlexions.addActionListener(FormEvent.ONCLICK);
 			for (String flexKey : existingKeys) {
 				existingFlexions.select(flexKey, true);
@@ -226,7 +225,6 @@ public class GlossaryFlexionController extends FormBasicController {
 			selectAllLink = uifactory.addFormLink("flexions.select.all", formLayout, Link.LINK);
 			deselectAllLink = uifactory.addFormLink("flexions.select.none", formLayout, Link.LINK);
 		}
-
 	}
 
 	/**
diff --git a/src/main/java/org/olat/core/commons/services/webdav/ui/WebDAVAdminController.java b/src/main/java/org/olat/core/commons/services/webdav/ui/WebDAVAdminController.java
index 9e2cbe1ec1d..71bb683a213 100644
--- a/src/main/java/org/olat/core/commons/services/webdav/ui/WebDAVAdminController.java
+++ b/src/main/java/org/olat/core/commons/services/webdav/ui/WebDAVAdminController.java
@@ -56,16 +56,16 @@ public class WebDAVAdminController extends FormBasicController {
 
 		boolean enabled = webDAVModule.isEnabled();
 		String[] values = new String[] { getTranslator().translate("webdav.on") };
-		enableModuleEl = uifactory.addCheckboxesHorizontal("webdavModule", "webdav.module", formLayout, new String[]{"xx"}, values, null);
+		enableModuleEl = uifactory.addCheckboxesHorizontal("webdavModule", "webdav.module", formLayout, new String[]{"xx"}, values);
 		enableModuleEl.select("xx", enabled);
 		enableModuleEl.addActionListener(FormEvent.ONCHANGE);
 		
-		enableLinkEl = uifactory.addCheckboxesHorizontal("webdavLink", "webdav.link", formLayout, new String[]{"xx"}, values, null);
+		enableLinkEl = uifactory.addCheckboxesHorizontal("webdavLink", "webdav.link", formLayout, new String[]{"xx"}, values);
 		enableLinkEl.select("xx", webDAVModule.isLinkEnabled());
 		enableLinkEl.addActionListener(FormEvent.ONCHANGE);
 		enableLinkEl.setEnabled(enabled);
 		
-		enableDigestEl = uifactory.addCheckboxesHorizontal("webdavDigest", "webdav.digest", formLayout, new String[]{"xx"}, values, null);
+		enableDigestEl = uifactory.addCheckboxesHorizontal("webdavDigest", "webdav.digest", formLayout, new String[]{"xx"}, values);
 		enableDigestEl.select("xx", webDAVModule.isDigestAuthenticationEnabled());
 		enableDigestEl.addActionListener(FormEvent.ONCHANGE);
 		enableDigestEl.setEnabled(enabled);
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/FormUIFactory.java b/src/main/java/org/olat/core/gui/components/form/flexible/FormUIFactory.java
index 95e6c514542..5f516963ad4 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/FormUIFactory.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/FormUIFactory.java
@@ -192,11 +192,10 @@ public class FormUIFactory {
 	 * @param layouter
 	 * @param keys
 	 * @param values
-	 * @param cssClasses
 	 * @return
 	 */
-	public MultipleSelectionElement addCheckboxesHorizontal(String name, FormItemContainer formLayout, String[] keys, String values[], String[] cssClasses) {
-		return addCheckboxesHorizontal(name, name, formLayout, keys, values, cssClasses);
+	public MultipleSelectionElement addCheckboxesHorizontal(String name, FormItemContainer formLayout, String[] keys, String values[]) {
+		return addCheckboxesHorizontal(name, name, formLayout, keys, values);
 	}
 	
 	/**
@@ -207,12 +206,11 @@ public class FormUIFactory {
 	 * @param formLayout
 	 * @param keys
 	 * @param values
-	 * @param cssClasses
 	 * @return
 	 */
-	public MultipleSelectionElement addCheckboxesHorizontal(String name, String i18nLabel, FormItemContainer formLayout, String[] keys, String values[], String[] cssClasses) {
+	public MultipleSelectionElement addCheckboxesHorizontal(String name, String i18nLabel, FormItemContainer formLayout, String[] keys, String values[]) {
 		MultipleSelectionElement mse = new MultipleSelectionElementImpl(name, MultipleSelectionElementImpl.createHorizontalLayout(name));
-		mse.setKeysAndValues(keys, values, cssClasses);
+		mse.setKeysAndValues(keys, values);
 		setLabelIfNotNull(i18nLabel, mse);
 		formLayout.add(mse);
 		return mse;
@@ -231,8 +229,27 @@ public class FormUIFactory {
 	 * @param columns Currently 1 and 2 columns are supported
 	 * @return
 	 */
-	public MultipleSelectionElement addCheckboxesVertical(String name, FormItemContainer formLayout, String[] keys, String values[], String[] cssClasses, int columns) {
-		return addCheckboxesVertical(name, name, formLayout, keys, values, cssClasses, columns);
+	public MultipleSelectionElement addCheckboxesVertical(String name, FormItemContainer formLayout, String[] keys, String values[], int columns) {
+		return addCheckboxesVertical(name, name, formLayout, keys, values, null, null, columns);
+	}
+	
+	/**
+	 * 
+	 * See above
+	 * @param name
+	 * @param formLayout
+	 * @param keys
+	 * @param values
+	 * @param iconLeftCSS Icon placed with an &lt;i&gt; tag
+	 * @param columns
+	 * @return
+	 */
+	public MultipleSelectionElement addCheckboxesVertical(String name, FormItemContainer formLayout, String[] keys, String values[], String[] iconLeftCSS, int columns) {
+		return addCheckboxesVertical(name, name, formLayout, keys, values, null, iconLeftCSS, columns);
+	}
+	
+	public MultipleSelectionElement addCheckboxesVertical(String name, String i18nLabel, FormItemContainer formLayout, String[] keys, String values[], int columns) {
+		return addCheckboxesVertical(name, i18nLabel, formLayout, keys, values, null, null, columns);
 	}
 		
 	/**
@@ -246,9 +263,10 @@ public class FormUIFactory {
 	 * @param columns
 	 * @return
 	 */
-	public MultipleSelectionElement addCheckboxesVertical(String name, String i18nLabel, FormItemContainer formLayout, String[] keys, String values[], String[] cssClasses, int columns) {
+	public MultipleSelectionElement addCheckboxesVertical(String name, String i18nLabel, FormItemContainer formLayout,
+			String[] keys, String values[], String[] cssClasses, String[] iconLeftCSS, int columns) {
 		MultipleSelectionElement mse = new MultipleSelectionElementImpl(name, MultipleSelectionElementImpl.createVerticalLayout(name, columns));
-		mse.setKeysAndValues(keys, values, cssClasses);
+		mse.setKeysAndValues(keys, values, cssClasses, iconLeftCSS);
 		setLabelIfNotNull(i18nLabel, mse);
 		formLayout.add(mse);
 		return mse;
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/elements/MultipleSelectionElement.java b/src/main/java/org/olat/core/gui/components/form/flexible/elements/MultipleSelectionElement.java
index f4b94acd2aa..e9397c53e49 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/elements/MultipleSelectionElement.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/elements/MultipleSelectionElement.java
@@ -45,6 +45,8 @@ public interface MultipleSelectionElement extends SelectionElement {
 	 * @return a Set of Strings
 	 */
 	public Set<String> getSelectedKeys();
+	
+	public void setKeysAndValues(String[] keys, String values[]);
 
 	/**
 	 * 
@@ -54,7 +56,7 @@ public interface MultipleSelectionElement extends SelectionElement {
 	 *            The CSS classes that should be used in the form element for
 	 *            each key-value pair or NULL not not use special styling
 	 */
-	public void setKeysAndValues(String[] keys, String values[], String[] cssClasses);
+	public void setKeysAndValues(String[] keys, String values[], String[] cssClasses, String[] iconLeftCSS);
 	
 	public Set<String> getKeys();
 	
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/CheckboxElementComponent.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/CheckboxElementComponent.java
index 6b22f5a5689..3d480931dc6 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/CheckboxElementComponent.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/CheckboxElementComponent.java
@@ -44,6 +44,7 @@ class CheckboxElementComponent extends FormBaseComponentImpl {
 	private final SelectionElement selectionWrapper;
 	private final int which;
 	private boolean escapeHtml = true;
+	private String iconLeftCSS;
 	private final String cssClass;
 	private static final ComponentRenderer RENDERER = new CheckboxRenderer();
 	//public static final String RENDERARG_ESCAPEHTML = "ESC_HTML";
@@ -64,11 +65,13 @@ class CheckboxElementComponent extends FormBaseComponentImpl {
 	 *            Optional css class to be added to the checkbox in a span
 	 *            element. Can be NULL
 	 */
-	CheckboxElementComponent(String name, Translator translator, SelectionElement selectionWrapper, int which, String cssClass) {
+	CheckboxElementComponent(String name, Translator translator, SelectionElement selectionWrapper, int which,
+			String cssClass, String iconLeftCSS) {
 		super(name, translator);
 		this.selectionWrapper = selectionWrapper;
 		this.which = which;
 		this.cssClass = cssClass;
+		this.iconLeftCSS = iconLeftCSS;
 	}
 
 	/**
@@ -111,6 +114,14 @@ class CheckboxElementComponent extends FormBaseComponentImpl {
 		return cssClass;
 	}
 	
+	public String getIconLeftCSS() {
+		return iconLeftCSS;
+	}
+
+	public void setIconLeftCSS(String iconLeftCSS) {
+		this.iconLeftCSS = iconLeftCSS;
+	}
+
 	public int getAction(){
 		return selectionWrapper.getAction();
 	}
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/CheckboxRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/CheckboxRenderer.java
index c9805970520..615b3529861 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/CheckboxRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/CheckboxRenderer.java
@@ -27,11 +27,10 @@ package org.olat.core.gui.components.form.flexible.impl.elements;
 
 import org.apache.commons.lang.StringEscapeUtils;
 import org.olat.core.gui.components.Component;
-import org.olat.core.gui.components.ComponentRenderer;
+import org.olat.core.gui.components.DefaultComponentRenderer;
 import org.olat.core.gui.components.form.flexible.impl.FormJSHelper;
 import org.olat.core.gui.render.RenderResult;
 import org.olat.core.gui.render.Renderer;
-import org.olat.core.gui.render.RenderingState;
 import org.olat.core.gui.render.StringOutput;
 import org.olat.core.gui.render.URLBuilder;
 import org.olat.core.gui.translator.Translator;
@@ -45,11 +44,12 @@ import org.olat.core.util.StringHelper;
  * Initial Date:  04.01.2007 <br>
  * @author patrickb
  */
-class CheckboxRenderer implements ComponentRenderer {
+class CheckboxRenderer extends DefaultComponentRenderer {
 
 	/**
 	 * @see org.olat.core.gui.components.ComponentRenderer#render(org.olat.core.gui.render.Renderer, org.olat.core.gui.render.StringOutput, org.olat.core.gui.components.Component, org.olat.core.gui.render.URLBuilder, org.olat.core.gui.translator.Translator, org.olat.core.gui.render.RenderResult, java.lang.String[])
 	 */
+	@Override
 	public void render(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu, Translator translator,
 			RenderResult renderResult, String[] args) {
 		
@@ -69,20 +69,12 @@ class CheckboxRenderer implements ComponentRenderer {
 		
 		boolean selected = cec.isSelected();
 		
-		
 		//read write view
 		String cssClass = cec.getCssClass(); //optional CSS class
-		sb.append("<div class='checkbox ");
-		if (cssClass !=  null) sb.append(cssClass);		
-		sb.append("'>");
-		sb.append("<input type=\"checkbox\" ");
-		sb.append("id=\"");
-		sb.append(cec.getFormDispatchId());
-		sb.append("\" ");
-		sb.append(subStrName);
-		sb.append(" value=\"");
-		sb.append(key);
-		sb.append("\"");
+		sb.append("<div class='o_checkbox ").append(cssClass, cssClass !=  null).append("'>")
+		  .append("<input type='checkbox' id='").append(cec.getFormDispatchId()).append("' ")
+		  .append(subStrName)
+		  .append(" value='").append(key).append("'");
 		if (selected) sb.append(" checked=\"checked\" ");
 		if(!source.isEnabled()){
 			sb.append(" disabled=\"disabled\" ");
@@ -91,10 +83,15 @@ class CheckboxRenderer implements ComponentRenderer {
 			sb.append(FormJSHelper.getRawJSFor(cec.getRootForm(),cec.getSelectionElementFormDisId(), cec.getAction()));
 		}
 		sb.append(" />");
+		String iconLeftCSS = cec.getIconLeftCSS();
+		if (StringHelper.containsNonWhitespace(iconLeftCSS)) {
+			sb.append(" <i class='").append(iconLeftCSS).append("'> </i> ");
+		}
+		
 		if (StringHelper.containsNonWhitespace(value)) {
-			sb.append("<label for=\"").append(cec.getFormDispatchId()).append("\">");
-			sb.append(value);
-			sb.append("</label>");			
+			sb.append("<label for=\"").append(cec.getFormDispatchId()).append("\">")
+			  .append(value)
+			  .append("</label>");			
 		}
 		sb.append("</div>");
 		
@@ -104,24 +101,5 @@ class CheckboxRenderer implements ComponentRenderer {
 			sb.append(FormJSHelper.getSetFlexiFormDirtyForCheckbox(cec.getRootForm(), cec.getFormDispatchId()));
 			sb.append(FormJSHelper.getJSEnd());
 		}
-	
-	}
-
-	/**
-	 * @see org.olat.core.gui.components.ComponentRenderer#renderBodyOnLoadJSFunctionCall(org.olat.core.gui.render.Renderer, org.olat.core.gui.render.StringOutput, org.olat.core.gui.components.Component, org.olat.core.gui.render.RenderingState)
-	 */
-	public void renderBodyOnLoadJSFunctionCall(Renderer renderer, StringOutput sb, Component source, RenderingState rstate) {
-	// TODO Auto-generated method stub
-
 	}
-
-	/**
-	 * @see org.olat.core.gui.components.ComponentRenderer#renderHeaderIncludes(org.olat.core.gui.render.Renderer, org.olat.core.gui.render.StringOutput, org.olat.core.gui.components.Component, org.olat.core.gui.render.URLBuilder, org.olat.core.gui.translator.Translator, org.olat.core.gui.render.RenderingState)
-	 */
-	public void renderHeaderIncludes(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu, Translator translator,
-			RenderingState rstate) {
-	// TODO Auto-generated method stub
-
-	}
-
-}
+}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/MultiSelectionTree.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/MultiSelectionTree.java
index 16ca129e905..6f813a2d1d0 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/MultiSelectionTree.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/MultiSelectionTree.java
@@ -91,7 +91,7 @@ public class MultiSelectionTree extends MultipleSelectionElementImpl implements
 				if(selectableFilter.isSelectable(tn)){
 					// apply css class of tree node to checkbox label wrapper as well
 					String cssClass = tn.getCssClass(); 
-					CheckboxElementComponent ssec = new CheckboxElementComponent(getName()+"_"+keys[i], translator, this, i, cssClass);
+					CheckboxElementComponent ssec = new CheckboxElementComponent(getName()+"_"+keys[i], translator, this, i, null, cssClass);
 					checkboxitems.put(keys[i], ssec);
 				} else {
 					StaticTextElement ste = new StaticTextElementImpl(keys[i], tn.getTitle());
@@ -143,8 +143,8 @@ public class MultiSelectionTree extends MultipleSelectionElementImpl implements
 	}
 
 	@Override
-	public void setKeysAndValues(String[] keys, String[] values, String[] cssClasses) {
-		super.setKeysAndValues(keys, values, cssClasses);
+	public void setKeysAndValues(String[] keys, String[] values, String[] cssClasses, String[] iconLeftCSS) {
+		super.setKeysAndValues(keys, values, cssClasses, iconLeftCSS);
 		// set menu tree dirty to render new values
 		this.component.setDirty(true);
 	}
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/MultipleSelectionElementImpl.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/MultipleSelectionElementImpl.java
index bfc67de72c4..07d24f8573e 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/MultipleSelectionElementImpl.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/MultipleSelectionElementImpl.java
@@ -63,6 +63,7 @@ public class MultipleSelectionElementImpl extends FormItemImpl implements Multip
 	protected String[] keys;
 	protected String[] values;
 	private String[] cssClasses;
+	private String[] iconLeftCSS;
 	private Set<String> selected;
 	
 	protected FormLayouter formLayoutContainer;
@@ -103,10 +104,17 @@ public class MultipleSelectionElementImpl extends FormItemImpl implements Multip
 		return selected;
 	}
 
-	public void setKeysAndValues(String[] keys, String[] values, String[] cssClasses){
+	@Override
+	public void setKeysAndValues(String[] keys, String[] values) {
+		setKeysAndValues(keys, values, null, null);
+	}
+
+	@Override
+	public void setKeysAndValues(String[] keys, String[] values, String[] cssClasses, String[] iconLeftCSS) {
 		this.keys = keys;
 		this.values = values;
 		this.cssClasses = cssClasses;
+		this.iconLeftCSS = iconLeftCSS;
 		//
 		// remove all elements
 		// add new elements
@@ -351,7 +359,8 @@ public class MultipleSelectionElementImpl extends FormItemImpl implements Multip
 		// create and add radio elements
 		String[] items = new String[keys.length];
 		for (int i = 0; i < keys.length; i++) {
-			CheckboxElementComponent ssec = new CheckboxElementComponent(getName()+"_"+keys[i], translator, this, i, (cssClasses == null ? null : cssClasses[i]));
+			CheckboxElementComponent ssec = new CheckboxElementComponent(getName()+"_"+keys[i], translator, this, i,
+					(cssClasses == null ? null : cssClasses[i]), (iconLeftCSS == null ? null : iconLeftCSS[i]));
 			formLayoutContainer.put(getName()+"_"+keys[i], ssec);
 			items[i] = getName()+"_"+keys[i];
 			ssec.setEnabled(isEnabled());
diff --git a/src/main/java/org/olat/core/gui/components/tree/SelectionTreeRenderer.java b/src/main/java/org/olat/core/gui/components/tree/SelectionTreeRenderer.java
index b8550b488d0..9071edc81ef 100644
--- a/src/main/java/org/olat/core/gui/components/tree/SelectionTreeRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/tree/SelectionTreeRenderer.java
@@ -258,7 +258,7 @@ public class SelectionTreeRenderer extends DefaultComponentRenderer {
 				}
 			}
 			if (cssClass != null) sb.append("</span>");
-
+			renderNodeDecorators(sb, child);
 			// END of choice div
 			sb.append("</div></div>"); 
 
@@ -282,25 +282,26 @@ public class SelectionTreeRenderer extends DefaultComponentRenderer {
 		// item icon css class and icon decorator (for each icon quadrant a div, eclipse style)
 		String iconCssClass = node.getIconCssClass();
 		if (iconCssClass != null) {
-			sb.append("<div class=\"").append(iconCssClass).append("\" title=\"").append(StringEscapeUtils.escapeHtml(node.getAltText())).append("\">");
-			
-			String deco1 = node.getIconDecorator1CssClass();
-			if (deco1 != null)
-				sb.append("<span class=\"").append(deco1).append("\"></span>");
-			
-			String deco2 = node.getIconDecorator2CssClass();
-			if (deco2 != null)
-				sb.append("<span class=\"").append(deco2).append("\"></span>");
-			
-			String deco3 = node.getIconDecorator3CssClass();
-			if (deco3 != null)
-				sb.append("<span class=\"").append(deco3).append("\"></span>");
-			
-			String deco4 = node.getIconDecorator4CssClass();
-			if (deco4 != null)
-				sb.append("<span class=\"").append(deco4).append("\"></span>");
-
-			sb.append("</div>");			
+			sb.append("<div title=\"").append(StringEscapeUtils.escapeHtml(node.getAltText()))
+			  .append("\"><i class='o_icon ").append(iconCssClass).append("'> </i></div>");
+		}
+	}
+	private void renderNodeDecorators(StringOutput sb, TreeNode node) {	
+		String deco1 = node.getIconDecorator1CssClass();
+		if (deco1 != null) {
+			sb.append("<span class='badge pull-right ").append(deco1).append("'></span>");
+		}
+		String deco2 = node.getIconDecorator2CssClass();
+		if (deco2 != null) {
+			sb.append("<span class='badge pull-right ").append(deco2).append("'></span>");
+		}
+		String deco3 = node.getIconDecorator3CssClass();
+		if (deco3 != null) {
+			sb.append("<span class='badge pull-right ").append(deco3).append("'></span>");
+		}
+		String deco4 = node.getIconDecorator4CssClass();
+		if (deco4 != null) {
+			sb.append("<span class='badge pull-right").append(deco4).append("'></span>");
 		}
 	}
 
diff --git a/src/main/java/org/olat/core/gui/control/generic/choice/ChoiceController.java b/src/main/java/org/olat/core/gui/control/generic/choice/ChoiceController.java
index a7b4c627b4c..c568a529097 100644
--- a/src/main/java/org/olat/core/gui/control/generic/choice/ChoiceController.java
+++ b/src/main/java/org/olat/core/gui/control/generic/choice/ChoiceController.java
@@ -126,9 +126,9 @@ public class ChoiceController extends FormBasicController {
 		}else if(singleSelection && !layoutVertical){
 			entrySelector = uifactory.addRadiosHorizontal(selectionName, null, formLayout, keysIn, translatedKeys);
 		}else if(!singleSelection && layoutVertical){
-			entrySelector = uifactory.addCheckboxesVertical(selectionName, null, formLayout, keysIn, translatedKeys, null, 1);
+			entrySelector = uifactory.addCheckboxesVertical(selectionName, null, formLayout, keysIn, translatedKeys, 1);
 		}else if(!singleSelection && !layoutVertical){
-			entrySelector = uifactory.addCheckboxesHorizontal(selectionName, null, formLayout, keysIn, translatedKeys, null);
+			entrySelector = uifactory.addCheckboxesHorizontal(selectionName, null, formLayout, keysIn, translatedKeys);
 		}
 		
 		// add Submit
diff --git a/src/main/java/org/olat/core/gui/control/generic/folder/FolderTreeModel.java b/src/main/java/org/olat/core/gui/control/generic/folder/FolderTreeModel.java
index 1aa96326711..9557d18fdd3 100644
--- a/src/main/java/org/olat/core/gui/control/generic/folder/FolderTreeModel.java
+++ b/src/main/java/org/olat/core/gui/control/generic/folder/FolderTreeModel.java
@@ -76,7 +76,7 @@ public class FolderTreeModel extends GenericTreeModel {
 		this.fileFilter = fileFilter;
 
 		GenericTreeNode newRoot = new GenericTreeNode(rootContainer.getName(), rootContainer.getName());
-		newRoot.setIconCssClass("b_filetype_folder");
+		newRoot.setIconCssClass("o_filetype_folder");
 		setRootNode(newRoot);
 		if (allowRootFolderSelect) { // include root folder as selection
 			GenericTreeNode effectiveRoot = new GenericTreeNode("/", "/");
@@ -116,7 +116,7 @@ public class FolderTreeModel extends GenericTreeModel {
 				// container node
 				String filePath = parentPath + childName + "/";
 				GenericTreeNode tChild = new GenericTreeNode(childName, filePath); // filePath is the information to be remembered later
-				tChild.setIconCssClass("b_filetype_folder");
+				tChild.setIconCssClass("o_filetype_folder");
 				tChild.setAltText(child.getName());
 				tChild.setAccessible(selectableFolders ? (child.canWrite() == VFSConstants.YES) : false);
 				tParent.addChild(tChild);
@@ -134,7 +134,7 @@ public class FolderTreeModel extends GenericTreeModel {
 				GenericTreeNode tChild = new GenericTreeNode(childName, filePath);
 				String type = FolderHelper.extractFileType(childName, locale);
 				if (!FolderHelper.isKnownFileType(type)) { type = "file"; }
-				tChild.setIconCssClass("b_filetype_" + type);
+				tChild.setIconCssClass("o_filetype_" + type);
 				tChild.setAltText(childName);
 				tChild.setAccessible(selectableFiles);
 				tParent.addChild(tChild);
diff --git a/src/main/java/org/olat/core/gui/control/generic/iframe/DeliveryOptionsConfigurationController.java b/src/main/java/org/olat/core/gui/control/generic/iframe/DeliveryOptionsConfigurationController.java
index 2df55c9e49e..29f2e247ae8 100644
--- a/src/main/java/org/olat/core/gui/control/generic/iframe/DeliveryOptionsConfigurationController.java
+++ b/src/main/java/org/olat/core/gui/control/generic/iframe/DeliveryOptionsConfigurationController.java
@@ -176,7 +176,7 @@ public class DeliveryOptionsConfigurationController extends FormBasicController
 		jsOptionEl = uifactory.addRadiosVertical("option.js", formLayout, jsKeys, jsValues);
 		jsOptionEl.addActionListener(FormEvent.ONCHANGE);
 		
-		glossarEl = uifactory.addCheckboxesHorizontal("option.glossary", formLayout, new String[]{"on"}, new String[]{""}, null);
+		glossarEl = uifactory.addCheckboxesHorizontal("option.glossary", formLayout, new String[]{"on"}, new String[]{""});
 
 		String[] values = new String[]{ translate("height.auto"), "460px", "480px", 
 				"500px", "520px", "540px", "560px", "580px",
diff --git a/src/main/java/org/olat/core/util/i18n/I18nManager.java b/src/main/java/org/olat/core/util/i18n/I18nManager.java
index d02d4ee9f35..985a1fa2392 100644
--- a/src/main/java/org/olat/core/util/i18n/I18nManager.java
+++ b/src/main/java/org/olat/core/util/i18n/I18nManager.java
@@ -1287,7 +1287,7 @@ public class I18nManager extends BasicManager {
 		for (int i = 0; i < languageKeys.length; i++) {
 			String cssClasses = (additionalCssClass == null ? "" : additionalCssClass);
 			String langKey = languageKeys[i];
-			cssClasses += " b_flag_" + langKey;
+			cssClasses += " o_flag_" + langKey;
 			flagsCssClasses[i] = cssClasses;
 		}
 		return flagsCssClasses;
diff --git a/src/main/java/org/olat/core/util/i18n/ui/I18nConfigController.java b/src/main/java/org/olat/core/util/i18n/ui/I18nConfigController.java
index 36244862627..d8d28398a0b 100644
--- a/src/main/java/org/olat/core/util/i18n/ui/I18nConfigController.java
+++ b/src/main/java/org/olat/core/util/i18n/ui/I18nConfigController.java
@@ -99,7 +99,7 @@ class I18nConfigController extends FormBasicController {
 			defaultLangValues[i] = all;
 		}
 		ArrayHelper.sort(defaultlangKeys, defaultLangValues, false, true, false);
-		String[] defaultLangCssClasses = i18nMgr.createLanguageFlagsCssClasses(defaultlangKeys, "b_with_small_icon_left");
+		String[] defaultLangCssClasses = i18nMgr.createLanguageFlagsCssClasses(defaultlangKeys, "o_flag");
 		defaultLangSelection = uifactory.addDropdownSingleselect("configuration.defaultLangSelection", formLayout, defaultlangKeys,
 				defaultLangValues, defaultLangCssClasses);
 		defaultLangSelection.addActionListener(FormEvent.ONCHANGE);
@@ -127,9 +127,9 @@ class I18nConfigController extends FormBasicController {
 			availableValues[i] = all;
 		}
 		ArrayHelper.sort(availablelangKeys, availableValues, false, true, false);
-		String[] availableLangCssClasses = i18nMgr.createLanguageFlagsCssClasses(availablelangKeys, "b_with_small_icon_left");
+		String[] availableLangIconCss = i18nMgr.createLanguageFlagsCssClasses(availablelangKeys, "o_flag");
 		enabledLangSelection = uifactory.addCheckboxesVertical("configuration.enabledLangSelection", null, formLayout, availablelangKeys,
-				availableValues, availableLangCssClasses, 2);
+				availableValues, null, availableLangIconCss, 2);
 		enabledLangSelection.setEscapeHtml(false);
 		enabledLangSelection.addActionListener(FormEvent.ONCLICK); // Radios/Checkboxes need onclick because of IE bug OLAT-5753
 		// Enable current enabled languages
diff --git a/src/main/java/org/olat/core/util/i18n/ui/I18nConfigSubDeleteLangController.java b/src/main/java/org/olat/core/util/i18n/ui/I18nConfigSubDeleteLangController.java
index 8175609d2dd..3fbfa2a7b74 100644
--- a/src/main/java/org/olat/core/util/i18n/ui/I18nConfigSubDeleteLangController.java
+++ b/src/main/java/org/olat/core/util/i18n/ui/I18nConfigSubDeleteLangController.java
@@ -106,7 +106,7 @@ class I18nConfigSubDeleteLangController extends FormBasicController {
 		ArrayHelper.sort(deletableKeys, availableValues, false, true, false);
 		String[] availableLangCssClasses = i18nMgr.createLanguageFlagsCssClasses(deletableKeys, "b_with_small_icon_left");
 		deleteLangSelection = uifactory.addCheckboxesVertical("configuration.deleteLangSelection", null, formLayout, deletableKeys,
-				availableValues, availableLangCssClasses, 2);
+				availableValues, availableLangCssClasses, null, 2);
 		deleteLangSelection.addActionListener(FormEvent.ONCLICK);
 		// Add cancel and submit in button group layout
 		FormLayoutContainer buttonGroupLayout = FormLayoutContainer.createButtonLayout("buttonGroupLayout", getTranslator());
diff --git a/src/main/java/org/olat/core/util/i18n/ui/I18nConfigSubExportLangController.java b/src/main/java/org/olat/core/util/i18n/ui/I18nConfigSubExportLangController.java
index 0098338d621..a8a79545545 100644
--- a/src/main/java/org/olat/core/util/i18n/ui/I18nConfigSubExportLangController.java
+++ b/src/main/java/org/olat/core/util/i18n/ui/I18nConfigSubExportLangController.java
@@ -101,9 +101,9 @@ class I18nConfigSubExportLangController extends FormBasicController {
 			availableValues[i] = all;
 		}
 		ArrayHelper.sort(availableKeys, availableValues, false, true, false);
-		String[] availableLangCssClasses = i18nMgr.createLanguageFlagsCssClasses(availableKeys, "b_with_small_icon_left");
+		String[] availableLangCssClasses = i18nMgr.createLanguageFlagsCssClasses(availableKeys, "o_flag");
 		exportLangSelection = uifactory.addCheckboxesVertical("configuration.exportLangSelection", null, formLayout, availableKeys,
-				availableValues, availableLangCssClasses, 2);
+				availableValues, availableLangCssClasses, null, 1);
 		exportLangSelection.addActionListener(FormEvent.ONCLICK);
 		// Add cancel and submit in button group layout
 		FormLayoutContainer buttonGroupLayout = FormLayoutContainer.createButtonLayout("buttonGroupLayout", getTranslator());
diff --git a/src/main/java/org/olat/core/util/i18n/ui/I18nConfigSubImportLangController.java b/src/main/java/org/olat/core/util/i18n/ui/I18nConfigSubImportLangController.java
index b9353a78ba2..ff2bb6fb423 100644
--- a/src/main/java/org/olat/core/util/i18n/ui/I18nConfigSubImportLangController.java
+++ b/src/main/java/org/olat/core/util/i18n/ui/I18nConfigSubImportLangController.java
@@ -91,7 +91,7 @@ class I18nConfigSubImportLangController extends FormBasicController {
 		//
 		// Add checkboxes for the found languages - hide so far
 		String[] langKeys = new String[]{};
-		importKeys = uifactory.addCheckboxesVertical("configuration.management.package.import.select", this.flc, langKeys, langKeys, null, 1);
+		importKeys = uifactory.addCheckboxesVertical("configuration.management.package.import.select", flc, langKeys, langKeys, 1);
 		importKeys.setVisible(false);
 		//
 		// Add cancel and submit in button group layout
@@ -160,7 +160,7 @@ class I18nConfigSubImportLangController extends FormBasicController {
 				//
 				// enable language key selection
 				String[] langKeys = ArrayHelper.toArray(importLangKeys);
-				importKeys.setKeysAndValues(langKeys, langKeys, null);
+				importKeys.setKeysAndValues(langKeys, langKeys);
 				importKeys.selectAll();
 				importKeys.setVisible(true);
 				// In language adaption mode the import is done as a package - can't deselect anything
diff --git a/src/main/java/org/olat/core/util/i18n/ui/TranslationToolI18nItemEditCrumbController.java b/src/main/java/org/olat/core/util/i18n/ui/TranslationToolI18nItemEditCrumbController.java
index 31e7fa7e0be..f956f1cc162 100644
--- a/src/main/java/org/olat/core/util/i18n/ui/TranslationToolI18nItemEditCrumbController.java
+++ b/src/main/java/org/olat/core/util/i18n/ui/TranslationToolI18nItemEditCrumbController.java
@@ -193,7 +193,7 @@ public class TranslationToolI18nItemEditCrumbController extends CrumbFormBasicCo
 		compareArea.setEnabled(false); // read only
 		compareArea.setVisible(compareEnabledPrefs.booleanValue());
 		compareSwitch = formFactory.addCheckboxesHorizontal("compareSwitch", null, this.flc, new String[] { KEYS_ENABLED },
-				new String[] { KEYS_EMPTY }, null);//i18nLabel set to null -> disabled label
+				new String[] { KEYS_EMPTY });//i18nLabel set to null -> disabled label
 		compareSwitch.select(KEYS_ENABLED, compareEnabledPrefs.booleanValue());
 		compareSwitch.addActionListener(FormEvent.ONCLICK);
 		formLayout.add(compareSwitch);
diff --git a/src/main/java/org/olat/core/util/i18n/ui/TranslationToolStartCrumbController.java b/src/main/java/org/olat/core/util/i18n/ui/TranslationToolStartCrumbController.java
index afc4f5ed9fb..68802ad76bd 100644
--- a/src/main/java/org/olat/core/util/i18n/ui/TranslationToolStartCrumbController.java
+++ b/src/main/java/org/olat/core/util/i18n/ui/TranslationToolStartCrumbController.java
@@ -261,14 +261,14 @@ class TranslationToolStartCrumbController extends CrumbFormBasicController {
 		missingBundlesSelection.select(ALL_BUNDLES_IDENTIFYER, true);
 		// Add missing bundles children switch
 		missingBundlesIncludeBundlesChildrenSwitch = formFactory.addCheckboxesHorizontal("missingBundlesIncludeBundlesChildrenSwitch", null,
-				this.flc, new String[] { KEYS_ENABLED }, new String[] { KEYS_EMPTY }, null);//disabled label by setting i18nLabel to null
+				this.flc, new String[] { KEYS_ENABLED }, new String[] { KEYS_EMPTY });//disabled label by setting i18nLabel to null
 		missingBundlesIncludeBundlesChildrenSwitch.select(KEYS_ENABLED, true);
 		missingBundlesIncludeBundlesChildrenSwitch.addActionListener(FormEvent.ONCLICK);
 		formLayout.add(missingBundlesIncludeBundlesChildrenSwitch);
 		missingBundlesIncludeBundlesChildrenSwitch.setEnabled(false);
 		// Add priority sort switch
 		missingBundlesPrioritySortSwitch = formFactory.addCheckboxesHorizontal("missingBundlesPrioritySortSwitch", null, this.flc,
-				new String[] { KEYS_ENABLED }, new String[] { KEYS_EMPTY }, null);//disabled label by setting i18nLabel to null
+				new String[] { KEYS_ENABLED }, new String[] { KEYS_EMPTY });//disabled label by setting i18nLabel to null
 		missingBundlesPrioritySortSwitch.select(KEYS_ENABLED, true);
 		missingBundlesPrioritySortSwitch.addActionListener(FormEvent.ONCLICK);
 		formLayout.add(missingBundlesPrioritySortSwitch);
@@ -287,14 +287,14 @@ class TranslationToolStartCrumbController extends CrumbFormBasicController {
 		existingBundlesSelection.select(ALL_BUNDLES_IDENTIFYER, true);
 		// Add existing bundles children switch
 		existingBundlesIncludeBundlesChildrenSwitch = formFactory.addCheckboxesHorizontal("existingBundlesIncludeBundlesChildrenSwitch", null, 
-				this.flc, new String[] { KEYS_ENABLED }, new String[] { KEYS_EMPTY }, null);//disabled label by setting i18nLabel to null
+				this.flc, new String[] { KEYS_ENABLED }, new String[] { KEYS_EMPTY });//disabled label by setting i18nLabel to null
 		existingBundlesIncludeBundlesChildrenSwitch.select(KEYS_ENABLED, true);
 		existingBundlesIncludeBundlesChildrenSwitch.addActionListener(FormEvent.ONCLICK);
 		formLayout.add(existingBundlesIncludeBundlesChildrenSwitch);
 		existingBundlesIncludeBundlesChildrenSwitch.setEnabled(false);
 		// Add priority sort switch
 		existingBundlesPrioritySortSwitch = formFactory.addCheckboxesHorizontal("existingBundlesPrioritySortSwitch", null, this.flc,
-				new String[] { KEYS_ENABLED }, new String[] { KEYS_EMPTY }, null);//disabled label by setting i18nLabel to null
+				new String[] { KEYS_ENABLED }, new String[] { KEYS_EMPTY });//disabled label by setting i18nLabel to null
 		existingBundlesPrioritySortSwitch.select(KEYS_ENABLED, true);
 		existingBundlesPrioritySortSwitch.addActionListener(FormEvent.ONCLICK);
 		formLayout.add(existingBundlesPrioritySortSwitch);
@@ -313,14 +313,14 @@ class TranslationToolStartCrumbController extends CrumbFormBasicController {
 		allBundlesSelection.select(ALL_BUNDLES_IDENTIFYER, true);
 		// Add all bundles children switch
 		allBundlesIncludeBundlesChildrenSwitch = formFactory.addCheckboxesHorizontal("allBundlesIncludeBundlesChildrenSwitch", null, this.flc,
-				new String[] { KEYS_ENABLED }, new String[] { KEYS_EMPTY }, null);//disabled label by setting i18nLabel to null
+				new String[] { KEYS_ENABLED }, new String[] { KEYS_EMPTY });//disabled label by setting i18nLabel to null
 		allBundlesIncludeBundlesChildrenSwitch.select(KEYS_ENABLED, true);
 		allBundlesIncludeBundlesChildrenSwitch.addActionListener(FormEvent.ONCLICK);
 		formLayout.add(allBundlesIncludeBundlesChildrenSwitch);
 		allBundlesIncludeBundlesChildrenSwitch.setEnabled(false);
 		// Add priority sort switch
 		allBundlesPrioritySortSwitch = formFactory.addCheckboxesHorizontal("allBundlesPrioritySortSwitch", null, this.flc,
-				new String[] { KEYS_ENABLED }, new String[] { KEYS_EMPTY }, null);//disabled label by setting i18nLabel to null
+				new String[] { KEYS_ENABLED }, new String[] { KEYS_EMPTY });//disabled label by setting i18nLabel to null
 		allBundlesPrioritySortSwitch.select(KEYS_ENABLED, true);
 		allBundlesPrioritySortSwitch.addActionListener(FormEvent.ONCLICK);
 		formLayout.add(allBundlesPrioritySortSwitch);
@@ -363,13 +363,13 @@ class TranslationToolStartCrumbController extends CrumbFormBasicController {
 		searchBundlesSelection.select(ALL_BUNDLES_IDENTIFYER, true);
 		// Add search bundles children switch
 		searchBundlesIncludeBundlesChildrenSwitch = formFactory.addCheckboxesHorizontal("searchBundlesIncludeBundlesChildrenSwitch",
-				"generic.limit.bundles.includeChildren", searchLayoutContainer, new String[] { KEYS_ENABLED }, new String[] { KEYS_EMPTY }, null);
+				"generic.limit.bundles.includeChildren", searchLayoutContainer, new String[] { KEYS_ENABLED }, new String[] { KEYS_EMPTY });
 		searchBundlesIncludeBundlesChildrenSwitch.select(KEYS_ENABLED, true);
 		searchBundlesIncludeBundlesChildrenSwitch.addActionListener(FormEvent.ONCLICK);
 		searchBundlesIncludeBundlesChildrenSwitch.setEnabled(false);
 		// Add priority sort switch
 		searchBundlesPrioritySortSwitch = formFactory.addCheckboxesHorizontal("searchBundlesPrioritySortSwitch", "generic.sort.by.priority",
-				searchLayoutContainer, new String[] { KEYS_ENABLED }, new String[] { KEYS_EMPTY }, null);
+				searchLayoutContainer, new String[] { KEYS_ENABLED }, new String[] { KEYS_EMPTY });
 		searchBundlesPrioritySortSwitch.select(KEYS_ENABLED, true);
 		searchBundlesPrioritySortSwitch.addActionListener(FormEvent.ONCLICK);
 		formLayout.add(searchBundlesPrioritySortSwitch);
diff --git a/src/main/java/org/olat/core/util/mail/MailTemplateForm.java b/src/main/java/org/olat/core/util/mail/MailTemplateForm.java
index 9f559a4e51b..ed3c5313d2c 100644
--- a/src/main/java/org/olat/core/util/mail/MailTemplateForm.java
+++ b/src/main/java/org/olat/core/util/mail/MailTemplateForm.java
@@ -137,7 +137,7 @@ public class MailTemplateForm extends FormBasicController {
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		if(!mandatoryEmail) {
-			sendMail = uifactory.addCheckboxesVertical("sendmail", "", formLayout, new String[]{"xx"}, new String[]{translate("mailtemplateform.sendMailSwitchElem")}, null, 1);
+			sendMail = uifactory.addCheckboxesVertical("sendmail", "", formLayout, new String[]{"xx"}, new String[]{translate("mailtemplateform.sendMailSwitchElem")}, 1);
 			sendMail.addActionListener(FormEvent.ONCLICK);
 		}
 
@@ -148,7 +148,7 @@ public class MailTemplateForm extends FormBasicController {
 		bodyElem = uifactory.addTextAreaElement("bodyElem", "mailtemplateform.body", -1, 15, 60, true, template.getBodyTemplate(), formLayout);
 		bodyElem.setMandatory(true);
 		
-		ccSender = uifactory.addCheckboxesVertical("tcpfrom", "", formLayout, new String[]{"xx"}, new String[]{translate(NLS_CONTACT_SEND_CP_FROM)}, null, 1);
+		ccSender = uifactory.addCheckboxesVertical("tcpfrom", "", formLayout, new String[]{"xx"}, new String[]{translate(NLS_CONTACT_SEND_CP_FROM)}, 1);
 		ccSender.setVisible(cc);
 		
 		FormLayoutContainer buttonGroupLayout = FormLayoutContainer.createButtonLayout("buttonGroupLayout", getTranslator());
diff --git a/src/main/java/org/olat/core/util/mail/ui/MailSettingsAdminController.java b/src/main/java/org/olat/core/util/mail/ui/MailSettingsAdminController.java
index 843bdcd348f..42cd4c5e1e6 100644
--- a/src/main/java/org/olat/core/util/mail/ui/MailSettingsAdminController.java
+++ b/src/main/java/org/olat/core/util/mail/ui/MailSettingsAdminController.java
@@ -68,7 +68,7 @@ public class MailSettingsAdminController extends FormBasicController  {
 		setFormContextHelp(MailUIFactory.class.getPackage().getName(), "mail-admin.html", "chelp.mail-admin.title");
 		
 		boolean internEnabled = isEnabled();
-		enabled = uifactory.addCheckboxesHorizontal("mail.admin.intern.enabled", formLayout, keys, values, null);
+		enabled = uifactory.addCheckboxesHorizontal("mail.admin.intern.enabled", formLayout, keys, values);
 		enabled.select(keys[0], internEnabled);
 		enabled.addActionListener(FormEvent.ONCHANGE);
 		
diff --git a/src/main/java/org/olat/course/archiver/LogFileChooserForm.java b/src/main/java/org/olat/course/archiver/LogFileChooserForm.java
index feeaefb29a6..0ebe4a102b6 100644
--- a/src/main/java/org/olat/course/archiver/LogFileChooserForm.java
+++ b/src/main/java/org/olat/course/archiver/LogFileChooserForm.java
@@ -155,9 +155,9 @@ public class LogFileChooserForm extends FormBasicController {
 			setFormDescription("course.logs.intro");
 			setFormContextHelp("org.olat.course.archiver", "arch-logf.html", "help.hover.log");
 			
-			aE = uifactory.addCheckboxesVertical("a", "logfilechooserform.logadmin", formLayout, new String[]{"xx"}, new String[]{""}, null, 1);
-			uE = uifactory.addCheckboxesVertical("u", "logfilechooserform.loguser",  formLayout, new String[]{"xx"}, new String[]{""}, null, 1);
-			sE = uifactory.addCheckboxesVertical("s", "logfilechooserform.logstat",  formLayout, new String[]{"xx"}, new String[]{""}, null, 1);
+			aE = uifactory.addCheckboxesVertical("a", "logfilechooserform.logadmin", formLayout, new String[]{"xx"}, new String[]{""}, 1);
+			uE = uifactory.addCheckboxesVertical("u", "logfilechooserform.loguser",  formLayout, new String[]{"xx"}, new String[]{""}, 1);
+			sE = uifactory.addCheckboxesVertical("s", "logfilechooserform.logstat",  formLayout, new String[]{"xx"}, new String[]{""}, 1);
 			
 			aE.setVisible(admin || a);
 			uE.setVisible(admin || u);
diff --git a/src/main/java/org/olat/course/condition/AreaSelectionController.java b/src/main/java/org/olat/course/condition/AreaSelectionController.java
index 8c52828e3c2..1eb4f8ec005 100644
--- a/src/main/java/org/olat/course/condition/AreaSelectionController.java
+++ b/src/main/java/org/olat/course/condition/AreaSelectionController.java
@@ -113,7 +113,7 @@ public class AreaSelectionController extends FormBasicController {
 			if (event == Event.DONE_EVENT) {
 				loadNamesAndKeys();
 				// select new value
-				entrySelector.setKeysAndValues(areaKeys, areaNames, null);
+				entrySelector.setKeysAndValues(areaKeys, areaNames);
 				entrySelector.select(areaCreateCntrllr.getCreatedArea().getKey().toString(), true);
 				
 				//inform condition config easy about new groups -> which informs further
@@ -140,7 +140,7 @@ public class AreaSelectionController extends FormBasicController {
 		}
 
 		
-		entrySelector = uifactory.addCheckboxesVertical("entries",  null, boundTo, areaKeys, areaNames, null, 1);
+		entrySelector = uifactory.addCheckboxesVertical("entries",  null, boundTo, areaKeys, areaNames, 1);
 		// submitCancel after checkboxes
 		//
 		Submit subm = new FormSubmit("subm", "apply");
diff --git a/src/main/java/org/olat/course/condition/ConditionConfigEasyController.java b/src/main/java/org/olat/course/condition/ConditionConfigEasyController.java
index 6da011832c9..ea489f9b5f6 100644
--- a/src/main/java/org/olat/course/condition/ConditionConfigEasyController.java
+++ b/src/main/java/org/olat/course/condition/ConditionConfigEasyController.java
@@ -738,7 +738,7 @@ public class ConditionConfigEasyController extends FormBasicController implement
 		/*
 		 * yes / no chooser defines if learner do not see the building block at all
 		 */
-		attributeSwitch = uifactory.addCheckboxesVertical("attributeSwitch", "form.easy.attributeSwitch", formLayout, new String[] { "ison" }, new String[] { "" }, null, 1);
+		attributeSwitch = uifactory.addCheckboxesVertical("attributeSwitch", "form.easy.attributeSwitch", formLayout, new String[] { "ison" }, new String[] { "" }, 1);
 		attributeSwitch.select("ison", validatedCondition.getAttributeConditions()!=null);
 		// register for on click event to hide/disable other elements
 		attributeSwitch.addActionListener(FormEvent.ONCLICK);
@@ -1078,7 +1078,7 @@ public class ConditionConfigEasyController extends FormBasicController implement
 		/*
 		 * yes / no chooser defines if learner do not see the building block at all
 		 */
-		coachExclusive = uifactory.addCheckboxesHorizontal("coachExclusive", null, formLayout, new String[] { "ison" }, new String[] { translate("form.easy.coachExclusive") }, null);
+		coachExclusive = uifactory.addCheckboxesHorizontal("coachExclusive", null, formLayout, new String[] { "ison" }, new String[] { translate("form.easy.coachExclusive") });
 		boolean coachesAndAdminsInitValue = validatedCondition.isEasyModeCoachesAndAdmins();
 		coachExclusive.select("ison", coachesAndAdminsInitValue);
 		
@@ -1096,7 +1096,7 @@ public class ConditionConfigEasyController extends FormBasicController implement
 		/*
 		 * yes / no chooser defines if learner do not see the building block at all
 		 */
-		applyRulesForCoach = uifactory.addCheckboxesHorizontal("applyRulesForCoach", null, formLayout, new String[] { "ison" }, new String[] { translate("form.easy.applyRulesForCoach") }, null);
+		applyRulesForCoach = uifactory.addCheckboxesHorizontal("applyRulesForCoach", null, formLayout, new String[] { "ison" }, new String[] { translate("form.easy.applyRulesForCoach") });
 		if(isDateGroupAssessmentOAttributeSwitchOn()) {
 			applyRulesForCoach.setVisible(true);
 		} else {
@@ -1141,7 +1141,7 @@ public class ConditionConfigEasyController extends FormBasicController implement
 		toDate.setDisplaySize(toDate.getExampleDateString().length());
 		dateSubContainer.add(toDate);
 
-		dateSwitch = uifactory.addCheckboxesHorizontal("dateSwitch", null, formLayout, new String[] { "ison" }, new String[] { translate("form.easy.dateSwitch") }, null);
+		dateSwitch = uifactory.addCheckboxesHorizontal("dateSwitch", null, formLayout, new String[] { "ison" }, new String[] { translate("form.easy.dateSwitch") });
 		if (fromDate.getDate() != null || toDate.getDate() != null) {
 			dateSwitch.select("ison", true);
 		} else {
@@ -1164,7 +1164,7 @@ public class ConditionConfigEasyController extends FormBasicController implement
 		List<Long> areaKeyList  = validatedCondition.getEasyModeGroupAreaAccessIdList();
 		String areaInitVal = getAreaNames(areaKeyList);
 
-		groupSwitch = uifactory.addCheckboxesHorizontal("groupSwitch", null, formLayout, new String[] { "ison" }, new String[] { translate("form.easy.groupSwitch") }, null);
+		groupSwitch = uifactory.addCheckboxesHorizontal("groupSwitch", null, formLayout, new String[] { "ison" }, new String[] { translate("form.easy.groupSwitch") });
 		// initialize selection
 		if (!groupKeyList.isEmpty() || !areaKeyList.isEmpty()) {
 			groupSwitch.select("ison", true);
@@ -1213,7 +1213,7 @@ public class ConditionConfigEasyController extends FormBasicController implement
 		String cutInitStrValue = validatedCondition.getEasyModeCutValue();
 		int cutInitValue = 0;
 		
-		assessmentSwitch = uifactory.addCheckboxesHorizontal("assessmentSwitch", null, formLayout, new String[] { "ison" }, new String[] { translate("form.easy.assessmentSwitch") }, null);
+		assessmentSwitch = uifactory.addCheckboxesHorizontal("assessmentSwitch", null, formLayout, new String[] { "ison" }, new String[] { translate("form.easy.assessmentSwitch") });
 		assessmentSwitch.addActionListener(FormEvent.ONCLICK);
 		
 
diff --git a/src/main/java/org/olat/course/condition/GroupSelectionController.java b/src/main/java/org/olat/course/condition/GroupSelectionController.java
index 70ade8464da..0d04459f7f8 100644
--- a/src/main/java/org/olat/course/condition/GroupSelectionController.java
+++ b/src/main/java/org/olat/course/condition/GroupSelectionController.java
@@ -122,7 +122,7 @@ public class GroupSelectionController extends FormBasicController {
 			if (event == Event.DONE_EVENT) {
 				loadNamesAndKeys();
 				// select new value
-				entrySelector.setKeysAndValues(groupKeys, groupNames, null);
+				entrySelector.setKeysAndValues(groupKeys, groupNames);
 				entrySelector.select(groupCreateCntrllr.getCreatedGroup().getKey().toString(), true);
 				
 				//inform condition config easy about new groups -> which informs further
@@ -151,7 +151,7 @@ public class GroupSelectionController extends FormBasicController {
 			formLayout.add(createNew);
 		}
 
-		entrySelector = uifactory.addCheckboxesVertical("entries",  null, formLayout, groupKeys, groupNames, null, 1);
+		entrySelector = uifactory.addCheckboxesVertical("entries",  null, formLayout, groupKeys, groupNames, 1);
 		// submitCancel after checkboxes
 		Submit subm = new FormSubmit("subm", "apply");
 		Reset reset = new FormReset("reset", "cancel");
diff --git a/src/main/java/org/olat/course/condition/additionalconditions/PasswordConditionEditController.java b/src/main/java/org/olat/course/condition/additionalconditions/PasswordConditionEditController.java
index 3046adae1ff..6a1dd20ab40 100644
--- a/src/main/java/org/olat/course/condition/additionalconditions/PasswordConditionEditController.java
+++ b/src/main/java/org/olat/course/condition/additionalconditions/PasswordConditionEditController.java
@@ -56,7 +56,7 @@ public class PasswordConditionEditController extends FormBasicController {
 
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
-		passwordSwitch = uifactory.addCheckboxesHorizontal("passwordSwitch", "", formLayout, new String[]{"ison"}, new String[]{translate("password.field")}, new String[]{""});
+		passwordSwitch = uifactory.addCheckboxesHorizontal("passwordSwitch", "", formLayout, new String[]{"ison"}, new String[]{translate("password.field")});
 		passwordSwitch.addActionListener(FormEvent.ONCHANGE);
 		
 		passwordField = uifactory.addTextElement("passwordField", "password.field", 30, "", formLayout);
diff --git a/src/main/java/org/olat/course/config/ui/CourseCalendarConfigForm.java b/src/main/java/org/olat/course/config/ui/CourseCalendarConfigForm.java
index 950622872c8..31c6de80f3d 100644
--- a/src/main/java/org/olat/course/config/ui/CourseCalendarConfigForm.java
+++ b/src/main/java/org/olat/course/config/ui/CourseCalendarConfigForm.java
@@ -71,7 +71,7 @@ public class CourseCalendarConfigForm extends FormBasicController {
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		setFormContextHelp("org.olat.course.config.ui","course-calendar.html","help.hover.coursecal");
 		
-		isOn = uifactory.addCheckboxesVertical("isOn", "chkbx.calendar.onoff", formLayout, new String[] {"xx"}, new String[] {""}, null, 1);
+		isOn = uifactory.addCheckboxesVertical("isOn", "chkbx.calendar.onoff", formLayout, new String[] {"xx"}, new String[] {""}, 1);
 		isOn.select("xx", calendarEnabled);
 		isOn.setEnabled(editable);
 		
diff --git a/src/main/java/org/olat/course/config/ui/CourseChatSettingsForm.java b/src/main/java/org/olat/course/config/ui/CourseChatSettingsForm.java
index 6380f213ccc..6450726772d 100644
--- a/src/main/java/org/olat/course/config/ui/CourseChatSettingsForm.java
+++ b/src/main/java/org/olat/course/config/ui/CourseChatSettingsForm.java
@@ -68,7 +68,7 @@ public class CourseChatSettingsForm extends FormBasicController {
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		setFormContextHelp("org.olat.course.config.ui","course-chat.html","help.hover.course-chat");
 
-		isOn = uifactory.addCheckboxesVertical("isOn", "chkbx.chat.onoff", formLayout, new String[] {"xx"}, new String[] {""}, null, 1);
+		isOn = uifactory.addCheckboxesVertical("isOn", "chkbx.chat.onoff", formLayout, new String[] {"xx"}, new String[] {""}, 1);
 		isOn.select("xx", chatEnabled);
 		isOn.setEnabled(editable);
 
diff --git a/src/main/java/org/olat/course/config/ui/CourseEfficencyStatementForm.java b/src/main/java/org/olat/course/config/ui/CourseEfficencyStatementForm.java
index 26e6f131a53..a11fe769995 100644
--- a/src/main/java/org/olat/course/config/ui/CourseEfficencyStatementForm.java
+++ b/src/main/java/org/olat/course/config/ui/CourseEfficencyStatementForm.java
@@ -85,7 +85,7 @@ public class CourseEfficencyStatementForm extends FormBasicController {
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		setFormContextHelp("org.olat.course.config.ui","course-efficiency.html","help.hover.course-eff");
 		
-		isOn = uifactory.addCheckboxesVertical("isOn", "chkbx.efficency.onoff", formLayout, new String[] {"xx"}, new String[] {""}, null, 1);
+		isOn = uifactory.addCheckboxesVertical("isOn", "chkbx.efficency.onoff", formLayout, new String[] {"xx"}, new String[] {""}, 1);
 		isOn.select("xx", enabled);
 		isOn.setEnabled(editable);
 		
diff --git a/src/main/java/org/olat/course/editor/ChooseNodeController.java b/src/main/java/org/olat/course/editor/ChooseNodeController.java
new file mode 100644
index 00000000000..eb78e755eb8
--- /dev/null
+++ b/src/main/java/org/olat/course/editor/ChooseNodeController.java
@@ -0,0 +1,170 @@
+/**
+ * <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.course.editor;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.olat.core.gui.UserRequest;
+import org.olat.core.gui.components.Component;
+import org.olat.core.gui.components.link.Link;
+import org.olat.core.gui.components.link.LinkFactory;
+import org.olat.core.gui.components.velocity.VelocityContainer;
+import org.olat.core.gui.control.Event;
+import org.olat.core.gui.control.WindowControl;
+import org.olat.core.gui.control.controller.BasicController;
+import org.olat.core.id.OLATResourceable;
+import org.olat.course.CourseFactory;
+import org.olat.course.ICourse;
+import org.olat.course.nodes.CourseNode;
+import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeFactory;
+import org.olat.course.tree.CourseEditorTreeModel;
+import org.olat.course.tree.CourseEditorTreeNode;
+
+/**
+ * 
+ * Initial date: 26.05.2014<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class ChooseNodeController extends BasicController {
+	
+	private CourseNode createdNode;
+	private final OLATResourceable courseOres;
+	private final CourseEditorTreeNode currentNode;
+	
+	private Link multiSpsLink, multiCheckListLink;
+
+	public ChooseNodeController(UserRequest ureq, WindowControl wControl,
+			OLATResourceable courseOres, CourseEditorTreeNode currentNode) {
+		super(ureq, wControl);
+		
+		this.currentNode = currentNode;
+		this.courseOres = courseOres;
+		
+		multiSpsLink = LinkFactory.createToolLink(EditorMainController.CMD_MULTI_SP,
+				translate("command.multi.sps"), this, "o_icon_wizard");
+		multiCheckListLink = LinkFactory.createToolLink(EditorMainController.CMD_MULTI_CHECKLIST,
+				translate("command.multi.checklist"), this, "o_icon_wizard");
+		
+		VelocityContainer mainVC = createVelocityContainer("create_node");
+		
+		Map<String, CourseNodeTypesGroup> linkNames = new HashMap<>();
+		CourseNodeFactory cnf = CourseNodeFactory.getInstance();
+		for (String courseNodeAlias : cnf.getRegisteredCourseNodeAliases()) {
+			CourseNodeConfiguration cnConfig = cnf.getCourseNodeConfiguration(courseNodeAlias);
+			try {
+				String group = cnConfig.getGroup();
+				CourseNodeTypesGroup typesGroup = linkNames.get(group);
+				if(typesGroup == null) {
+					typesGroup = new CourseNodeTypesGroup(group);
+					linkNames.put(group, typesGroup);
+				}
+				Link l = LinkFactory.createToolLink(courseNodeAlias, cnConfig.getLinkText(getLocale()), this, cnConfig.getIconCSSClass());
+				typesGroup.getNodeTypes().add(l.getComponentName());
+				mainVC.put(l.getComponentName(), l);
+				
+				if("sp".equals(courseNodeAlias)) {
+					typesGroup.getNodeTypes().add(multiSpsLink.getComponentName());
+					mainVC.put(multiSpsLink.getComponentName(), multiSpsLink);
+				} else if("cl".equals(courseNodeAlias)) {
+					typesGroup.getNodeTypes().add(multiCheckListLink.getComponentName());
+					mainVC.put(multiCheckListLink.getComponentName(), multiCheckListLink);
+				}
+			} catch (Exception e) {
+				logError("Error while trying to add a course buildingblock of type \""+courseNodeAlias +"\" to the editor", e);
+			}
+		}
+		
+		mainVC.contextPut("linkNames", linkNames);
+		putInitialPanel(mainVC);
+	}
+	
+	public CourseNode getCreatedNode() {
+		return createdNode;
+	}
+	
+	@Override
+	protected void doDispose() {
+		//
+	}
+
+	@Override
+	protected void event(UserRequest ureq, Component source, Event event) {
+		if(multiSpsLink == source) {
+			fireEvent(ureq, event);
+		} else if(multiCheckListLink == source) {
+			fireEvent(ureq, event);
+		} else if(source instanceof Link) {
+			doCreateNode(event.getCommand());
+			String cmd = EditorMainController.TB_ACTION + event.getCommand();
+			fireEvent(ureq, new Event(cmd));
+		}
+	}
+	
+	private void doCreateNode(String type) {
+		ICourse course = CourseFactory.getCourseEditSession(courseOres.getResourceableId());
+		// user chose a position to insert a new node
+		CourseNodeConfiguration newNodeConfig = CourseNodeFactory.getInstance().getCourseNodeConfiguration(type);
+		createdNode = newNodeConfig.getInstance();
+
+		// Set some default values
+		String title = new String(newNodeConfig.getLinkText(getLocale()));
+		createdNode.setShortTitle(title);
+		String longTitle = new String(translate("longtitle.default") + " " + title);
+		createdNode.setLongTitle(longTitle);
+		createdNode.setNoAccessExplanation(translate("form.noAccessExplanation.default"));
+		
+		// Insert it now
+		CourseEditorTreeModel editorTreeModel = course.getEditorTreeModel();
+		if(editorTreeModel.getRootNode().equals(currentNode)) {
+			//root, add as last child
+			int pos = currentNode.getChildCount();
+			CourseNode selectedNode = currentNode.getCourseNode();
+			editorTreeModel.insertCourseNodeAt(createdNode, selectedNode, pos);
+		} else {
+			CourseEditorTreeNode parentNode = (CourseEditorTreeNode)currentNode.getParent();
+			CourseNode selectedNode = parentNode.getCourseNode();
+			int pos = currentNode.getPosition();
+			editorTreeModel.insertCourseNodeAt(createdNode, selectedNode, pos + 1);
+		}
+		CourseFactory.saveCourseEditorTreeModel(course.getResourceableId());
+	}
+	
+	public static class CourseNodeTypesGroup {
+		private final String name;
+		private final List<String> nodeTypes = new ArrayList<>();
+		
+		public CourseNodeTypesGroup(String name) {
+			this.name = name;
+		}
+
+		public String getName() {
+			return name;
+		}
+
+		public List<String> getNodeTypes() {
+			return nodeTypes;
+		}
+	}
+}
diff --git a/src/main/java/org/olat/course/editor/EditorMainController.java b/src/main/java/org/olat/course/editor/EditorMainController.java
index d9ded69f0d6..3973603ffe4 100644
--- a/src/main/java/org/olat/course/editor/EditorMainController.java
+++ b/src/main/java/org/olat/course/editor/EditorMainController.java
@@ -122,7 +122,7 @@ import org.olat.util.logging.activity.LoggingResourceable;
 public class EditorMainController extends MainLayoutBasicController implements GenericEventListener {
 	private static final String VELOCITY_ROOT = Util.getPackageVelocityRoot(EditorMainController.class);
 	
-	private static final String TB_ACTION = "o_tb_do_";
+	protected static final String TB_ACTION = "o_tb_do_";
 
 	private static final String CMD_COPYNODE = "copyn";
 	private static final String CMD_MOVENODE = "moven";
@@ -130,8 +130,8 @@ public class EditorMainController extends MainLayoutBasicController implements G
 	private static final String CMD_CLOSEEDITOR = "cmd.close";
 	private static final String CMD_PUBLISH = "pbl";
 	private static final String CMD_COURSEPREVIEW = "cprev";
-	private static final String CMD_MULTI_SP = "cmp.multi.sp";
-	private static final String CMD_MULTI_CHECKLIST = "cmp.multi.checklist";
+	protected static final String CMD_MULTI_SP = "cmp.multi.sp";
+	protected static final String CMD_MULTI_CHECKLIST = "cmp.multi.checklist";
 
 	// NLS support
 	
@@ -153,9 +153,6 @@ public class EditorMainController extends MainLayoutBasicController implements G
 	private static final String NLS_DELETENODE_ERROR_ROOTNODE = "deletenode.error.rootnode";
 	private static final String NLS_MOVECOPYNODE_ERROR_SELECTFIRST = "movecopynode.error.selectfirst";
 	private static final String NLS_MOVECOPYNODE_ERROR_ROOTNODE = "movecopynode.error.rootnode";
-	private static final String NLS_ADMIN_HEADER = "command.admin.header";
-	private static final String NLS_MULTI_SPS = "command.multi.sps";
-	private static final String NLS_MULTI_CHECKLIST = "command.multi.checklist";
 
 	private MenuTree menuTree;
 	private VelocityContainer main;
@@ -163,7 +160,7 @@ public class EditorMainController extends MainLayoutBasicController implements G
 	private TabbedPane tabbedNodeConfig;
 	private SelectionTree selTree;
 
-	CourseEditorTreeModel cetm;
+	private CourseEditorTreeModel cetm;
 	private TabbableController nodeEditCntrllr;
 	private StepsMainRunController publishStepsController;
 	private StepsMainRunController checklistWizard;
@@ -174,6 +171,7 @@ public class EditorMainController extends MainLayoutBasicController implements G
 	private LayoutMain3ColsController columnLayoutCtr;
 	private AlternativeCourseNodeController alternateCtr;
 	private EditorStatusController statusCtr;
+	private ChooseNodeController chooseNodeTypeCtr;
 	
 	private LockResult lockEntry;
 	
@@ -182,8 +180,7 @@ public class EditorMainController extends MainLayoutBasicController implements G
 	
 	private Link undelButton, alternativeLink, statusLink;
 	private Link previewLink, publishLink, closeLink;
-	private Link deleteNodeLink, moveNodeLink, copyNodeLink;
-	private Link multiSpsLink, multiCheckListLink;
+	private Link createNodeLink, deleteNodeLink, moveNodeLink, copyNodeLink;
 	
 	private CloseableModalController cmc;
 	private CloseableCalloutWindowController calloutCtrl;
@@ -350,30 +347,10 @@ public class EditorMainController extends MainLayoutBasicController implements G
 			editTools.addComponent(closeLink);
 		}
 
-		//toolC.addHeader(translate(NLS_HEADER_INSERTNODES));
-		
-		Dropdown elementsTools = new Dropdown("insertNodes", NLS_HEADER_INSERTNODES, false, getTranslator());
-		stackPanel.addTool(elementsTools);
-		
-		CourseNodeFactory cnf = CourseNodeFactory.getInstance();
-		for (String courseNodeAlias : cnf.getRegisteredCourseNodeAliases()) {
-			CourseNodeConfiguration cnConfig = cnf.getCourseNodeConfiguration(courseNodeAlias);
-			try {
-				Link l = LinkFactory.createToolLink(TB_ACTION + courseNodeAlias, cnConfig.getLinkText(getLocale()), this, cnConfig.getIconCSSClass());
-				elementsTools.addComponent(l);
-			} catch (Exception e) {
-				log.error("Error while trying to add a course buildingblock of type \""+courseNodeAlias +"\" to the editor", e);
-			}
-		}
-		
-		Dropdown multiTools = new Dropdown("insertNodes", NLS_ADMIN_HEADER, false, getTranslator());
-		stackPanel.addTool(multiTools);
-		
-		multiSpsLink = LinkFactory.createToolLink(CMD_MULTI_SP, translate(NLS_MULTI_SPS), this, "o_icon_wizard");
-		multiTools.addComponent(multiSpsLink);
-		multiCheckListLink = LinkFactory.createToolLink(CMD_MULTI_CHECKLIST, translate(NLS_MULTI_CHECKLIST), this, "o_icon_wizard");
-		multiTools.addComponent(multiCheckListLink);
-		
+		createNodeLink = LinkFactory.createToolLink(NLS_HEADER_INSERTNODES, translate(NLS_HEADER_INSERTNODES), this);
+		createNodeLink.setDomReplacementWrapperRequired(false);
+		stackPanel.addTool(createNodeLink);
+
 		Dropdown nodeTools = new Dropdown("insertNodes", NLS_COMMAND_DELETENODE_HEADER, false, getTranslator());
 		stackPanel.addTool(nodeTools);
 		
@@ -425,6 +402,8 @@ public class EditorMainController extends MainLayoutBasicController implements G
 			} else if(closeLink == source) {
 				doReleaseEditLock();
 				fireEvent(ureq, Event.DONE_EVENT);
+			} else if(createNodeLink == source) { 
+				doOpenNodeTypeChooser(ureq);
 			} else if(deleteNodeLink == source) {
 				doDeleteNode(ureq);
 			} else if(moveNodeLink == source) {
@@ -433,13 +412,6 @@ public class EditorMainController extends MainLayoutBasicController implements G
 				doMove(ureq, course, true);
 			} else if(statusLink == source) {
 				doOpenStatusOverview(ureq);
-			} else if(multiSpsLink == source) {
-				launchSinglePagesWizard(ureq, course);
-			} else if(multiCheckListLink == source) {
-				launchChecklistsWizard(ureq);
-			} else if(source instanceof Link && event.getCommand().startsWith(TB_ACTION)) {
-				String cnAlias = event.getCommand().substring(TB_ACTION.length());
-				doCreate(ureq, course, cnAlias);
 			}
 		} catch (RuntimeException e) {
 			log.warn(RELEASE_LOCK_AT_CATCH_EXCEPTION+" [in event(UserRequest,Component,Event)]", e);			
@@ -625,6 +597,21 @@ public class EditorMainController extends MainLayoutBasicController implements G
 			}
 			calloutCtrl.deactivate();
 			cleanUp();
+		} else if (source == chooseNodeTypeCtr) {
+			cmc.deactivate();
+
+			String cmd = event.getCommand();
+			if(cmd.startsWith(TB_ACTION)) {
+				CourseNode newNode = chooseNodeTypeCtr.getCreatedNode();
+				cleanUp();		
+				doInsert(ureq, newNode);
+			} else if(CMD_MULTI_SP.equals(cmd)) {
+				cleanUp();
+				launchSinglePagesWizard(ureq, course);
+			} else if(CMD_MULTI_CHECKLIST.equals(cmd)) {
+				cleanUp();
+				launchChecklistsWizard(ureq);
+			}
 		} else if (source == publishStepsController) {
 			getWindowControl().pop();
 			removeAsListenerAndDispose(publishStepsController);
@@ -662,17 +649,7 @@ public class EditorMainController extends MainLayoutBasicController implements G
 				}
 			}
 		} else if (source == cmc) {
-			//aggressive clean-up
-			removeAsListenerAndDispose(multiSPChooserCtr);
-			removeAsListenerAndDispose(moveCopyController);
-			removeAsListenerAndDispose(insertNodeController);
-			removeAsListenerAndDispose(alternateCtr);
-			removeAsListenerAndDispose(cmc);
-			moveCopyController = null;
-			insertNodeController = null;
-			multiSPChooserCtr = null;
-			alternateCtr = null;
-			cmc = null;
+			cleanUp();
 		} else if (source == moveCopyController) {	
 			cmc.deactivate();
 			if (event == Event.DONE_EVENT) {					
@@ -757,11 +734,26 @@ public class EditorMainController extends MainLayoutBasicController implements G
 		}
 	}
 	
+	/**
+	 * Aggressive clean-up of popup controllers
+	 */
 	private void cleanUp() {
+		removeAsListenerAndDispose(insertNodeController);
+		removeAsListenerAndDispose(moveCopyController);
+		removeAsListenerAndDispose(multiSPChooserCtr);
+		removeAsListenerAndDispose(chooseNodeTypeCtr);
+		removeAsListenerAndDispose(alternateCtr);
 		removeAsListenerAndDispose(calloutCtrl);
 		removeAsListenerAndDispose(statusCtr);
+		removeAsListenerAndDispose(cmc);
+		insertNodeController = null;
+		moveCopyController = null;
+		chooseNodeTypeCtr = null;
+		multiSPChooserCtr = null;
+		alternateCtr = null;
 		calloutCtrl = null;
 		statusCtr = null;
+		cmc = null;
 	}
 	
 	private void doMove(UserRequest ureq, ICourse course, boolean copy) {
@@ -878,6 +870,23 @@ public class EditorMainController extends MainLayoutBasicController implements G
 		cmc.activate();
 	}
 	
+	private void doOpenNodeTypeChooser(UserRequest ureq) {
+		removeAsListenerAndDispose(cmc);
+		removeAsListenerAndDispose(chooseNodeTypeCtr);
+		
+		menuTree.getSelectedNode();
+		
+		TreeNode tn = menuTree.getSelectedNode();
+		CourseEditorTreeNode cetn = tn == null ? null : cetm.getCourseEditorNodeById(tn.getIdent());
+		chooseNodeTypeCtr = new ChooseNodeController(ureq, getWindowControl(), ores, cetn);
+		listenTo(chooseNodeTypeCtr);
+		
+		cmc = new CloseableModalController(getWindowControl(), translate("close"), chooseNodeTypeCtr.getInitialComponent(),
+				true, translate(NLS_INSERTNODE_TITLE));
+		listenTo(cmc);
+		cmc.activate();
+	}
+	
 	private void doOpenStatusOverview(UserRequest ureq) {
 		removeAsListenerAndDispose(statusCtr);
 		
@@ -1121,13 +1130,15 @@ public class EditorMainController extends MainLayoutBasicController implements G
 	
 	private void launchSinglePagesWizard(UserRequest ureq, ICourse course) {
 		removeAsListenerAndDispose(multiSPChooserCtr);
+		removeAsListenerAndDispose(cmc);
+		
 		VFSContainer rootContainer = course.getCourseEnvironment().getCourseFolderContainer();
 		CourseEditorTreeNode selectedNode = (CourseEditorTreeNode)menuTree.getSelectedNode();
 		multiSPChooserCtr = new MultiSPController(ureq, getWindowControl(), rootContainer, ores, selectedNode);
 		listenTo(multiSPChooserCtr);
 		
-		removeAsListenerAndDispose(cmc);
-		cmc = new CloseableModalController(getWindowControl(), translate("close"), multiSPChooserCtr.getInitialComponent());
+		cmc = new CloseableModalController(getWindowControl(), translate("close"),
+				multiSPChooserCtr.getInitialComponent(), true, translate("multi.sps.title"));
 		listenTo(cmc);
 		cmc.activate();
 	} 
diff --git a/src/main/java/org/olat/course/editor/MultiSPController.java b/src/main/java/org/olat/course/editor/MultiSPController.java
index a37cf890614..b004d79dd61 100644
--- a/src/main/java/org/olat/course/editor/MultiSPController.java
+++ b/src/main/java/org/olat/course/editor/MultiSPController.java
@@ -102,7 +102,6 @@ public class MultiSPController extends FormBasicController {
 	
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
-		setFormTitle("multi.sps.title");
 		setFormDescription("multi.sps.desc");
 		
 		if(formLayout instanceof FormLayoutContainer) {
@@ -130,8 +129,8 @@ public class MultiSPController extends FormBasicController {
 	
 		String[] singleKey = new String[]{ node.getId() };
 		String[] singleValue = new String[]{ node.getName() };
-		String[] css = new String[]{ "b_with_small_icon_left " + node.getIconCssClass() };
-		MultipleSelectionElement nodeSelection = uifactory.addCheckboxesVertical("print.node.list." + nodeSelections.size(), layoutcont, singleKey, singleValue, css, 1);
+		String[] iconCSS = new String[]{ "o_icon o_icon-fw " + node.getIconCssClass() };
+		MultipleSelectionElement nodeSelection = uifactory.addCheckboxesVertical("print.node.list." + nodeSelections.size(), layoutcont, singleKey, singleValue, iconCSS, 1);
 		nodeSelection.setLabel("multi.sps.file", null);
 		
 		nodeSelection.setUserObject(node);
@@ -330,7 +329,7 @@ public class MultiSPController extends FormBasicController {
 		
 		public String getIconCssClass() {
 			if(item instanceof VFSContainer) {
-				return "b_filetype_folder";
+				return "o_filetype_folder";
 			}
 			return CSSHelper.createFiletypeIconCssClassFor(item.getName());
 		}
diff --git a/src/main/java/org/olat/course/editor/_content/choosesps.html b/src/main/java/org/olat/course/editor/_content/choosesps.html
index f9bae8c89d3..5b175b687cb 100644
--- a/src/main/java/org/olat/course/editor/_content/choosesps.html
+++ b/src/main/java/org/olat/course/editor/_content/choosesps.html
@@ -1,14 +1,10 @@
-<div class="b_form #if ($off_css_class) $off_css_class #end b_clearfix">
-#if ($off_title) <fieldset><legend>$off_title</legend> #end
-#if ($off_chelp_package) $r.contextHelpWithWrapper("$off_chelp_package","$off_chelp_page","$off_chelp_hover") #end
-#if ($off_desc) <div class="b_form_desc">$off_desc</div> #end
-
+<div class="o_form form-horizontal clearfix">
+	<div class="o_desc">$off_desc</div>
 	#foreach($nodeSelection in $nodeSelections)
 		<div style="margin-left:${nodeSelection.getUserObject().getIndentation()}0px;">
 			$r.render($nodeSelection.getComponent().getComponentName())
 		</div>
 	#end
-	
 	<br/>
 	<div class="b_togglecheck">
 		<input type="checkbox" checked="checked" disabled="disabled" />$r.render("checkall")
@@ -20,6 +16,4 @@
 			$r.render("ok-cancel")
 		</div>
 	</div>
-
-#if ($off_title) </fieldset> #end
 </div>
\ No newline at end of file
diff --git a/src/main/java/org/olat/course/editor/_content/create_node.html b/src/main/java/org/olat/course/editor/_content/create_node.html
new file mode 100644
index 00000000000..6358b3f9b95
--- /dev/null
+++ b/src/main/java/org/olat/course/editor/_content/create_node.html
@@ -0,0 +1,12 @@
+<div id="o_course_editor_choose_nodetype" class="row">
+#foreach($group in $linkNames)
+	<div class="col-sm-3">
+		<h5>$r.translate($group.name)</h5>
+		<ul>
+		#foreach($nodeType in $group.nodeTypes)
+			<li>$r.render($nodeType)</li>
+		#end
+		</ul>	
+	</div>
+#end
+</div>
\ No newline at end of file
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_de.properties
index 6f6f5a9a302..46faf5251cf 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_de.properties
@@ -338,6 +338,10 @@ chelp.wordTrue=TRUE
 chelp.signLearningGroupFull=Gibt f\u00FCr die angegebene Lerngruppe den Boolean $\:chelp.wordTrue (=voll) oder $\:chelp.wordFalse (=nicht voll) zur\u00FCck.
 chelp.funcLearningGroupFull=<i>isLearningGroupFull("</i>$\:chelp.string<i>")</i>
 checklist.wizard=Checklisten
+content=Inhalt
+virtualClassroom=Virtual class rooms
+test=Test
+other=Andere...
 command.closeeditor=Editor schliessen
 command.copynode=Kopieren
 command.coursepreview=Kursvorschau
diff --git a/src/main/java/org/olat/course/groupsandrights/GroupsAndRightsController.java b/src/main/java/org/olat/course/groupsandrights/GroupsAndRightsController.java
index 5e9382f3db0..0368e780c2b 100644
--- a/src/main/java/org/olat/course/groupsandrights/GroupsAndRightsController.java
+++ b/src/main/java/org/olat/course/groupsandrights/GroupsAndRightsController.java
@@ -148,7 +148,7 @@ public class GroupsAndRightsController extends FormBasicController {
 	private MultipleSelectionElement createSelection(boolean selected) {
 		String name = "cb" + UUID.randomUUID().toString().replace("-", "");
 		MultipleSelectionElement selection = new MultipleSelectionElementImpl(name, MultipleSelectionElementImpl.createVerticalLayout("checkbox",1));
-		selection.setKeysAndValues(keys, values, null);
+		selection.setKeysAndValues(keys, values);
 		flc.add(name, selection);
 		selection.select(keys[0], selected);
 		return selection;
diff --git a/src/main/java/org/olat/course/member/MemberSearchForm.java b/src/main/java/org/olat/course/member/MemberSearchForm.java
index a5c3d302d2a..782ed8468c8 100644
--- a/src/main/java/org/olat/course/member/MemberSearchForm.java
+++ b/src/main/java/org/olat/course/member/MemberSearchForm.java
@@ -107,7 +107,7 @@ public class MemberSearchForm extends FormBasicController {
 		for(int i=roleKeys.length; i-->0; ) {
 			roleValues[i] = translate("search." + roleKeys[i]);
 		}
-		rolesEl = uifactory.addCheckboxesHorizontal("roles", "search.roles", rightContainer, roleKeys, roleValues, null);
+		rolesEl = uifactory.addCheckboxesHorizontal("roles", "search.roles", rightContainer, roleKeys, roleValues);
 		for(String roleKey: roleKeys) {
 			rolesEl.select(roleKey, true);
 		}
diff --git a/src/main/java/org/olat/course/nodes/CourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/CourseNodeConfiguration.java
index 6404f4b0e6f..83e41546f67 100644
--- a/src/main/java/org/olat/course/nodes/CourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/CourseNodeConfiguration.java
@@ -39,14 +39,14 @@ public interface CourseNodeConfiguration extends ConfigOnOff{
 
 	public String getAlias();
 	
+	public String getGroup();
+	
 	public CourseNode getInstance();
 	
 	public String getLinkText(Locale locale);
 	
 	public String getIconCSSClass();
 	
-	public String getLinkCSSClass();
-	
 	public int getOrder();
 	
 	public List<String> getAlternativeCourseNodes();
diff --git a/src/main/java/org/olat/course/nodes/CourseNodeGroup.java b/src/main/java/org/olat/course/nodes/CourseNodeGroup.java
new file mode 100644
index 00000000000..1c20e3799ad
--- /dev/null
+++ b/src/main/java/org/olat/course/nodes/CourseNodeGroup.java
@@ -0,0 +1,39 @@
+/**
+ * <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.course.nodes;
+
+/**
+ * Can group the course element in the chooser.
+ * 
+ * 
+ * 
+ * Initial date: 26.05.2014<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public enum CourseNodeGroup {
+	
+	test,
+	virtualClassroom,
+	content,
+	other
+	
+
+}
diff --git a/src/main/java/org/olat/course/nodes/basiclti/LTIConfigForm.java b/src/main/java/org/olat/course/nodes/basiclti/LTIConfigForm.java
index 3e3c027b557..263aa686292 100644
--- a/src/main/java/org/olat/course/nodes/basiclti/LTIConfigForm.java
+++ b/src/main/java/org/olat/course/nodes/basiclti/LTIConfigForm.java
@@ -249,10 +249,10 @@ public class LTIConfigForm extends FormBasicController {
 
 		uifactory.addSpacerElement("attributes", formLayout, false);
 
-		sendName = uifactory.addCheckboxesVertical("sendName", "display.config.sendName", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		sendName = uifactory.addCheckboxesVertical("sendName", "display.config.sendName", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		sendName.select("xx", sendNameConfig);
 		
-		sendEmail = uifactory.addCheckboxesVertical("sendEmail", "display.config.sendEmail", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		sendEmail = uifactory.addCheckboxesVertical("sendEmail", "display.config.sendEmail", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		sendEmail.select("xx", sendEmailConfig);
 		
 		String page = velocity_root + "/custom.html";
@@ -269,11 +269,11 @@ public class LTIConfigForm extends FormBasicController {
 		uifactory.addSpacerElement("roles", formLayout, false);
 		uifactory.addStaticTextElement("roletitle", "roles.title.oo", translate("roles.title.lti"), formLayout);
 		
-		authorRoleEl = uifactory.addCheckboxesHorizontal("author", "author.roles", formLayout, ltiRolesKeys, ltiRolesValues, null);
+		authorRoleEl = uifactory.addCheckboxesHorizontal("author", "author.roles", formLayout, ltiRolesKeys, ltiRolesValues);
 		udpateRoles(authorRoleEl, BasicLTICourseNode.CONFIG_KEY_AUTHORROLE, "Instructor,Administrator,TeachingAssistant,ContentDeveloper,Mentor"); 
-		coachRoleEl = uifactory.addCheckboxesHorizontal("coach", "coach.roles", formLayout, ltiRolesKeys, ltiRolesValues, null);
+		coachRoleEl = uifactory.addCheckboxesHorizontal("coach", "coach.roles", formLayout, ltiRolesKeys, ltiRolesValues);
 		udpateRoles(coachRoleEl, BasicLTICourseNode.CONFIG_KEY_COACHROLE, "Instructor,TeachingAssistant,Mentor");
-		participantRoleEl = uifactory.addCheckboxesHorizontal("participant", "participant.roles", formLayout, ltiRolesKeys, ltiRolesValues, null);
+		participantRoleEl = uifactory.addCheckboxesHorizontal("participant", "participant.roles", formLayout, ltiRolesKeys, ltiRolesValues);
 		udpateRoles(participantRoleEl, BasicLTICourseNode.CONFIG_KEY_PARTICIPANTROLE, "Learner"); 
 		
 		uifactory.addSpacerElement("scoring", formLayout, false);
@@ -281,7 +281,7 @@ public class LTIConfigForm extends FormBasicController {
 		//add score info
 		String[] assessableKeys = new String[]{ "on" };
 		String[] assessableValues = new String[]{ "" };
-		isAssessableEl = uifactory.addCheckboxesHorizontal("isassessable", "assessable.label", formLayout, assessableKeys, assessableValues, null);
+		isAssessableEl = uifactory.addCheckboxesHorizontal("isassessable", "assessable.label", formLayout, assessableKeys, assessableValues);
 		isAssessableEl.addActionListener(FormEvent.ONCHANGE);
 		if(isAssessable) {
 			isAssessableEl.select("on", true);
@@ -327,7 +327,7 @@ public class LTIConfigForm extends FormBasicController {
 		
 		uifactory.addSpacerElement("debug", formLayout, false);
 		
-		doDebug = uifactory.addCheckboxesVertical("doDebug", "display.config.doDebug", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		doDebug = uifactory.addCheckboxesVertical("doDebug", "display.config.doDebug", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		doDebug.select("xx", doDebugConfig);
 				
 		uifactory.addSpacerElement("buttons", formLayout, false);
diff --git a/src/main/java/org/olat/course/nodes/basiclti/LTICourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/basiclti/LTICourseNodeConfiguration.java
index d00b92ab490..07f46e3ecca 100644
--- a/src/main/java/org/olat/course/nodes/basiclti/LTICourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/basiclti/LTICourseNodeConfiguration.java
@@ -33,6 +33,7 @@ import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.BasicLTICourseNode;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 
 /**
  * Description:<br>
@@ -40,47 +41,36 @@ import org.olat.course.nodes.CourseNodeConfiguration;
  * @author guido
  * @author Charles Severance
  */
-public class LTICourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class LTICourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 	
 	private LTICourseNodeConfiguration() {
 		super();
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new BasicLTICourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_lti");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_lti_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getAlias() {
 		return "lti";
 	}
-
-	//
-	// OLATExtension interface implementations.
-	//
-	public String getName() {
-		return getAlias();
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.other.name();
 	}
 }
diff --git a/src/main/java/org/olat/course/nodes/bc/BCCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/bc/BCCourseNodeConfiguration.java
index ae935456cc7..fd28d7bc503 100644
--- a/src/main/java/org/olat/course/nodes/bc/BCCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/bc/BCCourseNodeConfiguration.java
@@ -33,53 +33,43 @@ import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.BCCourseNode;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 
 /**
  * Description:<br>
  * TODO: guido Class Description for BCCourseNodeConfiguration
  */
-public class BCCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class BCCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 	
 
 	private BCCourseNodeConfiguration() {
 		super();
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new BCCourseNode();
 	}
 
-	//
-	// CourseNodeConfiguration interface implementations.
-	//
-
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getAlias()
-	 */
+	@Override
 	public String getAlias() {
 		return "bc";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.content.name();
+	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_bc");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_bc_icon";
 	}
-
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
 }
diff --git a/src/main/java/org/olat/course/nodes/cal/CalCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/cal/CalCourseNodeConfiguration.java
index 648bca8402d..7d891573c2b 100644
--- a/src/main/java/org/olat/course/nodes/cal/CalCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/cal/CalCourseNodeConfiguration.java
@@ -28,6 +28,7 @@ import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CalCourseNode;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 
 /**
  * 
@@ -37,40 +38,36 @@ import org.olat.course.nodes.CourseNodeConfiguration;
  * 
  * @author srosse, stephane.rosse@frentix.com, www.frentix.com
  */
-public class CalCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class CalCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 	
 	private CalCourseNodeConfiguration() {
 		super();
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new CalCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("calendar.title");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_cal_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getAlias() {
 		return CalCourseNode.TYPE;
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.other.name();
+	}
 }
diff --git a/src/main/java/org/olat/course/nodes/cal/CalEditController.java b/src/main/java/org/olat/course/nodes/cal/CalEditController.java
index 3533c6a7555..bfdd6a44dad 100644
--- a/src/main/java/org/olat/course/nodes/cal/CalEditController.java
+++ b/src/main/java/org/olat/course/nodes/cal/CalEditController.java
@@ -265,7 +265,7 @@ public class CalEditController extends ActivateableTabbableDefaultController imp
 			boolean autoSubscribe = getAutoSubscribe(config);
 			String[] subscribesKeys = new String[]{""};
 			String[] subscribesValues = new String[]{translate("pane.tab.auto_subscribe.value")};
-			autoSubscribeEl = uifactory.addCheckboxesHorizontal("pane.tab.auto_subscribe", formLayout, subscribesKeys, subscribesValues, null);
+			autoSubscribeEl = uifactory.addCheckboxesHorizontal("pane.tab.auto_subscribe", formLayout, subscribesKeys, subscribesValues);
 			autoSubscribeEl.select("", autoSubscribe);
 			autoSubscribeEl.setLabel("pane.tab.auto_subscribe", null);
 			
diff --git a/src/main/java/org/olat/course/nodes/cl/CheckListCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/cl/CheckListCourseNodeConfiguration.java
index fdb04246939..fd26cb53eb3 100644
--- a/src/main/java/org/olat/course/nodes/cl/CheckListCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/cl/CheckListCourseNodeConfiguration.java
@@ -27,6 +27,7 @@ import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CheckListCourseNode;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 
 /**
  * 
@@ -34,7 +35,7 @@ import org.olat.course.nodes.CourseNodeConfiguration;
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  *
  */
-public class CheckListCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class CheckListCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 
 	private CheckListCourseNodeConfiguration() {
 		super();
@@ -45,9 +46,6 @@ public class CheckListCourseNodeConfiguration extends AbstractCourseNodeConfigur
 		return new CheckListCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
 	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
@@ -55,24 +53,18 @@ public class CheckListCourseNodeConfiguration extends AbstractCourseNodeConfigur
 		return translator.translate("title_checklist");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
 	@Override
 	public String getIconCSSClass() {
 		return "o_cl_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	@Override
-	public String getLinkCSSClass() {
-		return null;
-	}
-
 	@Override
 	public String getAlias() {
 		return "checklist";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.test.name();
+	}
 }
diff --git a/src/main/java/org/olat/course/nodes/cl/ui/AssessedIdentityCheckListController.java b/src/main/java/org/olat/course/nodes/cl/ui/AssessedIdentityCheckListController.java
index 7a402d15c03..addfd6296ff 100644
--- a/src/main/java/org/olat/course/nodes/cl/ui/AssessedIdentityCheckListController.java
+++ b/src/main/java/org/olat/course/nodes/cl/ui/AssessedIdentityCheckListController.java
@@ -143,7 +143,7 @@ public class AssessedIdentityCheckListController extends FormBasicController {
 		
 		String boxId = "box_" + checkbox.getCheckboxId();
 		MultipleSelectionElement boxEl = uifactory
-				.addCheckboxesHorizontal(boxId, null, formLayout, onKeys, values, null);
+				.addCheckboxesHorizontal(boxId, null, formLayout, onKeys, values);
 		boxEl.setEnabled(!readOnly);
 		boxEl.setLabel(checkbox.getTitle(), null, false);
 		boxEl.showLabel(true);
diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckListAssessmentController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckListAssessmentController.java
index 1f645e98d93..e7eea2addfb 100644
--- a/src/main/java/org/olat/course/nodes/cl/ui/CheckListAssessmentController.java
+++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckListAssessmentController.java
@@ -499,7 +499,7 @@ public class CheckListAssessmentController extends FormBasicController implement
 				MultipleSelectionElement[] checkedEls = new MultipleSelectionElement[numOfCheckbox];
 				for(int i=0; i<numOfCheckbox; i++) {
 					String checkName = "c" + i + "-" + row.getIdentityKey();
-					checkedEls[i] = uifactory.addCheckboxesHorizontal(checkName, null, flc, onKeys, onValues, null);
+					checkedEls[i] = uifactory.addCheckboxesHorizontal(checkName, null, flc, onKeys, onValues);
 					if(checked != null && i<checked.length && checked[i] != null) {
 						checkedEls[i].select(onKeys[0], checked[i].booleanValue());
 					}
diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckListConfigurationController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckListConfigurationController.java
index 266e4c60b22..1f4d28ebc7b 100644
--- a/src/main/java/org/olat/course/nodes/cl/ui/CheckListConfigurationController.java
+++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckListConfigurationController.java
@@ -110,7 +110,7 @@ public class CheckListConfigurationController extends FormBasicController {
 		Boolean dueDateBool = (Boolean)config.get(CheckListCourseNode.CONFIG_KEY_CLOSE_AFTER_DUE_DATE);
 		Date dueDate = (Date)config.get(CheckListCourseNode.CONFIG_KEY_DUE_DATE);
 		String[] theValues = new String[] { "" };
-		dueDateEl = uifactory.addCheckboxesHorizontal("duedate", "config.due.date.on", formLayout, onKeys, theValues, null);
+		dueDateEl = uifactory.addCheckboxesHorizontal("duedate", "config.due.date.on", formLayout, onKeys, theValues);
 		dueDateEl.addActionListener(FormEvent.ONCHANGE);
 		if(dueDateBool != null && dueDateBool.booleanValue()) {
 			dueDateEl.select(onKeys[0], true);
@@ -130,7 +130,7 @@ public class CheckListConfigurationController extends FormBasicController {
 		Float minVal = (Float)config.get(MSCourseNode.CONFIG_KEY_SCORE_MIN);
 		Float maxVal = (Float)config.get(MSCourseNode.CONFIG_KEY_SCORE_MAX);
 		String[] pointsValues = new String[]{ translate("config.points.on") };
-		scoreGrantedEl = uifactory.addCheckboxesHorizontal("points", "config.points", formLayout, onKeys, pointsValues, null);
+		scoreGrantedEl = uifactory.addCheckboxesHorizontal("points", "config.points", formLayout, onKeys, pointsValues);
 		scoreGrantedEl.addActionListener(FormEvent.ONCHANGE);
 		if(scoreGrantedBool == null || (scoreGrantedBool != null && scoreGrantedBool.booleanValue())) {
 			scoreGrantedEl.select(onKeys[0], true);
@@ -154,7 +154,7 @@ public class CheckListConfigurationController extends FormBasicController {
 		Integer sumCutValue = (Integer)config.get(CheckListCourseNode.CONFIG_KEY_PASSED_SUM_CUTVALUE);
 		Boolean manualCorr = (Boolean)config.get(CheckListCourseNode.CONFIG_KEY_PASSED_MANUAL_CORRECTION);
 		
-		passedEl = uifactory.addCheckboxesHorizontal("passed", "config.passed", formLayout, onKeys, theValues, null);
+		passedEl = uifactory.addCheckboxesHorizontal("passed", "config.passed", formLayout, onKeys, theValues);
 		passedEl.addActionListener(FormEvent.ONCHANGE);
 		if(passedBool == null || (passedBool != null && passedBool.booleanValue())) {
 			passedEl.select(onKeys[0], true);
@@ -193,7 +193,7 @@ public class CheckListConfigurationController extends FormBasicController {
 		uifactory.addSpacerElement("spacer-passed", formLayout, false);
 
 		//comment
-		commentEl = uifactory.addCheckboxesHorizontal("comment", "config.comment", formLayout, onKeys, theValues, null);
+		commentEl = uifactory.addCheckboxesHorizontal("comment", "config.comment", formLayout, onKeys, theValues);
 		Boolean commentBool = (Boolean)config.get(MSCourseNode.CONFIG_KEY_HAS_COMMENT_FIELD);
 		if(commentBool != null && commentBool.booleanValue()) {
 			commentEl.select(onKeys[0], true);
diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java
index 39ee75d7d19..68d302ed76c 100644
--- a/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java
+++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java
@@ -202,7 +202,7 @@ public class CheckListRunController extends FormBasicController implements Contr
 		
 		String boxId = "box_" + checkbox.getCheckboxId();
 		MultipleSelectionElement el = uifactory
-				.addCheckboxesHorizontal(boxId, null, formLayout, onKeys, values, null);
+				.addCheckboxesHorizontal(boxId, null, formLayout, onKeys, values);
 		el.setEnabled(canCheck && !readOnly);
 		el.addActionListener(FormEvent.ONCHANGE);
 
diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckboxAssessmentController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckboxAssessmentController.java
index 9f9c5966fba..61db889358a 100644
--- a/src/main/java/org/olat/course/nodes/cl/ui/CheckboxAssessmentController.java
+++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckboxAssessmentController.java
@@ -205,7 +205,7 @@ public class CheckboxAssessmentController extends FormBasicController {
 			TextElement pointEl = uifactory.addTextElement(name + "point", null, 5, pointVal, formLayout);
 			pointEl.setDisplaySize(5);
 			
-			MultipleSelectionElement checkEl = uifactory.addCheckboxesHorizontal(name + "check", formLayout, onKeys, onValues, null);
+			MultipleSelectionElement checkEl = uifactory.addCheckboxesHorizontal(name + "check", formLayout, onKeys, onValues);
 			checkEl.addActionListener(FormEvent.ONCHANGE);
 			checkEl.setUserObject(row);
 			if(checked != null && checked.length > currentCheckboxIndex
diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckboxEditController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckboxEditController.java
index 23d7ba057fe..b8b289ab0d9 100644
--- a/src/main/java/org/olat/course/nodes/cl/ui/CheckboxEditController.java
+++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckboxEditController.java
@@ -136,7 +136,7 @@ public class CheckboxEditController extends FormBasicController {
 		
 		String[] onKeys = new String[] { "on" };
 		String[] onValues = new String[] { translate("award.point.on") };
-		awardPointEl = uifactory.addCheckboxesHorizontal("points", formLayout, onKeys, onValues, null);
+		awardPointEl = uifactory.addCheckboxesHorizontal("points", formLayout, onKeys, onValues);
 		awardPointEl.setVisible(withScore);
 		awardPointEl.addActionListener(FormEvent.ONCHANGE);
 		if(checkbox.getPoints() != null) {
diff --git a/src/main/java/org/olat/course/nodes/cl/ui/wizard/StructureNodeStepController.java b/src/main/java/org/olat/course/nodes/cl/ui/wizard/StructureNodeStepController.java
index 58c59427399..16608c73081 100644
--- a/src/main/java/org/olat/course/nodes/cl/ui/wizard/StructureNodeStepController.java
+++ b/src/main/java/org/olat/course/nodes/cl/ui/wizard/StructureNodeStepController.java
@@ -83,10 +83,10 @@ public class StructureNodeStepController extends StepFormBasicController {
 		uifactory.addSpacerElement("spaceman", formLayout, false);
 		
 		String[] pointValues = new String[]{ translate("points.sum.checklists") };
-		pointsEl = uifactory.addCheckboxesHorizontal("points", formLayout, onKeys, pointValues, null);
+		pointsEl = uifactory.addCheckboxesHorizontal("points", formLayout, onKeys, pointValues);
 		
 		String[] passedValues = new String[]{ "" };
-		passedEl = uifactory.addCheckboxesHorizontal("passed", "config.passed", formLayout, onKeys, passedValues, null);
+		passedEl = uifactory.addCheckboxesHorizontal("passed", "config.passed", formLayout, onKeys, passedValues);
 		passedEl.addActionListener(FormEvent.ONCHANGE);
 
 		String[] outputValues = new String[]{
diff --git a/src/main/java/org/olat/course/nodes/co/COConfigForm.java b/src/main/java/org/olat/course/nodes/co/COConfigForm.java
index 601dd5faf7e..bd8addc639f 100644
--- a/src/main/java/org/olat/course/nodes/co/COConfigForm.java
+++ b/src/main/java/org/olat/course/nodes/co/COConfigForm.java
@@ -422,12 +422,12 @@ public class COConfigForm extends FormBasicController {
 		setFormTitle("header", null);
 		setFormContextHelp("org.olat.course.nodes.co","ced-co.html","help.hover.co");
 		
-		wantGroup = uifactory.addCheckboxesVertical("wantGroup", "message.want.group", formLayout, new String[]{"xx"},new String[]{null} , null, 1);
+		wantGroup = uifactory.addCheckboxesVertical("wantGroup", "message.want.group", formLayout, new String[]{"xx"},new String[]{null}, 1);
 		wantGroup.addActionListener(FormEvent.ONCLICK);
 		
-		coaches = uifactory.addCheckboxesVertical("coaches", "form.message.chckbx.coaches", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		coaches = uifactory.addCheckboxesVertical("coaches", "form.message.chckbx.coaches", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		coaches.select("xx", config.getBooleanEntry(COEditController.CONFIG_KEY_EMAILTOCOACHES));
-		partips = uifactory.addCheckboxesVertical("partips", "form.message.chckbx.partips", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		partips = uifactory.addCheckboxesVertical("partips", "form.message.chckbx.partips", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		partips.select("xx", config.getBooleanEntry(COEditController.CONFIG_KEY_EMAILTOPARTICIPANTS));
 	
 		wantGroup.select("xx", coaches.isSelected(0) || partips.isSelected(0));
@@ -492,7 +492,7 @@ public class COConfigForm extends FormBasicController {
 		
 		s2 = uifactory.addSpacerElement("s2", formLayout, false);
 		
-		wantEmail = uifactory.addCheckboxesVertical("wantEmail", "message.want.email", formLayout, new String[]{"xx"},new String[]{null} , null, 1);
+		wantEmail = uifactory.addCheckboxesVertical("wantEmail", "message.want.email", formLayout, new String[]{"xx"},new String[]{null}, 1);
 		wantEmail.addActionListener(FormEvent.ONCLICK);
 		
 		//recipients
diff --git a/src/main/java/org/olat/course/nodes/co/COCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/co/COCourseNodeConfiguration.java
index 7258af90282..111f6fa5f75 100644
--- a/src/main/java/org/olat/course/nodes/co/COCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/co/COCourseNodeConfiguration.java
@@ -33,45 +33,42 @@ import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.COCourseNode;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 
 /**
  * Description:<br>
  * TODO: guido Class Description for COCourseNodeConfiguration
  */
-public class COCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class COCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 
 	private COCourseNodeConfiguration() {
 		super();
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new COCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_co");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_co_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getAlias() {
 		return "co";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.other.name();
+	}
 }
\ No newline at end of file
diff --git a/src/main/java/org/olat/course/nodes/cp/CPCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/cp/CPCourseNodeConfiguration.java
index ad58b2e6708..6065f9a35ec 100644
--- a/src/main/java/org/olat/course/nodes/cp/CPCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/cp/CPCourseNodeConfiguration.java
@@ -33,45 +33,42 @@ import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CPCourseNode;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 
 /**
  * Description:<br>
  * TODO: guido Class Description for CPCourseNodeConfiguration
  */
-public class CPCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class CPCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 
 	private CPCourseNodeConfiguration() {
 		super();
 	}
-	
+
+	@Override
 	public CourseNode getInstance() {
 		return new CPCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_cp");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_cp_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getAlias() {
 		return "cp";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.content.name();
+	}
 }
diff --git a/src/main/java/org/olat/course/nodes/cp/CPEditController.java b/src/main/java/org/olat/course/nodes/cp/CPEditController.java
index f0449363f9e..6ab5ec53c77 100644
--- a/src/main/java/org/olat/course/nodes/cp/CPEditController.java
+++ b/src/main/java/org/olat/course/nodes/cp/CPEditController.java
@@ -419,10 +419,10 @@ class CompMenuForm extends FormBasicController {
 
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {	
-		cpMenu = uifactory.addCheckboxesVertical("cpMenu", NLS_DISPLAY_CONFIG_COMPMENU, formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		cpMenu = uifactory.addCheckboxesVertical("cpMenu", NLS_DISPLAY_CONFIG_COMPMENU, formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		cpMenu.select("xx",compMenuConfig);
 		
-		cpNavButtons = uifactory.addCheckboxesVertical("cpNextPrevious", NLS_DISPLAY_CONFIG_COMP_NEXT_PREVIOUS, formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		cpNavButtons = uifactory.addCheckboxesVertical("cpNextPrevious", NLS_DISPLAY_CONFIG_COMP_NEXT_PREVIOUS, formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		cpNavButtons.select("xx",compNavButtonsConfig);
 		
 		uifactory.addFormSubmitButton("submit", formLayout);
diff --git a/src/main/java/org/olat/course/nodes/dialog/DialogConfigForm.java b/src/main/java/org/olat/course/nodes/dialog/DialogConfigForm.java
index c13e66b2927..b9d6e7dce29 100644
--- a/src/main/java/org/olat/course/nodes/dialog/DialogConfigForm.java
+++ b/src/main/java/org/olat/course/nodes/dialog/DialogConfigForm.java
@@ -104,8 +104,7 @@ public class DialogConfigForm extends FormBasicController {
 		
 		select = uifactory.addCheckboxesVertical(
 				"forumAsPopup", "selection.forumAsPopup.label",
-				formLayout, new String[]{"xx"}, new String[]{null}, null, 1
-		);
+				formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		
 		String selectConfig = (String) config.get(DialogConfigForm.DIALOG_CONFIG_INTEGRATION);
 		select.select ("xx", selectConfig == CONFIG_INTEGRATION_VALUE_POPUP);
diff --git a/src/main/java/org/olat/course/nodes/dialog/DialogCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/dialog/DialogCourseNodeConfiguration.java
index 63957dde47b..dda83a34cee 100644
--- a/src/main/java/org/olat/course/nodes/dialog/DialogCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/dialog/DialogCourseNodeConfiguration.java
@@ -32,6 +32,7 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.DialogCourseNode;
 
 /**
@@ -43,46 +44,36 @@ import org.olat.course.nodes.DialogCourseNode;
  * 
  * @author guido
  */
-public class DialogCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class DialogCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 
 	private DialogCourseNodeConfiguration() {
 		super();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getAlias()
-	 */
+	@Override
 	public String getAlias() {
 		return DialogCourseNode.TYPE;
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getInstance()
-	 */
+	@Override
 	public CourseNode getInstance() {
 		return new DialogCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_" + DialogCourseNode.TYPE);
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getIconCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_" + DialogCourseNode.TYPE + "_icon";
 	}
-
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.other.name();
 	}
 }
diff --git a/src/main/java/org/olat/course/nodes/en/ENCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/en/ENCourseNodeConfiguration.java
index c6cab2ea5f1..46e8db0b103 100644
--- a/src/main/java/org/olat/course/nodes/en/ENCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/en/ENCourseNodeConfiguration.java
@@ -32,46 +32,43 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.ENCourseNode;
 
 /**
  * Description:<br>
  * TODO: guido Class Description for ENCourseNodeConfiguration
  */
-public class ENCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class ENCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 
 	private ENCourseNodeConfiguration() {
 		super();
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new ENCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_en");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_en_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getAlias() {
 		return "en";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.other.name();
+	}
 }
diff --git a/src/main/java/org/olat/course/nodes/en/ENEditGroupAreaFormController.java b/src/main/java/org/olat/course/nodes/en/ENEditGroupAreaFormController.java
index a351d4e9365..76bdc963efc 100644
--- a/src/main/java/org/olat/course/nodes/en/ENEditGroupAreaFormController.java
+++ b/src/main/java/org/olat/course/nodes/en/ENEditGroupAreaFormController.java
@@ -239,7 +239,7 @@ class ENEditGroupAreaFormController extends FormBasicController implements Gener
 
 		// enrolment
 		Boolean initialCancelEnrollEnabled  = (Boolean) moduleConfig.get(ENCourseNode.CONF_CANCEL_ENROLL_ENABLED);
-		enableCancelEnroll = uifactory.addCheckboxesHorizontal("enableCancelEnroll", "form.enableCancelEnroll", formLayout, new String[] { "ison" }, new String[] { "" }, null);
+		enableCancelEnroll = uifactory.addCheckboxesHorizontal("enableCancelEnroll", "form.enableCancelEnroll", formLayout, new String[] { "ison" }, new String[] { "" });
 		enableCancelEnroll.select("ison", initialCancelEnrollEnabled);
 		
 		subm = uifactory.addFormSubmitButton("submit", formLayout);
diff --git a/src/main/java/org/olat/course/nodes/feed/blog/BlogCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/feed/blog/BlogCourseNodeConfiguration.java
index 67b729e3b56..e1bb814f834 100644
--- a/src/main/java/org/olat/course/nodes/feed/blog/BlogCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/feed/blog/BlogCourseNodeConfiguration.java
@@ -27,6 +27,7 @@ import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.BlogCourseNode;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 
 /**
  * The blog course node configuration class
@@ -36,7 +37,7 @@ import org.olat.course.nodes.CourseNodeConfiguration;
  * 
  * @author gwassmann
  */
-public class BlogCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class BlogCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 
 	private static final String ICON_CSS_CLASS = "o_blog_icon";
 	
@@ -44,38 +45,27 @@ public class BlogCourseNodeConfiguration extends AbstractCourseNodeConfiguration
 		super();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getAlias()
-	 */
+	@Override
 	public String getAlias() {
 		return BlogCourseNode.TYPE;
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.content.name();
+	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getIconCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return ICON_CSS_CLASS;
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getInstance()
-	 */
+	@Override
 	public CourseNode getInstance() {
 		return new BlogCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		// No particular styles
-		return null;
-	}
-
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
diff --git a/src/main/java/org/olat/course/nodes/feed/podcast/PodcastCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/feed/podcast/PodcastCourseNodeConfiguration.java
index a8e5a01da5a..465e847606f 100644
--- a/src/main/java/org/olat/course/nodes/feed/podcast/PodcastCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/feed/podcast/PodcastCourseNodeConfiguration.java
@@ -26,6 +26,7 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.PodcastCourseNode;
 
 /**
@@ -36,7 +37,7 @@ import org.olat.course.nodes.PodcastCourseNode;
  * 
  * @author gwassmann
  */
-public class PodcastCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class PodcastCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 
 	private static final String ICON_CSS_CLASS = "o_podcast_icon";
 	
@@ -44,38 +45,27 @@ public class PodcastCourseNodeConfiguration extends AbstractCourseNodeConfigurat
 		super();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getAlias()
-	 */
+	@Override
 	public String getAlias() {
 		return PodcastCourseNode.TYPE;
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.content.name();
+	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getIconCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return ICON_CSS_CLASS;
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getInstance()
-	 */
+	@Override
 	public CourseNode getInstance() {
 		return new PodcastCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		// No particular styles
-		return null;
-	}
-
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
diff --git a/src/main/java/org/olat/course/nodes/fo/FOCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/fo/FOCourseNodeConfiguration.java
index 4223a450f24..467a3b2168b 100644
--- a/src/main/java/org/olat/course/nodes/fo/FOCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/fo/FOCourseNodeConfiguration.java
@@ -32,6 +32,7 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.FOCourseNode;
 
 /**
@@ -42,40 +43,36 @@ import org.olat.course.nodes.FOCourseNode;
  * 
  * @author guido
  */
-public class FOCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class FOCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 	
 	private FOCourseNodeConfiguration() {
 		super();
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new FOCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_fo");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_fo_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getAlias() {
 		return "fo";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.other.name();
+	}
 }
diff --git a/src/main/java/org/olat/course/nodes/info/InfoConfigForm.java b/src/main/java/org/olat/course/nodes/info/InfoConfigForm.java
index 9fbc0255ffe..3cd0050d34b 100644
--- a/src/main/java/org/olat/course/nodes/info/InfoConfigForm.java
+++ b/src/main/java/org/olat/course/nodes/info/InfoConfigForm.java
@@ -102,7 +102,7 @@ public class InfoConfigForm extends FormBasicController {
 			lengthSelection.select("5", true);
 		}
 		
-		autoSubscribeSelection = uifactory.addCheckboxesHorizontal("auto_subscribe", formLayout, autoSubscribeKeys, autoSubscribeValues, null);
+		autoSubscribeSelection = uifactory.addCheckboxesHorizontal("auto_subscribe", formLayout, autoSubscribeKeys, autoSubscribeValues);
 		String autoSubscribeStr = (String)config.get(InfoCourseNodeConfiguration.CONFIG_AUTOSUBSCRIBE);
 		if("on".equals(autoSubscribeStr) || !StringHelper.containsNonWhitespace(autoSubscribeStr)) {
 			autoSubscribeSelection.select("on", true);
diff --git a/src/main/java/org/olat/course/nodes/info/InfoCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/info/InfoCourseNodeConfiguration.java
index b4c117a12ad..b3a63fe0a09 100644
--- a/src/main/java/org/olat/course/nodes/info/InfoCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/info/InfoCourseNodeConfiguration.java
@@ -27,6 +27,7 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.InfoCourseNode;
 
 /**
@@ -38,17 +39,21 @@ import org.olat.course.nodes.InfoCourseNode;
  * Initial Date:  3 aug. 2010 <br>
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
-public class InfoCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration  {
+public class InfoCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 
 	public static final String CONFIG_DURATION = "duration";
 	public static final String CONFIG_LENGTH = "length";
 	public static final String CONFIG_AUTOSUBSCRIBE = "autosubscribe";
 	
-	
 	@Override
 	public String getAlias() {
 		return "info";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.other.name();
+	}
 
 	@Override
 	public CourseNode getInstance() {
@@ -66,9 +71,4 @@ public class InfoCourseNodeConfiguration extends AbstractCourseNodeConfiguration
 	public String getIconCSSClass() {
 		return "o_infomsg_icon";
 	}
-
-	@Override
-	public String getLinkCSSClass() {
-		return null;
-	}
 }
diff --git a/src/main/java/org/olat/course/nodes/iq/IQ12EditForm.java b/src/main/java/org/olat/course/nodes/iq/IQ12EditForm.java
index baf7ef27d4c..fb79b65dd15 100644
--- a/src/main/java/org/olat/course/nodes/iq/IQ12EditForm.java
+++ b/src/main/java/org/olat/course/nodes/iq/IQ12EditForm.java
@@ -159,7 +159,7 @@ public class IQ12EditForm extends FormBasicController {
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		
-		limitAttempts = uifactory.addCheckboxesVertical("limitAttempts", "qti.form.limit.attempts", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		limitAttempts = uifactory.addCheckboxesVertical("limitAttempts", "qti.form.limit.attempts", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		
 		Integer confAttempts = (Integer) modConfig.get(IQEditController.CONFIG_KEY_ATTEMPTS);
 		if (confAttempts == null) confAttempts = new Integer(0);
@@ -169,7 +169,7 @@ public class IQ12EditForm extends FormBasicController {
 		attempts.setMaxValueCheck(20, null);
 		
 		//add it
-		blockAfterSuccess = uifactory.addCheckboxesVertical("blockAfterSuccess", "qti.form.block.afterSuccess", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		blockAfterSuccess = uifactory.addCheckboxesVertical("blockAfterSuccess", "qti.form.block.afterSuccess", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		Boolean block = (Boolean) modConfig.get(IQEditController.CONFIG_KEY_BLOCK_AFTER_SUCCESS);
 		blockAfterSuccess.select("xx", block == null ? false : block.booleanValue() );
 		
@@ -188,16 +188,16 @@ public class IQ12EditForm extends FormBasicController {
 		}
 		
 		Boolean fullWindow = (Boolean) modConfig.get(IQEditController.CONFIG_FULLWINDOW);
-		fullWindowEl = uifactory.addCheckboxesVertical("fullwindow", "qti.form.fullwindow", formLayout, new String[]{"fullwindow"}, new String[]{null}, null, 1);
+		fullWindowEl = uifactory.addCheckboxesVertical("fullwindow", "qti.form.fullwindow", formLayout, new String[]{"fullwindow"}, new String[]{null}, 1);
 		fullWindowEl.select("fullwindow", fullWindow == null ? true : fullWindow.booleanValue());
 		
 		Boolean CdisplayMenu = (Boolean)modConfig.get(IQEditController.CONFIG_KEY_DISPLAYMENU);
-		displayMenu = uifactory.addCheckboxesVertical("qti_displayMenu", "qti.form.menudisplay", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		displayMenu = uifactory.addCheckboxesVertical("qti_displayMenu", "qti.form.menudisplay", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		displayMenu.select("xx", CdisplayMenu == null ? true : CdisplayMenu );
 		displayMenu.addActionListener(FormEvent.ONCLICK);
 		
 		Boolean CenableMenu = (Boolean)modConfig.get(IQEditController.CONFIG_KEY_ENABLEMENU);
-		enableMenu = uifactory.addCheckboxesVertical("qti_enableMenu", "qti.form.menuenable", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		enableMenu = uifactory.addCheckboxesVertical("qti_enableMenu", "qti.form.menuenable", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		enableMenu.select("xx", CenableMenu == null ? true : CenableMenu);
 		
 		menuRenderOptions = uifactory.addRadiosVertical("qti_form_menurenderoption", "qti.form.menurender", formLayout, menuRenderOptKeys, menuRenderOptValues);
@@ -226,33 +226,33 @@ public class IQ12EditForm extends FormBasicController {
 		
 		Boolean bDisplayQuestionTitle = (Boolean)modConfig.get(IQEditController.CONFIG_KEY_QUESTIONTITLE);
 		boolean confDisplayQuestionTitle = (bDisplayQuestionTitle != null) ? bDisplayQuestionTitle.booleanValue() : true;
-		displayQuestionTitle = uifactory.addCheckboxesVertical("qti_displayQuestionTitle", "qti.form.questiontitle", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		displayQuestionTitle = uifactory.addCheckboxesVertical("qti_displayQuestionTitle", "qti.form.questiontitle", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		displayQuestionTitle.select("xx", confDisplayQuestionTitle);
 
 		//display  automatic enumetation of choice options
 		Boolean bAutoEnum = (Boolean)modConfig.get(IQEditController.CONFIG_KEY_AUTOENUM_CHOICES);
 		boolean confAutoEnum = (bAutoEnum != null) ? bAutoEnum.booleanValue() : false;
-		autoEnumerateChoices = uifactory.addCheckboxesVertical("qti_AutoEnumChoices", "qti.form.auto.enumerate.choices", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		autoEnumerateChoices = uifactory.addCheckboxesVertical("qti_AutoEnumChoices", "qti.form.auto.enumerate.choices", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		autoEnumerateChoices.select("xx", confAutoEnum);
 		
 		//provide  memo field
 		Boolean bMemo = (Boolean)modConfig.get(IQEditController.CONFIG_KEY_MEMO);
 		boolean confMemo = (bMemo != null) ? bMemo.booleanValue() : false;
-		provideMemoField = uifactory.addCheckboxesVertical("qti_provideMemoField", "qti.form.auto.memofield", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		provideMemoField = uifactory.addCheckboxesVertical("qti_provideMemoField", "qti.form.auto.memofield", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		provideMemoField.select("xx", confMemo);
 		
 		
 		// question progress
 		Boolean bEnableQuestionProgress = (Boolean)modConfig.get(IQEditController.CONFIG_KEY_QUESTIONPROGRESS);
 		boolean confEnableQuestionProgress = (bEnableQuestionProgress != null) ? bEnableQuestionProgress.booleanValue() : true;
-		displayQuestionProgress	= uifactory.addCheckboxesVertical("qti_enableQuestionProgress", "qti.form.questionprogress", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		displayQuestionProgress	= uifactory.addCheckboxesVertical("qti_enableQuestionProgress", "qti.form.questionprogress", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		displayQuestionProgress.select("xx", confEnableQuestionProgress);
 		displayQuestionProgress.setVisible(!isSurvey);
 		
 		// score progress
 		Boolean bEnableScoreProgress = (Boolean)modConfig.get(IQEditController.CONFIG_KEY_SCOREPROGRESS);
 		boolean confEnableScoreProgress = (bEnableScoreProgress != null) ? bEnableScoreProgress.booleanValue() : true;
-		displayScoreProgress = uifactory.addCheckboxesVertical("resultTitle", "qti.form.scoreprogress", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		displayScoreProgress = uifactory.addCheckboxesVertical("resultTitle", "qti.form.scoreprogress", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		
 		if (isAssessment || isSelfTest) {
 			displayScoreProgress.select("xx", confEnableScoreProgress);			
@@ -274,7 +274,7 @@ public class IQ12EditForm extends FormBasicController {
 			if (configKeyType != null && configKeyType.equals(AssessmentInstance.QMD_ENTRY_TYPE_ASSESS))
 				confEnableCancel = false;
 		}
-		enableCancel = uifactory.addCheckboxesVertical("qti_enableCancel", "qti.form.enablecancel", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		enableCancel = uifactory.addCheckboxesVertical("qti_enableCancel", "qti.form.enablecancel", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		enableCancel.select("xx", confEnableCancel);
 		
 		if (isSelfTest) {
@@ -286,7 +286,7 @@ public class IQ12EditForm extends FormBasicController {
 		// enable suspend
 		Boolean bEnableSuspend = (Boolean)modConfig.get(IQEditController.CONFIG_KEY_ENABLESUSPEND);
 		boolean confEnableSuspend = (bEnableSuspend != null) ? bEnableSuspend.booleanValue() : false;
-		enableSuspend = uifactory.addCheckboxesVertical("qti_enableSuspend", "qti.form.enablesuspend", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		enableSuspend = uifactory.addCheckboxesVertical("qti_enableSuspend", "qti.form.enablesuspend", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		enableSuspend.select("xx", confEnableSuspend);
 	
 		uifactory.addSpacerElement("s2", formLayout, true);
@@ -294,7 +294,7 @@ public class IQ12EditForm extends FormBasicController {
 		//Show score infos on start page
 		Boolean bEnableScoreInfos = (Boolean)modConfig.get(IQEditController.CONFIG_KEY_ENABLESCOREINFO);
 	  boolean enableScoreInfos = (bEnableScoreInfos != null) ? bEnableScoreInfos.booleanValue() : true;
-		scoreInfo = uifactory.addCheckboxesVertical("qti_scoreInfo", "qti.form.scoreinfo", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		scoreInfo = uifactory.addCheckboxesVertical("qti_scoreInfo", "qti.form.scoreinfo", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		scoreInfo.select("xx", enableScoreInfos);
 		if (isAssessment || isSelfTest) {
 			scoreInfo.select("xx", enableScoreInfos);
@@ -313,7 +313,7 @@ public class IQ12EditForm extends FormBasicController {
 		Boolean showResultOnHomePage = (Boolean) modConfig.get(IQEditController.CONFIG_KEY_RESULT_ON_HOME_PAGE);
 		boolean confEnableShowResultOnHomePage = (showResultOnHomePage != null) ? showResultOnHomePage.booleanValue() : false;
 		confEnableShowResultOnHomePage = !noSummary && confEnableShowResultOnHomePage;
-		showResultsOnHomePage = uifactory.addCheckboxesVertical("qti_enableResultsOnHomePage", "qti.form.results.onhomepage", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		showResultsOnHomePage = uifactory.addCheckboxesVertical("qti_enableResultsOnHomePage", "qti.form.results.onhomepage", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		showResultsOnHomePage.select("xx", confEnableShowResultOnHomePage);
 		showResultsOnHomePage.addActionListener(FormEvent.ONCLICK);
 		showResultsOnHomePage.setVisible(!isSurvey);
@@ -324,7 +324,7 @@ public class IQ12EditForm extends FormBasicController {
 			showResultsDateDependent = showResultsActive.booleanValue();
 		}
 
-		showResultsDateDependentButton = uifactory.addCheckboxesVertical("qti_showresult", "qti.form.show.results", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		showResultsDateDependentButton = uifactory.addCheckboxesVertical("qti_showresult", "qti.form.show.results", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		if (isAssessment || isSelfTest) {
 			showResultsDateDependentButton.select("xx", showResultsDateDependent);
 			showResultsDateDependentButton.addActionListener(FormEvent.ONCLICK);
@@ -346,7 +346,7 @@ public class IQ12EditForm extends FormBasicController {
 		Boolean showResultOnFinish = (Boolean) modConfig.get(IQEditController.CONFIG_KEY_RESULT_ON_FINISH);
 		boolean confEnableShowResultOnFinish = (showResultOnFinish != null) ? showResultOnFinish.booleanValue() : true;
 		confEnableShowResultOnFinish = !noSummary && confEnableShowResultOnFinish;
-		showResultsAfterFinishTest = uifactory.addCheckboxesVertical("qti_enableResultsOnFinish", "qti.form.results.onfinish", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		showResultsAfterFinishTest = uifactory.addCheckboxesVertical("qti_enableResultsOnFinish", "qti.form.results.onfinish", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		showResultsAfterFinishTest.select("xx", confEnableShowResultOnFinish);
 		showResultsAfterFinishTest.addActionListener(FormEvent.ONCLICK);
 		showResultsAfterFinishTest.setVisible(!isSurvey);
diff --git a/src/main/java/org/olat/course/nodes/iq/IQSELFCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/iq/IQSELFCourseNodeConfiguration.java
index 5472adaaa3e..df4a04aeb57 100644
--- a/src/main/java/org/olat/course/nodes/iq/IQSELFCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/iq/IQSELFCourseNodeConfiguration.java
@@ -32,46 +32,43 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.IQSELFCourseNode;
 /**
  * 
  * Description:<br>
  * TODO: guido Class Description for IQSELFCourseNodeConfiguration
  */
-public class IQSELFCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class IQSELFCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 
 	private IQSELFCourseNodeConfiguration() {
 		super();
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new IQSELFCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_iqself");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_iqself_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getAlias() {
 		return "iqself";
 	}
+
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.test.name();
+	}
 }
diff --git a/src/main/java/org/olat/course/nodes/iq/IQSURVCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/iq/IQSURVCourseNodeConfiguration.java
index 91c2aab1343..95e4e0b8a3d 100644
--- a/src/main/java/org/olat/course/nodes/iq/IQSURVCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/iq/IQSURVCourseNodeConfiguration.java
@@ -32,46 +32,43 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.IQSURVCourseNode;
 /**
  * 
  * Description:<br>
  * TODO: guido Class Description for IQSURVCourseNodeConfiguration
  */
-public class IQSURVCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class IQSURVCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 	
 	private IQSURVCourseNodeConfiguration() {
 		super();
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new IQSURVCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_iqsurv");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_iqsurv_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getAlias() {
 		return "iqsurv";
 	}
+
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.test.name();
+	}
 }
diff --git a/src/main/java/org/olat/course/nodes/iq/IQTESTCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/iq/IQTESTCourseNodeConfiguration.java
index 75a556a455c..f284229b368 100644
--- a/src/main/java/org/olat/course/nodes/iq/IQTESTCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/iq/IQTESTCourseNodeConfiguration.java
@@ -32,13 +32,14 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.IQTESTCourseNode;
 /**
  * 
  * Description:<br>
  * 
  */
-public class IQTESTCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class IQTESTCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 	
 	/**
 	 * [spring]
@@ -46,36 +47,31 @@ public class IQTESTCourseNodeConfiguration extends AbstractCourseNodeConfigurati
 	private IQTESTCourseNodeConfiguration() {
 		super();
 	}
-	
+
+	@Override
 	public CourseNode getInstance() {
 		return new IQTESTCourseNode();
 	}
 
-
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_iqtest");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_iqtest_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getAlias() {
 		return "iqtest";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.test.name();
+	}
 }
diff --git a/src/main/java/org/olat/course/nodes/members/MembersCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/members/MembersCourseNodeConfiguration.java
index fc714f815e7..f03bd0230fe 100644
--- a/src/main/java/org/olat/course/nodes/members/MembersCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/members/MembersCourseNodeConfiguration.java
@@ -26,6 +26,7 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.MembersCourseNode;
 
 /**
@@ -37,7 +38,7 @@ import org.olat.course.nodes.MembersCourseNode;
  * Initial Date:  11 mars 2011 <br>
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
-public class MembersCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class MembersCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 	
 	private MembersCourseNodeConfiguration() {
 		super();
@@ -47,6 +48,11 @@ public class MembersCourseNodeConfiguration extends AbstractCourseNodeConfigurat
 	public String getAlias() {
 		return "cmembers";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.other.name();
+	}
 
 	@Override
 	public CourseNode getInstance() {
@@ -64,9 +70,4 @@ public class MembersCourseNodeConfiguration extends AbstractCourseNodeConfigurat
 	public String getIconCSSClass() {
 		return "o_cmembers_icon";
 	}
-
-	@Override
-	public String getLinkCSSClass() {
-		return null;
-	}
 }
diff --git a/src/main/java/org/olat/course/nodes/ms/MSCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/ms/MSCourseNodeConfiguration.java
index edaf45cd7f4..171a3622616 100644
--- a/src/main/java/org/olat/course/nodes/ms/MSCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/ms/MSCourseNodeConfiguration.java
@@ -32,6 +32,7 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.MSCourseNode;
 /**
  * 
@@ -39,40 +40,36 @@ import org.olat.course.nodes.MSCourseNode;
  * TODO: guido Class Description for MSCourseNodeConfiguration
  * 
  */
-public class MSCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class MSCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 	
 	private MSCourseNodeConfiguration() {
 		super();
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new MSCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_ms");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_ms_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getAlias() {
 		return "ms";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.other.name();
+	}
 }
diff --git a/src/main/java/org/olat/course/nodes/ms/MSEditFormController.java b/src/main/java/org/olat/course/nodes/ms/MSEditFormController.java
index 88af97be4fa..a319063f71c 100644
--- a/src/main/java/org/olat/course/nodes/ms/MSEditFormController.java
+++ b/src/main/java/org/olat/course/nodes/ms/MSEditFormController.java
@@ -149,7 +149,7 @@ public class MSEditFormController extends FormBasicController {
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		// Create the "score granted" field...
-		scoreGranted = uifactory.addCheckboxesVertical("form.score", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		scoreGranted = uifactory.addCheckboxesVertical("form.score", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		scoreGranted.addActionListener(FormEvent.ONCLICK);
 		Boolean sf = (Boolean) modConfig.get(MSCourseNode.CONFIG_KEY_HAS_SCORE_FIELD);
 		scoreGranted.select("xx", sf == null ? false : sf.booleanValue());
@@ -175,7 +175,7 @@ public class MSEditFormController extends FormBasicController {
 		uifactory.addSpacerElement("spacer1", formLayout, false);
 
 		// Create the "display passed / failed"
-		displayPassed = uifactory.addCheckboxesVertical("form.passed", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		displayPassed = uifactory.addCheckboxesVertical("form.passed", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		displayPassed.addActionListener(FormEvent.ONCLICK);
 		Boolean pf = (Boolean) modConfig.get(MSCourseNode.CONFIG_KEY_HAS_PASSED_FIELD);
 		if (pf == null) pf = Boolean.TRUE;
@@ -201,7 +201,7 @@ public class MSEditFormController extends FormBasicController {
 		uifactory.addSpacerElement("spacer2", formLayout, false);
 
 		// Create the "individual comment" dropdown.
-		commentFlag = uifactory.addCheckboxesVertical("form.comment", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		commentFlag = uifactory.addCheckboxesVertical("form.comment", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		Boolean cf = (Boolean) modConfig.get(MSCourseNode.CONFIG_KEY_HAS_COMMENT_FIELD);
 		if (cf == null) cf = Boolean.TRUE;
 		commentFlag.select("xx", cf.booleanValue());
diff --git a/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsCourseNodeConfiguration.java
index 5604e7c2ca8..fbe3f7c5161 100644
--- a/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsCourseNodeConfiguration.java
@@ -27,6 +27,7 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.OpenMeetingsCourseNode;
 import org.olat.modules.openmeetings.OpenMeetingsModule;
 
@@ -39,24 +40,28 @@ import org.olat.modules.openmeetings.OpenMeetingsModule;
  *
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
-public class OpenMeetingsCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class OpenMeetingsCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 
+	@Override
 	public String getAlias() {
 		return "openmeetings";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.virtualClassroom.name();
+	}
 
+	@Override
 	public String getIconCSSClass() {
 		return "o_openmeetings_icon";
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new OpenMeetingsCourseNode();
 	}
 
-	public String getLinkCSSClass() {
-		return "o_openmeetings_icon";
-	}
-
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
@@ -68,8 +73,4 @@ public class OpenMeetingsCourseNodeConfiguration extends AbstractCourseNodeConfi
 		OpenMeetingsModule module = CoreSpringFactory.getImpl(OpenMeetingsModule.class);
 		return module.isEnabled();
 	}
-
-	public String getName() {
-		return getAlias();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsEditFormController.java b/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsEditFormController.java
index 3d0fcb1f868..1bfb55dec91 100644
--- a/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsEditFormController.java
+++ b/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsEditFormController.java
@@ -105,7 +105,7 @@ public class OpenMeetingsEditFormController extends FormBasicController {
 		roomSizeEl = uifactory.addStaticTextElement("room.size", "room.size", "", formLayout);
 		moderationModeEl = uifactory.addStaticTextElement("mod", "room.moderation.mode", "", formLayout);
 		String[] recordingValues = new String[]{ translate("room.recording.enabled") };
-		recordingEl = uifactory.addCheckboxesHorizontal("recording", "room.recording", formLayout, recordingKeys, recordingValues, null);
+		recordingEl = uifactory.addCheckboxesHorizontal("recording", "room.recording", formLayout, recordingKeys, recordingValues);
 		recordingEl.setEnabled(false);
 		roomCommentEl = uifactory.addStaticTextElement("room.comment", "room.comment", "", formLayout);
 
diff --git a/src/main/java/org/olat/course/nodes/portfolio/PortfolioCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/portfolio/PortfolioCourseNodeConfiguration.java
index f78632d2b38..edce11448e6 100644
--- a/src/main/java/org/olat/course/nodes/portfolio/PortfolioCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/portfolio/PortfolioCourseNodeConfiguration.java
@@ -28,6 +28,7 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.PortfolioCourseNode;
 import org.olat.portfolio.PortfolioModule;
 
@@ -40,7 +41,7 @@ import org.olat.portfolio.PortfolioModule;
  * Initial Date:  6 oct. 2010 <br>
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
-public class PortfolioCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class PortfolioCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 
 	public static final String MAP_KEY = "map-key";
 	public static final String REPO_SOFT_KEY = "repo-soft-key";
@@ -63,6 +64,11 @@ public class PortfolioCourseNodeConfiguration extends AbstractCourseNodeConfigur
 	public String getAlias() {
 		return "ep";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.other.name();
+	}
 
 	@Override
 	public CourseNode getInstance() {
@@ -81,11 +87,6 @@ public class PortfolioCourseNodeConfiguration extends AbstractCourseNodeConfigur
 		return "o_ep_icon";
 	}
 
-	@Override
-	public String getLinkCSSClass() {
-		return null;
-	}
-
 	/**
 	 * @see org.olat.core.configuration.AbstractConfigOnOff#isEnabled()
 	 */
diff --git a/src/main/java/org/olat/course/nodes/projectbroker/CustomfieldsFormController.java b/src/main/java/org/olat/course/nodes/projectbroker/CustomfieldsFormController.java
index f44b692bfe3..5ea3eecd240 100644
--- a/src/main/java/org/olat/course/nodes/projectbroker/CustomfieldsFormController.java
+++ b/src/main/java/org/olat/course/nodes/projectbroker/CustomfieldsFormController.java
@@ -183,7 +183,7 @@ public class CustomfieldsFormController extends FormBasicController {
 		if (i == 0)  valueElement.setExampleKey("customfield.example.value", null);
 		customFieldValueElementList.add(valueElement);
 		
-		MultipleSelectionElement tableEnabledElement = uifactory.addCheckboxesHorizontal("customfield.table.enabled." + i, null, formLayout, keys, values, null);
+		MultipleSelectionElement tableEnabledElement = uifactory.addCheckboxesHorizontal("customfield.table.enabled." + i, null, formLayout, keys, values);
 		tableEnabledElement.select(keys[0], customField.isTableViewEnabled());
 		customFieldTableFlagElementList.add(tableEnabledElement);
 
diff --git a/src/main/java/org/olat/course/nodes/projectbroker/ModulesFormController.java b/src/main/java/org/olat/course/nodes/projectbroker/ModulesFormController.java
index 5f2c46afc6f..811e1d3a578 100644
--- a/src/main/java/org/olat/course/nodes/projectbroker/ModulesFormController.java
+++ b/src/main/java/org/olat/course/nodes/projectbroker/ModulesFormController.java
@@ -66,7 +66,7 @@ public class ModulesFormController extends FormBasicController {
 		
 		//create form elements
 		final Boolean dropboxEnabled = (Boolean)config.get(ProjectBrokerCourseNode.CONF_DROPBOX_ENABLED);
-		selectionDropbox = uifactory.addCheckboxesVertical("dropbox", "form.modules.dropbox", formLayout, keys, values, null, 1);
+		selectionDropbox = uifactory.addCheckboxesVertical("dropbox", "form.modules.dropbox", formLayout, keys, values, 1);
 		selectionDropbox.select(keys[0], dropboxEnabled);
 		selectionDropbox.addActionListener(FormEvent.ONCLICK);
 
@@ -81,7 +81,7 @@ public class ModulesFormController extends FormBasicController {
 		if (returnboxEnabled == null) {
 			returnboxEnabled = Boolean.TRUE;
 		}
-		selectionReturnbox = uifactory.addCheckboxesVertical("returnbox", "form.modules.returnbox", formLayout, keys, values, null, 1);
+		selectionReturnbox = uifactory.addCheckboxesVertical("returnbox", "form.modules.returnbox", formLayout, keys, values, 1);
 		selectionReturnbox.select(keys[0], returnboxEnabled);
 		selectionReturnbox.addActionListener(FormEvent.ONCLICK);
 	}
diff --git a/src/main/java/org/olat/course/nodes/projectbroker/OptionsFormController.java b/src/main/java/org/olat/course/nodes/projectbroker/OptionsFormController.java
index 4c33149a20f..98147276d5c 100644
--- a/src/main/java/org/olat/course/nodes/projectbroker/OptionsFormController.java
+++ b/src/main/java/org/olat/course/nodes/projectbroker/OptionsFormController.java
@@ -87,7 +87,7 @@ public class OptionsFormController extends FormBasicController {
 		
 		//create form elements
 		int nbrOfParticipantsValue = config.getNbrParticipantsPerTopic();
-		selectionLimitedAttendees = uifactory.addCheckboxesHorizontal("form.options.number.of.topics.per.participant", formLayout, keys, values,null);
+		selectionLimitedAttendees = uifactory.addCheckboxesHorizontal("form.options.number.of.topics.per.participant", formLayout, keys, values);
 		nbrOfAttendees = uifactory.addIntegerElement("form.options.number.of.participants.per.topic_nbr", nbrOfParticipantsValue, formLayout);
 		nbrOfAttendees.setMinValueCheck(0, null);
 		nbrOfAttendees.setDisplaySize(3);
@@ -101,12 +101,12 @@ public class OptionsFormController extends FormBasicController {
 		selectionLimitedAttendees.addActionListener(FormEvent.ONCLICK);
 		
 		final Boolean selectionAcceptValue = config.isAcceptSelectionManually();
-		selectionAccept = uifactory.addCheckboxesVertical("form.options.selection.accept", formLayout, keys, values, null, 1);
+		selectionAccept = uifactory.addCheckboxesVertical("form.options.selection.accept", formLayout, keys, values, 1);
 		selectionAccept.select(keys[0], selectionAcceptValue);
 		selectionAccept.addActionListener(FormEvent.ONCLICK);
 
 		final Boolean autoSignOut = config.isAutoSignOut();
-		selectionAutoSignOut = uifactory.addCheckboxesVertical("form.options.auto.sign.out", formLayout, keys, values, null, 1);
+		selectionAutoSignOut = uifactory.addCheckboxesVertical("form.options.auto.sign.out", formLayout, keys, values, 1);
 		selectionAutoSignOut.select(keys[0], autoSignOut);
 		// enable auto-sign-out only when 'accept-selection' is enabled
 		selectionAutoSignOut.setVisible(selectionAcceptValue);
diff --git a/src/main/java/org/olat/course/nodes/projectbroker/ProjectBrokerNodeConfiguration.java b/src/main/java/org/olat/course/nodes/projectbroker/ProjectBrokerNodeConfiguration.java
index 04aa8b5749a..11858dc0591 100644
--- a/src/main/java/org/olat/course/nodes/projectbroker/ProjectBrokerNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/projectbroker/ProjectBrokerNodeConfiguration.java
@@ -32,45 +32,38 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.ProjectBrokerCourseNode;
 
 /**
  * @author guretzki
  */
-public class ProjectBrokerNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
-	
-	public ProjectBrokerNodeConfiguration() {
-		super();
-	}
+public class ProjectBrokerNodeConfiguration extends AbstractCourseNodeConfiguration {
 
+	@Override
 	public CourseNode getInstance() {
 		return new ProjectBrokerCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_projectbroker");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_projectbroker_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getAlias() {
 		return "projectbroker";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.other.name();
+	}
 }
diff --git a/src/main/java/org/olat/course/nodes/projectbroker/ProjectEditDetailsFormController.java b/src/main/java/org/olat/course/nodes/projectbroker/ProjectEditDetailsFormController.java
index 5aa3de9e826..c1f781f31be 100644
--- a/src/main/java/org/olat/course/nodes/projectbroker/ProjectEditDetailsFormController.java
+++ b/src/main/java/org/olat/course/nodes/projectbroker/ProjectEditDetailsFormController.java
@@ -206,7 +206,7 @@ public class ProjectEditDetailsFormController extends FormBasicController {
 		} else {
 			keyDetailsformMax = "detailsform.max.members.label";
 		}
-		selectionMaxMembers = uifactory.addCheckboxesHorizontal(keyDetailsformMax, formLayout, keys, values,null);
+		selectionMaxMembers = uifactory.addCheckboxesHorizontal(keyDetailsformMax, formLayout, keys, values);
 		maxMembers = uifactory.addIntegerElement("form.options.number.of.participants.per.topic_nbr", project.getMaxMembers(), formLayout);
 		maxMembers.setMinValueCheck(0, null);
 		maxMembers.setDisplaySize(3);
@@ -301,7 +301,7 @@ public class ProjectEditDetailsFormController extends FormBasicController {
 		}
 		attachmentFileName.addActionListener(FormEvent.ONCHANGE);
 
-		mailNotification = uifactory.addCheckboxesHorizontal("detailsform.mail.notification.label", formLayout, keys, values, null);
+		mailNotification = uifactory.addCheckboxesHorizontal("detailsform.mail.notification.label", formLayout, keys, values);
 		mailNotification.select(keys[0], project.isMailNotificationEnabled());
 		
 		FormLayoutContainer buttonGroupLayout = FormLayoutContainer.createButtonLayout("buttonGroupLayout", getTranslator());
diff --git a/src/main/java/org/olat/course/nodes/projectbroker/ProjectEventFormController.java b/src/main/java/org/olat/course/nodes/projectbroker/ProjectEventFormController.java
index 7a5fd7defec..e1f65dd93b6 100644
--- a/src/main/java/org/olat/course/nodes/projectbroker/ProjectEventFormController.java
+++ b/src/main/java/org/olat/course/nodes/projectbroker/ProjectEventFormController.java
@@ -79,7 +79,7 @@ public class ProjectEventFormController extends FormBasicController {
 			String[] values = new String[] { translate(eventType.getI18nKey() + ".label"), translate(KEY_EVENT_TABLE_VIEW_ENABLED) };
 			boolean isEventEnabled = config.isProjectEventEnabled(eventType);
 			boolean isTableViewEnabled = config.isProjectEventTableViewEnabled(eventType);
-			MultipleSelectionElement projectEventElement = uifactory.addCheckboxesVertical(eventType.toString(), null, formLayout, keys, values, null, 1);
+			MultipleSelectionElement projectEventElement = uifactory.addCheckboxesVertical(eventType.toString(), null, formLayout, keys, values, 1);
 			projectEventElement.select(keys[0], isEventEnabled);
 			projectEventElement.setVisible(keys[1], isEventEnabled);
 			projectEventElement.select(keys[1], isTableViewEnabled);
diff --git a/src/main/java/org/olat/course/nodes/scorm/ScormCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/scorm/ScormCourseNodeConfiguration.java
index 107fd854a48..0cd4ea24acb 100644
--- a/src/main/java/org/olat/course/nodes/scorm/ScormCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/scorm/ScormCourseNodeConfiguration.java
@@ -32,6 +32,7 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.ScormCourseNode;
 
 /**
@@ -40,46 +41,36 @@ import org.olat.course.nodes.ScormCourseNode;
  * 
  * @author guido
  */
-public class ScormCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class ScormCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 	
 	private ScormCourseNodeConfiguration() {
 		super();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getInstance()
-	 */
+	@Override
 	public CourseNode getInstance() {
 		return new ScormCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_scorm");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getIconCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_scorm_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getAlias()
-	 */
+	@Override
 	public String getAlias() {
 		return "scorm";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.test.name();
+	}
 }
diff --git a/src/main/java/org/olat/course/nodes/scorm/ScormEditController.java b/src/main/java/org/olat/course/nodes/scorm/ScormEditController.java
index 4c7b9da92ae..cb8d79468a7 100644
--- a/src/main/java/org/olat/course/nodes/scorm/ScormEditController.java
+++ b/src/main/java/org/olat/course/nodes/scorm/ScormEditController.java
@@ -520,19 +520,19 @@ class VarForm extends FormBasicController {
 		setFormTitle("headerform");
 		setFormContextHelp("org.olat.course.nodes.scorm","ced-scorm-settings.html","help.hover.scorm-settings-filename");
 		
-		showMenuEl = uifactory.addCheckboxesVertical("showmenu", "showmenu.label", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		showMenuEl = uifactory.addCheckboxesVertical("showmenu", "showmenu.label", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		showMenuEl.select("xx", showMenu);
 		
-		skipLaunchPageEl = uifactory.addCheckboxesVertical("skiplaunchpage", "skiplaunchpage.label", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		skipLaunchPageEl = uifactory.addCheckboxesVertical("skiplaunchpage", "skiplaunchpage.label", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		skipLaunchPageEl.select("xx", skipLaunchPage);
 		
-		showNavButtonsEl = uifactory.addCheckboxesVertical("shownavbuttons", "shownavbuttons.label", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		showNavButtonsEl = uifactory.addCheckboxesVertical("shownavbuttons", "shownavbuttons.label", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		showNavButtonsEl.select("xx", showNavButtons);
 		//fxdiff FXOLAT-116: SCORM improvements
-		fullWindowEl = uifactory.addCheckboxesVertical("fullwindow", "fullwindow.label", formLayout, new String[]{"fullwindow"}, new String[]{null}, null, 1);
+		fullWindowEl = uifactory.addCheckboxesVertical("fullwindow", "fullwindow.label", formLayout, new String[]{"fullwindow"}, new String[]{null}, 1);
 		fullWindowEl.select("fullwindow", fullWindow);
 		
-		closeOnFinishEl = uifactory.addCheckboxesVertical("closeonfinish", "closeonfinish.label", formLayout, new String[]{"closeonfinish"}, new String[]{null}, null, 1);
+		closeOnFinishEl = uifactory.addCheckboxesVertical("closeonfinish", "closeonfinish.label", formLayout, new String[]{"closeonfinish"}, new String[]{null}, 1);
 		closeOnFinishEl.select("closeonfinish", closeOnFinish);
 
 		isAssessableEl = uifactory.addRadiosVertical("isassessable", "assessable.label", formLayout, assessableKeys, assessableValues);
@@ -550,7 +550,7 @@ class VarForm extends FormBasicController {
 		
 		// <OLATCE-289>
 		isAssessableEl.addActionListener(FormEvent.ONCHANGE);
-		advanceScoreEl = uifactory.addCheckboxesVertical("advanceScore", "advance.score.label", formLayout, new String[]{"ison"}, new String[]{null}, null, 1);
+		advanceScoreEl = uifactory.addCheckboxesVertical("advanceScore", "advance.score.label", formLayout, new String[]{"ison"}, new String[]{null}, 1);
 		advanceScoreEl.select("ison", advanceScore);
 		advanceScoreEl.addActionListener(FormEvent.ONCHANGE);
 
@@ -564,7 +564,7 @@ class VarForm extends FormBasicController {
 		RulesFactory.createShowRule(isAssessableEl, assessableKeys[1], cutValueEl, formLayout);
 		RulesFactory.createHideRule(isAssessableEl, assessableKeys[2], cutValueEl, formLayout);
 
-		scoreAttemptsEl = uifactory.addCheckboxesVertical("scoreAttempts", "attempts.depends.label", formLayout, new String[]{"ison"}, new String[]{null}, null, 1);
+		scoreAttemptsEl = uifactory.addCheckboxesVertical("scoreAttempts", "attempts.depends.label", formLayout, new String[]{"ison"}, new String[]{null}, 1);
 		scoreAttemptsEl.select("ison", scoreAttempts);
 		scoreAttemptsEl.addActionListener(FormEvent.ONCHANGE);
 		
diff --git a/src/main/java/org/olat/course/nodes/sp/SPCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/sp/SPCourseNodeConfiguration.java
index 9bca068b194..9085d31c2bc 100644
--- a/src/main/java/org/olat/course/nodes/sp/SPCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/sp/SPCourseNodeConfiguration.java
@@ -32,46 +32,43 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.SPCourseNode;
 /**
  * 
  * Description:<br>
  * TODO: guido Class Description for SPCourseNodeConfiguration
  */
-public class SPCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class SPCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 	
 	private SPCourseNodeConfiguration() {
 		super();
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new SPCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_sp");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_sp_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getAlias() {
 		return "sp";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.content.name();
+	}
 }
diff --git a/src/main/java/org/olat/course/nodes/st/EditScoreCalculationEasyForm.java b/src/main/java/org/olat/course/nodes/st/EditScoreCalculationEasyForm.java
index 1c81e1b5994..1aa81717dc9 100644
--- a/src/main/java/org/olat/course/nodes/st/EditScoreCalculationEasyForm.java
+++ b/src/main/java/org/olat/course/nodes/st/EditScoreCalculationEasyForm.java
@@ -236,7 +236,7 @@ public class EditScoreCalculationEasyForm extends FormBasicController {
 			nodeValues[allNodesList.size()] = translate("scform.deletedNode");
 		}
 		
-		MultipleSelectionElement mse = uifactory.addCheckboxesVertical(elemId, formLayout, nodeKeys, nodeValues, null, 2);
+		MultipleSelectionElement mse = uifactory.addCheckboxesVertical(elemId, formLayout, nodeKeys, nodeValues, 2);
 		// preselect nodes from configuration
 		if (scoreCalculator != null && selectedNodeList != null) {
 			for (Iterator<String> iter = selectedNodeList.iterator(); iter.hasNext();) {
@@ -281,7 +281,7 @@ public class EditScoreCalculationEasyForm extends FormBasicController {
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		
-		hasScore = uifactory.addCheckboxesHorizontal("scform.hasScore", formLayout, new String[]{"xx"}, new String[]{null}, null);
+		hasScore = uifactory.addCheckboxesHorizontal("scform.hasScore", formLayout, new String[]{"xx"}, new String[]{null});
 		hasScore.select("xx", sc != null && sc.getSumOfScoreNodes() != null && sc.getSumOfScoreNodes().size() > 0);
 		hasScore.addActionListener(FormEvent.ONCLICK); // Radios/Checkboxes need onclick because of IE bug OLAT-5753
 		
@@ -292,7 +292,7 @@ public class EditScoreCalculationEasyForm extends FormBasicController {
 		
 		uifactory.addSpacerElement("spacer", formLayout, false);
 		
-		hasPassed = uifactory.addCheckboxesHorizontal("scform.passedtype", formLayout, new String[]{"xx"}, new String[]{null}, null);
+		hasPassed = uifactory.addCheckboxesHorizontal("scform.passedtype", formLayout, new String[]{"xx"}, new String[]{null});
 		hasPassed.select("xx", sc != null && sc.getPassedType() != null && !sc.getPassedType().equals(ScoreCalculator.PASSED_TYPE_NONE));
 		hasPassed.addActionListener(FormEvent.ONCLICK); // Radios/Checkboxes need onclick because of IE bug OLAT-5753
 		
diff --git a/src/main/java/org/olat/course/nodes/st/STCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/st/STCourseNodeConfiguration.java
index 64be991d1fd..e706ad02d4a 100644
--- a/src/main/java/org/olat/course/nodes/st/STCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/st/STCourseNodeConfiguration.java
@@ -33,6 +33,7 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.STCourseNode;
 /**
  * 
@@ -40,43 +41,39 @@ import org.olat.course.nodes.STCourseNode;
  * TODO: guido Class Description for STCourseNodeConfiguration
  * 
  */
-public class STCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class STCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 	transient public static int MAX_PEEKVIEW_CHILD_NODES = 10; // default 10
 	
 	private STCourseNodeConfiguration() {
 		super();
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new STCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_st");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_st_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getAlias() {
 		return "st";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.content.name();
+	}
 
 	/**
 	 * Spring setter method to configure the maximum number of selectable child
diff --git a/src/main/java/org/olat/course/nodes/st/STCourseNodeDisplayConfigFormController.java b/src/main/java/org/olat/course/nodes/st/STCourseNodeDisplayConfigFormController.java
index 49131cd36a3..7fe7d3b81b6 100644
--- a/src/main/java/org/olat/course/nodes/st/STCourseNodeDisplayConfigFormController.java
+++ b/src/main/java/org/olat/course/nodes/st/STCourseNodeDisplayConfigFormController.java
@@ -94,7 +94,7 @@ public class STCourseNodeDisplayConfigFormController extends FormBasicController
 			CourseEditorTreeNode child = node.getCourseEditorTreeNodeChildAt(i);
 			selectedPeekviewChildKeys[i] = child.getIdent();
 			selectedPeekviewChildValues[i] = child.getTitle() + " (" + child.getIdent() + ")";
-			selectedPeekviewChildCssClasses[i] = child.getIconCssClass() + " b_with_small_icon_left";
+			selectedPeekviewChildCssClasses[i] = "o_icon " + child.getIconCssClass();
 		}
 		selectedPeekviewChildNodesConfig = config.getStringValue(STCourseNodeEditController.CONFIG_KEY_PEEKVIEW_CHILD_NODES, "");
 		// initialize the form now
@@ -169,7 +169,7 @@ public class STCourseNodeDisplayConfigFormController extends FormBasicController
 		// Number of rows (only available in system or peekview type)
 		SpacerElement spacerCols = formFact.addSpacerElement("spacerCols", formLayout, true);
 		displayTwoColumns = formFact
-				.addCheckboxesVertical("displayTwoColumns", formLayout, new String[] { "on" }, new String[] { "" }, null, 1);
+				.addCheckboxesVertical("displayTwoColumns", formLayout, new String[] { "on" }, new String[] { "" }, 1);
 		displayTwoColumns.setLabel("displayTwoColumns", null);
 		displayTwoColumns.addActionListener(FormEvent.ONCLICK);
 		if (columnsConfig == 2) {
diff --git a/src/main/java/org/olat/course/nodes/ta/DropboxForm.java b/src/main/java/org/olat/course/nodes/ta/DropboxForm.java
index 9b090094258..e8421d07e7b 100644
--- a/src/main/java/org/olat/course/nodes/ta/DropboxForm.java
+++ b/src/main/java/org/olat/course/nodes/ta/DropboxForm.java
@@ -113,7 +113,7 @@ public class DropboxForm extends FormBasicController {
 		
 		Boolean enableMail = (Boolean)config.get(TACourseNode.CONF_DROPBOX_ENABLEMAIL);
 		confirmation.setMandatory(enableMail);
-		enablemail = uifactory.addCheckboxesVertical("enablemail", "form.dropbox.enablemail", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		enablemail = uifactory.addCheckboxesVertical("enablemail", "form.dropbox.enablemail", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		enablemail.select("xx", enableMail != null ? enableMail.booleanValue() : true);
 		enablemail.addActionListener(FormEvent.ONCLICK);
 	
diff --git a/src/main/java/org/olat/course/nodes/ta/ModulesForm.java b/src/main/java/org/olat/course/nodes/ta/ModulesForm.java
index 378a1d7bb4f..c4e6c217eed 100644
--- a/src/main/java/org/olat/course/nodes/ta/ModulesForm.java
+++ b/src/main/java/org/olat/course/nodes/ta/ModulesForm.java
@@ -92,11 +92,11 @@ public class ModulesForm extends FormBasicController {
 		setFormTitle("form.modules.title");
 		setFormContextHelp("org.olat.course.nodes.ta","ced-ta-select.html","help.hover.ta-module");
 		
-		task = uifactory.addCheckboxesVertical("task", "form.modules.task", formLayout, new String[]{"xx"}, new String[]{""}, null, 1);
-		dropbox = uifactory.addCheckboxesVertical("dropbox", "form.modules.dropbox", formLayout, new String[]{"xx"}, new String[]{""}, null, 1);
-		returnbox = uifactory.addCheckboxesVertical("returnbox", "form.modules.returnbox", formLayout, new String[]{"xx"}, new String[]{""}, null, 1);
-		scoring = uifactory.addCheckboxesVertical("scoring", "form.modules.scoring", formLayout, new String[]{"xx"}, new String[]{""}, null, 1);
-		solution = uifactory.addCheckboxesVertical("solution", "form.modules.sample", formLayout, new String[]{"xx"}, new String[]{""}, null, 1);
+		task = uifactory.addCheckboxesVertical("task", "form.modules.task", formLayout, new String[]{"xx"}, new String[]{""}, 1);
+		dropbox = uifactory.addCheckboxesVertical("dropbox", "form.modules.dropbox", formLayout, new String[]{"xx"}, new String[]{""}, 1);
+		returnbox = uifactory.addCheckboxesVertical("returnbox", "form.modules.returnbox", formLayout, new String[]{"xx"}, new String[]{""}, 1);
+		scoring = uifactory.addCheckboxesVertical("scoring", "form.modules.scoring", formLayout, new String[]{"xx"}, new String[]{""}, 1);
+		solution = uifactory.addCheckboxesVertical("solution", "form.modules.sample", formLayout, new String[]{"xx"}, new String[]{""}, 1);
 	
 		Boolean cv;
 		
diff --git a/src/main/java/org/olat/course/nodes/ta/TACourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/ta/TACourseNodeConfiguration.java
index 238f67f95b6..7bd919ff736 100644
--- a/src/main/java/org/olat/course/nodes/ta/TACourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/ta/TACourseNodeConfiguration.java
@@ -32,45 +32,42 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.TACourseNode;
 
 /**
  * Course-node-configuration for task-node
  */
-public class TACourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class TACourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 
 	private TACourseNodeConfiguration() {
 		super();
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new TACourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_ta");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_ta_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getAlias() {
 		return "ta";
 	}
+
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.test.name();
+	}
 }
diff --git a/src/main/java/org/olat/course/nodes/tu/TUConfigForm.java b/src/main/java/org/olat/course/nodes/tu/TUConfigForm.java
index 3999ea07c92..60938e3af1b 100644
--- a/src/main/java/org/olat/course/nodes/tu/TUConfigForm.java
+++ b/src/main/java/org/olat/course/nodes/tu/TUConfigForm.java
@@ -273,7 +273,7 @@ public class TUConfigForm extends FormBasicController {
 		selectables.select(loadedConfig, true);
 		selectables.addActionListener(FormEvent.ONCLICK);
 		
-		checkboxPagePasswordProtected = uifactory.addCheckboxesVertical("checkbox", "TUConfigForm.protected", formLayout, new String[] { "ison" }, new String[] { "" }, null, 1);
+		checkboxPagePasswordProtected = uifactory.addCheckboxesVertical("checkbox", "TUConfigForm.protected", formLayout, new String[] { "ison" }, new String[] { "" }, 1);
 		
 		checkboxPagePasswordProtected.select("ison", (user != null) && !user.equals(""));
 		// register for on click event to hide/disable other elements
diff --git a/src/main/java/org/olat/course/nodes/tu/TUCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/tu/TUCourseNodeConfiguration.java
index 11a9d2873f6..9148f7eaeb5 100644
--- a/src/main/java/org/olat/course/nodes/tu/TUCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/tu/TUCourseNodeConfiguration.java
@@ -32,13 +32,14 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.TUCourseNode;
 
 /**
  * Description:<br>
  * TODO: guido Class Description for TUCourseNodeConfiguration
  */
-public class TUCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class TUCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 
 	/**
 	 * [spring only]
@@ -48,34 +49,30 @@ public class TUCourseNodeConfiguration extends AbstractCourseNodeConfiguration i
 		super();
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new TUCourseNode();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_tu");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return "o_tu_icon";
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getAlias() {
 		return "tu";
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.content.name();
+	}
 }
diff --git a/src/main/java/org/olat/course/nodes/vitero/ViteroCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/vitero/ViteroCourseNodeConfiguration.java
index 49f593daf2b..b1f8f69014c 100644
--- a/src/main/java/org/olat/course/nodes/vitero/ViteroCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/vitero/ViteroCourseNodeConfiguration.java
@@ -27,6 +27,7 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.ViteroCourseNode;
 import org.olat.modules.vitero.ViteroModule;
 
@@ -39,24 +40,29 @@ import org.olat.modules.vitero.ViteroModule;
  *
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
-public class ViteroCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class ViteroCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 
+	@Override
 	public String getAlias() {
 		return "vitero";
 	}
 
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.virtualClassroom.name();
+	}
+
+	@Override
 	public String getIconCSSClass() {
 		return "o_vitero_icon";
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new ViteroCourseNode();
 	}
 
-	public String getLinkCSSClass() {
-		return "o_vitero_icon";
-	}
-
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
@@ -68,8 +74,4 @@ public class ViteroCourseNodeConfiguration extends AbstractCourseNodeConfigurati
 		ViteroModule viteroModule = CoreSpringFactory.getImpl(ViteroModule.class);
 		return viteroModule.isEnabled();
 	}
-
-	public String getName() {
-		return getAlias();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/org/olat/course/nodes/wiki/WikiCourseNodeConfiguration.java b/src/main/java/org/olat/course/nodes/wiki/WikiCourseNodeConfiguration.java
index 882ebecd30c..e96f86c1120 100644
--- a/src/main/java/org/olat/course/nodes/wiki/WikiCourseNodeConfiguration.java
+++ b/src/main/java/org/olat/course/nodes/wiki/WikiCourseNodeConfiguration.java
@@ -34,6 +34,7 @@ import org.olat.core.util.Util;
 import org.olat.course.nodes.AbstractCourseNodeConfiguration;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.CourseNodeConfiguration;
+import org.olat.course.nodes.CourseNodeGroup;
 import org.olat.course.nodes.WikiCourseNode;
 import org.olat.modules.wiki.Wiki;
 /**
@@ -42,12 +43,13 @@ import org.olat.modules.wiki.Wiki;
  * Configuration of the wiki course node
  * 
  */
-public class WikiCourseNodeConfiguration extends AbstractCourseNodeConfiguration implements CourseNodeConfiguration {
+public class WikiCourseNodeConfiguration extends AbstractCourseNodeConfiguration {
 	
 	private WikiCourseNodeConfiguration() {
 		super();
 	}
 
+	@Override
 	public CourseNode getInstance() {
 		return new WikiCourseNode();
 	}
@@ -57,30 +59,25 @@ public class WikiCourseNodeConfiguration extends AbstractCourseNodeConfiguration
 		return CoreSpringFactory.getImpl(BaseSecurityModule.class).isWikiEnabled() && super.isEnabled();
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkText(java.util.Locale)
-	 */
+	@Override
 	public String getLinkText(Locale locale) {
 		Translator fallback = Util.createPackageTranslator(CourseNodeConfiguration.class, locale);
 		Translator translator = Util.createPackageTranslator(this.getClass(), locale, fallback);
 		return translator.translate("title_wiki");
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getCSSClass()
-	 */
+	@Override
 	public String getIconCSSClass() {
 		return Wiki.CSS_CLASS_WIKI_ICON;
 	}
 
-	/**
-	 * @see org.olat.course.nodes.CourseNodeConfiguration#getLinkCSSClass()
-	 */
-	public String getLinkCSSClass() {
-		return null;
-	}
-
+	@Override
 	public String getAlias() {
 		return WikiCourseNode.TYPE;
 	}
+	
+	@Override
+	public String getGroup() {
+		return CourseNodeGroup.content.name();
+	}
 }
diff --git a/src/main/java/org/olat/course/site/ui/CourseSiteAdminController.java b/src/main/java/org/olat/course/site/ui/CourseSiteAdminController.java
index be10f4ff807..f1101d908e2 100644
--- a/src/main/java/org/olat/course/site/ui/CourseSiteAdminController.java
+++ b/src/main/java/org/olat/course/site/ui/CourseSiteAdminController.java
@@ -94,7 +94,7 @@ public class CourseSiteAdminController extends FormBasicController {
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		setFormTitle("admin.menu.title");
 
-		enableToolbar = uifactory.addCheckboxesHorizontal("site.enable.toolbar", "site.enable.toolbar", formLayout, new String[]{ "x" }, new String[]{ "" }, null);
+		enableToolbar = uifactory.addCheckboxesHorizontal("site.enable.toolbar", "site.enable.toolbar", formLayout, new String[]{ "x" }, new String[]{ "" });
 		enableToolbar.addActionListener(FormEvent.ONCHANGE);
 		if(siteConfiguration.isToolbar()) {
 			enableToolbar.select("x", true);
@@ -262,7 +262,7 @@ public class CourseSiteAdminController extends FormBasicController {
 					null, 32, configuration.getTitle(), formLayout);
 			formLayout.add("site.flexi.title.hook." + language, titleEl);
 			defLangEl = uifactory.addCheckboxesHorizontal("site.def." + language, null,
-					formLayout, new String[]{ "x"}, new String[]{ "" }, null);
+					formLayout, new String[]{ "x"}, new String[]{ "" });
 			
 			if(configuration.isDefaultConfiguration()) {
 				defLangEl.select("x", true);
diff --git a/src/main/java/org/olat/course/tree/InsertTreeModel.java b/src/main/java/org/olat/course/tree/InsertTreeModel.java
index 7f255d05798..62a5f5d6468 100644
--- a/src/main/java/org/olat/course/tree/InsertTreeModel.java
+++ b/src/main/java/org/olat/course/tree/InsertTreeModel.java
@@ -37,6 +37,7 @@ import org.olat.course.nodes.CourseNode;
  */
 public class InsertTreeModel extends GenericTreeModel {
 
+	private static final long serialVersionUID = -3770001422175650965L;
 	private int nodeCnt = -1;
 	
 	public InsertTreeModel(CourseEditorTreeModel cetm) {
diff --git a/src/main/java/org/olat/group/ui/BusinessGroupFormController.java b/src/main/java/org/olat/group/ui/BusinessGroupFormController.java
index 7b104165898..f9bc6c7cbd8 100644
--- a/src/main/java/org/olat/group/ui/BusinessGroupFormController.java
+++ b/src/main/java/org/olat/group/ui/BusinessGroupFormController.java
@@ -200,9 +200,9 @@ public class BusinessGroupFormController extends FormBasicController {
 
 		// Checkboxes
 		enableWaitingList = uifactory.addCheckboxesHorizontal("create.form.enableWaitinglist", null, formLayout, waitingListKeys,
-				waitingListValues, null);
+				waitingListValues);
 		enableAutoCloseRanks = uifactory.addCheckboxesHorizontal("create.form.enableAutoCloseRanks", null, formLayout, autoCloseKeys,
-				autoCloseValues, null);
+				autoCloseValues);
 
 		// Enable only if specification of min and max members is possible
 		businessGroupMinimumMembers.setVisible(false); // currently the minimum feature is not enabled
diff --git a/src/main/java/org/olat/group/ui/BusinessGroupModuleAdminController.java b/src/main/java/org/olat/group/ui/BusinessGroupModuleAdminController.java
index 1778ee9071b..38a71fc465c 100644
--- a/src/main/java/org/olat/group/ui/BusinessGroupModuleAdminController.java
+++ b/src/main/java/org/olat/group/ui/BusinessGroupModuleAdminController.java
@@ -84,7 +84,7 @@ public class BusinessGroupModuleAdminController extends FormBasicController impl
 				translate("user.allow.create"),
 				translate("author.allow.create")
 		};
-		allowEl = uifactory.addCheckboxesVertical("module.admin.allow.create", optionsContainer, onKeys, values, null, 1);
+		allowEl = uifactory.addCheckboxesVertical("module.admin.allow.create", optionsContainer, onKeys, values, 1);
 		allowEl.select("user", module.isUserAllowedCreate());
 		allowEl.select("author", module.isAuthorAllowedCreate());
 		allowEl.addActionListener(FormEvent.ONCHANGE);
@@ -93,12 +93,12 @@ public class BusinessGroupModuleAdminController extends FormBasicController impl
 		formLayout.add(resourceAssignmentContainer);
 		
 		String[] courseValues = new String[]{ translate("module.resource.courses.grant") };
-		assignCoursesEl = uifactory.addCheckboxesVertical("module.resource.courses", resourceAssignmentContainer, assignKeys, courseValues, null, 1);
+		assignCoursesEl = uifactory.addCheckboxesVertical("module.resource.courses", resourceAssignmentContainer, assignKeys, courseValues, 1);
 		assignCoursesEl.select(assignKeys[0], module.isGroupManagersAllowedToLinkCourses());
 		assignCoursesEl.addActionListener(FormEvent.ONCHANGE);
 		
 		String[] groupValues = new String[]{ translate("module.resource.groups.grant") };
-		assignGroupsEl = uifactory.addCheckboxesVertical("module.resource.groups", resourceAssignmentContainer, assignKeys, groupValues, null, 1);
+		assignGroupsEl = uifactory.addCheckboxesVertical("module.resource.groups", resourceAssignmentContainer, assignKeys, groupValues, 1);
 		assignGroupsEl.select(assignKeys[0], module.isResourceManagersAllowedToLinkGroups());
 		assignGroupsEl.addActionListener(FormEvent.ONCHANGE);
 		
@@ -111,7 +111,7 @@ public class BusinessGroupModuleAdminController extends FormBasicController impl
 				translate("enrolment.email.groupmanagers"),
 				translate("enrolment.email.administrators")
 		};
-		enrolmentEl = uifactory.addCheckboxesVertical("mandatory.enrolment", privacyOptionsContainer, enrollmentKeys, enrollmentValues, null, 1);
+		enrolmentEl = uifactory.addCheckboxesVertical("mandatory.enrolment", privacyOptionsContainer, enrollmentKeys, enrollmentValues, 1);
 		enrolmentEl.select("users", "true".equals(module.getMandatoryEnrolmentEmailForUsers()));
 		enrolmentEl.select("authors", "true".equals(module.getMandatoryEnrolmentEmailForAuthors()));
 		enrolmentEl.select("usermanagers", "true".equals(module.getMandatoryEnrolmentEmailForUsermanagers()));
@@ -126,7 +126,7 @@ public class BusinessGroupModuleAdminController extends FormBasicController impl
 				translate("enrolment.email.groupmanagers"),
 				translate("enrolment.email.administrators")
 		};
-		membershipEl = uifactory.addCheckboxesVertical("mandatory.membership", privacyOptionsContainer, enrollmentKeys, membershipValues, null, 1);
+		membershipEl = uifactory.addCheckboxesVertical("mandatory.membership", privacyOptionsContainer, enrollmentKeys, membershipValues, 1);
 		membershipEl.select("users", "true".equals(module.getAcceptMembershipForUsers()));
 		membershipEl.select("authors", "true".equals(module.getAcceptMembershipForAuthors()));
 		membershipEl.select("usermanagers", "true".equals(module.getAcceptMembershipForUsermanagers()));
diff --git a/src/main/java/org/olat/group/ui/edit/DisplayMemberSwitchForm.java b/src/main/java/org/olat/group/ui/edit/DisplayMemberSwitchForm.java
index ee1dfa414b3..38120c28a79 100644
--- a/src/main/java/org/olat/group/ui/edit/DisplayMemberSwitchForm.java
+++ b/src/main/java/org/olat/group/ui/edit/DisplayMemberSwitchForm.java
@@ -141,21 +141,21 @@ public class DisplayMemberSwitchForm extends FormBasicController {
 	
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
-		showOwners = uifactory.addCheckboxesVertical("ShowOwners", "chkBox.show.owners", formLayout, new String[]{"show_owners"}, new String[]{""}, null, 1);
+		showOwners = uifactory.addCheckboxesVertical("ShowOwners", "chkBox.show.owners", formLayout, new String[]{"show_owners"}, new String[]{""}, 1);
 		showOwners.setVisible(hasOwners);
-		showPartips = uifactory.addCheckboxesVertical("ShowPartips", "chkBox.show.partips", formLayout, new String[]{"show_participants"}, new String[]{""}, null, 1);
+		showPartips = uifactory.addCheckboxesVertical("ShowPartips", "chkBox.show.partips", formLayout, new String[]{"show_participants"}, new String[]{""}, 1);
 		showPartips.setVisible(hasPartips);
-		showWaitingList = uifactory.addCheckboxesVertical("ShowWaitingList", "chkBox.show.waitingList", formLayout, new String[]{"show_waiting_list"}, new String[]{""}, null, 1);
+		showWaitingList = uifactory.addCheckboxesVertical("ShowWaitingList", "chkBox.show.waitingList", formLayout, new String[]{"show_waiting_list"}, new String[]{""}, 1);
 		showWaitingList.setVisible(hasWaitingList);
 
-		openOwners = uifactory.addCheckboxesVertical("OpenOwners", "chkBox.open.owners", formLayout, new String[]{"open_owners"}, new String[]{""}, null, 1);
+		openOwners = uifactory.addCheckboxesVertical("OpenOwners", "chkBox.open.owners", formLayout, new String[]{"open_owners"}, new String[]{""}, 1);
 		openOwners.setVisible(hasOwners);
-		openPartips = uifactory.addCheckboxesVertical("OpenPartips", "chkBox.open.partips", formLayout, new String[]{"open_participants"}, new String[]{""}, null, 1);
+		openPartips = uifactory.addCheckboxesVertical("OpenPartips", "chkBox.open.partips", formLayout, new String[]{"open_participants"}, new String[]{""}, 1);
 		openPartips.setVisible(hasPartips);
-		openWaitingList = uifactory.addCheckboxesVertical("OpenWaitingList", "chkBox.open.waitingList", formLayout, new String[]{"open_waiting_list"}, new String[]{""}, null, 1);
+		openWaitingList = uifactory.addCheckboxesVertical("OpenWaitingList", "chkBox.open.waitingList", formLayout, new String[]{"open_waiting_list"}, new String[]{""}, 1);
 		openWaitingList.setVisible(hasWaitingList);
 
-		downloadList = uifactory.addCheckboxesVertical("DownloadList", "chkBox.open.downloadList", formLayout, new String[]{"download_list"}, new String[]{""}, null, 1);
+		downloadList = uifactory.addCheckboxesVertical("DownloadList", "chkBox.open.downloadList", formLayout, new String[]{"download_list"}, new String[]{""}, 1);
 
 		showOwners.addActionListener(FormEvent.ONCLICK);
 		showPartips.addActionListener(FormEvent.ONCLICK);
diff --git a/src/main/java/org/olat/group/ui/main/BusinessGroupSearchController.java b/src/main/java/org/olat/group/ui/main/BusinessGroupSearchController.java
index 64503f3dff8..7a5bd669a30 100644
--- a/src/main/java/org/olat/group/ui/main/BusinessGroupSearchController.java
+++ b/src/main/java/org/olat/group/ui/main/BusinessGroupSearchController.java
@@ -166,7 +166,7 @@ public class BusinessGroupSearchController extends FormBasicController implement
 		if(showAdminTools) {
 			String[] keys = new String[] { "headless" };
 			String[] values = new String[] { translate("search.headless.check") };
-			headlessEl = uifactory.addCheckboxesHorizontal("headless.groups", "search.headless", rightContainer, keys, values, null);
+			headlessEl = uifactory.addCheckboxesHorizontal("headless.groups", "search.headless", rightContainer, keys, values);
 			headlessEl.setElementCssClass("o_sel_group_search_headless_field");
 		}
 
diff --git a/src/main/java/org/olat/group/ui/main/DedupMembersConfirmationController.java b/src/main/java/org/olat/group/ui/main/DedupMembersConfirmationController.java
index f59bafb0093..4aba600fa7f 100644
--- a/src/main/java/org/olat/group/ui/main/DedupMembersConfirmationController.java
+++ b/src/main/java/org/olat/group/ui/main/DedupMembersConfirmationController.java
@@ -66,7 +66,7 @@ public class DedupMembersConfirmationController extends FormBasicController {
 		String[] values = new String[] {
 				translate("dedup.members.coaches"), translate("dedup.members.particpants")
 		};
-		typEl = uifactory.addCheckboxesVertical("typ", "dedup.members.typ", optionsCont, keys, values, null, 1);
+		typEl = uifactory.addCheckboxesVertical("typ", "dedup.members.typ", optionsCont, keys, values, 1);
 		typEl.select(keys[0], true);
 		typEl.select(keys[1], true);
 
diff --git a/src/main/java/org/olat/group/ui/main/EditMembershipController.java b/src/main/java/org/olat/group/ui/main/EditMembershipController.java
index 111446f53e1..d7ed8d88604 100644
--- a/src/main/java/org/olat/group/ui/main/EditMembershipController.java
+++ b/src/main/java/org/olat/group/ui/main/EditMembershipController.java
@@ -202,7 +202,7 @@ public class EditMembershipController extends FormBasicController {
 	private MultipleSelectionElement createSelection(boolean selected, boolean enabled) {
 		String name = "cb" + UUID.randomUUID().toString().replace("-", "");
 		MultipleSelectionElement selection = new MultipleSelectionElementImpl(name, MultipleSelectionElementImpl.createVerticalLayout("checkbox",1));
-		selection.setKeysAndValues(keys, values, null);
+		selection.setKeysAndValues(keys, values);
 		flc.add(name, selection);
 		selection.select(keys[0], selected);
 		selection.setEnabled(enabled);
@@ -225,7 +225,7 @@ public class EditMembershipController extends FormBasicController {
 					translate("role.repo.owner"), translate("role.repo.tutor"), translate("role.repo.participant")
 			};
 			boolean managed = RepositoryEntryManagedFlag.isManaged(repoEntry, RepositoryEntryManagedFlag.membersmanagement);
-			repoRightsEl = uifactory.addCheckboxesVertical("repoRights", formLayout, repoRightsKeys, repoValues, null, 1);
+			repoRightsEl = uifactory.addCheckboxesVertical("repoRights", formLayout, repoRightsKeys, repoValues, 1);
 			repoRightsEl.setEnabled(!managed);
 			if(member != null) {
 				RepoPermission repoPermission = PermissionHelper.getPermission(repoEntry, member, memberships);
diff --git a/src/main/java/org/olat/group/ui/main/MemberChangeConfirmationController.java b/src/main/java/org/olat/group/ui/main/MemberChangeConfirmationController.java
index 5c6a69e8e79..9fa29ac4960 100644
--- a/src/main/java/org/olat/group/ui/main/MemberChangeConfirmationController.java
+++ b/src/main/java/org/olat/group/ui/main/MemberChangeConfirmationController.java
@@ -80,7 +80,7 @@ public class MemberChangeConfirmationController extends FormBasicController {
 		String[] values = new String[] {
 				translate("remove.send.mail")
 		};
-		mailEl = uifactory.addCheckboxesVertical("typ", "remove.send.mail.label", optionsCont, keys, values, null, 1);
+		mailEl = uifactory.addCheckboxesVertical("typ", "remove.send.mail.label", optionsCont, keys, values, 1);
 		mailEl.select(keys[0], true);
 		mailEl.setEnabled(!mandatoryEmail);
 		
diff --git a/src/main/java/org/olat/group/ui/main/MemberLeaveConfirmationController.java b/src/main/java/org/olat/group/ui/main/MemberLeaveConfirmationController.java
index 74929a2ad3c..3794f31585c 100644
--- a/src/main/java/org/olat/group/ui/main/MemberLeaveConfirmationController.java
+++ b/src/main/java/org/olat/group/ui/main/MemberLeaveConfirmationController.java
@@ -81,7 +81,7 @@ public class MemberLeaveConfirmationController extends FormBasicController {
 		String[] values = new String[] {
 				translate("remove.send.mail")
 		};
-		mailEl = uifactory.addCheckboxesVertical("typ", "remove.send.mail.label", optionsCont, keys, values, null, 1);
+		mailEl = uifactory.addCheckboxesVertical("typ", "remove.send.mail.label", optionsCont, keys, values, 1);
 		mailEl.select(keys[0], true);
 		mailEl.setEnabled(!mandatoryEmail);
 		
diff --git a/src/main/java/org/olat/group/ui/run/BusinessGroupSendToChooserForm.java b/src/main/java/org/olat/group/ui/run/BusinessGroupSendToChooserForm.java
index bbc8433a4b8..ea4499b005b 100644
--- a/src/main/java/org/olat/group/ui/run/BusinessGroupSendToChooserForm.java
+++ b/src/main/java/org/olat/group/ui/run/BusinessGroupSendToChooserForm.java
@@ -416,7 +416,7 @@ public class BusinessGroupSendToChooserForm extends FormBasicController {
 			radioButtonOwner.select(NLS_RADIO_ALL, true);
 			radioButtonOwner.addActionListener(FormEvent.ONCLICK);
 			if ( (keysOwner != null) && (valuesOwner != null) ) {
-				multiSelectionOwnerKeys = uifactory.addCheckboxesVertical("multiSelectionOwnerKeys", "", formLayout, keysOwner, valuesOwner, null, 1);
+				multiSelectionOwnerKeys = uifactory.addCheckboxesVertical("multiSelectionOwnerKeys", "", formLayout, keysOwner, valuesOwner, 1);
 			}
 		//}
 		
@@ -424,14 +424,14 @@ public class BusinessGroupSendToChooserForm extends FormBasicController {
 		radioButtonPartips.select(NLS_RADIO_ALL, true);
 		radioButtonPartips.addActionListener(FormEvent.ONCLICK);
 		if ( (keysPartips != null) && (valuesPartips != null) ) {
-			multiSelectionPartipKeys = uifactory.addCheckboxesVertical("multiSelectionPartipKeys", "", formLayout, keysPartips, valuesPartips, null, 1);
+			multiSelectionPartipKeys = uifactory.addCheckboxesVertical("multiSelectionPartipKeys", "", formLayout, keysPartips, valuesPartips, 1);
 		} 
 			
 		radioButtonWaitings = uifactory.addRadiosVertical("radioButtonWaiting", "sendtochooser.form.radio.waitings", formLayout, radioKeysWaitings, radioValuesWaitings);
 		radioButtonWaitings.select(NLS_RADIO_NOTHING, true);
 		radioButtonWaitings.addActionListener(FormEvent.ONCLICK);
 		if ( (keysWaitings != null) && (valuesWaitings != null) ) {
-			multiSelectionWaitingKeys = uifactory.addCheckboxesVertical("multiSelectionWaitingKeys", "", formLayout, keysWaitings, valuesWaitings, null, 1);
+			multiSelectionWaitingKeys = uifactory.addCheckboxesVertical("multiSelectionWaitingKeys", "", formLayout, keysWaitings, valuesWaitings, 1);
 		} 
 		
 		uifactory.addSpacerElement("space", formLayout, true);
diff --git a/src/main/java/org/olat/group/ui/wizard/BGConfigToolsStepController.java b/src/main/java/org/olat/group/ui/wizard/BGConfigToolsStepController.java
index 8c4de18744d..252557a8945 100644
--- a/src/main/java/org/olat/group/ui/wizard/BGConfigToolsStepController.java
+++ b/src/main/java/org/olat/group/ui/wizard/BGConfigToolsStepController.java
@@ -86,7 +86,7 @@ public class BGConfigToolsStepController extends StepFormBasicController {
 			String[] values = new String[]{ translate("collabtools.named." + k) };
 			
 			String i18n = first ? "config.tools.desc" : null;
-			MultipleSelectionElement selectEl = uifactory.addCheckboxesHorizontal(k, i18n, formLayout, keys, values, null);
+			MultipleSelectionElement selectEl = uifactory.addCheckboxesHorizontal(k, i18n, formLayout, keys, values);
 			selectEl.addActionListener(FormEvent.ONCHANGE);
 			toolList.add(selectEl);
 			
diff --git a/src/main/java/org/olat/group/ui/wizard/BGCopyPreparationStepController.java b/src/main/java/org/olat/group/ui/wizard/BGCopyPreparationStepController.java
index 79b83c858a7..3cbb8787e68 100644
--- a/src/main/java/org/olat/group/ui/wizard/BGCopyPreparationStepController.java
+++ b/src/main/java/org/olat/group/ui/wizard/BGCopyPreparationStepController.java
@@ -138,7 +138,7 @@ public class BGCopyPreparationStepController extends StepFormBasicController {
 
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
-		ce = uifactory.addCheckboxesVertical("toCopy", "bgcopywizard.copyform.label", formLayout, keys, values, null, 1);
+		ce = uifactory.addCheckboxesVertical("toCopy", "bgcopywizard.copyform.label", formLayout, keys, values, 1);
 		ce.select("Tools", true);
 		if(coursesEnabled) {
 			ce.select("Courses", true);
diff --git a/src/main/java/org/olat/group/ui/wizard/BGCopyWizardCopyForm.java b/src/main/java/org/olat/group/ui/wizard/BGCopyWizardCopyForm.java
index f24107b7597..4313d8bfa05 100644
--- a/src/main/java/org/olat/group/ui/wizard/BGCopyWizardCopyForm.java
+++ b/src/main/java/org/olat/group/ui/wizard/BGCopyWizardCopyForm.java
@@ -130,7 +130,7 @@ class BGCopyWizardCopyForm extends FormBasicController {
 
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
-		ce = uifactory.addCheckboxesVertical("toCopy", "bgcopywizard.copyform.label", formLayout, keys, values, null, 1);
+		ce = uifactory.addCheckboxesVertical("toCopy", "bgcopywizard.copyform.label", formLayout, keys, values, 1);
 		ce.select("Tools", true);
 		if(coursesEnabled) {
 			ce.select("Courses", true);
diff --git a/src/main/java/org/olat/group/ui/wizard/BGEmailSelectReceiversStepController.java b/src/main/java/org/olat/group/ui/wizard/BGEmailSelectReceiversStepController.java
index d6afea24bc8..a139fa757fa 100644
--- a/src/main/java/org/olat/group/ui/wizard/BGEmailSelectReceiversStepController.java
+++ b/src/main/java/org/olat/group/ui/wizard/BGEmailSelectReceiversStepController.java
@@ -53,7 +53,7 @@ public class BGEmailSelectReceiversStepController extends StepFormBasicControlle
 				translate("email.select.receiver.tutor"),
 				translate("email.select.receiver.participant")
 		};
-		receiversEl = uifactory.addCheckboxesVertical("select.receivers", "email.select.receivers", formLayout, receiverKeys, receiverValues, null, 1);
+		receiversEl = uifactory.addCheckboxesVertical("select.receivers", "email.select.receivers", formLayout, receiverKeys, receiverValues, 1);
 		receiversEl.select(receiverKeys[0], true);
 		receiversEl.select(receiverKeys[1], true);
 	}
diff --git a/src/main/java/org/olat/group/ui/wizard/BGMailTemplateController.java b/src/main/java/org/olat/group/ui/wizard/BGMailTemplateController.java
index cdfa22c7b38..f44b48d9a20 100644
--- a/src/main/java/org/olat/group/ui/wizard/BGMailTemplateController.java
+++ b/src/main/java/org/olat/group/ui/wizard/BGMailTemplateController.java
@@ -157,12 +157,12 @@ public class BGMailTemplateController extends FormBasicController {
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		if(!mandatoryEmail) {
-			sendMail = uifactory.addCheckboxesVertical("sendmail", "", formLayout, new String[]{"xx"}, new String[]{translate("mailtemplateform.sendMailSwitchElem")}, null, 1);
+			sendMail = uifactory.addCheckboxesVertical("sendmail", "", formLayout, new String[]{"xx"}, new String[]{translate("mailtemplateform.sendMailSwitchElem")}, 1);
 			sendMail.select("xx", true);
 			sendMail.addActionListener(FormEvent.ONCLICK);
 		}
 		
-		defaultTemplate = uifactory.addCheckboxesVertical("deftemplate", "", formLayout, new String[]{"xx"}, new String[]{translate("mailtemplateform.defaultTemplate")}, null, 1);
+		defaultTemplate = uifactory.addCheckboxesVertical("deftemplate", "", formLayout, new String[]{"xx"}, new String[]{translate("mailtemplateform.defaultTemplate")}, 1);
 		if(!customizingAvailable && StringHelper.containsNonWhitespace(template.getSubjectTemplate())) {
 			defaultTemplate.select("xx", true);
 		}
@@ -180,7 +180,7 @@ public class BGMailTemplateController extends FormBasicController {
 		}
 		
 		if(ccSenderAllowed) {
-			ccSender = uifactory.addCheckboxesVertical("tcpfrom", "", formLayout, new String[]{"xx"}, new String[]{translate(NLS_CONTACT_SEND_CP_FROM)}, null, 1);
+			ccSender = uifactory.addCheckboxesVertical("tcpfrom", "", formLayout, new String[]{"xx"}, new String[]{translate(NLS_CONTACT_SEND_CP_FROM)}, 1);
 		}
 		
 		if(useSubmit || useCancel) {
diff --git a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiFormAdvancedController.java b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiFormAdvancedController.java
index b95c336a937..84872f840dc 100644
--- a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiFormAdvancedController.java
+++ b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiFormAdvancedController.java
@@ -196,7 +196,7 @@ public class GuiDemoFlexiFormAdvancedController extends FormBasicController {
 		verticalRadioButtons.addActionListener(FormEvent.ONCLICK);
 
 		// checkboxes
-		uifactory.addCheckboxesVertical("checkboxes", "advanced_form.checkboxes", form, keys, options, null, 1);
+		uifactory.addCheckboxesVertical("checkboxes", "advanced_form.checkboxes", form, keys, options, 1);
 
 		// Translate the keys to the yes and no option values
 		final String[] yesOrNoOptions = new String[yesOrNoKeys.length];
diff --git a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiFormHideUnhide.java b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiFormHideUnhide.java
index 03fca9eaac3..000df14a040 100644
--- a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiFormHideUnhide.java
+++ b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiFormHideUnhide.java
@@ -124,7 +124,7 @@ public class GuiDemoFlexiFormHideUnhide extends FormBasicController{
 		/*
 		 * hide unhide chooser
 		 */		
-		checkbox = uifactory.addCheckboxesVertical("checkbox", "guidemo.flexi.form.show", formLayout, new String[] { "ison" }, new String[] { "" }, null, 1);
+		checkbox = uifactory.addCheckboxesVertical("checkbox", "guidemo.flexi.form.show", formLayout, new String[] { "ison" }, new String[] { "" }, 1);
 		checkbox.select("ison", true);
 		// register for on click event to hide/disable other elements
 		checkbox.addActionListener(FormEvent.ONCLICK);
diff --git a/src/main/java/org/olat/ims/cp/ui/CPFileImportController.java b/src/main/java/org/olat/ims/cp/ui/CPFileImportController.java
index 6713345a2f3..041325b9afe 100644
--- a/src/main/java/org/olat/ims/cp/ui/CPFileImportController.java
+++ b/src/main/java/org/olat/ims/cp/ui/CPFileImportController.java
@@ -127,7 +127,7 @@ public class CPFileImportController extends FormBasicController {
 		// checkboxes
 		String[] keys = { "htm", "pdf", "doc", "xls", "ppt", ALL };
 		String[] values = { "HTML", "PDF", "Word", "Excel", "PowerPoint", translate("cpfileuploadcontroller.form.all.types") };
-		checkboxes = uifactory.addCheckboxesVertical("checkboxes", "cpfileuploadcontroller.form.file.types", this.flc, keys, values, null, 1);
+		checkboxes = uifactory.addCheckboxesVertical("checkboxes", "cpfileuploadcontroller.form.file.types", this.flc, keys, values, 1);
 		checkboxes.setVisible(false);
 
 		// Submit and cancel buttons
diff --git a/src/main/java/org/olat/ims/qti/editor/ChangeMessageForm.java b/src/main/java/org/olat/ims/qti/editor/ChangeMessageForm.java
index 4d76a639ce4..d41d8160c8a 100644
--- a/src/main/java/org/olat/ims/qti/editor/ChangeMessageForm.java
+++ b/src/main/java/org/olat/ims/qti/editor/ChangeMessageForm.java
@@ -78,7 +78,7 @@ public class ChangeMessageForm extends FormBasicController {
 		setFormDescription("form.chngmsg.info");
 		
 		userMsg = uifactory.addTextAreaElement("userMsg", "form.chngmsg.usermsg", -1, 7, 80, true, "", formLayout);
-		chkbx = uifactory.addCheckboxesVertical("learnerYes", "form.chngmsg.informlearners", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		chkbx = uifactory.addCheckboxesVertical("learnerYes", "form.chngmsg.informlearners", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		
 		FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("buttonLayout", getTranslator());
 		formLayout.add(buttonLayout);
diff --git a/src/main/java/org/olat/ims/qti/export/DelimChooseForm.java b/src/main/java/org/olat/ims/qti/export/DelimChooseForm.java
index 1535ca08938..a7fbf1a8f2a 100644
--- a/src/main/java/org/olat/ims/qti/export/DelimChooseForm.java
+++ b/src/main/java/org/olat/ims/qti/export/DelimChooseForm.java
@@ -111,7 +111,7 @@ public class DelimChooseForm extends FormBasicController {
 		fileNameSuffixEl.setDisplaySize(5);
 		fileNameSuffixEl.setExampleKey("form.filenamesuffix.ex", null); 
 		
-		taglessMattext = uifactory.addCheckboxesVertical("taglessmattext", "form.taglessmattext", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		taglessMattext = uifactory.addCheckboxesVertical("taglessmattext", "form.taglessmattext", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		
 		uifactory.addFormSubmitButton("form.finished", formLayout);
 	}
diff --git a/src/main/java/org/olat/ims/qti/export/OptionsChooseForm.java b/src/main/java/org/olat/ims/qti/export/OptionsChooseForm.java
index b28342cfac5..e4c83ea3339 100644
--- a/src/main/java/org/olat/ims/qti/export/OptionsChooseForm.java
+++ b/src/main/java/org/olat/ims/qti/export/OptionsChooseForm.java
@@ -189,7 +189,7 @@ public class OptionsChooseForm extends FormBasicController {
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		
-		scq = uifactory.addCheckboxesVertical("scq", "form.scqtitle", formLayout, scqKeys, scqVals, null, 1);
+		scq = uifactory.addCheckboxesVertical("scq", "form.scqtitle", formLayout, scqKeys, scqVals, 1);
 		if(hasSCQ){
 			QTIExportItemFormatConfig c = (QTIExportItemFormatConfig) mapWithConfigs.get(QTIExportSCQItemFormatConfig.class);
 			scq.select(SCQ_ITEMCOLS, c.hasResponseCols());
@@ -200,7 +200,7 @@ public class OptionsChooseForm extends FormBasicController {
 			scq.setVisible(false);
 		}
 
-		mcq = uifactory.addCheckboxesVertical("mcq", "form.mcqtitle", formLayout, mcqKeys, mcqVals, null, 1);
+		mcq = uifactory.addCheckboxesVertical("mcq", "form.mcqtitle", formLayout, mcqKeys, mcqVals, 1);
 		if(hasMCQ){
 			QTIExportItemFormatConfig c = (QTIExportItemFormatConfig) mapWithConfigs.get(QTIExportMCQItemFormatConfig.class);
 			mcq.select(MCQ_ITEMCOLS, c.hasResponseCols());
@@ -211,7 +211,7 @@ public class OptionsChooseForm extends FormBasicController {
 			mcq.setVisible(false);
 		}
 		
-		kprim = uifactory.addCheckboxesVertical("kprim", "form.kprimtitle", formLayout, kprimKeys, kprimVals, null, 1);
+		kprim = uifactory.addCheckboxesVertical("kprim", "form.kprimtitle", formLayout, kprimKeys, kprimVals, 1);
 		if(hasKRIM){
 			QTIExportItemFormatConfig c = (QTIExportItemFormatConfig) mapWithConfigs.get(QTIExportKPRIMItemFormatConfig.class);
 			kprim.select(KPRIM_ITEMCOLS, c.hasResponseCols());
@@ -221,7 +221,7 @@ public class OptionsChooseForm extends FormBasicController {
 			kprim.setVisible(false);
 		}
 		
-		fib = uifactory.addCheckboxesVertical("fib", "form.fibtitle", formLayout, fibKeys, fibVals, null, 1);
+		fib = uifactory.addCheckboxesVertical("fib", "form.fibtitle", formLayout, fibKeys, fibVals, 1);
 		if(hasFIB){
 			QTIExportItemFormatConfig c = (QTIExportItemFormatConfig) mapWithConfigs.get(QTIExportFIBItemFormatConfig.class);
 			fib.select(FIB_ITEMCOLS, c.hasResponseCols());
@@ -231,7 +231,7 @@ public class OptionsChooseForm extends FormBasicController {
 			fib.setVisible(false);
 		}
 		
-		essay = uifactory.addCheckboxesVertical("essay", "form.essaytitle", formLayout, essayKeys, essayVals, null, 1);
+		essay = uifactory.addCheckboxesVertical("essay", "form.essaytitle", formLayout, essayKeys, essayVals, 1);
 		if(hasEssay){
 			QTIExportItemFormatConfig c = (QTIExportItemFormatConfig) mapWithConfigs.get(QTIExportEssayItemFormatConfig.class);
 			essay.select(FIB_ITEMCOLS, c.hasResponseCols());
diff --git a/src/main/java/org/olat/instantMessaging/ui/IMPreferenceController.java b/src/main/java/org/olat/instantMessaging/ui/IMPreferenceController.java
index 26a7c666a31..b6f894e0fd2 100644
--- a/src/main/java/org/olat/instantMessaging/ui/IMPreferenceController.java
+++ b/src/main/java/org/olat/instantMessaging/ui/IMPreferenceController.java
@@ -90,7 +90,7 @@ public class IMPreferenceController extends FormBasicController {
 		
 		ImPreferences imPrefs = imService.getImPreferences(changeableIdentity);
 		
-		toogleVisibility = uifactory.addCheckboxesVertical("online_list", "form.onlinelist", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		toogleVisibility = uifactory.addCheckboxesVertical("online_list", "form.onlinelist", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		toogleVisibility.select("xx", imPrefs.isVisibleToOthers());
 		toogleVisibility.addActionListener(FormEvent.ONCHANGE);
 		
diff --git a/src/main/java/org/olat/instantMessaging/ui/InstantMessagingAdminController.java b/src/main/java/org/olat/instantMessaging/ui/InstantMessagingAdminController.java
index 42b8e166aba..479a63a45ee 100644
--- a/src/main/java/org/olat/instantMessaging/ui/InstantMessagingAdminController.java
+++ b/src/main/java/org/olat/instantMessaging/ui/InstantMessagingAdminController.java
@@ -78,7 +78,7 @@ public class InstantMessagingAdminController extends FormBasicController {
 		formLayout.add(moduleFlc);
 	
 		String[] enabledValues = new String[]{ translate("enabled") };
-		imEnabledEl = uifactory.addCheckboxesHorizontal("im.module.enabled", moduleFlc, enabledKeys, enabledValues, null);
+		imEnabledEl = uifactory.addCheckboxesHorizontal("im.module.enabled", moduleFlc, enabledKeys, enabledValues);
 		imEnabledEl.select(enabledKeys[0], imModule.isEnabled());
 		imEnabledEl.addActionListener(FormEvent.ONCHANGE);
 		
@@ -86,44 +86,44 @@ public class InstantMessagingAdminController extends FormBasicController {
 		FormLayoutContainer chatOptionsFlc = FormLayoutContainer.createDefaultFormLayout("flc_chatOptions", getTranslator());
 		formLayout.add(chatOptionsFlc);
 
-		imEnableGroupEl = uifactory.addCheckboxesHorizontal("im.module.enabled.group", chatOptionsFlc, enabledKeys, enabledValues, null);
+		imEnableGroupEl = uifactory.addCheckboxesHorizontal("im.module.enabled.group", chatOptionsFlc, enabledKeys, enabledValues);
 		imEnableGroupEl.select(enabledKeys[0], imModule.isGroupEnabled());
 		imEnableGroupEl.addActionListener(FormEvent.ONCHANGE);
 
-		imEnableGroupAnonymEl = uifactory.addCheckboxesHorizontal("im.module.enabled.group.anonym", chatOptionsFlc, enabledKeys, enabledValues, null);
+		imEnableGroupAnonymEl = uifactory.addCheckboxesHorizontal("im.module.enabled.group.anonym", chatOptionsFlc, enabledKeys, enabledValues);
 		imEnableGroupAnonymEl.select(enabledKeys[0], imModule.isGroupAnonymEnabled());
 		imEnableGroupAnonymEl.addActionListener(FormEvent.ONCHANGE);
 
-		imEnableGroupAnonymDefaultEl = uifactory.addCheckboxesHorizontal("im.module.enabled.group.anonym.default", chatOptionsFlc, enabledKeys, enabledValues, null);
+		imEnableGroupAnonymDefaultEl = uifactory.addCheckboxesHorizontal("im.module.enabled.group.anonym.default", chatOptionsFlc, enabledKeys, enabledValues);
 		imEnableGroupAnonymDefaultEl.select(enabledKeys[0], imModule.isGroupAnonymDefaultEnabled());
 		imEnableGroupAnonymDefaultEl.addActionListener(FormEvent.ONCHANGE);
 
 		uifactory.addSpacerElement("spacer", chatOptionsFlc, true);
 		
-		imEnableCourseEl = uifactory.addCheckboxesHorizontal("im.module.enabled.course", chatOptionsFlc, enabledKeys, enabledValues, null);
+		imEnableCourseEl = uifactory.addCheckboxesHorizontal("im.module.enabled.course", chatOptionsFlc, enabledKeys, enabledValues);
 		imEnableCourseEl.select(enabledKeys[0], imModule.isCourseEnabled());
 		imEnableCourseEl.addActionListener(FormEvent.ONCHANGE);
 
-		imEnableCourseAnonymEl = uifactory.addCheckboxesHorizontal("im.module.enabled.course.anonym", chatOptionsFlc, enabledKeys, enabledValues, null);
+		imEnableCourseAnonymEl = uifactory.addCheckboxesHorizontal("im.module.enabled.course.anonym", chatOptionsFlc, enabledKeys, enabledValues);
 		imEnableCourseAnonymEl.select(enabledKeys[0], imModule.isCourseAnonymEnabled());
 		imEnableCourseAnonymEl.addActionListener(FormEvent.ONCHANGE);
 
-		imEnableCourseAnonymDefaultEl = uifactory.addCheckboxesHorizontal("im.module.enabled.course.anonym.default", chatOptionsFlc, enabledKeys, enabledValues, null);
+		imEnableCourseAnonymDefaultEl = uifactory.addCheckboxesHorizontal("im.module.enabled.course.anonym.default", chatOptionsFlc, enabledKeys, enabledValues);
 		imEnableCourseAnonymDefaultEl.select(enabledKeys[0], imModule.isCourseAnonymDefaultEnabled());
 		imEnableCourseAnonymDefaultEl.addActionListener(FormEvent.ONCHANGE);
 
 		FormLayoutContainer messageOptionsFlc = FormLayoutContainer.createDefaultFormLayout("flc_messageOptions", getTranslator());
 		formLayout.add(messageOptionsFlc);
 		
- 		imEnablePrivateEl = uifactory.addCheckboxesHorizontal("im.module.enabled.private", messageOptionsFlc, enabledKeys, enabledValues, null);
+ 		imEnablePrivateEl = uifactory.addCheckboxesHorizontal("im.module.enabled.private", messageOptionsFlc, enabledKeys, enabledValues);
 		imEnablePrivateEl.select(enabledKeys[0], imModule.isPrivateEnabled());
 		imEnablePrivateEl.addActionListener(FormEvent.ONCHANGE);
 		
-		imEnableGroupPeersEl = uifactory.addCheckboxesHorizontal("im.module.enabled.grouppeers", messageOptionsFlc, enabledKeys, enabledValues, null);
+		imEnableGroupPeersEl = uifactory.addCheckboxesHorizontal("im.module.enabled.grouppeers", messageOptionsFlc, enabledKeys, enabledValues);
 		imEnableGroupPeersEl.select(enabledKeys[0], imModule.isGroupPeersEnabled());
 		imEnableGroupPeersEl.addActionListener(FormEvent.ONCHANGE);
 		
-		imEnableOnlineStatusEl = uifactory.addCheckboxesHorizontal("im.module.enabled.onlineStatus", messageOptionsFlc, enabledKeys, enabledValues, null);
+		imEnableOnlineStatusEl = uifactory.addCheckboxesHorizontal("im.module.enabled.onlineStatus", messageOptionsFlc, enabledKeys, enabledValues);
 		imEnableOnlineStatusEl.select(enabledKeys[0], imModule.isOnlineStatusEnabled());
 		imEnableOnlineStatusEl.addActionListener(FormEvent.ONCHANGE);
 		
diff --git a/src/main/java/org/olat/modules/co/ContactForm.java b/src/main/java/org/olat/modules/co/ContactForm.java
index 717f06fe055..90016cae25e 100644
--- a/src/main/java/org/olat/modules/co/ContactForm.java
+++ b/src/main/java/org/olat/modules/co/ContactForm.java
@@ -399,7 +399,7 @@ public class ContactForm extends FormBasicController {
 		attachmentEl.setExampleKey(NLS_CONTACT_ATTACHMENT_EXPL, new String[]{Integer.toString(contactAttachmentMaxSizeInMb)});
 		
 
-		tcpfrom = uifactory.addCheckboxesVertical("tcpfrom", "", formLayout, new String[]{"xx"}, new String[]{translate(NLS_CONTACT_SEND_CP_FROM)}, null, 1);
+		tcpfrom = uifactory.addCheckboxesVertical("tcpfrom", "", formLayout, new String[]{"xx"}, new String[]{translate(NLS_CONTACT_SEND_CP_FROM)}, 1);
 		
 		FormLayoutContainer buttonGroupLayout = FormLayoutContainer.createButtonLayout("buttonGroupLayout", getTranslator());
 		formLayout.add(buttonGroupLayout);
diff --git a/src/main/java/org/olat/modules/coach/ui/CoachAdminController.java b/src/main/java/org/olat/modules/coach/ui/CoachAdminController.java
index f362f1ced64..5568ae0114a 100644
--- a/src/main/java/org/olat/modules/coach/ui/CoachAdminController.java
+++ b/src/main/java/org/olat/modules/coach/ui/CoachAdminController.java
@@ -57,7 +57,7 @@ public class CoachAdminController extends FormBasicController {
 			
 			boolean restEnabled = isEnabled();
 
-			enabled = uifactory.addCheckboxesHorizontal("coaching.enabled", formLayout, keys, values, null);
+			enabled = uifactory.addCheckboxesHorizontal("coaching.enabled", formLayout, keys, values);
 			enabled.select(keys[0], restEnabled);
 
 			final FormLayoutContainer buttonGroupLayout = FormLayoutContainer.createButtonLayout("buttonLayout", getTranslator());
diff --git a/src/main/java/org/olat/modules/cp/CPSelectPrintPagesController.java b/src/main/java/org/olat/modules/cp/CPSelectPrintPagesController.java
index 81d7faf7ecc..86809d48dd4 100644
--- a/src/main/java/org/olat/modules/cp/CPSelectPrintPagesController.java
+++ b/src/main/java/org/olat/modules/cp/CPSelectPrintPagesController.java
@@ -73,7 +73,7 @@ public class CPSelectPrintPagesController extends FormBasicController {
 	
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
-		setFormTitle("print.node.list.title");
+		//setFormTitle("print.node.list.title");
 		setFormDescription("print.node.list.desc");
 		
 		if(formLayout instanceof FormLayoutContainer) {
@@ -94,10 +94,9 @@ public class CPSelectPrintPagesController extends FormBasicController {
 	}
 	
 	private void initTreeRec(int level, TreeNode node, FormLayoutContainer layoutcont) {
-		String[] cssClass = new String[]{"b_tree_l" + level};
 		String[] singleKey = new String[]{node.getIdent()};
 		String[] singleValue = new String[]{node.getTitle()};
-		MultipleSelectionElement nodeSelection = uifactory.addCheckboxesVertical("print.node.list." + nodeSelections.size(), layoutcont, singleKey, singleValue, cssClass, 1);
+		MultipleSelectionElement nodeSelection = uifactory.addCheckboxesVertical("print.node.list." + nodeSelections.size(), layoutcont, singleKey, singleValue, 1);
 		nodeSelection.setLabel("print.node.list", null);
 		nodeSelection.setUserObject(new SelectNodeObject(node, level));
 		nodeSelection.addActionListener(FormEvent.ONCLICK);
diff --git a/src/main/java/org/olat/modules/fo/MessageEditController.java b/src/main/java/org/olat/modules/fo/MessageEditController.java
index f066f778a08..b56b77181d4 100644
--- a/src/main/java/org/olat/modules/fo/MessageEditController.java
+++ b/src/main/java/org/olat/modules/fo/MessageEditController.java
@@ -174,7 +174,7 @@ public class MessageEditController extends FormBasicController {
 
 		// show stickyCheckBox only if moderator and message is threadtop
 		stickyCheckBox = uifactory.addCheckboxesHorizontal("stickyCheckBox", null, formLayout, new String[] { STICKY_SET_IDENTIFIER },
-				new String[] { translate("msg.sticky") }, new String[] { "" });
+				new String[] { translate("msg.sticky") });
 		Status msgStatus = Status.getStatus(message.getStatusCode());
 		if (msgStatus.isSticky()) stickyCheckBox.select(STICKY_SET_IDENTIFIER, true);
 		if (!(forumCallback.mayEditMessageAsModerator() && message.getParent() == null)) {
diff --git a/src/main/java/org/olat/modules/glossary/GlossaryEditSettingsController.java b/src/main/java/org/olat/modules/glossary/GlossaryEditSettingsController.java
index 329b2442264..d54dbc0c1a0 100644
--- a/src/main/java/org/olat/modules/glossary/GlossaryEditSettingsController.java
+++ b/src/main/java/org/olat/modules/glossary/GlossaryEditSettingsController.java
@@ -66,7 +66,7 @@ public class GlossaryEditSettingsController extends FormBasicController {
 		String[] regKeys = {"true"};
 		String[] regValues = {""};
 		
-		editByUserEnabled = uifactory.addCheckboxesHorizontal("edit.onoff", formLayout, regKeys, regValues, null);
+		editByUserEnabled = uifactory.addCheckboxesHorizontal("edit.onoff", formLayout, regKeys, regValues);
 		editByUserEnabled.addActionListener(FormEvent.ONCLICK);
 		
 		Properties glossProps = GlossaryItemManager.getInstance().getGlossaryConfig(glossaryFolder);
diff --git a/src/main/java/org/olat/modules/glossary/GlossaryRegisterSettingsController.java b/src/main/java/org/olat/modules/glossary/GlossaryRegisterSettingsController.java
index 71fb76fbc07..9cc9e823745 100644
--- a/src/main/java/org/olat/modules/glossary/GlossaryRegisterSettingsController.java
+++ b/src/main/java/org/olat/modules/glossary/GlossaryRegisterSettingsController.java
@@ -94,9 +94,8 @@ public class GlossaryRegisterSettingsController extends FormBasicController {
 		setFormDescription("register.intro");
 		String[] regKeys = {"true"};
 		String[] regValues = {""};
-		String[] regCSS = new String[1];
 		
-		regOnOff = uifactory.addCheckboxesHorizontal("register.onoff", formLayout, regKeys, regValues, regCSS);
+		regOnOff = uifactory.addCheckboxesHorizontal("register.onoff", formLayout, regKeys, regValues);
 		regOnOff.addActionListener(FormEvent.ONCLICK);
 		
 		Properties glossProps = GlossaryItemManager.getInstance().getGlossaryConfig(glossaryFolder);
diff --git a/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsConfigurationController.java b/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsConfigurationController.java
index c93f752a7bc..7991ec3e17f 100644
--- a/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsConfigurationController.java
+++ b/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsConfigurationController.java
@@ -83,7 +83,7 @@ public class OpenMeetingsConfigurationController extends FormBasicController {
 			FormLayoutContainer moduleFlc = FormLayoutContainer.createDefaultFormLayout("flc_module", getTranslator());
 			layoutContainer.add(moduleFlc);
 		
-			moduleEnabled = uifactory.addCheckboxesHorizontal("openmeetings.module.enabled", moduleFlc, enabledKeys, enabledValues, null);
+			moduleEnabled = uifactory.addCheckboxesHorizontal("openmeetings.module.enabled", moduleFlc, enabledKeys, enabledValues);
 			moduleEnabled.select(enabledKeys[0], openMeetingsModule.isEnabled());
 			moduleEnabled.addActionListener(FormEvent.ONCHANGE);
 			
diff --git a/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRoomEditController.java b/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRoomEditController.java
index 378d4441cd7..93bdf3200ac 100644
--- a/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRoomEditController.java
+++ b/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRoomEditController.java
@@ -172,7 +172,7 @@ public class OpenMeetingsRoomEditController extends FormBasicController {
 		}
 
 		String[] recordingValues = new String[]{ translate("room.recording.enabled") };
-		recordingEl = uifactory.addCheckboxesHorizontal("recording", "room.recording", formLayout, recordingKeys, recordingValues, null);
+		recordingEl = uifactory.addCheckboxesHorizontal("recording", "room.recording", formLayout, recordingKeys, recordingValues);
 		if(room != null) {
 			recordingEl.select(recordingKeys[0], room.isRecordingAllowed());
 		} else if(defaultSettings != null) {
diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/PoolEditController.java b/src/main/java/org/olat/modules/qpool/ui/admin/PoolEditController.java
index 123dec7bdb5..9407f7c15a0 100644
--- a/src/main/java/org/olat/modules/qpool/ui/admin/PoolEditController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/admin/PoolEditController.java
@@ -70,7 +70,7 @@ public class PoolEditController extends FormBasicController {
 		
 		String[] keys = new String[]{"on"};
 		String[] values = new String[]{""};
-		publicEl = uifactory.addCheckboxesHorizontal("pool.public", formLayout, keys, values, null);
+		publicEl = uifactory.addCheckboxesHorizontal("pool.public", formLayout, keys, values);
 		boolean publicPool = pool == null ? false : pool.isPublicPool();
 		publicEl.select("on", publicPool);
 
diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/MetadataBulkChangeController.java b/src/main/java/org/olat/modules/qpool/ui/metadata/MetadataBulkChangeController.java
index 06111d72973..344068c923e 100644
--- a/src/main/java/org/olat/modules/qpool/ui/metadata/MetadataBulkChangeController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/metadata/MetadataBulkChangeController.java
@@ -281,7 +281,7 @@ public class MetadataBulkChangeController extends FormBasicController {
 	
 	private FormItem decorate(FormItem item, FormLayoutContainer formLayout) {
 		String itemName = item.getName();
-		MultipleSelectionElement checkbox = uifactory.addCheckboxesVertical("cbx_" + itemName, itemName, formLayout, new String[] { itemName }, EMPTY_VALUES, null, 1);
+		MultipleSelectionElement checkbox = uifactory.addCheckboxesVertical("cbx_" + itemName, itemName, formLayout, new String[] { itemName }, EMPTY_VALUES, 1);
 		checkbox.select(itemName, false);
 		checkbox.addActionListener(FormEvent.ONCLICK);
 		checkbox.setUserObject(item);
diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/RightsMetadataController.java b/src/main/java/org/olat/modules/qpool/ui/metadata/RightsMetadataController.java
index b1620934d1b..5719536b357 100644
--- a/src/main/java/org/olat/modules/qpool/ui/metadata/RightsMetadataController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/metadata/RightsMetadataController.java
@@ -93,7 +93,7 @@ public class RightsMetadataController extends FormBasicController  {
 		
 		String[] keys = new String[]{ "on" };
 		String[] values = new String[]{ "" };
-		copyrightEl = uifactory.addCheckboxesHorizontal("rights.copyright", "rights.copyright", metaCont, keys, values, null);
+		copyrightEl = uifactory.addCheckboxesHorizontal("rights.copyright", "rights.copyright", metaCont, keys, values);
 		copyrightEl.setEnabled(false);
 	
 		descriptionEl = uifactory.addStaticTextElement("rights.description", "", metaCont);
diff --git a/src/main/java/org/olat/modules/vitero/ui/ViteroAdminBookingRawInfosController.java b/src/main/java/org/olat/modules/vitero/ui/ViteroAdminBookingRawInfosController.java
index 4c4dcd6d651..e96c6b0c8b9 100644
--- a/src/main/java/org/olat/modules/vitero/ui/ViteroAdminBookingRawInfosController.java
+++ b/src/main/java/org/olat/modules/vitero/ui/ViteroAdminBookingRawInfosController.java
@@ -76,7 +76,7 @@ public class ViteroAdminBookingRawInfosController extends FormBasicController {
 		}
 		uifactory.addStaticTextElement("group.name", name, formLayout);
 
-		MultipleSelectionElement autoSignIn = uifactory.addCheckboxesHorizontal("booking.autoSignIn", formLayout, autoSignInKeys, autoSignInValues, null);
+		MultipleSelectionElement autoSignIn = uifactory.addCheckboxesHorizontal("booking.autoSignIn", formLayout, autoSignInKeys, autoSignInValues);
 		if(booking.isAutoSignIn()) {
 			autoSignIn.select(autoSignInKeys[0], true);
 		}
diff --git a/src/main/java/org/olat/modules/vitero/ui/ViteroBookingEditController.java b/src/main/java/org/olat/modules/vitero/ui/ViteroBookingEditController.java
index 0a1ae4b004d..c3d449f8415 100644
--- a/src/main/java/org/olat/modules/vitero/ui/ViteroBookingEditController.java
+++ b/src/main/java/org/olat/modules/vitero/ui/ViteroBookingEditController.java
@@ -148,7 +148,7 @@ public class ViteroBookingEditController extends FormBasicController {
 		}
 		roomSizeEl.setEnabled(editable);
 		
-		autoSignIn = uifactory.addCheckboxesHorizontal("booking.autoSignIn", formLayout, autoSignInKeys, autoSignInValues, null);
+		autoSignIn = uifactory.addCheckboxesHorizontal("booking.autoSignIn", formLayout, autoSignInKeys, autoSignInValues);
 		if(booking.isAutoSignIn()) {
 			autoSignIn.select(autoSignInKeys[0], true);
 		}
diff --git a/src/main/java/org/olat/modules/vitero/ui/ViteroConfigurationController.java b/src/main/java/org/olat/modules/vitero/ui/ViteroConfigurationController.java
index c345101348d..c85bed147a5 100644
--- a/src/main/java/org/olat/modules/vitero/ui/ViteroConfigurationController.java
+++ b/src/main/java/org/olat/modules/vitero/ui/ViteroConfigurationController.java
@@ -89,7 +89,7 @@ public class ViteroConfigurationController extends FormBasicController {
 			FormLayoutContainer moduleFlc = FormLayoutContainer.createDefaultFormLayout("flc_module", getTranslator());
 			layoutContainer.add(moduleFlc);
 		
-			viteroEnabled = uifactory.addCheckboxesHorizontal("vitero.module.enabled", moduleFlc, enabledKeys, enabledValues, null);
+			viteroEnabled = uifactory.addCheckboxesHorizontal("vitero.module.enabled", moduleFlc, enabledKeys, enabledValues);
 			viteroEnabled.select(enabledKeys[0], viteroModule.isEnabled());
 			viteroEnabled.addActionListener(FormEvent.ONCHANGE);
 			
diff --git a/src/main/java/org/olat/portfolio/ui/PortfolioAdminController.java b/src/main/java/org/olat/portfolio/ui/PortfolioAdminController.java
index 317a74dd5e4..b54fcd465a2 100644
--- a/src/main/java/org/olat/portfolio/ui/PortfolioAdminController.java
+++ b/src/main/java/org/olat/portfolio/ui/PortfolioAdminController.java
@@ -80,7 +80,7 @@ public class PortfolioAdminController extends FormBasicController  {
 			FormLayoutContainer moduleFlc = FormLayoutContainer.createDefaultFormLayout("flc_module", getTranslator());
 			layoutContainer.add(moduleFlc);
 		
-			portfolioEnabled = uifactory.addCheckboxesHorizontal("portfolio.module.enabled", moduleFlc, enabledKeys, enabledValues, null);
+			portfolioEnabled = uifactory.addCheckboxesHorizontal("portfolio.module.enabled", moduleFlc, enabledKeys, enabledValues);
 			portfolioEnabled.select(enabledKeys[0], portfolioModule.isEnabled());
 			portfolioEnabled.addActionListener(FormEvent.ONCHANGE);
 			
@@ -93,7 +93,7 @@ public class PortfolioAdminController extends FormBasicController  {
 				Translator handlerTrans = handler.getHandlerTranslator(getTranslator());
 				handlersFlc.setTranslator(handlerTrans);
 				String handlerClass = PortfolioFilterController.HANDLER_PREFIX + handler.getClass().getSimpleName() + PortfolioFilterController.HANDLER_TITLE_SUFFIX;
-				MultipleSelectionElement handlerEnabled = uifactory.addCheckboxesHorizontal(handlerClass, handlersFlc, enabledKeys, enabledValues, null);
+				MultipleSelectionElement handlerEnabled = uifactory.addCheckboxesHorizontal(handlerClass, handlersFlc, enabledKeys, enabledValues);
 				handlerEnabled.select(enabledKeys[0], handler.isEnabled());
 				handlerEnabled.setUserObject(handler);
 				handlerEnabled.addActionListener(FormEvent.ONCHANGE);
@@ -103,11 +103,11 @@ public class PortfolioAdminController extends FormBasicController  {
 			// configure steps in artefact collection wizard
 			FormLayoutContainer wizardFlc = FormLayoutContainer.createDefaultFormLayout("flc_wizard", getTranslator());
 			layoutContainer.add(wizardFlc);	
-			copyrightStepCB = uifactory.addCheckboxesHorizontal("wizard.step.copyright", wizardFlc, enabledKeys, enabledValues, null);
+			copyrightStepCB = uifactory.addCheckboxesHorizontal("wizard.step.copyright", wizardFlc, enabledKeys, enabledValues);
 			copyrightStepCB.select(enabledKeys[0], portfolioModule.isCopyrightStepEnabled());
 			copyrightStepCB.addActionListener(FormEvent.ONCHANGE);
 			
-			reflexionStepCB = uifactory.addCheckboxesHorizontal("wizard.step.reflexion", wizardFlc, enabledKeys, enabledValues, null);
+			reflexionStepCB = uifactory.addCheckboxesHorizontal("wizard.step.reflexion", wizardFlc, enabledKeys, enabledValues);
 			reflexionStepCB.select(enabledKeys[0], portfolioModule.isReflexionStepEnabled());
 			reflexionStepCB.addActionListener(FormEvent.ONCHANGE);
 			
diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStepForm02.java b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStepForm02.java
index 8e598e87a46..f09158b16b3 100644
--- a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStepForm02.java
+++ b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStepForm02.java
@@ -63,7 +63,7 @@ public class EPCollectStepForm02 extends StepFormBasicController {
 
 		String[] theKeys = new String[] { Boolean.TRUE.toString() };
 		String[] theValues = new String[] { translate("copyright.yes") };
-		crCheck = uifactory.addCheckboxesHorizontal("copyright.label", null, formLayout, theKeys, theValues, null);
+		crCheck = uifactory.addCheckboxesHorizontal("copyright.label", null, formLayout, theKeys, theValues);
 		if (getFromRunContext("copyright.accepted") != null && (Boolean) getFromRunContext("copyright.accepted")) {
 			crCheck.select(Boolean.TRUE.toString(), true);
 		}
diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/view/EPArtefactAttributeSettingController.java b/src/main/java/org/olat/portfolio/ui/artefacts/view/EPArtefactAttributeSettingController.java
index 660c0b5b8be..b70ef7070b6 100644
--- a/src/main/java/org/olat/portfolio/ui/artefacts/view/EPArtefactAttributeSettingController.java
+++ b/src/main/java/org/olat/portfolio/ui/artefacts/view/EPArtefactAttributeSettingController.java
@@ -68,7 +68,7 @@ public class EPArtefactAttributeSettingController extends FormBasicController {
 			Entry<String, Boolean> entry = iterator.next();
 			String attKey = entry.getKey();
 			Boolean attVal = artAttribConfig.get(attKey);			
-			MultipleSelectionElement chkBox = uifactory.addCheckboxesHorizontal(attKey, formLayout, keys, values, null);
+			MultipleSelectionElement chkBox = uifactory.addCheckboxesHorizontal(attKey, formLayout, keys, values);
 			chkBox.addActionListener(FormEvent.ONCHANGE );
 			if (attVal == null) attVal = entry.getValue(); // either use users settings or the defaults
 			chkBox.select(keys[0], attVal);
diff --git a/src/main/java/org/olat/portfolio/ui/filter/EPArtefactTagSelectionController.java b/src/main/java/org/olat/portfolio/ui/filter/EPArtefactTagSelectionController.java
index b25096fbbdc..cdc3f67dc34 100644
--- a/src/main/java/org/olat/portfolio/ui/filter/EPArtefactTagSelectionController.java
+++ b/src/main/java/org/olat/portfolio/ui/filter/EPArtefactTagSelectionController.java
@@ -80,7 +80,7 @@ public class EPArtefactTagSelectionController extends FormBasicController {
 			values[i] = tag; 
 			i++;
 		}
-		chkBox = (MultipleSelectionElementImpl) uifactory.addCheckboxesVertical("tag", null, formLayout, keys, values, null, 2);
+		chkBox = (MultipleSelectionElementImpl) uifactory.addCheckboxesVertical("tag", null, formLayout, keys, values, 2);
 		
 		if (selectedTagsList != null) {
 			String[] selectedKeys = selectedTagsList.toArray(new String[0]);
diff --git a/src/main/java/org/olat/portfolio/ui/filter/EPArtefactTypeSelectionController.java b/src/main/java/org/olat/portfolio/ui/filter/EPArtefactTypeSelectionController.java
index 61934ea4339..c0f8c9e2588 100644
--- a/src/main/java/org/olat/portfolio/ui/filter/EPArtefactTypeSelectionController.java
+++ b/src/main/java/org/olat/portfolio/ui/filter/EPArtefactTypeSelectionController.java
@@ -77,7 +77,7 @@ public class EPArtefactTypeSelectionController extends FormBasicController {
 			Translator handlerTrans = handler.getHandlerTranslator(getTranslator());
 			this.flc.setTranslator(handlerTrans);
 			String handlerClass = PortfolioFilterController.HANDLER_PREFIX + handler.getClass().getSimpleName() + PortfolioFilterController.HANDLER_TITLE_SUFFIX;
-			MultipleSelectionElement chkBox = uifactory.addCheckboxesHorizontal(handlerClass, formLayout, keys, values, null);
+			MultipleSelectionElement chkBox = uifactory.addCheckboxesHorizontal(handlerClass, formLayout, keys, values);
 			if (selectedTypeList != null && selectedTypeList.contains(handler.getType())) {
 				chkBox.select(keys[0], true);
 			}
diff --git a/src/main/java/org/olat/registration/DisclaimerFormController.java b/src/main/java/org/olat/registration/DisclaimerFormController.java
index c8e406a1429..2ef4b832e03 100644
--- a/src/main/java/org/olat/registration/DisclaimerFormController.java
+++ b/src/main/java/org/olat/registration/DisclaimerFormController.java
@@ -81,7 +81,7 @@ public class DisclaimerFormController extends FormBasicController {
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		// Add the "accept" checkbox to the form.
-		acceptCheckbox = uifactory.addCheckboxesVertical(ACKNOWLEDGE_CHECKBOX_NAME, null, formLayout, new String[] {DCL_CHECKBOX_KEY}, new String[] {translate(NLS_DISCLAIMER_ACKNOWLEDGED)}, null, 1);
+		acceptCheckbox = uifactory.addCheckboxesVertical(ACKNOWLEDGE_CHECKBOX_NAME, null, formLayout, new String[] {DCL_CHECKBOX_KEY}, new String[] {translate(NLS_DISCLAIMER_ACKNOWLEDGED)}, 1);
 		acceptCheckbox.setEscapeHtml(false);
 		acceptCheckbox.setMandatory(false);
 		acceptCheckbox.select(DCL_CHECKBOX_KEY, readOnly);
@@ -90,7 +90,7 @@ public class DisclaimerFormController extends FormBasicController {
 		if(CoreSpringFactory.getImpl(RegistrationModule.class).isDisclaimerAdditionalCheckbox()) {
 			String additionalCheckboxText = translate("disclaimer.additionalcheckbox");
 			if (additionalCheckboxText != null) {
-				additionalCheckbox = uifactory.addCheckboxesVertical(ADDITIONAL_CHECKBOX_NAME, null, formLayout, new String[] {DCL_CHECKBOX_KEY2}, new String[] {additionalCheckboxText}, null, 1);
+				additionalCheckbox = uifactory.addCheckboxesVertical(ADDITIONAL_CHECKBOX_NAME, null, formLayout, new String[] {DCL_CHECKBOX_KEY2}, new String[] {additionalCheckboxText}, 1);
 				additionalCheckbox.setEscapeHtml(false);
 				additionalCheckbox.select(DCL_CHECKBOX_KEY2, readOnly);
 			}
diff --git a/src/main/java/org/olat/registration/RegistrationAdminController.java b/src/main/java/org/olat/registration/RegistrationAdminController.java
index 5ea143e4aaa..c5c0b2873b6 100644
--- a/src/main/java/org/olat/registration/RegistrationAdminController.java
+++ b/src/main/java/org/olat/registration/RegistrationAdminController.java
@@ -110,15 +110,15 @@ public class RegistrationAdminController extends FormBasicController {
 		settingsContainer.setFormTitle(translate("admin.registration.title"));
 		formLayout.add(settingsContainer);
 		
-		registrationElement = uifactory.addCheckboxesHorizontal("enable.self.registration", "admin.enableRegistration", settingsContainer, enableRegistrationKeys, enableRegistrationValues, null);
+		registrationElement = uifactory.addCheckboxesHorizontal("enable.self.registration", "admin.enableRegistration", settingsContainer, enableRegistrationKeys, enableRegistrationValues);
 		registrationElement.addActionListener(FormEvent.ONCHANGE);
 		registrationElement.select("on", registrationModule.isSelfRegistrationEnabled());
 		
-		registrationLoginElement = uifactory.addCheckboxesHorizontal("enable.registration.login", "admin.enableRegistrationLogin", settingsContainer, enableRegistrationKeys, enableRegistrationValues, null);
+		registrationLoginElement = uifactory.addCheckboxesHorizontal("enable.registration.login", "admin.enableRegistrationLogin", settingsContainer, enableRegistrationKeys, enableRegistrationValues);
 		registrationLoginElement.addActionListener(FormEvent.ONCHANGE);
 		registrationLoginElement.select("on", registrationModule.isSelfRegistrationLoginEnabled());
 
-		registrationLinkElement = uifactory.addCheckboxesHorizontal("enable.registration.link", "admin.enableRegistrationLink", settingsContainer, enableRegistrationKeys, enableRegistrationValues, null);
+		registrationLinkElement = uifactory.addCheckboxesHorizontal("enable.registration.link", "admin.enableRegistrationLink", settingsContainer, enableRegistrationKeys, enableRegistrationValues);
 		registrationLinkElement.addActionListener(FormEvent.ONCHANGE);
 		registrationLinkElement.select("on", registrationModule.isSelfRegistrationLinkEnabled());
 		
@@ -143,7 +143,7 @@ public class RegistrationAdminController extends FormBasicController {
 		
 		uifactory.addStaticTextElement("admin.registration.staticprop.error", null, translate("admin.registration.staticprop.desc"), staticPropContainer);
 		
-		staticPropElement = uifactory.addCheckboxesHorizontal("enable.staticprop", "admin.enableStaticProp", staticPropContainer, enableRegistrationKeys, enableRegistrationValues, null);
+		staticPropElement = uifactory.addCheckboxesHorizontal("enable.staticprop", "admin.enableStaticProp", staticPropContainer, enableRegistrationKeys, enableRegistrationValues);
 		staticPropElement.addActionListener(FormEvent.ONCHANGE);
 		staticPropElement.select("on", registrationModule.isStaticPropertyMappingEnabled());
 
diff --git a/src/main/java/org/olat/repository/controllers/SearchForm.java b/src/main/java/org/olat/repository/controllers/SearchForm.java
index 1eade49a472..9e4a5216e74 100644
--- a/src/main/java/org/olat/repository/controllers/SearchForm.java
+++ b/src/main/java/org/olat/repository/controllers/SearchForm.java
@@ -81,7 +81,7 @@ import org.olat.repository.RepositoryService;
  * to a special type
  * 
  */
-public class SearchForm extends FormBasicController{
+public class SearchForm extends FormBasicController {
 
 	private TextElement id; // only for admins
 	private TextElement displayName;
@@ -277,13 +277,13 @@ public class SearchForm extends FormBasicController{
 		externalRef.setElementCssClass("o_sel_repo_search_external_ref");
 		externalRef.setVisible(managedEnabled);
 
-		typesSelection = uifactory.addCheckboxesVertical("search.limit.type", formLayout, new String[]{"xx"}, new String[]{""}, new String[]{null}, 1);
+		typesSelection = uifactory.addCheckboxesVertical("search.limit.type", formLayout, new String[]{"xx"}, new String[]{""}, 1);
 		typesSelection.addActionListener(FormEvent.ONCLICK);
 		typesSelection.setElementCssClass("o_sel_repo_search_type_limit");
 		
 		String[] typeKeys = getResources().toArray(new String[0]);
-		String[] typeCssClasess = getCssResources(getResources());
-		types = uifactory.addCheckboxesVertical("cif_types", "cif.type", formLayout, typeKeys, getTranslatedResources(getResources()), typeCssClasess, 1);
+		String[] iconCSS = getCssResources(getResources());
+		types = uifactory.addCheckboxesVertical("cif_types", "cif.type", formLayout, typeKeys, getTranslatedResources(getResources()), null, iconCSS, 1);
 		types.setElementCssClass("o_sel_repo_search_types");
 		
 		FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("button_layout", getTranslator());
@@ -314,8 +314,12 @@ public class SearchForm extends FormBasicController{
 	private String[] getCssResources(List<String> resources) {
 		String[] cssClasses= new String[resources.size()];
 		int count = 0;
-		for(String key: resources){
-			cssClasses[count++] = "o_sel_repo_search_" + key.toLowerCase().replace(".", "_");
+		for(String key: resources) {
+			StringBuilder sb = new StringBuilder();
+			sb.append("o_icon o_icon-fw o_").append(key.replace(".", "-"))
+			  .append("_icon o_sel_repo_search_")
+			  .append(key.toLowerCase().replace(".", "_"));
+			cssClasses[count++] = sb.toString();
 		}
 		return cssClasses;
 	}
diff --git a/src/main/java/org/olat/repository/controllers/WizardCloseCourseController.java b/src/main/java/org/olat/repository/controllers/WizardCloseCourseController.java
index 8f160b1313a..425b6552f61 100644
--- a/src/main/java/org/olat/repository/controllers/WizardCloseCourseController.java
+++ b/src/main/java/org/olat/repository/controllers/WizardCloseCourseController.java
@@ -333,7 +333,7 @@ class CloseRessourceOptionForm extends FormBasicController {
 		
 		String[] keys = new String[] {"form.clean.catalog", "form.clean.groups"};
 		String[] values = new String[] {translator.translate("form.clean.catalog"), translator.translate("form.clean.groups")};
-		checkboxClean = uifactory.addCheckboxesVertical("form.clean.catalog", null, formLayout, keys, values, null, 1);
+		checkboxClean = uifactory.addCheckboxesVertical("form.clean.catalog", null, formLayout, keys, values, 1);
 		
 		submit = new FormSubmit("next", "next");
 		back = new FormReset("back", "back");
diff --git a/src/main/java/org/olat/repository/ui/admin/CatalogAdminController.java b/src/main/java/org/olat/repository/ui/admin/CatalogAdminController.java
index 43cfa2e06cf..4dd50d66c75 100644
--- a/src/main/java/org/olat/repository/ui/admin/CatalogAdminController.java
+++ b/src/main/java/org/olat/repository/ui/admin/CatalogAdminController.java
@@ -68,16 +68,16 @@ public class CatalogAdminController extends FormBasicController {
 		formLayout.add("functions", serverCont);
 
 		boolean enabled = repositoryModule.isCatalogEnabled();
-		enableEl = uifactory.addCheckboxesHorizontal("catalog.enable", "catalog.enable", serverCont, new String[]{"xx"}, new String[]{""}, null);
+		enableEl = uifactory.addCheckboxesHorizontal("catalog.enable", "catalog.enable", serverCont, new String[]{"xx"}, new String[]{""});
 		enableEl.select("xx", enabled);
 		enableEl.addActionListener(FormEvent.ONCLICK);
 		
-		enableBrowsingEl = uifactory.addCheckboxesHorizontal("catalog.browsing", "catalog.browsing", serverCont, new String[]{"xx"}, new String[]{""}, null);
+		enableBrowsingEl = uifactory.addCheckboxesHorizontal("catalog.browsing", "catalog.browsing", serverCont, new String[]{"xx"}, new String[]{""});
 		enableBrowsingEl.select("xx", repositoryModule.isCatalogBrowsingEnabled());
 		enableBrowsingEl.setEnabled(enabled);
 		enableBrowsingEl.addActionListener(FormEvent.ONCLICK);
 
-		siteEl = uifactory.addCheckboxesHorizontal("catalog.site", "catalog.site", serverCont, new String[]{"xx"}, new String[]{""}, null);
+		siteEl = uifactory.addCheckboxesHorizontal("catalog.site", "catalog.site", serverCont, new String[]{"xx"}, new String[]{""});
 		siteEl.select("xx", repositoryModule.isCatalogSiteEnabled());
 		siteEl.setEnabled(enabled);
 		siteEl.addActionListener(FormEvent.ONCLICK);
diff --git a/src/main/java/org/olat/repository/ui/author/AuthorListController.java b/src/main/java/org/olat/repository/ui/author/AuthorListController.java
index 85abc6dbb4b..9d54e8e47df 100644
--- a/src/main/java/org/olat/repository/ui/author/AuthorListController.java
+++ b/src/main/java/org/olat/repository/ui/author/AuthorListController.java
@@ -80,6 +80,7 @@ import org.olat.repository.handlers.RepositoryHandler;
 import org.olat.repository.handlers.RepositoryHandlerFactory;
 import org.olat.repository.model.SearchAuthorRepositoryEntryViewParams;
 import org.olat.repository.model.TransientRepositoryEntryRef;
+import org.olat.repository.ui.RepositoyUIFactory;
 import org.olat.repository.ui.author.AuthoringEntryDataModel.Cols;
 import org.olat.repository.ui.list.RepositoryEntryRow;
 import org.olat.util.logging.activity.LoggingResourceable;
@@ -160,6 +161,7 @@ public class AuthorListController extends FormBasicController implements Activat
 
 	private void addCreateLink(RepositoryHandler handler, Dropdown dropdown) {
 		Link createLink = LinkFactory.createLink(handler.getSupportedType(), getTranslator(), this);
+		createLink.setIconLeftCSS("o_icon o_icon-fw " + RepositoyUIFactory.getIconCssClass(handler.getSupportedType()));
 		createLink.setUserObject(handler);
 		dropdown.addComponent(createLink);
 	}
diff --git a/src/main/java/org/olat/repository/ui/author/ImportRepositoryEntryController.java b/src/main/java/org/olat/repository/ui/author/ImportRepositoryEntryController.java
index cc6a5f4becb..87d7d5f6da2 100644
--- a/src/main/java/org/olat/repository/ui/author/ImportRepositoryEntryController.java
+++ b/src/main/java/org/olat/repository/ui/author/ImportRepositoryEntryController.java
@@ -97,7 +97,7 @@ public class ImportRepositoryEntryController extends FormBasicController {
 		displaynameEl.setVisible(false);
 		
 		String[] refValues = new String[]{ "" };
-		referencesEl = uifactory.addCheckboxesHorizontal("references", "references", formLayout, refKeys, refValues, null);
+		referencesEl = uifactory.addCheckboxesHorizontal("references", "references", formLayout, refKeys, refValues);
 		referencesEl.setVisible(false);
 		
 		FormLayoutContainer buttonContainer = FormLayoutContainer.createButtonLayout("buttonContainer", getTranslator());
diff --git a/src/main/java/org/olat/repository/ui/author/PropPupForm.java b/src/main/java/org/olat/repository/ui/author/PropPupForm.java
index 513063cb947..6b4831410bf 100644
--- a/src/main/java/org/olat/repository/ui/author/PropPupForm.java
+++ b/src/main/java/org/olat/repository/ui/author/PropPupForm.java
@@ -189,15 +189,15 @@ public class PropPupForm extends FormBasicController {
 			flc.contextPut("off_warn", warning);
 		}
 		
-		canCopy = uifactory.addCheckboxesVertical("cif_canCopy", "cif.canCopy", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		canCopy = uifactory.addCheckboxesVertical("cif_canCopy", "cif.canCopy", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		canCopy.select("xx", entry.getCanCopy());
 		canCopy.setEnabled(!managedSettings);
 		
-		canReference = uifactory.addCheckboxesVertical("cif_canReference", "cif.canReference", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		canReference = uifactory.addCheckboxesVertical("cif_canReference", "cif.canReference", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		canReference.select("xx", entry.getCanReference());
 		canReference.setEnabled(!managedSettings);
 
-		canDownload = uifactory.addCheckboxesVertical("cif_canDownload", "cif.canDownload", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
+		canDownload = uifactory.addCheckboxesVertical("cif_canDownload", "cif.canDownload", formLayout, new String[]{"xx"}, new String[]{null}, 1);
 		canDownload.select("xx", entry.getCanDownload());
 		canDownload.setVisible(handler != null && handler.supportsDownload(this.entry));
 			
diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/paypal/ui/PaypalAccessConfigurationController.java b/src/main/java/org/olat/resource/accesscontrol/provider/paypal/ui/PaypalAccessConfigurationController.java
index f28677586fb..3bea03e9094 100644
--- a/src/main/java/org/olat/resource/accesscontrol/provider/paypal/ui/PaypalAccessConfigurationController.java
+++ b/src/main/java/org/olat/resource/accesscontrol/provider/paypal/ui/PaypalAccessConfigurationController.java
@@ -120,7 +120,7 @@ public class PaypalAccessConfigurationController extends AbstractConfigurationMe
 			currencyEl.select("CHF", true);
 		}
 		
-		vatEnabledEl = uifactory.addCheckboxesHorizontal("vat.enabled", "vat.enabled", formLayout, vatKeys, vatValues, null);
+		vatEnabledEl = uifactory.addCheckboxesHorizontal("vat.enabled", "vat.enabled", formLayout, vatKeys, vatValues);
 		if(acModule.isVatEnabled()) {
 			vatEnabledEl.select(vatKeys[0], true);
 		}
diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/paypal/ui/PaypalMasterAccountController.java b/src/main/java/org/olat/resource/accesscontrol/provider/paypal/ui/PaypalMasterAccountController.java
index fc5a055a537..b7dc2d60f97 100644
--- a/src/main/java/org/olat/resource/accesscontrol/provider/paypal/ui/PaypalMasterAccountController.java
+++ b/src/main/java/org/olat/resource/accesscontrol/provider/paypal/ui/PaypalMasterAccountController.java
@@ -133,7 +133,7 @@ public class PaypalMasterAccountController extends FormBasicController {
 				currencyEl.select("", true);
 			}
 			
-			vatEnabledEl = uifactory.addCheckboxesHorizontal("vat.enabled", "vat.enabled", formLayout, vatKeys, vatValues, null);
+			vatEnabledEl = uifactory.addCheckboxesHorizontal("vat.enabled", "vat.enabled", formLayout, vatKeys, vatValues);
 			vatEnabledEl.addActionListener(FormEvent.ONCHANGE);
 			if(acModule.isVatEnabled()) {
 				vatEnabledEl.select(vatKeys[0], true);
diff --git a/src/main/java/org/olat/resource/accesscontrol/ui/AccessControlAdminController.java b/src/main/java/org/olat/resource/accesscontrol/ui/AccessControlAdminController.java
index 110d09a6889..bc268d4c139 100644
--- a/src/main/java/org/olat/resource/accesscontrol/ui/AccessControlAdminController.java
+++ b/src/main/java/org/olat/resource/accesscontrol/ui/AccessControlAdminController.java
@@ -86,12 +86,12 @@ public class AccessControlAdminController extends FormBasicController {
 		setFormTitle("admin.title");
 		setFormDescription("admin.desc");
 
-		enabled = uifactory.addCheckboxesHorizontal("ac.enabled", formLayout, keys, values, null);
+		enabled = uifactory.addCheckboxesHorizontal("ac.enabled", formLayout, keys, values);
 		enabled.select(keys[0], acModule.isEnabled());
 		
 		uifactory.addSpacerElement("spaceman", formLayout, false);
 		
-		methods = uifactory.addCheckboxesVertical("ac.methods", formLayout, methodKeys, methodValues, null, 1);
+		methods = uifactory.addCheckboxesVertical("ac.methods", formLayout, methodKeys, methodValues, 1);
 		methods.select("free.method", acModule.isFreeEnabled());
 		methods.select("token.method", acModule.isTokenEnabled());
 		methods.select("paypal.method", acModule.isPaypalEnabled());
@@ -100,7 +100,7 @@ public class AccessControlAdminController extends FormBasicController {
 		
 		uifactory.addSpacerElement("itgirl", formLayout, false);
 		
-		homeEnabled = uifactory.addCheckboxesHorizontal("ac.home.enabled", formLayout, keys, values, null);
+		homeEnabled = uifactory.addCheckboxesHorizontal("ac.home.enabled", formLayout, keys, values);
 		homeEnabled.select(keys[0], acModule.isPaypalEnabled() || acModule.isHomeOverviewEnabled());
 		
 		final FormLayoutContainer buttonGroupLayout = FormLayoutContainer.createButtonLayout("buttonLayout", getTranslator());
diff --git a/src/main/java/org/olat/search/ui/AdvancedSearchInputController.java b/src/main/java/org/olat/search/ui/AdvancedSearchInputController.java
index d40f17f9895..3368df1cdb8 100644
--- a/src/main/java/org/olat/search/ui/AdvancedSearchInputController.java
+++ b/src/main/java/org/olat/search/ui/AdvancedSearchInputController.java
@@ -131,7 +131,7 @@ public class AdvancedSearchInputController extends FormBasicController {
 			documentTypeKeys[j] = documentType.getKey();
 			documentTypeValues[j++] = documentType.getValue();
 		}
-		documentTypeQuery = uifactory.addCheckboxesHorizontal("doc_type", "form.search.label.documenttype", formLayout, documentTypeKeys, documentTypeValues, null);
+		documentTypeQuery = uifactory.addCheckboxesHorizontal("doc_type", "form.search.label.documenttype", formLayout, documentTypeKeys, documentTypeValues);
 		
 		//metadatas
 		SearchMetadataFieldsProvider metadataProvider = (SearchMetadataFieldsProvider) CoreSpringFactory.getBean("SearchMetadataFieldsProvider");
diff --git a/src/main/java/org/olat/user/ChangePrefsController.java b/src/main/java/org/olat/user/ChangePrefsController.java
index b015cf5f712..8ab4028f660 100644
--- a/src/main/java/org/olat/user/ChangePrefsController.java
+++ b/src/main/java/org/olat/user/ChangePrefsController.java
@@ -268,7 +268,7 @@ class SpecialPrefsForm extends FormBasicController {
 		setFormTitle("title.prefs.special");
 		setFormContextHelp(this.getClass().getPackage().getName(), "home-prefs-special.html", "help.hover.home.prefs.special");
 		
-		prefsElement = uifactory.addCheckboxesVertical("prefs", "title.prefs.accessibility", formLayout, keys, values, null, 1);
+		prefsElement = uifactory.addCheckboxesVertical("prefs", "title.prefs.accessibility", formLayout, keys, values, 1);
 		prefsElement.setElementCssClass("o_sel_home_settings_accessibility");
 
 		if(historyModule.isResumeEnabled()) {
@@ -368,7 +368,7 @@ class UserPrefsResetForm extends FormBasicController {
 		keys = new String[]{"guiprefs", "sysprefs", "resume"};
 		values = new String[] {translate("reset.elements.guiprefs"), translate("reset.elements.sysprefs"), translate("reset.elements.resume")};
 		
-		resetElements = uifactory.addCheckboxesVertical("prefs", "reset.elements", formLayout, keys, values, null, 1);
+		resetElements = uifactory.addCheckboxesVertical("prefs", "reset.elements", formLayout, keys, values, 1);
 		resetElements.setElementCssClass("o_sel_home_settings_reset_sysprefs");
 		
 		final FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("button_layout", getTranslator());
diff --git a/src/main/java/org/olat/user/ToolsPrefsController.java b/src/main/java/org/olat/user/ToolsPrefsController.java
index eacba213aeb..07958a80f09 100644
--- a/src/main/java/org/olat/user/ToolsPrefsController.java
+++ b/src/main/java/org/olat/user/ToolsPrefsController.java
@@ -110,7 +110,7 @@ public class ToolsPrefsController extends FormBasicController {
 			toolKeys = new String[0];
 			toolValues = new String[0];
 		}
-		presetEl = uifactory.addCheckboxesVertical("usertools.set", "usertools.set", formLayout, toolKeys, toolValues, null, 1);
+		presetEl = uifactory.addCheckboxesVertical("usertools.set", "usertools.set", formLayout, toolKeys, toolValues, 1);
 		presetEl.addActionListener(FormEvent.ONCHANGE);
 		presetEl.setEnabled(enabled);
 		
diff --git a/src/main/webapp/static/themes/light/modules/_courseeditor.scss b/src/main/webapp/static/themes/light/modules/_courseeditor.scss
index 7acfad33800..c523501455f 100644
--- a/src/main/webapp/static/themes/light/modules/_courseeditor.scss
+++ b/src/main/webapp/static/themes/light/modules/_courseeditor.scss
@@ -10,4 +10,29 @@
 
 #o_course_editor_errorbox ul, #o_course_editor_warningbox ul {
 	list-style-type: none;
-}
\ No newline at end of file
+}
+
+#o_course_editor_choose_nodetype ul, {
+	padding: 0;
+	list-style-type: none;
+}
+
+/* SELECTION TREE  (when you insert a BuildingBlock into a course) */
+div.b_selectiontree { 
+	font-size: 95%; 
+	div.b_selectiontree_item { 
+		clear: both; position: relative; top: 0; left: 0; vertical-align:middle; height: 16px; width: auto;
+		div { width:16px; height: 16px; float: left; display: inline; background-repeat: no-repeat; }    
+		div.b_selectiontree_content { float: left; display: inline; margin-left: 0.5em; width: auto; white-space: nowrap; }     
+	}
+	div.b_selectiontree_content { 
+		width: auto;
+		div { width: auto;}
+		input { width: 1em; height: 1em; padding: 0; margin: 0 0.5em; vertical-align: middle;}
+		input.b_radio { margin: 0;}
+	}
+	.b_selectiontree_line {background-image: url(../openolat/images/tree/dots.gif); }
+   	.b_selectiontree_space {background-image: url(../openolat/images/tree/dots_spacer.gif); }
+   	.b_selectiontree_junction {background-image: url(../openolat/images/tree/dots_nt.gif); }
+   	.b_selectiontree_end {background-image: url(../openolat/images/tree/dots_nl.gif); }
+}
diff --git a/src/main/webapp/static/themes/light/modules/_icons.scss b/src/main/webapp/static/themes/light/modules/_icons.scss
index 66e5afad318..fc3818ad11e 100644
--- a/src/main/webapp/static/themes/light/modules/_icons.scss
+++ b/src/main/webapp/static/themes/light/modules/_icons.scss
@@ -150,6 +150,18 @@ a.o_icon {
 .o_FileResource-SURVEY_icon{ @extend .o_icon-meh-o; }
 .o_FileResource-TEST_icon{ @extend .o_icon-pencil-square-o; }
 .o_FileResource-WIKI_icon{ @extend .o_icon-globe; }
+.o_FileResource-SHAREDFOLDER_icon { @extend .o_icon-folder-open-o; }
+.o_FileResource-GLOSSARY_icon { @extend .o_icon-graduation-cap; }
+.o_FileResource-PDF_icon { @extend .o_icon-file-pdf-o; }
+.o_FileResource-XLS_icon { @extend .o_icon-file-excel-o; }
+.o_FileResource-PPT_icon { @extend .o_icon-file-powerpoint-o; }
+.o_FileResource-DOC_icon { @extend .o_icon-file-word-o; }
+.o_FileResource-ANIM_icon { @extend .o_icon-file-video-o; }
+.o_FileResource-IMAGE_icon { @extend .o_icon-file-image-o; }
+.o_FileResource-SOUND_icon { @extend .o_icon-file-audio-o; }
+.o_FileResource-MOVIE_icon { @extend .o_icon-file-video-o; }
+.o_FileResource-FILE_icon { @extend .o_icon-file-o; }
+
 
 /* notification icons */
 .o_forum_message_icon {@extend .o_icon-comment-o; }
diff --git a/src/main/webapp/static/themes/light/theme.css b/src/main/webapp/static/themes/light/theme.css
index 3c0d395b57a..bf7ded22f0f 100644
--- a/src/main/webapp/static/themes/light/theme.css
+++ b/src/main/webapp/static/themes/light/theme.css
@@ -42,11 +42,11 @@ 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,.alert .o_cal .fc-header-title h2,.o_cal .fc-header-title .alert h2{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_cal_toptoolbar .media>.o_cal_toptoolbar_sub,.o_cal_toptoolbar .media>.o_cal_toptoolbar_help,.o_feed .o_blog_posts .o_ratings_and_comments .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,.media>.o_noti,.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,.panel-collapse>.table,.panel-collapse>.table-responsive>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child,.panel-collapse>.table:first-child,.panel-collapse>.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,.panel-collapse>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel-collapse>.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,.panel-collapse>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel-collapse>.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,.panel-collapse>.table:last-child,.panel-collapse>.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,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel-collapse>.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,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel-collapse>.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,.panel-collapse>.panel-body+.table,.panel-collapse>.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,.panel-collapse>.table>tbody:first-child>tr:first-child th,.panel-collapse>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered,.panel-collapse>.table-bordered,.panel-collapse>.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,.panel-collapse>.table-bordered>thead>tr>th:first-child,.panel-collapse>.table-bordered>thead>tr>td:first-child,.panel-collapse>.table-bordered>tbody>tr>th:first-child,.panel-collapse>.table-bordered>tbody>tr>td:first-child,.panel-collapse>.table-bordered>tfoot>tr>th:first-child,.panel-collapse>.table-bordered>tfoot>tr>td:first-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel-collapse>.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,.panel-collapse>.table-bordered>thead>tr>th:last-child,.panel-collapse>.table-bordered>thead>tr>td:last-child,.panel-collapse>.table-bordered>tbody>tr>th:last-child,.panel-collapse>.table-bordered>tbody>tr>td:last-child,.panel-collapse>.table-bordered>tfoot>tr>th:last-child,.panel-collapse>.table-bordered>tfoot>tr>td:last-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel-collapse>.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,.panel-collapse>.table-bordered>thead>tr:first-child>td,.panel-collapse>.table-bordered>thead>tr:first-child>th,.panel-collapse>.table-bordered>tbody>tr:first-child>td,.panel-collapse>.table-bordered>tbody>tr:first-child>th,.panel-collapse>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel-collapse>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel-collapse>.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,.panel-collapse>.table-bordered>tbody>tr:last-child>td,.panel-collapse>.table-bordered>tbody>tr:last-child>th,.panel-collapse>.table-bordered>tfoot>tr:last-child>td,.panel-collapse>.table-bordered>tfoot>tr:last-child>th,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive,.panel-collapse>.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,.modal.fade .o_alert_info .alert,.o_alert_info .modal.fade .alert{-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,.modal.in .o_alert_info .alert,.o_alert_info .modal.in .alert{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.modal-dialog,.o_alert_info .alert{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,.o_alert_info .alert{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_noti,.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_cal_toptoolbar .o_cal_toptoolbar_sub,.o_cal_toptoolbar .o_cal_toptoolbar_help,.o_feed .o_blog_posts .o_ratings_and_comments .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}body div.tooltip-inner{max-width:400px}body div.popover{max-width:450px}body .modal-body.alert{border-radius:0}body .progress{margin-bottom:0}.panel-body:nth-child(n+2){border-top:1px solid #ddd}/*!
  *  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_noti,.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_cal_toptoolbar .o_cal_toptoolbar_sub,.o_cal_toptoolbar .o_cal_toptoolbar_help,.o_feed .o_blog_posts .o_ratings_and_comments .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_cal_toptoolbar .o_icon.o_cal_toptoolbar_sub,.o_cal_toptoolbar .o_icon.o_cal_toptoolbar_help,.o_feed .o_blog_posts .o_ratings_and_comments .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_icon.o_noti,.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_icon_mail: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,.o_icon_user:before{content:"\f007"}.o_icon-film:before,.o_icon_video: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_edit_metadata: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,.o_icon_home:before{content:"\f015"}.o_icon-file-o:before,.o_filetype_file:before,.o_filetype_ico: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_attempt_limit:before,.o_icon_refresh:before{content:"\f021"}.o_icon-list-alt:before{content:"\f022"}.o_icon-lock:before,.o_icon_locked: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,.o_icon_audio: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,.o_icon_bold:before{content:"\f032"}.o_icon-italic:before,.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,.o_mi_qtiessay: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_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_mi_qtimc: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,.o_icon_close_resource: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,.o_icon_back: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_icon_info:before,.o_icon_news: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_new:before,.o_icon_mandatory:before{content:"\f069"}.o_icon-exclamation-circle:before,.o_icon_error: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,.o_icon_warn:before{content:"\f071"}.o_icon-plane:before{content:"\f072"}.o_icon-calendar:before,.o_icon_calendar:before,.o_icon_lifecycle:before,.o_calendar_icon: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,.o_icon_new_folder:before{content:"\f07b"}.o_icon-folder-open:before{content:"\f07c"}.o_icon-arrows-v:before{content:"\f07d"}.o_icon-arrows-h:before,.o_icon_spacer: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_icon_password:before,.o_ac_token_icon:before{content:"\f084"}.o_icon-gears:before,.o_icon_actions: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_icon_external_link: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,.o_icon_notification:before,.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,.o_icon_previous:before{content:"\f0a8"}.o_icon-arrow-circle-right:before,.o_icon_next: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_group: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,.o_icon_list_num: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,.o_icon_close_togglebox:before,.o_togglebox_wrapper .o_opener.o_in i: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,.o_icon_open_togglebox:before,.o_togglebox_wrapper .o_opener i: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,.o_icon_post:before,.o_forum_message_icon: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_filetype_odf:before,.o_filetype_rtf:before,.o_filetype_readme:before,.o_filetype_README:before,.o_filetype_log:before,.o_filetype_txt:before,.o_filetype_htm:before,.o_filetype_html: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_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,.o_icon_previous_page:before{content:"\f100"}.o_icon-angle-double-right:before,.o_icon_move_right:before,.o_icon_next_page: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,.o_icon_toggle:before,.o_black_led:before,.o_green_led:before,.o_yellow_led:before,.o_red_led: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,.o_filetype_folder:before{content:"\f114"}.o_icon-folder-open-o:before,.o_filetype_folder_open: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,.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{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_icon_eportfolio_add: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,.o_mi_qtifib: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,.o_mi_qtikprim: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_booking: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,.o_icon_new_document: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,.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,.o_mi_qtisc: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,.o_icon_math:before{content:"\f198"}.o_icon-envelope-square:before,.o_icon_mailto: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_institution:before,.o_icon-university:before{content:"\f19c"}.o_icon-mortar-board:before,.o_icon-graduation-cap:before{content:"\f19d"}.o_icon-yahoo:before,.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,.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,.o_filetype_ps:before,.o_filetype_pdf:before{content:"\f1c1"}.o_icon-file-word-o:before,.o_filetype_pages:before,.o_filetype_doc:before,.o_filetype_docx:before{content:"\f1c2"}.o_icon-file-excel-o:before,.o_filetype_xls:before,.o_filetype_xlsx:before{content:"\f1c3"}.o_icon-file-powerpoint-o:before,.o_filetype_key:before,.o_filetype_odp:before,.o_filetype_ppt:before,.o_filetype_pptx:before{content:"\f1c4"}.o_icon-file-photo-o:before,.o_icon-file-picture-o:before,.o_icon-file-image-o:before,.o_filetype_png:before,.o_filetype_tiff:before,.o_filetype_webp:before,.o_filetype_gif:before,.o_filetype_ico:before,.o_filetype_jpeg:before,.o_filetype_bmp:before,.o_filetype_odg:before,.o_filetype_eps:before,.o_filetype_jpg:before{content:"\f1c5"}.o_icon-file-zip-o:before,.o_icon-file-archive-o:before,.o_filetype_zip:before,.o_filetype_gz:before,.o_filetype_tar:before,.o_filetype_tgz:before{content:"\f1c6"}.o_icon-file-sound-o:before,.o_icon-file-audio-o:before,.o_filetype_midi:before,.o_filetype_audio:before,.o_filetype_mp3:before,.o_filetype_m3u:before,.o_filetype_wav:before{content:"\f1c7"}.o_icon-file-movie-o:before,.o_icon-file-video-o:before,.o_filetype_psd:before,.o_filetype_avi:before,.o_filetype_dvi:before,.o_filetype_mp4:before,.o_filetype_m4v:before,.o_filetype_webm:before,.o_filetype_ogg:before,.o_filetype_video:before,.o_filetype_mov:before,.o_filetype_mpeg:before,.o_filetype_mpg:before,.o_filetype_qt:before,.o_filetype_ra:before,.o_filetype_ram:before,.o_filetype_swf:before,.o_filetype_flv:before{content:"\f1c8"}.o_icon-file-code-o:before,.o_filetype_css:before,.o_filetype_js:before,.o_filetype_java:before,.o_filetype_numbers:before,.o_filetype_ods:before,.o_filetype_xml:before,.o_filetype_xsl:before,.o_filetype_bat_icon:before,.o_filetype_bat:before,.o_filetype_exe:before,.o_filetype_app:before,.o_filetype_sh: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,.o_icon_version:before{content:"\f1da"}.o_icon-circle-thin:before,.o_icon_courseareas:before{content:"\f1db"}.o_icon-header:before,.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,.o_icon_timelimit:before{content:"\f1e2"}.o_icon_bookmark{color:#996633}.o_icon_bookmark_add{color:#999999}.o_icon_delete{color:#A87E7E}.o_icon_error{color:#d9534f}.o_icon_help{cursor:help}.o_icon_info{color:#5bc0de}.o_icon_new{color:#5cb85c}.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_icon_warn{color:#f0ad4e}.o_black_led{color:#428bca}.o_green_led{color:#5cb85c}.o_yellow_led{color:#f0ad4e}.o_red_led{color:#d9534f}.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_button_toggle:hover,.o_noti .o_label: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_button_toggle:focus,.o_noti .o_label: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_bottom,.o_block,.o_block_with_datecomp .o_content,.o_course_run .o_toc .o_entry{margin-bottom:1em}.o_block_top,.o_block,.o_block_with_datecomp .o_content,.o_course_run .o_toc .o_entry{margin-top:1em}.o_block_large_bottom,.o_block_large,.o_button_group,.o_block_with_datecomp{margin-bottom:2em}.o_block_large_top,.o_block_large,.o_button_group,.o_block_with_datecomp{margin-top:2em}.o_scrollblock{overflow-x:auto;overflow-y:hidden}.o_copy_code{overflow-x:auto;overflow-y:auto;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;white-space:nowrap;border-radius:4px}.o_button_group{text-align:center}.o_button_group a,.o_button_group input,.o_button_group button{margin-right:1em}.o_button_group a:last-child,.o_button_group input:last-child,.o_button_group button:last-child{margin-right:0}.o_nowrap{white-space:nowrap}.o_titled_wrapper .o_content{margin-top:20px}.o_portrait img{background-color:#eee;background-position:50% 50%;background-repeat:no-repeat}.o_portrait img.o_small{width:30px;height:30px}.o_portrait img.o_large{width:100px;height:100px}.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_course_run .o_statusinfo,.o_course_stats .o_desc,.o_important,.o_bc_empty,.o_course_run .o_no_scoreinfo,.o_success,.o_warning,.o_form .o_warning,.o_error,.o_form .o_info,.o_togglebox_wrapper div.o_togglebox_content,div.o_qti_item_itemfeedback{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_course_run .o_statusinfo h2,.o_course_stats .o_desc h2,.o_important h2,.o_bc_empty h2,.o_course_run .o_no_scoreinfo h2,.o_success h2,.o_warning h2,.o_form .o_warning h2,.o_error h2,.o_form .o_info h2,.o_togglebox_wrapper div.o_togglebox_content h2,div.o_qti_item_itemfeedback h2,.o_info h3,.o_note h3,.o_form .o_desc h3,.o_course_run .o_statusinfo h3,.o_course_stats .o_desc h3,.o_important h3,.o_bc_empty h3,.o_course_run .o_no_scoreinfo h3,.o_success h3,.o_warning h3,.o_form .o_warning h3,.o_error h3,.o_form .o_info h3,.o_togglebox_wrapper div.o_togglebox_content h3,div.o_qti_item_itemfeedback h3,.o_info h4,.o_note h4,.o_form .o_desc h4,.o_course_run .o_statusinfo h4,.o_course_stats .o_desc h4,.o_important h4,.o_bc_empty h4,.o_course_run .o_no_scoreinfo h4,.o_success h4,.o_warning h4,.o_form .o_warning h4,.o_error h4,.o_form .o_info h4,.o_togglebox_wrapper div.o_togglebox_content h4,div.o_qti_item_itemfeedback h4,.o_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_info h2,.o_note .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_note h2,.o_form .o_desc .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_desc h2,.o_course_run .o_statusinfo .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_run .o_statusinfo h2,.o_course_stats .o_desc .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_stats .o_desc h2,.o_important .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_important h2,.o_bc_empty .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_bc_empty h2,.o_course_run .o_no_scoreinfo .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_run .o_no_scoreinfo h2,.o_success .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_success h2,.o_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_warning h2,.o_error .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_error h2,.o_togglebox_wrapper div.o_togglebox_content .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_togglebox_wrapper div.o_togglebox_content h2,div.o_qti_item_itemfeedback .o_cal .fc-header-title h2,.o_cal .fc-header-title div.o_qti_item_itemfeedback h2,.o_info h5,.o_note h5,.o_form .o_desc h5,.o_course_run .o_statusinfo h5,.o_course_stats .o_desc h5,.o_important h5,.o_bc_empty h5,.o_course_run .o_no_scoreinfo h5,.o_success h5,.o_warning h5,.o_form .o_warning h5,.o_error h5,.o_form .o_info h5,.o_togglebox_wrapper div.o_togglebox_content h5,div.o_qti_item_itemfeedback h5{color:#bbbbbb}p.o_info,p.o_note,.o_form p.o_desc,.o_course_run p.o_statusinfo,.o_course_stats p.o_desc,p.o_important,p.o_bc_empty,.o_course_run p.o_no_scoreinfo,p.o_success,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,.o_course_run div.o_statusinfo,.o_course_stats div.o_desc,div.o_important,div.o_bc_empty,.o_course_run div.o_no_scoreinfo,div.o_success,div.o_warning,.o_form div.o_warning,div.o_error,.o_form div.o_info,.o_togglebox_wrapper div.o_togglebox_content,div.o_qti_item_itemfeedback{margin:20px 0}.o_note,.o_form .o_desc,.o_course_run .o_statusinfo,.o_course_stats .o_desc{background-color:#f4f8fa;border-color:#5bc0de}.o_note h2,.o_form .o_desc h2,.o_course_run .o_statusinfo h2,.o_course_stats .o_desc h2,.o_note h3,.o_form .o_desc h3,.o_course_run .o_statusinfo h3,.o_course_stats .o_desc h3,.o_note h4,.o_form .o_desc h4,.o_course_run .o_statusinfo h4,.o_course_stats .o_desc h4,.o_note .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_note h2,.o_form .o_desc .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_desc h2,.o_course_run .o_statusinfo .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_run .o_statusinfo h2,.o_course_stats .o_desc .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_stats .o_desc h2,.o_note h5,.o_form .o_desc h5,.o_course_run .o_statusinfo h5,.o_course_stats .o_desc h5{color:#5bc0de}p.o_note,.o_form p.o_desc,.o_course_run p.o_statusinfo,.o_course_stats p.o_desc,div.o_note,.o_form div.o_desc,.o_course_run div.o_statusinfo,.o_course_stats div.o_desc{margin:20px 0}.o_important,.o_bc_empty,.o_course_run .o_no_scoreinfo{background-color:#FFF1A4;border-color:#F4D000}.o_important h2,.o_bc_empty h2,.o_course_run .o_no_scoreinfo h2,.o_important h3,.o_bc_empty h3,.o_course_run .o_no_scoreinfo h3,.o_important h4,.o_bc_empty h4,.o_course_run .o_no_scoreinfo h4,.o_important .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_important h2,.o_bc_empty .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_bc_empty h2,.o_course_run .o_no_scoreinfo .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_run .o_no_scoreinfo h2,.o_important h5,.o_bc_empty h5,.o_course_run .o_no_scoreinfo h5{color:#F4D000}p.o_important,p.o_bc_empty,.o_course_run p.o_no_scoreinfo,div.o_important,div.o_bc_empty,.o_course_run div.o_no_scoreinfo{margin:20px 0}.o_success{background-color:#d6e9c6;border-color:#3c763d}.o_success h2,.o_success h3,.o_success h4,.o_success .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_success h2,.o_success h5{color:#3c763d}o.o_success,div.o_success{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 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_warning h2,.o_warning h5,.o_form .o_warning h5{color:#FF9E3E}o.o_warning,.o_form o.o_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 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_error h2,.o_error h5{color:#d9534f}o.o_error,div.o_error{margin:20px 0}.o_border_box{border:1px solid #999;padding:1em;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}p.o_border_box,div.o_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 .o_navbar_tabs li a{padding-right:30px}.o_navbar .o_navbar_tabs .o_navbar_tab_close{position:absolute;top:15px;right:0.5em;padding:0;width:1em;height:1em}.o_navbar .o_navbar_tabs .o_navbar_tab_close i:before{color:#A87E7E}.o_navbar .o_navbar_tabs .o_navbar_tab_close:hover i:before{color:#CC0000}.o_navbar #o_navbar_tools #o_navbar_langchooser{color:#777;padding:15px}.o_navbar #o_navbar_tools #o_navbar_langchooser form span+div{display:inline}.o_navbar #o_navbar_tools #o_navbar_help a i{margin-right:0.4em}.o_navbar #o_navbar_tools #o_navbar_my_menu .dropdown-toggle{padding-left:45px}.o_navbar #o_navbar_tools #o_navbar_my_menu img{position:absolute;left:7px;top:10px;height:30px;width:30px}.o_navbar.o_navbar-offcanvas .o_navbar_tab_close{top:10px}.o_navbar.o_navbar-offcanvas .o_navbar_personalTool{display:none}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu a,.o_navbar.o_navbar-offcanvas #o_navbar_search_opener a{color:#999}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu a:hover,.o_navbar.o_navbar-offcanvas #o_navbar_my_menu a:focus,.o_navbar.o_navbar-offcanvas #o_navbar_search_opener a:hover,.o_navbar.o_navbar-offcanvas #o_navbar_search_opener a:focus{color:#fff;background-color:transparent}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu .dropdown-toggle,.o_navbar.o_navbar-offcanvas #o_navbar_search_opener .dropdown-toggle{display:none}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu .dropdown-menu,.o_navbar.o_navbar-offcanvas #o_navbar_search_opener .dropdown-menu{box-shadow:none;position:relative;top:0;left:0;display:block;float:none;background-color:#222;color:#999;font-size:14px}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu .dropdown-menu .divider,.o_navbar.o_navbar-offcanvas #o_navbar_search_opener .dropdown-menu .divider{background:none}.o_navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.o_navbar:before,.o_navbar:after{content:" ";display:table}.o_navbar:after{clear:both}.o_navbar-collapse{max-height:340px;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_noti,.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_cal_toptoolbar .o_cal_toptoolbar_sub,.o_cal_toptoolbar .o_cal_toptoolbar_help,.o_feed .o_blog_posts .o_ratings_and_comments .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_cal_toptoolbar .o_icon.o_cal_toptoolbar_sub,.o_cal_toptoolbar .o_icon.o_cal_toptoolbar_help,.o_feed .o_blog_posts .o_ratings_and_comments .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_icon.o_noti,.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_icon_mail: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,.o_icon_user:before{content:"\f007"}.o_icon-film:before,.o_icon_video: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_edit_metadata: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,.o_icon_home:before{content:"\f015"}.o_icon-file-o:before,.o_FileResource-FILE_icon:before,.o_filetype_file:before,.o_filetype_ico: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_attempt_limit:before,.o_icon_refresh:before{content:"\f021"}.o_icon-list-alt:before{content:"\f022"}.o_icon-lock:before,.o_icon_locked: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,.o_icon_audio: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,.o_icon_bold:before{content:"\f032"}.o_icon-italic:before,.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,.o_mi_qtiessay: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_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_mi_qtimc: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,.o_icon_close_resource: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,.o_icon_back: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_icon_info:before,.o_icon_news: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_new:before,.o_icon_mandatory:before{content:"\f069"}.o_icon-exclamation-circle:before,.o_icon_error: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,.o_icon_warn:before{content:"\f071"}.o_icon-plane:before{content:"\f072"}.o_icon-calendar:before,.o_icon_calendar:before,.o_icon_lifecycle:before,.o_calendar_icon: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,.o_icon_new_folder:before{content:"\f07b"}.o_icon-folder-open:before{content:"\f07c"}.o_icon-arrows-v:before{content:"\f07d"}.o_icon-arrows-h:before,.o_icon_spacer: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_icon_password:before,.o_ac_token_icon:before{content:"\f084"}.o_icon-gears:before,.o_icon_actions: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_icon_external_link: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,.o_icon_notification:before,.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,.o_icon_previous:before{content:"\f0a8"}.o_icon-arrow-circle-right:before,.o_icon_next: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_group: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,.o_icon_list_num: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,.o_icon_close_togglebox:before,.o_togglebox_wrapper .o_opener.o_in i: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,.o_icon_open_togglebox:before,.o_togglebox_wrapper .o_opener i: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,.o_icon_post:before,.o_forum_message_icon: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_filetype_odf:before,.o_filetype_rtf:before,.o_filetype_readme:before,.o_filetype_README:before,.o_filetype_log:before,.o_filetype_txt:before,.o_filetype_htm:before,.o_filetype_html: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_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,.o_icon_previous_page:before{content:"\f100"}.o_icon-angle-double-right:before,.o_icon_move_right:before,.o_icon_next_page: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,.o_icon_toggle:before,.o_black_led:before,.o_green_led:before,.o_yellow_led:before,.o_red_led: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,.o_filetype_folder:before{content:"\f114"}.o_icon-folder-open-o:before,.o_FileResource-SHAREDFOLDER_icon:before,.o_filetype_folder_open: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,.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{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_icon_eportfolio_add: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,.o_mi_qtifib: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,.o_mi_qtikprim: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_booking: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,.o_icon_new_document: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,.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,.o_mi_qtisc: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,.o_icon_math:before{content:"\f198"}.o_icon-envelope-square:before,.o_icon_mailto: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_institution:before,.o_icon-university:before{content:"\f19c"}.o_icon-mortar-board:before,.o_icon-graduation-cap:before,.o_FileResource-GLOSSARY_icon:before{content:"\f19d"}.o_icon-yahoo:before,.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,.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,.o_FileResource-PDF_icon:before,.o_filetype_ps:before,.o_filetype_pdf:before{content:"\f1c1"}.o_icon-file-word-o:before,.o_FileResource-DOC_icon:before,.o_filetype_pages:before,.o_filetype_doc:before,.o_filetype_docx:before{content:"\f1c2"}.o_icon-file-excel-o:before,.o_FileResource-XLS_icon:before,.o_filetype_xls:before,.o_filetype_xlsx:before{content:"\f1c3"}.o_icon-file-powerpoint-o:before,.o_FileResource-PPT_icon:before,.o_filetype_key:before,.o_filetype_odp:before,.o_filetype_ppt:before,.o_filetype_pptx:before{content:"\f1c4"}.o_icon-file-photo-o:before,.o_icon-file-picture-o:before,.o_icon-file-image-o:before,.o_FileResource-IMAGE_icon:before,.o_filetype_png:before,.o_filetype_tiff:before,.o_filetype_webp:before,.o_filetype_gif:before,.o_filetype_ico:before,.o_filetype_jpeg:before,.o_filetype_bmp:before,.o_filetype_odg:before,.o_filetype_eps:before,.o_filetype_jpg:before{content:"\f1c5"}.o_icon-file-zip-o:before,.o_icon-file-archive-o:before,.o_filetype_zip:before,.o_filetype_gz:before,.o_filetype_tar:before,.o_filetype_tgz:before{content:"\f1c6"}.o_icon-file-sound-o:before,.o_icon-file-audio-o:before,.o_FileResource-SOUND_icon:before,.o_filetype_midi:before,.o_filetype_audio:before,.o_filetype_mp3:before,.o_filetype_m3u:before,.o_filetype_wav:before{content:"\f1c7"}.o_icon-file-movie-o:before,.o_icon-file-video-o:before,.o_FileResource-ANIM_icon:before,.o_FileResource-MOVIE_icon:before,.o_filetype_psd:before,.o_filetype_avi:before,.o_filetype_dvi:before,.o_filetype_mp4:before,.o_filetype_m4v:before,.o_filetype_webm:before,.o_filetype_ogg:before,.o_filetype_video:before,.o_filetype_mov:before,.o_filetype_mpeg:before,.o_filetype_mpg:before,.o_filetype_qt:before,.o_filetype_ra:before,.o_filetype_ram:before,.o_filetype_swf:before,.o_filetype_flv:before{content:"\f1c8"}.o_icon-file-code-o:before,.o_filetype_css:before,.o_filetype_js:before,.o_filetype_java:before,.o_filetype_numbers:before,.o_filetype_ods:before,.o_filetype_xml:before,.o_filetype_xsl:before,.o_filetype_bat_icon:before,.o_filetype_bat:before,.o_filetype_exe:before,.o_filetype_app:before,.o_filetype_sh: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,.o_icon_version:before{content:"\f1da"}.o_icon-circle-thin:before,.o_icon_courseareas:before{content:"\f1db"}.o_icon-header:before,.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,.o_icon_timelimit:before{content:"\f1e2"}.o_icon_bookmark{color:#996633}.o_icon_bookmark_add{color:#999999}.o_icon_delete{color:#A87E7E}.o_icon_error{color:#d9534f}.o_icon_help{cursor:help}.o_icon_info{color:#5bc0de}.o_icon_new{color:#5cb85c}.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_icon_warn{color:#f0ad4e}.o_black_led{color:#428bca}.o_green_led{color:#5cb85c}.o_yellow_led{color:#f0ad4e}.o_red_led{color:#d9534f}.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_button_toggle:hover,.o_noti .o_label: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_button_toggle:focus,.o_noti .o_label: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_bottom,.o_block,.o_block_with_datecomp .o_content,.o_course_run .o_toc .o_entry{margin-bottom:1em}.o_block_top,.o_block,.o_block_with_datecomp .o_content,.o_course_run .o_toc .o_entry{margin-top:1em}.o_block_large_bottom,.o_block_large,.o_button_group,.o_block_with_datecomp{margin-bottom:2em}.o_block_large_top,.o_block_large,.o_button_group,.o_block_with_datecomp{margin-top:2em}.o_scrollblock{overflow-x:auto;overflow-y:hidden}.o_copy_code{overflow-x:auto;overflow-y:auto;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;white-space:nowrap;border-radius:4px}.o_button_group{text-align:center}.o_button_group a,.o_button_group input,.o_button_group button{margin-right:1em}.o_button_group a:last-child,.o_button_group input:last-child,.o_button_group button:last-child{margin-right:0}.o_nowrap{white-space:nowrap}.o_titled_wrapper .o_content{margin-top:20px}.o_portrait img{background-color:#eee;background-position:50% 50%;background-repeat:no-repeat}.o_portrait img.o_small{width:30px;height:30px}.o_portrait img.o_large{width:100px;height:100px}.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_course_run .o_statusinfo,.o_course_stats .o_desc,.o_important,.o_bc_empty,.o_course_run .o_no_scoreinfo,.o_success,.o_warning,.o_form .o_warning,.o_error,.o_form .o_info,.o_togglebox_wrapper div.o_togglebox_content,div.o_qti_item_itemfeedback{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_course_run .o_statusinfo h2,.o_course_stats .o_desc h2,.o_important h2,.o_bc_empty h2,.o_course_run .o_no_scoreinfo h2,.o_success h2,.o_warning h2,.o_form .o_warning h2,.o_error h2,.o_form .o_info h2,.o_togglebox_wrapper div.o_togglebox_content h2,div.o_qti_item_itemfeedback h2,.o_info h3,.o_note h3,.o_form .o_desc h3,.o_course_run .o_statusinfo h3,.o_course_stats .o_desc h3,.o_important h3,.o_bc_empty h3,.o_course_run .o_no_scoreinfo h3,.o_success h3,.o_warning h3,.o_form .o_warning h3,.o_error h3,.o_form .o_info h3,.o_togglebox_wrapper div.o_togglebox_content h3,div.o_qti_item_itemfeedback h3,.o_info h4,.o_note h4,.o_form .o_desc h4,.o_course_run .o_statusinfo h4,.o_course_stats .o_desc h4,.o_important h4,.o_bc_empty h4,.o_course_run .o_no_scoreinfo h4,.o_success h4,.o_warning h4,.o_form .o_warning h4,.o_error h4,.o_form .o_info h4,.o_togglebox_wrapper div.o_togglebox_content h4,div.o_qti_item_itemfeedback h4,.o_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_info h2,.o_note .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_note h2,.o_form .o_desc .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_desc h2,.o_course_run .o_statusinfo .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_run .o_statusinfo h2,.o_course_stats .o_desc .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_stats .o_desc h2,.o_important .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_important h2,.o_bc_empty .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_bc_empty h2,.o_course_run .o_no_scoreinfo .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_run .o_no_scoreinfo h2,.o_success .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_success h2,.o_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_warning h2,.o_error .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_error h2,.o_togglebox_wrapper div.o_togglebox_content .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_togglebox_wrapper div.o_togglebox_content h2,div.o_qti_item_itemfeedback .o_cal .fc-header-title h2,.o_cal .fc-header-title div.o_qti_item_itemfeedback h2,.o_info h5,.o_note h5,.o_form .o_desc h5,.o_course_run .o_statusinfo h5,.o_course_stats .o_desc h5,.o_important h5,.o_bc_empty h5,.o_course_run .o_no_scoreinfo h5,.o_success h5,.o_warning h5,.o_form .o_warning h5,.o_error h5,.o_form .o_info h5,.o_togglebox_wrapper div.o_togglebox_content h5,div.o_qti_item_itemfeedback h5{color:#bbbbbb}p.o_info,p.o_note,.o_form p.o_desc,.o_course_run p.o_statusinfo,.o_course_stats p.o_desc,p.o_important,p.o_bc_empty,.o_course_run p.o_no_scoreinfo,p.o_success,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,.o_course_run div.o_statusinfo,.o_course_stats div.o_desc,div.o_important,div.o_bc_empty,.o_course_run div.o_no_scoreinfo,div.o_success,div.o_warning,.o_form div.o_warning,div.o_error,.o_form div.o_info,.o_togglebox_wrapper div.o_togglebox_content,div.o_qti_item_itemfeedback{margin:20px 0}.o_note,.o_form .o_desc,.o_course_run .o_statusinfo,.o_course_stats .o_desc{background-color:#f4f8fa;border-color:#5bc0de}.o_note h2,.o_form .o_desc h2,.o_course_run .o_statusinfo h2,.o_course_stats .o_desc h2,.o_note h3,.o_form .o_desc h3,.o_course_run .o_statusinfo h3,.o_course_stats .o_desc h3,.o_note h4,.o_form .o_desc h4,.o_course_run .o_statusinfo h4,.o_course_stats .o_desc h4,.o_note .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_note h2,.o_form .o_desc .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_desc h2,.o_course_run .o_statusinfo .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_run .o_statusinfo h2,.o_course_stats .o_desc .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_stats .o_desc h2,.o_note h5,.o_form .o_desc h5,.o_course_run .o_statusinfo h5,.o_course_stats .o_desc h5{color:#5bc0de}p.o_note,.o_form p.o_desc,.o_course_run p.o_statusinfo,.o_course_stats p.o_desc,div.o_note,.o_form div.o_desc,.o_course_run div.o_statusinfo,.o_course_stats div.o_desc{margin:20px 0}.o_important,.o_bc_empty,.o_course_run .o_no_scoreinfo{background-color:#FFF1A4;border-color:#F4D000}.o_important h2,.o_bc_empty h2,.o_course_run .o_no_scoreinfo h2,.o_important h3,.o_bc_empty h3,.o_course_run .o_no_scoreinfo h3,.o_important h4,.o_bc_empty h4,.o_course_run .o_no_scoreinfo h4,.o_important .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_important h2,.o_bc_empty .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_bc_empty h2,.o_course_run .o_no_scoreinfo .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_run .o_no_scoreinfo h2,.o_important h5,.o_bc_empty h5,.o_course_run .o_no_scoreinfo h5{color:#F4D000}p.o_important,p.o_bc_empty,.o_course_run p.o_no_scoreinfo,div.o_important,div.o_bc_empty,.o_course_run div.o_no_scoreinfo{margin:20px 0}.o_success{background-color:#d6e9c6;border-color:#3c763d}.o_success h2,.o_success h3,.o_success h4,.o_success .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_success h2,.o_success h5{color:#3c763d}o.o_success,div.o_success{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 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_warning h2,.o_warning h5,.o_form .o_warning h5{color:#FF9E3E}o.o_warning,.o_form o.o_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 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_error h2,.o_error h5{color:#d9534f}o.o_error,div.o_error{margin:20px 0}.o_border_box{border:1px solid #999;padding:1em;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}p.o_border_box,div.o_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 .o_navbar_tabs li a{padding-right:30px}.o_navbar .o_navbar_tabs .o_navbar_tab_close{position:absolute;top:15px;right:0.5em;padding:0;width:1em;height:1em}.o_navbar .o_navbar_tabs .o_navbar_tab_close i:before{color:#A87E7E}.o_navbar .o_navbar_tabs .o_navbar_tab_close:hover i:before{color:#CC0000}.o_navbar #o_navbar_tools #o_navbar_langchooser{color:#777;padding:15px}.o_navbar #o_navbar_tools #o_navbar_langchooser form span+div{display:inline}.o_navbar #o_navbar_tools #o_navbar_help a i{margin-right:0.4em}.o_navbar #o_navbar_tools #o_navbar_my_menu .dropdown-toggle{padding-left:45px}.o_navbar #o_navbar_tools #o_navbar_my_menu img{position:absolute;left:7px;top:10px;height:30px;width:30px}.o_navbar.o_navbar-offcanvas .o_navbar_tab_close{top:10px}.o_navbar.o_navbar-offcanvas .o_navbar_personalTool{display:none}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu a,.o_navbar.o_navbar-offcanvas #o_navbar_search_opener a{color:#999}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu a:hover,.o_navbar.o_navbar-offcanvas #o_navbar_my_menu a:focus,.o_navbar.o_navbar-offcanvas #o_navbar_search_opener a:hover,.o_navbar.o_navbar-offcanvas #o_navbar_search_opener a:focus{color:#fff;background-color:transparent}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu .dropdown-toggle,.o_navbar.o_navbar-offcanvas #o_navbar_search_opener .dropdown-toggle{display:none}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu .dropdown-menu,.o_navbar.o_navbar-offcanvas #o_navbar_search_opener .dropdown-menu{box-shadow:none;position:relative;top:0;left:0;display:block;float:none;background-color:#222;color:#999;font-size:14px}.o_navbar.o_navbar-offcanvas #o_navbar_my_menu .dropdown-menu .divider,.o_navbar.o_navbar-offcanvas #o_navbar_search_opener .dropdown-menu .divider{background:none}.o_navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.o_navbar:before,.o_navbar:after{content:" ";display:table}.o_navbar:after{clear:both}.o_navbar-collapse{max-height:340px;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 30px 30px 15px}#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}#o_main_wrapper #o_main_container #o_main_center h2:first-child{margin-top:0}@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}@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}}#o_offcanvas_right{position:absolute;top:0;right:-250px;width:250px;padding:15px 15px;background-color:#222;color:#999;border:1px solid #090909;-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);min-height:100%;z-index:10;display:none}#o_offcanvas_right:before,#o_offcanvas_right:after{content:" ";display:table}#o_offcanvas_right:after{clear:both}@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}.o_alert_info{position:fixed;top:-100%;left:0;display:none;z-index:2000;width:100%;text-align:center}.o_alert_info .alert{margin:0px auto;text-align:left;-webkit-box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15);box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15)}.o_alert_info .alert .o_icon_close{float:right;color:#999}.o_alert_info .alert .o_icon_close:hover{color:#555}.o_tree{position:relative;display:block;background-color:#fff;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.o_tree ul{background-color:white;margin:0;padding:0;list-style-type:none}.o_tree ul li{margin:0;padding:0}.o_tree ul li div{position:relative;margin-bottom:-1px;border-bottom:1px solid #ddd}.o_tree ul li div a.o_tree_oc_l0{position:absolute;top:8px;left:1px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l0,.o_tree ul .o_tree_level_close.b_tree_oc_l0{z-index:10}.o_tree ul li div a.o_tree_oc_l1{position:absolute;top:8px;left:16px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l1,.o_tree ul .o_tree_level_close.b_tree_oc_l1{z-index:10}.o_tree ul li div a.o_tree_oc_l2{position:absolute;top:8px;left:31px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l2,.o_tree ul .o_tree_level_close.b_tree_oc_l2{z-index:10}.o_tree ul li div a.o_tree_oc_l3{position:absolute;top:8px;left:46px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l3,.o_tree ul .o_tree_level_close.b_tree_oc_l3{z-index:10}.o_tree ul li div a.o_tree_oc_l4{position:absolute;top:8px;left:61px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l4,.o_tree ul .o_tree_level_close.b_tree_oc_l4{z-index:10}.o_tree ul li div a.o_tree_oc_l5{position:absolute;top:8px;left:76px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l5,.o_tree ul .o_tree_level_close.b_tree_oc_l5{z-index:10}.o_tree ul li div a.o_tree_oc_l6{position:absolute;top:8px;left:91px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l6,.o_tree ul .o_tree_level_close.b_tree_oc_l6{z-index:10}.o_tree ul li div a.o_tree_oc_l7{position:absolute;top:8px;left:106px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l7,.o_tree ul .o_tree_level_close.b_tree_oc_l7{z-index:10}.o_tree ul li div a.o_tree_oc_l8{position:absolute;top:8px;left:121px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l8,.o_tree ul .o_tree_level_close.b_tree_oc_l8{z-index:10}.o_tree ul li div a.o_tree_oc_l9{position:absolute;top:8px;left:136px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l9,.o_tree ul .o_tree_level_close.b_tree_oc_l9{z-index:10}.o_tree ul li div a.o_tree_oc_l10{position:absolute;top:8px;left:151px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l10,.o_tree ul .o_tree_level_close.b_tree_oc_l10{z-index:10}.o_tree ul li div a.o_tree_oc_l11{position:absolute;top:8px;left:166px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l11,.o_tree ul .o_tree_level_close.b_tree_oc_l11{z-index:10}.o_tree ul li div a.o_tree_l0{display:block;padding:10px 2px 10px 14px;z-index:9}.o_tree ul li div a.o_tree_l1{display:block;padding:10px 2px 10px 29px;z-index:9}.o_tree ul li div a.o_tree_l2{display:block;padding:10px 2px 10px 44px;z-index:9}.o_tree ul li div a.o_tree_l3{display:block;padding:10px 2px 10px 59px;z-index:9}.o_tree ul li div a.o_tree_l4{display:block;padding:10px 2px 10px 74px;z-index:9}.o_tree ul li div a.o_tree_l5{display:block;padding:10px 2px 10px 89px;z-index:9}.o_tree ul li div a.o_tree_l6{display:block;padding:10px 2px 10px 104px;z-index:9}.o_tree ul li div a.o_tree_l7{display:block;padding:10px 2px 10px 119px;z-index:9}.o_tree ul li div a.o_tree_l8{display:block;padding:10px 2px 10px 134px;z-index:9}.o_tree ul li div a.o_tree_l9{display:block;padding:10px 2px 10px 149px;z-index:9}.o_tree ul li div a.o_tree_l10{display:block;padding:10px 2px 10px 164px;z-index:9}.o_tree ul li div a.o_tree_l11{display:block;padding:10px 2px 10px 179px;z-index:9}.o_tree ul span.o_tree_leaf{display:none}.o_tree ul li .badge{float:right;font-size:70%}.o_tree ul li div.o_dnd_sibling{margin:0;padding:0;border-bottom:none}.o_tree ul li a.active{font-weight:bold}.o_tree ul li a.active_parent{color:black;font-weight:bold}.o_tree .o_dnd_item{cursor:move;z-index:100}.o_tree .o_dnd_proxy{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;background-color:yellow}.o_tree .o_dnd_item.o_dnd_over{background-color:#ffff60}.o_tree .o_dnd_sibling{height:3px;width:100%}.o_tree .o_dnd_sibling.o_dnd_over{background:transparent url(../openolat/images/arrow_dd.png) top left no-repeat}.o_tree .o_dnd_l1{margin-left:0 !important}.o_tree .o_dnd_l2{margin-left:1em !important}.o_tree .o_dnd_l3{margin-left:2em !important}.o_tree .o_dnd_l4{margin-left:3em !important}.o_tree .o_dnd_l5{margin-left:4em !important}.o_tree .o_dnd_l6{margin-left:5em !important}.o_tree .o_dnd_l7{margin-left:6em !important}.o_tree .o_dnd_l8{margin-left:7em !important}.o_tree .o_dnd_l9{margin-left:8em !important}.o_tree .o_dnd_l10{margin-left:9em !important}.o_tree .o_dnd_l11{margin-left:10em !important}.o_breadcrumb{position:relative}.o_breadcrumb .o_breadcrumb_close{float:right}.o_form .o_icon_mandatory{position:absolute;right:-0.25em;line-height:1.5em}.o_form.form-horizontal .o_icon_mandatory{position:relative;right:0;line-height:inherit;margin-left:0.25em}.o_form .o_error{margin-top:1px;margin-bottom:0;padding:10px}.o_form .o_picker_wrapper{position:absolute;top:0;right:0;height:34px;width:34px;text-align:right;vertical-align:middle;line-height:34px;font-size:22px;color:#428bca}.o_form .o_picker_wrapper:hover{color:#2a6496}.o_form .o_date{position:relative;padding-right:34px}.o_form .o_filepreview{margin-bottom:10px}.o_form .o_fileinput{cursor:pointer;position:relative}.o_form .o_fileinput .o_fakechooser{position:relative;padding-right:34px;z-index:1}.o_form .o_fileinput .o_realchooser{position:absolute;top:0;left:0;z-index:2;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity:0;opacity:0}.o_catalog .o_catalog_delete_img{position:relative;top:-0.5em}.o_button_toggle{border:1px solid #999;border-top-right-radius:9px;border-top-left-radius:9px;border-bottom-right-radius:9px;border-bottom-left-radius:9px;background:#eee;display:inline-block;height:18px;line-height:16px;font-size:16px;text-align:left;padding:0 0.5em 0 0;margin:0}.o_button_toggle i{color:#999;text-shadow:1px 0 2px rgba(0,0,0,0.25)}.o_button_toggle span{line-height:16px;vertical-align:top;font-size:60%;text-transform:uppercase}.o_button_toggle.o_on{text-align:right;padding:0 0 0 0.5em}.o_button_toggle.o_on i{color:#428bca;text-shadow:-1px 0 2px rgba(0,0,0,0.25)}.o_table_wrapper.o_table_flexi .o_table_body{margin-top:20px}.o_table_wrapper.o_table_flexi .table{margin-top:20px}.o_table_wrapper .o_table_search{max-width:50em}.o_table_wrapper .o_table_footer .o_table_buttons{text-align:center}.o_table_wrapper .o_table_footer .o_table_buttons input{margin-right:1em}.o_table_wrapper .o_table_footer .o_table_buttons input:last-child{margin-right:0}.o_table_wrapper .o_table_footer .o_table_pagination{text-align:center}.o_table_wrapper a.b_sorting{padding:0 20px 0 0;text-decoration:none;background:url("../openolat/images/arrow-resize-090.png") no-repeat center right}.o_table_wrapper a.b_sorting_asc{padding:0 20px 0 0;text-decoration:none;background:url("../openolat/images/arrow_up.png") no-repeat center right}.o_table_wrapper a.b_sorting_desc{padding:0 20px 0 0;text-decoration:none;background:url("../openolat/images/arrow_down.png") no-repeat center right}.o_table_wrapper .o_table{margin-bottom:0}.o_table_tools{margin-left:0.5em}.o_info .table-bordered td,.o_note .table-bordered td,.o_form .o_desc .table-bordered td,.o_course_run .o_statusinfo .table-bordered td,.o_course_stats .o_desc .table-bordered td,.o_important .table-bordered td,.o_bc_empty .table-bordered td,.o_course_run .o_no_scoreinfo .table-bordered td,.o_success .table-bordered td,.o_warning .table-bordered td,.o_error .table-bordered td,.o_togglebox_wrapper div.o_togglebox_content .table-bordered td,div.o_qti_item_itemfeedback .table-bordered td,o_note .table-bordered td,o_important .table-bordered td,o_warning .table-bordered td,o_error .table-bordered td{border-color:#333}.panel .o_table_layout{border-top:1px solid #ddd;padding-top:6px}.panel .o_table_count{padding:0 15px}#o_navbar_imclient #o_im_message,#o_navbar_imclient #o_im_status,#o_navbar_imclient #o_im_summary{position:relative;padding:15px 3px}#o_navbar_imclient #o_im_summary{padding-right:15px}#o_navbar_imclient #o_im_status div.o_chelp_wrapper{right:0.5em}.o_flag{position:relative;top:1px;display:inline-block;line-height:1;width:16px;height:16px;background-repeat:no-repeat;background-position:0 100%}.o_flag_en{background-image:url("../light/images/flags/gb.png")}.o_flag_de{background-image:url("../light/images/flags/de.png")}.o_flag_fr{background-image:url("../light/images/flags/fr.png")}.o_flag_it{background-image:url("../light/images/flags/it.png")}.o_flag_es{background-image:url("../light/images/flags/es.png")}.o_flag_da{background-image:url("../light/images/flags/dk.png")}.o_flag_cs{background-image:url("../light/images/flags/cz.png")}.o_flag_el{background-image:url("../light/images/flags/gr.png")}.o_flag_ee{background-image:url("../light/images/flags/ee.png")}.o_flag_ru{background-image:url("../light/images/flags/ru.png")}.o_flag_pl{background-image:url("../light/images/flags/pl.png")}.o_flag_zh_CN{background-image:url("../light/images/flags/cn.png")}.o_flag_zh_TW{background-image:url("../light/images/flags/tw.png")}.o_flag_lt{background-image:url("../light/images/flags/lt.png")}.o_flag_fa{background-image:url("../light/images/flags/ir.png")}.o_flag_pt_PT{background-image:url("../light/images/flags/pt.png")}.o_flag_pt_BR{background-image:url("../light/images/flags/br.png")}.o_flag_tr{background-image:url("../light/images/flags/tr.png")}.o_flag_hu{background-image:url("../light/images/flags/hu.png")}.o_flag_sq{background-image:url("../light/images/flags/al.png")}.o_flag_in{background-image:url("../light/images/flags/id.png")}.o_flag_ar{background-image:url("../light/images/flags/eg.png")}.o_flag_rm{background-image:url("../light/images/flags/rm.png")}.o_flag_af{background-image:url("../light/images/flags/za.png")}.o_flag_vi{background-image:url("../light/images/flags/vn.png")}.o_flag_mn{background-image:url("../light/images/flags/mn.png")}.o_flag_iw{background-image:url("../light/images/flags/il.png")}.o_flag_ko{background-image:url("../light/images/flags/kr.png")}.o_flag_nl_NL{background-image:url("../light/images/flags/nl.png")}.o_flag_jp{background-image:url("../light/images/flags/jp.png")}.o_flag_nb_NO{background-image:url("../light/images/flags/no.png")}.o_flag_et_EE{background-image:url("../light/images/flags/ee.png")}.o_flag_bg{background-image:url("../light/images/flags/bg.png")}.o_flag_hi_IN_ASIA{background-image:url("../light/images/flags/in.png")}.o_flag_ar_LB{background-image:url("../light/images/flags/lb.png")}.o_flag_gl_ES{background-image:url("../light/images/flags/galicia.png")}.o_rating .o_rating_title{font-size:12px}.o_rating .o_rating_items{white-space:nowrap}.o_rating .o_rating_items .o_icon{color:#f0ad4e}.o_rating .o_rating_items .o_icon:hover{color:#428bca}.o_rating .o_rating_items .o_legend{margin-left:1em;font-size:12px;line-height:1em}.o_rating .o_rating_explanation{font-size:12px}@media (max-width: 991px){.o_rating .o_rating_title,.o_rating .o_rating_explanation{display:none}}
 .o_comments .o_comment_wrapper .o_avatar{margin:0 1em 0 0}.o_ratings_and_comments .o_rating_wrapper{vertical-align:middle;display:inline-block}.o_ratings_and_comments a.o_comments{margin-left:10px;position:relative;top:0.1em}.d3chart .bar{shape-rendering:crispEdges}.d3chart .bar_default_light{fill:#7eb0db}.d3chart .bar_default{fill:#428bca}.d3chart .bar_default_dark{fill:#2a6496}.d3chart .axis{font:12px sans-serif}.d3chart .axis path,.d3chart .axis line{fill:none;stroke:#000;shape-rendering:crispEdges}.o_iframedisplay iframe{width:100%}.o_singlepage .o_edit{position:absolute;top:10px;right:37px}.o_content_popup{position:absolute;top:10px;right:12px}.o_module_cp_wrapper .o_tools{position:absolute;top:10px;right:12px;text-align:right;vertical-align:middle}.o_module_cp_wrapper .o_tools .o_search_wrapper{display:inline-block;position:relative;top:-2px}.o_bc_meta .o_thumbnail{width:200px;height:200px}.o_notifications_news_wrapper .o_notifications_news_subscription{margin:10px 0}.o_notifications_news_wrapper .o_notifications_news_subscription h4 i,.o_notifications_news_wrapper .o_notifications_news_subscription .o_cal .fc-header-title h2 i,.o_cal .fc-header-title .o_notifications_news_wrapper .o_notifications_news_subscription h2 i{display:none}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_content{margin-left:1.5em;position:relative}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_content .o_icon{position:absolute;left:-1.5em;line-height:1.5em;top:0}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_url{margin-left:1.5em}.o_noti{margin:6px 0 6px 12px}.o_noti .o_label{cursor:help}@media (max-width: 767px){.o_noti .o_label span{display:none}}
 .panel-body .o_noti{margin:0}.o_datecomp{position:relative;width:40px;height:52px;border:1px solid #555;margin-right:12px;text-align:center;vertical-align:middle}.o_datecomp div.o_year{position:absolute;left:0;width:100%;top:-20px;height:20px;line-height:20px;font-size:10px}.o_datecomp div.o_month{height:20px;line-height:20px;font-size:12px}.o_datecomp div.o_day{height:30px;line-height:30px;font-size:18px;border-top:1px solid #555;background-color:#fff}.o_block_with_datecomp .o_head{position:relative;padding-left:52px}.o_block_with_datecomp .o_datecomp{position:absolute;top:0.2em;left:0}.o_block_with_datecomp .o_title{margin-top:0}.o_block_with_datecomp .o_content{border-left:5px solid #eee;padding:0 20px}.o_block_with_datecomp .o_block_footer{padding-left:25px}.o_cal_toptoolbar{margin-bottom:6px}.o_cal_toptoolbar .o_cal_toptoolbar_sub,.o_cal_toptoolbar .o_cal_toptoolbar_help{margin-right:12px}.o_feed .o_subscription a{margin-right:1.5em}.o_feed .o_subscription form{margin-top:6px}.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper .o_rating_title,.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper .o_rating_explanation,.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper .o_legend{display:none}.o_feed .o_blog_posts .o_ratings_and_comments a.o_comments span{display:none}.o_togglebox_wrapper div.o_togglebox_content{position:relative;margin:0}.o_togglebox_wrapper div.o_togglebox_content .o_hide{position:absolute;bottom:0.5em;right:1em}.typeahead,.tt-query,.tt-hint{width:396px;height:30px;padding:8px 12px;font-size:24px;line-height:30px;border:2px solid #ccc;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;outline:none}.typeahead{background-color:#fff}.typeahead:focus{border:2px solid #0097cf}.tt-query{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.tt-hint{color:#999}.tt-dropdown-menu{width:422px;margin-top:12px;padding:8px 0;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.tt-suggestion{padding:3px 20px;font-size:18px;line-height:24px}.tt-suggestion.tt-cursor{color:#fff;background-color:#0097cf}.tt-suggestion p{margin:0}.o_visual{position:absolute;top:0;left:0;overflow:hidden;height:120px;width:180px;vertical-align:middle}@media (min-width: 768px) and (max-width: 991px){.o_visual{height:80px;width:120px}}@media (max-width: 767px){.o_visual{height:50px;width:75px}}.o_visual img{width:100%;height:auto}.o_visual .o_visual_not_available{width:100%;height:100%;background-image:url("../light/images/no_preview.png");background-repeat:no-repeat;background-position:50% 50%;background-size:contain}.o_coursetable.o_rendertype_custom .o_table_row{position:relative;border:1px solid #428bca;margin-bottom:10px}.o_coursetable.o_rendertype_custom .o_table_row .o_visual{border-right:1px solid #428bca}.o_coursetable.o_rendertype_custom .o_table_row .o_access{position:absolute;top:0;right:0;height:120px;width:180px;overflow:hidden;border-left:1px solid #428bca;padding-top:0.25em}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_state,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score{padding:0 1em;height:20px;line-height:20px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score{position:relative;left:2px}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social{position:absolute;width:100%;bottom:32px;height:20px;padding-left:1em}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating .o_rating_title,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating o_rating_legend,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating .o_rating_explanation{display:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings{padding:0 0 0 1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings .o_label{margin-bottom:1em}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings .o_methods{color:#5bc0de}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{position:absolute;display:block;bottom:0;width:90px;height:30px;line-height:30px;text-align:center}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book{right:0}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{right:90px}@media (min-width: 768px) and (max-width: 991px){.o_coursetable.o_rendertype_custom .o_table_row .o_access{height:80px;width:120px}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_comments,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_label{display:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{width:60px}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{right:60px}}@media (max-width: 767px){.o_coursetable.o_rendertype_custom .o_table_row .o_access{display:none}}.o_coursetable.o_rendertype_custom .o_table_row .o_meta{height:120px;margin:0 180px 0 180px;position:relative;padding:1em 0.5em 0.25em 1em;overflow:hidden}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title{margin:0;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a{display:block}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_author{margin-top:0.5em;line-height:1em;font-size:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle{position:absolute;top:5px;right:40px;font-size:90%;line-height:1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_desc{margin-top:0.5em}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_bookmark{position:absolute;top:-1px;right:15px}@media (min-width: 768px) and (max-width: 991px){.o_coursetable.o_rendertype_custom .o_table_row .o_meta{height:80px;margin:0 120px}}@media (max-width: 767px){.o_coursetable.o_rendertype_custom .o_table_row .o_meta{height:50px;margin:0 0 0 75px;padding:0 0 0 1em}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title{line-height:50px}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_author,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_bookmark,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_desc{display:none}}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_go_xs{position:absolute;top:0;right:0;padding:0 1em;height:50px;line-height:50px}.o_coursetable.o_rendertype_classic .o_rating_explanation{display:none}.o_coursetable.o_rendertype_classic .o_start,.o_coursetable.o_rendertype_classic .o_book{white-space:nowrap}.o_coursetable.o_rendertype_classic .o_repoentry_type{color:#555}.o_coursetable.o_rendertype_classic .o_repoentry_ac{color:#555}.o_catalog .o_level{position:relative;margin-bottom:10px;padding:0;border-top:1px solid #428bca;border-bottom:1px solid #428bca}.o_catalog .o_level .o_visual{height:180px}.o_catalog .o_level .o_meta{position:relative;min-height:180px;height:180px;overflow:hidden;margin:0 0 0 180px;padding:1em 0.5em 0.5em 2em}.o_catalog .o_level .o_meta .o_title{margin:0}.o_catalog .o_level .o_meta .o_title a{display:block}.o_catalog .o_level .o_meta .o_desc{padding:1em 0 0.5em 0}@media (min-width: 768px) and (max-width: 991px){.o_catalog .o_level .o_visual{height:120px}.o_catalog .o_level .o_meta{min-height:120px;height:120px;margin:0 0 0 120px}}@media (max-width: 767px){.o_catalog .o_level .o_visual{height:75px}.o_catalog .o_level .o_meta{min-height:75px;height:75px;margin:0 0 0 75px;padding:0 0 0 1em}.o_catalog .o_level .o_meta .o_title{line-height:75px}.o_catalog .o_level .o_meta .o_desc{display:none}}.o_catalog .o_sublevels{position:relative;margin-bottom:20px}.o_catalog .o_sublevels .o_sublevel{position:relative;margin:0 20px 20px 0;width:180px}.o_catalog .o_sublevels .o_sublevel:last-child{margin-right:0}.o_catalog .o_sublevels .o_sublevel .o_visual{border:1px solid #428bca;position:relative;height:180px}.o_catalog .o_sublevels .o_sublevel .o_meta{position:absolute;left:0;bottom:0;width:100%;border:1px solid #428bca;border-top:0;background-color:rgba(255,255,255,0.8)}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title{margin:0;text-align:center;line-height:2em;height:2em;width:100%;overflow:hidden}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a{display:block}@media (min-width: 768px) and (max-width: 991px){.o_catalog .o_sublevels .o_sublevel{width:120px;margin:0 10px 10px 0}.o_catalog .o_sublevels .o_sublevel .o_visual{height:120px}.o_catalog .o_sublevels .o_sublevel .o_title{font-size:90%}}@media (max-width: 767px){.o_catalog .o_sublevels .o_sublevel{width:120px;margin:0 1px 1px 0}.o_catalog .o_sublevels .o_sublevel .o_visual{height:120px;width:120px}.o_catalog .o_sublevels .o_sublevel .o_title{font-size:90%}}
 .o_repo_details{position:relative}.o_repo_details .o_lead .o_media{margin-left:2em;margin-bottom:2em}.o_repo_details .o_lead h1 i{display:none}.o_repo_details .o_overview i{margin-right:0.5em}.o_repo_details .o_overview div{margin-bottom:0.25em}.o_repo_details .o_start,.o_repo_details .o_book{margin:2em 0}.o_repo_details .o_social .o_comments{margin-left:1em}@media (max-width: 767px){.o_repo_details .o_lead p{font-size:16px}.o_repo_details .o_lead .o_media{margin-top:0}}@media (max-width: 613px){.o_repo_details .o_subcolumn{width:100%}}
-.o_midpub{color:green}.o_midwarn{color:orange}.o_miderr{color:red}.o_passed{font-weight:bold}.o_passed th{color:#333}.o_failed{font-weight:bold}.o_failed th{color:#333}.o_unknown{font-weight:bold}.o_unknown th{color:#333}.o_course_run .o_toc .o_entry .o_shorttitle{border-bottom:1px solid #999}.o_course_run .o_toc .o_entry .o_displaytitle{margin-top:5px}.o_course_run .o_toc .o_entry .o_objectives{margin-top:10px;font-style:italic}.o_st_peekview ul li{margin-bottom:0.5em}.o_cl_line{margin-bottom:10px;padding-bottom:5px}.o_cl_line.o_even{background-color:#f9f9f9}.o_cmembers .o_cmember{margin:12px 0}.o_cmembers .o_cmember .o_portrait{margin-right:6px}.o_cmembers .o_cmember .o_cmember_info_wrapper{line-height:30px}.o_cmembers .o_cmember .o_cmember_info_wrapper .o_mail{margin-left:6px}.o_course_editor .o_node_config{margin-bottom:20px}#o_course_editor_errorbox ul,#o_course_editor_warningbox ul{list-style-type:none}table.table.o_qti_item_kprim>thead>tr>th,table.table.o_qti_item_kprim>tbody>tr>td{border:none}td.o_qti_item_kprim_input,th.o_qti_item_kprim_input{text-align:center}div.o_qti_item_itemfeedback{background-color:#ffffff;border-color:#000000}.d3chart .bar_green{fill:#5cb85c}.d3chart .bar_red{fill:#d9534f}.d3chart .bar_grey{fill:lightgrey}div.o_qti_statistics ul{list-style-type:none;padding:0;margin:0;font-size:90%}div.o_qti_statistics ul strong{font-weight:normal}div.o_qti_statistics ul li{padding-left:48px;margin-left:0;margin-bottom:10px}div.o_qti_statistics ul li.o_qti_statistics-ncorrect:before{font-size:125%;content:'\2A2F\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-correct:before{font-size:125%;content:'\2713\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-kplus:before{font-size:125%;content:'\2713\00A0\2A2F\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-kminus:before{font-size:125%;content:'\2A2F\00A0\2713\00A0\00A0'}div.o_qti_statistics ul li img{vertical-align:top}div.o_qti_statistics table.o_qti_statistics_figures tr{float:left}div.o_qti_statistics table.o_qti_statistics_figures tr:nth-child(2n+1){clear:left;padding-right:20px}div.o_qti_statistics table.o_qti_statistics_figures td{width:200px;padding-left:0}div.o_qti_statistics table.o_qti_statistics_figures td+td{width:100px}div.o_qti_statistics .o_qti_statistics_answer{background:#F5F5F5;padding:1px 2px;width:90%}div.o_qti_statistics div.o_qti_statistics_legend{padding-top:10px;width:470px;border:1px solid #ddd;border-radius:4px}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_green{background-color:#9dd53a}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_red{background-color:#f85032}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_grey{background-color:lightgrey}.o_qti_print div.o_qti_statistics{width:680px}@media print{div.o_qti_statistics{width:680px}}#o_dev_tool #o_dev_tool_mode{width:1em;height:1em;float:left;border:1px solid #000;margin-right:5px}a.o_dev{position:absolute;left:0;top:0;z-index:4000;background:#f0ad4e;border:1px solid #d59645;border-top:none;border-left:none;border-radius:0 0 4px 0;color:#fff}a.o_dev:hover{color:#d9534f}.o_dev_w{margin:1px}.o_dev_w .o_dev_h{color:#000;font-size:8px;line-height:10px;margin:0}.o_dev_w .o_dev_h span{background:#f4c37d;border:1px solid #f0ad4e;border-bottom:0}.o_dev_w .o_dev_c{position:relative;border:1px dotted #eee}.o_dev_w .o_dev_c .o_dev_i{position:absolute;top:0px;left:24px;height:auto;width:auto;padding:5px;border:1px solid black;display:none;margin:0px;z-index:999;font-size:11px;background-color:#BBF}.o_dev_w.o_dev_m>.o_dev_c{border:1px solid #f0ad4e;margin:0px;background-color:#f8e9d4}.o_wikimod_nav .o_noti{margin:0}.o_wikimod_editform_wrapper{margin-top:30px}
+.o_midpub{color:green}.o_midwarn{color:orange}.o_miderr{color:red}.o_passed{font-weight:bold}.o_passed th{color:#333}.o_failed{font-weight:bold}.o_failed th{color:#333}.o_unknown{font-weight:bold}.o_unknown th{color:#333}.o_course_run .o_toc .o_entry .o_shorttitle{border-bottom:1px solid #999}.o_course_run .o_toc .o_entry .o_displaytitle{margin-top:5px}.o_course_run .o_toc .o_entry .o_objectives{margin-top:10px;font-style:italic}.o_st_peekview ul li{margin-bottom:0.5em}.o_cl_line{margin-bottom:10px;padding-bottom:5px}.o_cl_line.o_even{background-color:#f9f9f9}.o_cmembers .o_cmember{margin:12px 0}.o_cmembers .o_cmember .o_portrait{margin-right:6px}.o_cmembers .o_cmember .o_cmember_info_wrapper{line-height:30px}.o_cmembers .o_cmember .o_cmember_info_wrapper .o_mail{margin-left:6px}.o_course_editor .o_node_config{margin-bottom:20px}#o_course_editor_errorbox ul,#o_course_editor_warningbox ul{list-style-type:none}#o_course_editor_choose_nodetype ul{padding:0;list-style-type:none}div.b_selectiontree{font-size:95%}div.b_selectiontree div.b_selectiontree_item{clear:both;position:relative;top:0;left:0;vertical-align:middle;height:16px;width:auto}div.b_selectiontree div.b_selectiontree_item div{width:16px;height:16px;float:left;display:inline;background-repeat:no-repeat}div.b_selectiontree div.b_selectiontree_item div.b_selectiontree_content{float:left;display:inline;margin-left:0.5em;width:auto;white-space:nowrap}div.b_selectiontree div.b_selectiontree_content{width:auto}div.b_selectiontree div.b_selectiontree_content div{width:auto}div.b_selectiontree div.b_selectiontree_content input{width:1em;height:1em;padding:0;margin:0 0.5em;vertical-align:middle}div.b_selectiontree div.b_selectiontree_content input.b_radio{margin:0}div.b_selectiontree .b_selectiontree_line{background-image:url(../openolat/images/tree/dots.gif)}div.b_selectiontree .b_selectiontree_space{background-image:url(../openolat/images/tree/dots_spacer.gif)}div.b_selectiontree .b_selectiontree_junction{background-image:url(../openolat/images/tree/dots_nt.gif)}div.b_selectiontree .b_selectiontree_end{background-image:url(../openolat/images/tree/dots_nl.gif)}table.table.o_qti_item_kprim>thead>tr>th,table.table.o_qti_item_kprim>tbody>tr>td{border:none}td.o_qti_item_kprim_input,th.o_qti_item_kprim_input{text-align:center}div.o_qti_item_itemfeedback{background-color:#ffffff;border-color:#000000}.d3chart .bar_green{fill:#5cb85c}.d3chart .bar_red{fill:#d9534f}.d3chart .bar_grey{fill:lightgrey}div.o_qti_statistics ul{list-style-type:none;padding:0;margin:0;font-size:90%}div.o_qti_statistics ul strong{font-weight:normal}div.o_qti_statistics ul li{padding-left:48px;margin-left:0;margin-bottom:10px}div.o_qti_statistics ul li.o_qti_statistics-ncorrect:before{font-size:125%;content:'\2A2F\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-correct:before{font-size:125%;content:'\2713\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-kplus:before{font-size:125%;content:'\2713\00A0\2A2F\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-kminus:before{font-size:125%;content:'\2A2F\00A0\2713\00A0\00A0'}div.o_qti_statistics ul li img{vertical-align:top}div.o_qti_statistics table.o_qti_statistics_figures tr{float:left}div.o_qti_statistics table.o_qti_statistics_figures tr:nth-child(2n+1){clear:left;padding-right:20px}div.o_qti_statistics table.o_qti_statistics_figures td{width:200px;padding-left:0}div.o_qti_statistics table.o_qti_statistics_figures td+td{width:100px}div.o_qti_statistics .o_qti_statistics_answer{background:#F5F5F5;padding:1px 2px;width:90%}div.o_qti_statistics div.o_qti_statistics_legend{padding-top:10px;width:470px;border:1px solid #ddd;border-radius:4px}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_green{background-color:#9dd53a}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_red{background-color:#f85032}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_grey{background-color:lightgrey}.o_qti_print div.o_qti_statistics{width:680px}@media print{div.o_qti_statistics{width:680px}}#o_dev_tool #o_dev_tool_mode{width:1em;height:1em;float:left;border:1px solid #000;margin-right:5px}a.o_dev{position:absolute;left:0;top:0;z-index:4000;background:#f0ad4e;border:1px solid #d59645;border-top:none;border-left:none;border-radius:0 0 4px 0;color:#fff}a.o_dev:hover{color:#d9534f}.o_dev_w{margin:1px}.o_dev_w .o_dev_h{color:#000;font-size:8px;line-height:10px;margin:0}.o_dev_w .o_dev_h span{background:#f4c37d;border:1px solid #f0ad4e;border-bottom:0}.o_dev_w .o_dev_c{position:relative;border:1px dotted #eee}.o_dev_w .o_dev_c .o_dev_i{position:absolute;top:0px;left:24px;height:auto;width:auto;padding:5px;border:1px solid black;display:none;margin:0px;z-index:999;font-size:11px;background-color:#BBF}.o_dev_w.o_dev_m>.o_dev_c{border:1px solid #f0ad4e;margin:0px;background-color:#f8e9d4}.o_wikimod_nav .o_noti{margin:0}.o_wikimod_editform_wrapper{margin-top:30px}
-- 
GitLab