diff --git a/pom.xml b/pom.xml
index 685bf5b1c3ef15aca16d3d391507b9b533081659..ae900cd80b8b87ce31a6b425e1f360c962b58c74 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2168,11 +2168,6 @@
 			<artifactId>velocity</artifactId>
 			<version>1.6.2</version>
 		</dependency>
-		<dependency>
-			<groupId>radeox</groupId>
-			<artifactId>radeox</artifactId>
-			<version>1.0-b2</version>
-		</dependency>
 		<dependency>
 			<groupId>net.sf.ehcache</groupId>
 			<artifactId>ehcache</artifactId>
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 72ada06f93429c803066044a9068e2a94469d393..2498c24d5671369103f3ba49e75326a0d5bbc42d 100644
--- a/src/main/java/de/bps/olat/user/propertyhandlers/GenericCheckboxPropertyHandler.java
+++ b/src/main/java/de/bps/olat/user/propertyhandlers/GenericCheckboxPropertyHandler.java
@@ -27,8 +27,6 @@ import org.olat.core.gui.components.form.flexible.FormItem;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
 import org.olat.core.gui.components.form.flexible.FormUIFactory;
 import org.olat.core.gui.components.form.flexible.elements.SelectionElement;
-import org.olat.core.gui.formelements.CheckBoxElement;
-import org.olat.core.gui.formelements.FormElement;
 import org.olat.core.id.User;
 import org.olat.user.AbstractUserPropertyHandler;
 import org.olat.user.UserManager;
@@ -62,39 +60,6 @@ public class GenericCheckboxPropertyHandler extends AbstractUserPropertyHandler
 		return sElem;
 	}
 
-/**
- * 
- * @see org.olat.user.propertyhandlers.UserPropertyHandler#getFormElement(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean)
- */
-	public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser) {
-		CheckBoxElement ui = null;
-		UserManager um = UserManager.getInstance();
-		
-		String value = getInternalValue(user);
-		boolean isEnabled = value != null && value.equals("true") ? Boolean.TRUE : Boolean.FALSE;
-		ui = new CheckBoxElement(i18nFormElementLabelKey(), isEnabled);
-		if ( um.isUserViewReadOnly(usageIdentifyer, this) && ! isAdministrativeUser) {
-			ui.setReadOnly(true);
-		}
-		if (um.isMandatoryUserProperty(usageIdentifyer, this)) {
-			ui.setMandatory(true);
-		}
-		return ui;
-	}
-
-/**
- * 
- * @see org.olat.user.propertyhandlers.UserPropertyHandler#getStringValue(org.olat.core.gui.formelements.FormElement)
- */
-	public String getStringValue(FormElement ui) {
-		String value = "";
-		if (((CheckBoxElement) ui).isChecked())
-			value = "true";
-		else
-			value = "false";
-		
-		return value;
-	}
 
 /**
  * 
@@ -118,13 +83,6 @@ public class GenericCheckboxPropertyHandler extends AbstractUserPropertyHandler
 		return displayValue;
 	}
 
-/**
- * 
- * @see org.olat.user.propertyhandlers.UserPropertyHandler#isValid(org.olat.core.gui.formelements.FormElement, java.util.Map)
- */
-	public boolean isValid(FormElement ui, Map formContext) {
-		return true;
-	}
 	
 /**
  * 
@@ -142,23 +100,6 @@ public class GenericCheckboxPropertyHandler extends AbstractUserPropertyHandler
 		return true;
 	}
 
-/**
- * 
- * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateFormElementFromUser(org.olat.core.gui.formelements.FormElement, org.olat.core.id.User)
- */
-	public void updateFormElementFromUser(FormElement ui, User user) {
-		((CheckBoxElement) ui).setName(getInternalValue(user));
-	}
-
-/**
- * 
- * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateUserFromFormElement(org.olat.core.id.User, org.olat.core.gui.formelements.FormElement)
- */
-	public void updateUserFromFormElement(User user, FormElement ui) {
-		String internalValue = getStringValue(ui);
-		setInternalValue(user, internalValue);
-	}
-
 /**
  * 
  * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateUserFromFormItem(org.olat.core.id.User, org.olat.core.gui.components.form.flexible.FormItem)
diff --git a/src/main/java/org/olat/admin/sysinfo/RequestLoglevelController.java b/src/main/java/org/olat/admin/sysinfo/RequestLoglevelController.java
index 0ac7cba75a5c1e73022105d30baa4695e84217ec..389893eb4b8275aaa6a4d0a37798c01613c6c761 100644
--- a/src/main/java/org/olat/admin/sysinfo/RequestLoglevelController.java
+++ b/src/main/java/org/olat/admin/sysinfo/RequestLoglevelController.java
@@ -1,130 +1,152 @@
 /**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
+ * OLAT - Online Learning and Training<br>
+ * http://www.olat.org
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
+ * University of Zurich, Switzerland.
+ * <hr>
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * This file has been modified by the OpenOLAT community. Changes are licensed
+ * under the Apache 2.0 license as the original file.
+ */
 package org.olat.admin.sysinfo;
 
 import org.apache.log4j.Logger;
 import org.olat.core.gui.UserRequest;
-import org.olat.core.gui.components.Component;
+import org.olat.core.gui.components.form.flexible.FormItemContainer;
+import org.olat.core.gui.components.form.flexible.elements.TextElement;
+import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
 import org.olat.core.gui.components.velocity.VelocityContainer;
 import org.olat.core.gui.control.Controller;
-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.util.threadlog.RequestBasedLogLevelManager;
 import org.olat.core.util.threadlog.UserBasedLogLevelManager;
 
 /**
  * A rather simply kept controller used for the requestloglevel feature which
- * was added to debug special cases with 'slow requests'. 
+ * was added to debug special cases with 'slow requests'.
  * <p>
- * It allows to mark particular requests (based on ip address or username - 
- * dont overlap those two though!) with a specific loglevel and even an appender.
+ * It allows to mark particular requests (based on ip address or username - dont
+ * overlap those two though!) with a specific loglevel and even an appender.
  * <p>
- * That way you can have all requests from say user 'administrator' logged
- * with log level DEBUG and sent to appender 'DebugLog' (which is a standard
- * log4j appender and can therefore for example be writing to a different file
- * than the rest of the log events).
+ * That way you can have all requests from say user 'administrator' logged with
+ * log level DEBUG and sent to appender 'DebugLog' (which is a standard log4j
+ * appender and can therefore for example be writing to a different file than
+ * the rest of the log events).
  * <P>
- * Initial Date:  13.09.2010 <br>
+ * Initial Date: 13.09.2010 <br>
+ * 
  * @author Stefan
  */
-public class RequestLoglevelController extends BasicController implements Controller {
+public class RequestLoglevelController extends FormBasicController {
+
+	// private RequestLoglevelForm form;
 
-	private RequestLoglevelForm form;
-	
 	private final RequestBasedLogLevelManager requestBasedLogLevelManager;
-	
+
 	private final UserBasedLogLevelManager userBasedLogLevelManager;
 
+	private TextElement txeRemoteIps;
+	private TextElement txeUsernames;
+
 	protected RequestLoglevelController(UserRequest ureq, WindowControl control) {
 		super(ureq, control);
-		
+
 		requestBasedLogLevelManager = RequestBasedLogLevelManager.getInstance();
 		userBasedLogLevelManager = UserBasedLogLevelManager.getInstance();
-		
-		if (requestBasedLogLevelManager==null && userBasedLogLevelManager==null) {
+
+		if (requestBasedLogLevelManager == null && userBasedLogLevelManager == null) {
 			VelocityContainer requestlogleveldisabled = createVelocityContainer("requestlogleveldisabled");
 			putInitialPanel(requestlogleveldisabled);
 		} else {
-			form = new RequestLoglevelForm("requestloglevelform", getTranslator());
-			form.addListener(this);
-			putInitialPanel(form);
+			initForm(ureq);
 		}
 	}
 
+	@Override
+	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
+		uifactory.addStaticTextElement("requestloglevel.format.label", getTranslator().translate("requestloglevel.format.text"), formLayout);
+		txeRemoteIps = uifactory.addTextAreaElement("requestloglevel.ips", 10, 60, "", formLayout);
+		txeUsernames = uifactory.addTextAreaElement("requestloglevel.usernames", 10, 60, "", formLayout);
+	}
+
 	/**
 	 * @see org.olat.core.gui.control.DefaultController#doDispose()
 	 */
 	@Override
 	protected void doDispose() {
-	// TODO Auto-generated method stub
+		// TODO Auto-generated method stub
 
 	}
 
-	/**
-	 * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, org.olat.core.gui.components.Component, org.olat.core.gui.control.Event)
-	 */
+	private String[] getUsernamesAndLevels() {
+		String[] retVal = txeUsernames.getValue().split("\r\n");
+		return retVal;
+	}
+
+	private String getRawUsernames() {
+		return txeUsernames.getValue();
+	}
+
+	private String[] getIpsAndLevels() {
+		String[] retVal = txeRemoteIps.getValue().split("\r\n");
+		return retVal;
+	}
+
+	private String getRawIpsAndLevels() {
+		return txeRemoteIps.getValue();
+	}
+
 	@Override
-	protected void event(UserRequest ureq, Component source, Event event) {
-		if(source == form){
-			String[] usernames = form.getUsernamesAndLevels();
-			String[] ips = form.getIpsAndLevels();
-			
-			if (requestBasedLogLevelManager!=null) {
-				requestBasedLogLevelManager.reset();
-				
-				requestBasedLogLevelManager.storeIpsAndLevels(form.getRawIpsAndLevels());
-				
-				for (int i = 0; i < ips.length; i++) {
-					String ip = ips[i];
-					if (ip!=null && ip.length()>0 && ip.contains("=")) {
-						try{
-							requestBasedLogLevelManager.setLogLevelAndAppender(ip);
-						} catch(Exception e) {
-							Logger.getLogger(getClass()).warn("Couldnt set loglevel for remote address: "+ip, e);
-						}
+	protected void formOK(UserRequest ureq) {
+		
+		String[] usernamesALevels = getUsernamesAndLevels();
+		String[] ipsALevels = getIpsAndLevels();
+		
+		if (requestBasedLogLevelManager != null) {
+			requestBasedLogLevelManager.reset();
+
+			requestBasedLogLevelManager.storeIpsAndLevels(getRawIpsAndLevels());
+
+			for (int i = 0; i < ipsALevels.length; i++) {
+				String ip = ipsALevels[i];
+				if (ip != null && ip.length() > 0 && ip.contains("=")) {
+					try {
+						requestBasedLogLevelManager.setLogLevelAndAppender(ip);
+					} catch (Exception e) {
+						Logger.getLogger(getClass()).warn("Couldnt set loglevel for remote address: " + ip, e);
 					}
 				}
 			}
-			
-			if (userBasedLogLevelManager!=null) {
-				userBasedLogLevelManager.storeUsernameAndLevels(form.getRawUsernames());
-	
-				userBasedLogLevelManager.reset();
-				for (int i = 0; i < usernames.length; i++) {
-					String username = usernames[i];
-					if (username!=null && username.length()>0 && username.contains("=")) {
-						try{
-							userBasedLogLevelManager.setLogLevelAndAppender(username);
-						} catch(Exception e) {
-							Logger.getLogger(getClass()).warn("Couldnt set loglevel for username: "+username, e);
-						}
+		}
+
+		if (userBasedLogLevelManager != null) {
+			userBasedLogLevelManager.storeUsernameAndLevels(getRawUsernames());
+
+			userBasedLogLevelManager.reset();
+			for (int i = 0; i < usernamesALevels.length; i++) {
+				String username = usernamesALevels[i];
+				if (username != null && username.length() > 0 && username.contains("=")) {
+					try {
+						userBasedLogLevelManager.setLogLevelAndAppender(username);
+					} catch (Exception e) {
+						Logger.getLogger(getClass()).warn("Couldnt set loglevel for username: " + username, e);
 					}
 				}
 			}
-
 		}
 
 	}
diff --git a/src/main/java/org/olat/admin/sysinfo/RequestLoglevelForm.java b/src/main/java/org/olat/admin/sysinfo/RequestLoglevelForm.java
deleted file mode 100644
index bb7f0e96ec77b30eeb027bdfabcc775ce4fd01eb..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/sysinfo/RequestLoglevelForm.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.admin.sysinfo;
-
-import org.olat.core.gui.components.form.Form;
-import org.olat.core.gui.formelements.StaticHTMLTextElement;
-import org.olat.core.gui.formelements.TextAreaElement;
-import org.olat.core.gui.translator.Translator;
-import org.olat.core.util.threadlog.RequestBasedLogLevelManager;
-import org.olat.core.util.threadlog.UserBasedLogLevelManager;
-
-/**
- * The form used by RequestLoglevelController which simply contains
- * two fields: one for the ip addresses to loglevel/logappenders,
- * the other one for the usernames to loglevel/appenders.
- * <p>
- * The format of the fields is described in RequestBasedLogLevelManager.setLogLevelAndAppender
- * and UserBasedLogLevelManager.setLogLevelAndAppender
- * <P>
- * Initial Date:  13.09.2010 <br>
- * @author Stefan
- * @see RequestBasedLogLevelManager#setLogLevelAndAppender(String)
- * @see UserBasedLogLevelManager#setLogLevelAndAppender(String)
- */
-public class RequestLoglevelForm extends Form {
-
-	private TextAreaElement remoteIps;
-	private TextAreaElement usernames;
-
-	public RequestLoglevelForm(String name, Translator translator) {
-		super(name, translator);
-		
-		StaticHTMLTextElement ste = new StaticHTMLTextElement("requestloglevel.format.label", translator.translate("requestloglevel.format.text"), 1024);
-		addFormElement("requestloglevel.format", ste);
-		
-		RequestBasedLogLevelManager requestBasedLogLevelManager = RequestBasedLogLevelManager.getInstance();
-		if (requestBasedLogLevelManager!=null) {
-			remoteIps = new TextAreaElement("requestloglevel.ips", 10, 60, null);
-			String ipsAndLevels = requestBasedLogLevelManager.loadIpsAndLevels();
-			if (ipsAndLevels!=null) {
-				remoteIps.setValue(ipsAndLevels);
-			}
-			
-			addFormElement("requestloglevel.ips", remoteIps);
-		}
-
-		UserBasedLogLevelManager userBasedLogLevelManager = UserBasedLogLevelManager.getInstance();
-		if (userBasedLogLevelManager!=null) {
-			usernames = new TextAreaElement("requestloglevel.usernames", 10, 60, null);
-			String usernameAndLevels = userBasedLogLevelManager==null ? null : userBasedLogLevelManager.loadUsernameAndLevels();
-			if (usernameAndLevels!=null) {
-				usernames.setValue(usernameAndLevels);
-			}
-			
-			addFormElement("requestloglevel.usernames", usernames);
-		}
-		
-		addSubmitKey("save", "save");
-	}
-
-	/**
-	 * @see org.olat.core.gui.components.form.Form#validate()
-	 */
-	@Override
-	public boolean validate() {
-		return true;
-	}
-	
-	String[] getUsernamesAndLevels(){
-		String[] retVal = usernames.getValue().split("\r\n");
-		return retVal;
-	}
-	
-	String getRawUsernames() {
-		return usernames.getValue();
-	}
-	
-	String[] getIpsAndLevels(){
-		String[] retVal = remoteIps.getValue().split("\r\n");
-		return retVal;
-	}
-	
-	String getRawIpsAndLevels() {
-		return remoteIps.getValue();
-	}
-
-}
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 a29a1fd3ede18b0e8dd809e361e435c8b30a7a33..d4a5c99c42ee0d2a009fdba55e03343b2e3ceef0 100644
--- a/src/main/java/org/olat/commons/calendar/ui/KalendarEntryForm.java
+++ b/src/main/java/org/olat/commons/calendar/ui/KalendarEntryForm.java
@@ -42,6 +42,7 @@ import org.olat.core.gui.components.form.flexible.elements.DateChooser;
 import org.olat.core.gui.components.form.flexible.elements.FormLink;
 import org.olat.core.gui.components.form.flexible.elements.SelectionElement;
 import org.olat.core.gui.components.form.flexible.elements.SingleSelection;
+import org.olat.core.gui.components.form.flexible.elements.SpacerElement;
 import org.olat.core.gui.components.form.flexible.elements.StaticTextElement;
 import org.olat.core.gui.components.form.flexible.elements.TextElement;
 import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
@@ -50,8 +51,6 @@ import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
 import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowControl;
-import org.olat.core.gui.formelements.SpacerElement;
-import org.olat.core.gui.formelements.VisibilityDependsOnSelectionRule;
 import org.olat.core.logging.OLATRuntimeException;
 import org.olat.core.util.StringHelper;
 
@@ -121,8 +120,8 @@ public class KalendarEntryForm extends FormBasicController {
 			calendarValues[i] = cw.getKalendarConfig().getDisplayName();
 		}
 			
-		String currentRecur = CalendarUtils.getRecurrence(event.getRecurrenceRule());
-		VisibilityDependsOnSelectionRule rule;
+//		String currentRecur = CalendarUtils.getRecurrence(event.getRecurrenceRule());
+//		VisibilityDependsOnSelectionRule rule;
 		keysRecurrence = new String[] {
 				RECURRENCE_NONE,
 				KalendarEvent.DAILY,
diff --git a/src/main/java/org/olat/core/gui/components/form/Form.java b/src/main/java/org/olat/core/gui/components/form/Form.java
index f4f19fba34ec8d077d7d7561a92bf82ce9ba9ed8..7c487596ef307aeeb39d51c4fedc2fb86870ea39 100644
--- a/src/main/java/org/olat/core/gui/components/form/Form.java
+++ b/src/main/java/org/olat/core/gui/components/form/Form.java
@@ -26,42 +26,16 @@
 
 package org.olat.core.gui.components.form;
 
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-
-import org.olat.core.gui.UserRequest;
-import org.olat.core.gui.components.Component;
-import org.olat.core.gui.components.ComponentRenderer;
 import org.olat.core.gui.control.Event;
-import org.olat.core.gui.control.JSAndCSSAdder;
-import org.olat.core.gui.formelements.CheckBoxElement;
-import org.olat.core.gui.formelements.DateElement;
-import org.olat.core.gui.formelements.FormElement;
-import org.olat.core.gui.formelements.IntegerElement;
-import org.olat.core.gui.formelements.MultipleSelectionElement;
-import org.olat.core.gui.formelements.PasswordElement;
-import org.olat.core.gui.formelements.RadioButtonGroupElement;
-import org.olat.core.gui.formelements.SingleSelectionElement;
-import org.olat.core.gui.formelements.TextAreaElement;
-import org.olat.core.gui.formelements.TextElement;
-import org.olat.core.gui.formelements.VisibilityDependsOnSelectionRule;
-import org.olat.core.gui.formelements.WikiMarkupTextAreaElement;
-import org.olat.core.gui.render.ValidationResult;
-import org.olat.core.gui.translator.Translator;
-import org.olat.core.util.i18n.I18nModule;
 
 /**
  * enclosing_type Description: <br>
  * 
+ * #OO-40 : refactored: now only holds some legacy static values
  * @author Felix Jost
  */
 
-public abstract class Form extends Component {
+public abstract class Form  {
 
 	/**
 	 * Comment for <code>CANCEL_IDENTIFICATION</code>
@@ -91,457 +65,15 @@ public abstract class Form extends Component {
 	 */
 	public static final Event EVNT_FORM_CANCELLED = new Event("form_cancelled");
 
-	private static final ComponentRenderer RENDERER = new FormRenderer();
-
-	private List submitKeysi18n = new ArrayList();
-	private List submitKeysIdentifiers = new ArrayList();
-	private String selectedSubmitKey = null;
-	private String cancelKeyi18n = null;
-
-	private boolean displayOnly = false;
-
-	// we like to keep the order for rendering -> LinkedHashMap instead of Hashmap
-	private Map elements = new LinkedHashMap(10);
-	private List visibilityDependsOnSelectionRules = new ArrayList();
-	private boolean valid = false;
-	boolean markCancel;
-	boolean markCommand;
-	String markLookupCommand;
-	boolean markSubmit;
-
-	/**
-	 * A Form must have a valid name and a valid translator. Create the translator
-	 * outside the Form e.g. in a controller or manager.
-	 * 
-	 * @param name, translator
-	 */
-	public Form(String name, Translator translator) {
-		super(name, translator);
-	}
-
-	/**
-	 * @deprecated construct a new form if needed
-	 */
-	public void removeFormElements() {
-		valid = false;
-		submitKeysi18n.clear();
-		submitKeysIdentifiers.clear();
-		cancelKeyi18n = null;
-		displayOnly = false;
-		elements = new LinkedHashMap(10);
-	}
-
-	/**
-	 * adds a formelement
-	 * 
-	 * @param name should not contain anything critical to HTML (no ".", no
-	 *          umlaut, etc.)
-	 * @param formElement
-	 */
-	public void addFormElement(String name, FormElement formElement) {
-		formElement.setName(name);
-		elements.put(name, formElement);
-	}
-
-	/**
-	 * @param name
-	 * @return The generic form element
-	 */
-	public FormElement getFormElement(String name) {
-		return (FormElement) elements.get(name);
-	}
-
-	/**
-	 * @param name
-	 * @return A form element of type text
-	 */
-	public TextElement getTextElement(String name) {
-		return (TextElement) getFormElement(name);
-	}
-
-	/**
-	 * @param name
-	 * @return A form element of type integer
-	 */
-	public IntegerElement getIntegerElement(String name) {
-		return (IntegerElement) getFormElement(name);
-	}
-
-	/**
-	 * @param name
-	 * @return A form element of type date
-	 */
-	public DateElement getDateElement(String name) {
-		return (DateElement) getFormElement(name);
-	}
-
-	/**
-	 * @param name
-	 * @return A form element of type check-box
-	 */
-	public CheckBoxElement getCheckBoxElement(String name) {
-		return (CheckBoxElement) getFormElement(name);
-	}
-
-	/**
-	 * @param name
-	 * @return A form element of type single selection
-	 */
-	public SingleSelectionElement getSingleSelectionElement(String name) {
-		return (SingleSelectionElement) getFormElement(name);
-	}
-
-	/**
-	 * @param name
-	 * @return A form element of type radio button
-	 */
-	public RadioButtonGroupElement getRadioButtonElement(String name) {
-		return (RadioButtonGroupElement) getFormElement(name);
-	}
-
-	/**
-	 * @param name
-	 * @return A form element of type multiple selection
-	 */
-	public MultipleSelectionElement getMultipleSelectionElement(String name) {
-		return (MultipleSelectionElement) getFormElement(name);
-	}
-
-	/**
-	 * @param name
-	 * @return A form element of type text area
-	 */
-	public TextAreaElement getTextAreaElement(String name) {
-		return (TextAreaElement) getFormElement(name);
-	}
-
-	/**
-	 * @param name
-	 * @return A form element of type wiki markup
-	 */
-	public WikiMarkupTextAreaElement getWikiMarkupTextAreaElement(String name) {
-		return (WikiMarkupTextAreaElement) getFormElement(name);
-	}
-
-	/**
-	 * @param name
-	 * @return A form element of type password
-	 */
-	public PasswordElement getPasswordElement(String name) {
-		return (PasswordElement) getFormElement(name);
-	}
-
-	/**
-	 * @return integer: the form element counter
-	 */
-	public int getElementCount() {
-		return elements.size();
-	}
-
-	/**
-	 * gives an iterator over the names of the contained formelements
-	 * 
-	 * @return Iterator
-	 */
-	public Iterator getNameIterator() {
-		return elements.keySet().iterator();
-	}
-
-	/**
-	 * disables the form input on all formelements, but keeps the submit/cancel
-	 * buttons. convenience method, useful for e.g. after a form has been
-	 * successfully submitted.
-	 * 
-	 * @param readOnly
-	 */
-	public void setAllFormElements(boolean readOnly) {
-		Iterator it_formelemnames = getNameIterator();
-		while (it_formelemnames.hasNext()) {
-			String name = (String) it_formelemnames.next();
-			FormElement fe = getFormElement(name);
-			fe.setReadOnly(readOnly);
-		}
-	}
-
-	/**
-	 * @see org.olat.core.gui.components.Component#dispatchRequest(org.olat.core.gui.UserRequest)
-	 */
-	protected void doDispatchRequest(UserRequest ureq) {
-		// since we are a >form<, this must be a submit or a cancel
-		// check for cancel first
-		
-		
-		String cancel = ureq.getParameter(Form.CANCEL_IDENTIFICATION);
-		String lookupCommand = ureq.getParameter(ELEM_BUTTON_COMMAND_ID);
-
-		// test for recorder
-		
-
-		if (cancel != null) {
-			setDirty(true);
-			fireEvent(ureq, EVNT_FORM_CANCELLED);
-		} else if (lookupCommand != null) {
-			fireEvent(ureq, new Event(lookupCommand));
-		} else { // assume form submit
-			// cannot rely on this since a form can also be submitted by hitting
-			// return, in which case
-			// the submit button itself is not submitted
-			// if (ureq.getParameter(Form.SUBMIT_IDENTIFICATION) != null) {
-
-			// standard behavior: set all values, validate, and fire Event
-			Map recMap = null;
-			Iterator it_formelemnames = getNameIterator();
-			while (it_formelemnames.hasNext()) {
-				String name = (String) it_formelemnames.next();
-				String[] values = ureq.getHttpReq().getParameterValues(name);
-				FormElement fe = getFormElement(name);
-				fe.clearError(); // clear any previous errors
-				if (!fe.isReadOnly()) {
-					fe.setValues(values);
-				}
-			}
-
-			// get selected submit key
-			Set parameters = ureq.getParameterSet();
-			String parameterKey = null;
-			boolean foundASubmit = false;
-			for (Iterator iter_parameters = parameters.iterator(); iter_parameters.hasNext();) {
-				parameterKey = (String) iter_parameters.next();
-				if (parameterKey.startsWith(SUBMIT_IDENTIFICATION)) {
-					foundASubmit = true;
-					break;
-				}
-			}
-			
-			if (foundASubmit) {
-				String sPosition = parameterKey.substring(SUBMIT_IDENTIFICATION.length() + 1);
-				int iPosition = Integer.parseInt(sPosition);
-				selectedSubmitKey = (String) submitKeysIdentifiers.get(iPosition);
-			} else {
-				// assume the first submitkey (when we hit enter in a form (with internet explorer)
-				selectedSubmitKey = (String) submitKeysIdentifiers.get(0);
-			}
-			setDirty(true);
-
-			if (validate()) {
-				valid = true;
-				fireEvent(ureq, EVNT_VALIDATION_OK);
-			} else {
-				valid = false;
-				fireEvent(ureq, EVNT_VALIDATION_NOK);
-			}
-		}
-	}
-
-	/**
-	 * @return true: form validates, false: form contains invalid data
-	 */
-	public abstract boolean validate();
-
-	public void validate(UserRequest ureq, ValidationResult vr) {
-		super.validate(ureq, vr);
-		// include needed css and js libs
-
-		JSAndCSSAdder jsa = vr.getJsAndCSSAdder();
-		jsa.addRequiredCSSFile(Form.class, "css/jscalendar.css", false);
-		jsa.addRequiredJsFile(Form.class, "js/jscalendar/calendar.js");
-		jsa.addRequiredJsFile(Form.class, "js/jscalendar/olatcalendartranslator.js");
-		jsa.addRequiredJsFile(Form.class, "js/jscalendar/calendar-setup.js");
-		jsa.addRequiredJsFile(Form.class, "js/form.js");
-
-	}
-
-	/**
-	 * Returns the submitKeys.
-	 * 
-	 * @return List of i18n keys for submit buttons
-	 */
-	List getSubmitKeysi18n() {
-		return submitKeysi18n;
-	}
-
-	/**
-	 * Sets the submitKey.
-	 * 
-	 * @param submitKeyi18n The submitKey to set
-	 * @deprecated since 22.11.2005 replaced by
-	 *             <code>addSubmitKey(String submitKeyi18n, String identifier)</code>.
-	 */
-	public void setSubmitKey(String submitKeyi18n) {
-		addSubmitKey(submitKeyi18n, "");
-	}
-
-	/**
-	 * Sets the submitKey.
-	 * 
-	 * @param submitKeyi18n The submitKey to set
-	 * @deprecated since 19.07.2006 replaced by
-	 *             <code>addSubmitKey(String submitKeyi18n, String identifier)</code>.
-	 */
-	public void addSubmitKey(String submitKeyi18n) {
-		addSubmitKey(submitKeyi18n, "");
-	}
-
-	/**
-	 * Adds a button with i18n key identified by identifier.
-	 * 
-	 * @param submitKeyi18n
-	 * @param identifier
-	 */
-	public void addSubmitKey(String submitKeyi18n, String identifier) {
-		submitKeysi18n.add(submitKeyi18n);
-		submitKeysIdentifiers.add(identifier);
-	}
-
-	/**
-	 * Returns the validated.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isValid() {
-		return valid;
-	}
-
-	/**
-	 * Sets the default cancel button. behaves like
-	 * <code>setCancelKey("cancel")</code>
-	 */
-	public void setCancelButton() {
-		setCancelKey("cancel");
-	}
-
-	/**
-	 * Removes the default cancel button. This is only needed if you want to
-	 * toggle the visibility of the button. behaves like
-	 * <code>setCancelKey(null)</code>
-	 */
-	public void removeCancelButton() {
-		setCancelKey(null);
-	}
-
-	/**
-	 * Sets the cancelParamName.
-	 * 
-	 * @param cancelKey
-	 */
-	public void setCancelKey(String cancelKeyi18n) {
-		this.cancelKeyi18n = cancelKeyi18n;
-	}
-
-	/**
-	 * Returns the cancelKey.
-	 * 
-	 * @return String
-	 */
-	String getCancelKeyi18n() {
-		return cancelKeyi18n;
-	}
-
-	/**
-	 * Returns the displayOnly.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isDisplayOnly() {
-		return displayOnly;
-	}
-
-	/**
-	 * Sets the displayOnly.
-	 * 
-	 * @param displayOnly The displayOnly to set
-	 */
-	public void setDisplayOnly(boolean displayOnly) {
-		this.displayOnly = displayOnly;
-		setAllFormElements(displayOnly);
-	}
-
-	/**
-	 * Check if this form contains mandatory fields
-	 * 
-	 * @return True if form has at least one mandatory field, false otherwhise
-	 */
-	public boolean hasMandatoryFields() {
-		Iterator entries = elements.values().iterator();
-		while (entries.hasNext()) {
-			if (((FormElement) entries.next()).isMandatory()) return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Check if this form contains mandatory fields
-	 * 
-	 * @return True if form has at least one mandatory field, false otherwhise
-	 */
-	public boolean hasWikiMarkupFields() {
-		Iterator entries = elements.values().iterator();
-		while (entries.hasNext()) {
-			if (entries.next() instanceof WikiMarkupTextAreaElement) return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Set a visibility-of-element-depends-on-a-selection-element rule to the form
-	 * 
-	 * @param rule
-	 */
-	public void addVisibilityDependsOnSelectionRule(VisibilityDependsOnSelectionRule rule) {
-		visibilityDependsOnSelectionRules.add(rule);
-	}
-
-	/**
-	 * Get a list of all dependecy rules
-	 * 
-	 * @return List of VisibilityDependsOnSelectionRule objects
-	 */
-	public List getVisibilityDependsOnSelectionRules() {
-		return visibilityDependsOnSelectionRules;
-	}
-
-	public ComponentRenderer getHTMLRendererSingleton() {
-		return RENDERER;
-	}
-
-
-	/**
-	 * @return Returns the selectedSubmitKey.
-	 */
-	public String getSelectedSubmitKey() {
-		return selectedSubmitKey;
-	}
 	
-	/**
-	 * Use this to translate inside a form.
-	 * 
-	 * @param key
-	 * @return
-	 */
-	protected String translate(String key) {
-		return getTranslator().translate(key);
-	}
-
-	/**
-	 * Use this to translate inside a form.
-	 * 
-	 * @param key
-	 * @param args
-	 * @return
-	 */
-	protected String translate(String key, String[] args) {
-		return getTranslator().translate(key, args);
-	}
-
-	/**
-	 * @return The current locale of the form translator.
-	 */
-	protected Locale getLocale() {
-		if (getTranslator() == null) {
-			return I18nModule.getDefaultLocale();
-		} else {
-			return getTranslator().getLocale();
-		}
-	}
 
+	// this variables are used in functions.js - do not change
+	/** html form id prependix * */
+	public static final String JSFORMID = "bfo_";
+	/** html element id prependix * */
+//	public static final String JSELEMENTID = "bel_";
+	/** html row id prependix * */
+//	public static final String JSELEMENTROWID = "ber_";
+	
+	
 }
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/components/form/FormRenderer.java b/src/main/java/org/olat/core/gui/components/form/FormRenderer.java
deleted file mode 100644
index d4c4227c4f10d374034d2d32ae14dbc690e631d1..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/components/form/FormRenderer.java
+++ /dev/null
@@ -1,901 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.components.form;
-
-import java.util.Iterator;
-import java.util.List;
-
-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.control.winmgr.AJAXFlags;
-import org.olat.core.gui.formelements.CheckBoxElement;
-import org.olat.core.gui.formelements.FormElement;
-import org.olat.core.gui.formelements.HTMLTextAreaElement;
-import org.olat.core.gui.formelements.LinkElement;
-import org.olat.core.gui.formelements.MultipleSelectionElement;
-import org.olat.core.gui.formelements.PasswordElement;
-import org.olat.core.gui.formelements.PopupData;
-import org.olat.core.gui.formelements.RadioButtonGroupElement;
-import org.olat.core.gui.formelements.SelectionElement;
-import org.olat.core.gui.formelements.SingleSelectionElement;
-import org.olat.core.gui.formelements.SpacerElement;
-import org.olat.core.gui.formelements.StaticHTMLTextElement;
-import org.olat.core.gui.formelements.StaticTextElement;
-import org.olat.core.gui.formelements.TextAreaElement;
-import org.olat.core.gui.formelements.TextElement;
-import org.olat.core.gui.formelements.TitleElement;
-import org.olat.core.gui.formelements.VisibilityDependsOnSelectionRule;
-import org.olat.core.gui.formelements.WikiMarkupTextAreaElement;
-import org.olat.core.gui.formelements.WikiMarkupTextAreaElementAutoSize;
-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;
-import org.olat.core.logging.AssertException;
-import org.olat.core.logging.OLATRuntimeException;
-import org.olat.core.util.Formatter;
-import org.olat.core.util.i18n.I18nManager;
-
-/**
- * enclosing_type Description:<br>
- * 
- * @author Felix Jost
- */
-public class FormRenderer implements ComponentRenderer {
-	private static final String READONLYA = "<div class=\"b_form_disabled\">";
-	private static final String READONLYB = "</div>";
-
-	// this variables are used in functions.js - do not change
-	/** html form id prependix * */
-	public static final String JSFORMID = "bfo_";
-	/** html element id prependix * */
-	public static final String JSELEMENTID = "bel_";
-	/** html row id prependix * */
-	public static final String JSELEMENTROWID = "ber_";
-
-	/**
-	 * This is a singleton! so it may not change instance variables Constructor
-	 * for FormRenderer. There must be an empty contructor for the Class.forName()
-	 * call
-	 */
-	public FormRenderer() {
-		super();
-	}
-
-	/**
-	 * @see org.olat.core.gui.render.ui.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[])
-	 */
-	public void render(Renderer renderer, StringOutput target, Component source, URLBuilder ubu, Translator translator,
-			RenderResult renderResult, String[] args) {
-		if (translator == null) { // missing translator
-			throw new RuntimeException("no translator");
-		}
-		boolean doNotWrapSubmit = (args != null && args[0].equals("donotwrapsubmit"));
-
-		// precompile form elements into sting buffer
-		StringOutput formElementsSO = new StringOutput(4096);
-		Form f = (Form) source;
-		boolean error = false;
-		renderFormHeader(f, formElementsSO, ubu, renderer.getGlobalSettings().getAjaxFlags());		
-		
-		Iterator it_names = f.getNameIterator();
-		while (it_names.hasNext()) {
-			String name = (String) it_names.next();
-			FormElement fe = f.getFormElement(name);
-			if (fe.isError()) {
-				error = true;
-			}
-			renderFormElement(f, fe, formElementsSO, translator, ubu, args);
-		}
-
-		if (!f.isDisplayOnly()) {
-			if (doNotWrapSubmit) {
-				renderFormSubmit(f, formElementsSO, translator);
-			} else {
-				formElementsSO.append("<div class=\"b_form_element_wrapper b_clearfix\"><div class=\"b_form_element\"><div class=\"b_button_group\">");
-				renderFormSubmit(f, formElementsSO, translator);
-				formElementsSO.append("</div></div></div>");
-			}
-			
-			//check form
-			formElementsSO.append("<script type=\"text/javascript\">\n/* <![CDATA[ */\n");
-			formElementsSO.append("function checkform").append(f.getComponentName()).append("(){\n");
-			renderElementVisibilityDependencyRules(f, formElementsSO);
-			formElementsSO.append("}\n/* ]]> */\n</script>\n");
-			
-		} 
-		renderFormFooter(f, formElementsSO, translator);
-		// end precompiling form elements
-		
-		// now build form wrapper together with errors
-		target.append("<div class=\"b_form\">"); // Open form wrapper
-		if (error) {
-			target.append("<div class=\"b_form_general_error\">" + translator.translate("form.general.error") + "</div>");
-		}
-		target.append(formElementsSO);
-		target.append("</div>"); // Close form wrapper 
-	}
-
-	/**
-	 * Method renderFormHeader.
-	 * 
-	 * @param f
-	 * @param sb
-	 */
-	private void renderFormHeader(Form f, StringOutput sb, URLBuilder ubu, AJAXFlags flags) {
-		// form header
-		sb.append("<form method=\"post\" name=\"");
-		sb.append(f.getComponentName());
-		sb.append("\" action=\"");
-
-		boolean iframePostEnabled = flags.isIframePostEnabled();
-
-		ubu.buildURI(sb, null, null, iframePostEnabled ? AJAXFlags.MODE_TOBGIFRAME : AJAXFlags.MODE_NORMAL);
-		sb.append("\" id=\"");
-		sb.append(JSFORMID);
-		sb.append(f.hashCode());
-		sb.append("\"");
-		if (iframePostEnabled) {
-			ubu.appendTarget(sb);
-		}
-		sb.append(" onsubmit=\"if(o_info.linkbusy) return false; else o_beforeserver(); return true;\">");
-	}
-
-	/**
-	 * @param f
-	 * @param sb
-	 */
-	private void renderFormSubmit(Form f, StringOutput sb, Translator translator) {
-		// Submit buttons
-		if (f.getSubmitKeysi18n().size() == 0) throw new OLATRuntimeException(null,
-				"Submit key in form is undefined. Use setSubmitKey(\"save\"); to set key in the form.", null);
-		int counter = 0;
-		for (Iterator iter_I18nKeys = f.getSubmitKeysi18n().iterator(); iter_I18nKeys.hasNext();) {
-			String i18nKey = (String) iter_I18nKeys.next();
-			String name = Form.SUBMIT_IDENTIFICATION + "_" + counter;
-			if(f.markSubmit){
-				sb.append("<span style=\"border:2px solid red;\">");
-			}
-			
-			sb.append("<input type=\"submit\" name=\"").append(name).append("\" class=\"b_button\" value=\"")
-						.append(StringEscapeUtils.escapeHtml(translator.translate(i18nKey))).append("\" />");
-			if(f.markSubmit){
-				sb.append("</span>");
-			}
-			
-			counter++;
-		}
-		
-		// Cancel buttons
-		if (f.getCancelKeyi18n() != null) {
-			if(f.markCancel){
-				sb.append("<span style=\"border:2px solid red;\">");
-			}
-
-			sb.append("<input type=\"submit\" name=\"").append(Form.CANCEL_IDENTIFICATION).append("\" class=\"b_button\" value=\"")
-						.append(StringEscapeUtils.escapeHtml(translator.translate(f.getCancelKeyi18n()))).append("\" />");
-			
-			if(f.markCancel){
-				sb.append("</span>");
-			}
-		}
-	}
-
-	/**
-	 * Method renderFormFooter.
-	 * 
-	 * @param f
-	 * @param sb
-	 * @param translator
-	 */
-	private void renderFormFooter(Form f, StringOutput sb, Translator translator) {
-		sb.append("</form>");
-	}
-
-	/**
-	 * Method renderFormElement.
-	 * 
-	 * @param fe
-	 * @param sb
-	 * @param args
-	 */
-	private void renderFormElement(Form f, FormElement fe, StringOutput sb, Translator translator, URLBuilder ubu, String[] args) {
-		sb.append("<div class=\"b_form_element_wrapper b_clearfix");
-		if (fe.isError()) {
-			sb.append(" b_form_error");
-		}
-		if (fe instanceof TextAreaElement) {
-//			sb.append(" b_form_element_wrapper_textarea");
-		}
-		// row id used from within function.js, don't remove this!
-		sb.append("\" id=\"").append(JSELEMENTROWID).append(fe.getName() + f.getComponentName()).append("\">");
-		
-		// deal with special cases first
-		if (fe instanceof TitleElement) {
-			TitleElement te = (TitleElement) fe;
-			sb.append("<h4>").append(translator.translate(te.getTitleKey())).append("</h4>");
-			
-		} else if (fe instanceof SpacerElement) {
-			SpacerElement spe = (SpacerElement) fe;
-			if (spe.isHr()) sb.append("<hr class=\"b_form_spacer\" />");
-			if (spe.isBr()) sb.append("<div class=\"b_form_spacer\" />");
-			
-		} else {
-			// real form field follow now
-			sb.append("<div class=\"b_form_element_label \">");
-			
-			if (! (fe instanceof RadioButtonGroupElement && ((RadioButtonGroupElement)fe).isNoLabel() )) {
-				sb.append("<label for=\"").append(JSELEMENTID).append(fe.hashCode()).append("\">");				
-				renderLabel(fe, sb, translator);
-				sb.append("</label>");				
-			}
-
-			// add icon for mandatory rows
-			if (!f.isDisplayOnly()) {
-				if (fe.isMandatory()) {
-					sb.append("<span class=\"b_form_mandatory\" title=\"");
-					sb.append(StringEscapeUtils.escapeHtml(translator.translate("form.mandatory.hover")));
-					sb.append("\">&nbsp;</span>");
-				}
-			}
-			sb.append("</div><div class=\"b_form_element");
-			if (f.isDisplayOnly()) {
-				sb.append(" b_form_element_disponly");
-			}
-			sb.append("\">");				
-
-			if(fe.getVisualMarked()){
-				sb.append("<span style=\"border:2px solid red;\">");
-			}
-			
-			
-			if (fe instanceof WikiMarkupTextAreaElement) {
-				WikiMarkupTextAreaElement te = (WikiMarkupTextAreaElement) fe;
-				renderWikiMarkupTextAreaElementAutoSize(f, te, sb, false);
-			} else if (fe instanceof HTMLTextAreaElement) { // must be checked before TextAreaElement !!
-				TextAreaElement te = (TextAreaElement) fe;
-				renderTextAreaElement(f, te, sb, true, args);
-			} else if (fe instanceof WikiMarkupTextAreaElementAutoSize) { 
-				TextAreaElement te = (TextAreaElement) fe;
-				renderWikiMarkupTextAreaElementAutoSize(f, te, sb, true);
-			} else if (fe instanceof TextAreaElement) {
-				TextAreaElement te = (TextAreaElement) fe;
-				renderTextAreaElement(f, te, sb, false, args);
-			} else if (fe instanceof StaticTextElement) {
-				StaticTextElement ste = (StaticTextElement) fe;
-				renderStaticTextElement(ste, sb);
-			} else if (fe instanceof StaticHTMLTextElement) {
-				StaticHTMLTextElement ste = (StaticHTMLTextElement) fe;
-				renderStaticHTMLTextElement(ste, sb);
-			} else if (fe instanceof PasswordElement) {
-				PasswordElement pe = (PasswordElement) fe;
-				renderPasswordElement(f, pe, sb);
-			} else if (fe instanceof TextElement) {
-				renderTextElement(f, (TextElement) fe, sb, ubu);
-			} else if (fe instanceof CheckBoxElement) {
-				CheckBoxElement cbe = (CheckBoxElement) fe;
-				renderCheckBox(f, cbe, sb, translator);
-			} else if (fe instanceof RadioButtonGroupElement) {
-				RadioButtonGroupElement rbe = (RadioButtonGroupElement) fe;
-				renderRadioButtonGroup(f, rbe, translator, sb);
-			} else if (fe instanceof SingleSelectionElement) {
-				SingleSelectionElement se = (SingleSelectionElement) fe;
-				renderDropDown(f, se, sb);
-			} else if (fe instanceof MultipleSelectionElement) {
-				MultipleSelectionElement me = (MultipleSelectionElement) fe;
-				renderCheckBoxes(f, me, translator, sb);
-			} else if (fe instanceof LinkElement) {
-				LinkElement le = (LinkElement) fe;
-				renderLink(f, le, translator, sb);
-			} else {
-				throw new OLATRuntimeException("Unknown for element::" + fe.getName() + " " + fe.getClass().getCanonicalName(), null);
-			}
-
-			if(fe.getVisualMarked()){
-				sb.append("</span\">");
-			}
-
-			if (!fe.isReadOnly() && fe.getExample() != null) {
-				sb.append("<div class=\"b_form_example\">(");
-				sb.append(fe.getExample());
-				sb.append(")</div>");
-			}
-			
-			if (fe.isError()) {
-				sb.append("<div class=\"b_form_error_msg\">");
-				sb.append(fe.getError(translator)); 
-				sb.append("</div>");
-			}
-			
-			sb.append("</div>"); // close b_form_element
-		}
-		
-		sb.append("</div>"); // close b_form_element_wrapper
-	}
-
-	
-	/**
-	 * @Deprecated The wiki markup area is no longer supported. In the legacy form
-	 *             infrastructure it's still there, but it won't be available in the
-	 *             new flexi forms. In flexi forms use the RichTextElement instead.
-	 */
-	@Deprecated
-	private void renderWikiMarkupTextAreaElementAutoSize(Form f, TextAreaElement tea, StringOutput sb, boolean resizable) {
-		String val = tea.getValue();
-		if (val == null) val = "";
-		if (f.isDisplayOnly()) {
-			sb.append(Formatter.formatWikiMarkup(val));
-		} else if (tea.isReadOnly()) {
-			appendReadOnly(Formatter.formatWikiMarkup(val), sb);
-		} else {
-			String uniqueId = JSELEMENTID+tea.hashCode();
-			sb.append("<textarea onchange=\"return setFormDirty('")
-			  .append(JSFORMID)
-			  .append(f.hashCode())
-			  .append("')\" onclick=\"return setFormDirty('")
-			  .append(JSFORMID)
-			  .append(f.hashCode())
-			  .append("')\" cols=\"")
-			  .append(tea.getCols())
-			  .append("\" rows=\"")
-			  .append(tea.getRows())
-			  .append("\" name=\"")
-			  .append(tea.getName())
-			  .append("\" id=\"")
-			  .append(uniqueId)
-			  .append("\"");
-			sb.append(">")
-			  .append(StringEscapeUtils.escapeHtml(val))
-			  .append("</textarea>");
-			
-			// wiki syntax icon
-			sb.append("<br /><a href=\"javascript:contextHelpWindow('");
-			Renderer.renderNormalURI(sb, "help/");
-			String pack = this.getClass().getName().substring(0, this.getClass().getName().lastIndexOf("."));
-			sb.append(I18nManager.getInstance().getLocaleKey(f.getTranslator().getLocale())).append("/").append(pack).append("/").append("wiki-format.html");
-			sb.append("')\" class=\"b_form_wikitext\">");
-			sb.append(f.getTranslator().translate("form.wiki.hover"));
-			sb.append("</a>");
-			
-			if(resizable){
-				sb.append("<script type=\"text/javascript\">")
-					.append("b_form_resizeTextarea('").append(uniqueId).append("');")
-					.append("</script>");
-			}
-		}
-	}
-
-
-
-	/**
-	 * @param f
-	 * @param tea
-	 * @param sb
-	 * @param allowHTML
-	 */
-	private void renderTextAreaElement(Form f, TextAreaElement tea, StringOutput sb, boolean allowHTML, String[] args) {
-		String val = tea.getValue();
-		if (val == null) val = "";
-		if (f.isDisplayOnly()) {
-			sb.append(allowHTML ? val.toString() : Formatter.escWithBR(val).toString());
-		} else if (tea.isReadOnly()) {
-			appendReadOnly(allowHTML ? val.toString() : Formatter.escWithBR(val).toString(), sb);
-		} else {
-			boolean wrapoff = (args != null && args[0].equals("wrapoff"));
-			String uniqueId = JSELEMENTID+tea.hashCode();
-			sb.append("<textarea onchange=\"return setFormDirty('")
-			  .append(JSFORMID)
-			  .append(f.hashCode())
-			  .append("')\" onclick=\"return setFormDirty('")
-			  .append(JSFORMID)
-			  .append(f.hashCode())
-			  .append("')\" cols=\"")
-			  .append(tea.getCols())
-			  .append("\" rows=\"")
-			  .append(tea.getRows())
-			  .append("\" name=\"")
-			  .append(tea.getName())
-			  .append("\" id=\"")
-			  .append(uniqueId)
-			  .append("\"");
-			if (wrapoff) sb.append(" wrap=\"off\"");
-			sb.append(">")
-			  .append(allowHTML ? val : StringEscapeUtils.escapeHtml(val).toString())
-			  .append("</textarea>");
-		}
-	}
-
-	/**
-	 * Method renderTextElement.
-	 * 
-	 * @param textElement
-	 * @param sb
-	 */
-	private void renderTextElement(Form f, TextElement textElement, StringOutput sb, URLBuilder ubu) {
-		String val = textElement.getValue();
-		if (val == null) val = "";
-		String htmlVal = StringEscapeUtils.escapeHtml(val).toString();
-		if (f.isDisplayOnly()) {
-			sb.append(htmlVal);
-		} else if (textElement.isReadOnly()) {
-			appendReadOnly(htmlVal, sb);
-		} else {
-			PopupData popupData = textElement.getPopupData();
-			String cId = String.valueOf(textElement.hashCode());
-			sb.append("<input type=\"text\" id=\"").append(textElement.getName())
-					.append("\" name=\"").append(textElement.getName())
-					.append("\" value=\"").append(htmlVal).append("\" size=\"").append(textElement.getSize()).append("\" maxlength=\"")
-					.append(textElement.getMaxLength()).append("\" ")
-					.append("onkeypress=\"return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')\" ")
-					.append("onclick=\"return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')\" ").append("id=\"")
-					.append(JSELEMENTID).append(cId).append("\" />");
-			if (textElement.isUseDateChooser()) {
-				// date chooser button
-				sb.append("<span class=\"b_form_datechooser\" id=\"trigger_").append(textElement.getName()).append("\" title=\"").append(StringEscapeUtils.escapeHtml(f.getTranslator().translate("calendar.choose"))).append("\">&nbsp;</span>");
-				// date chooser javascript
-				sb.append("<script type=\"text/javascript\">").append("Calendar.setup({").append("inputField:\"").append(textElement.getName()).append("\",").append("ifFormat:\"");
-				if (textElement.getDateChooserDateFormat() == null) {
-					// use default format from default locale file
-					Formatter formatter = Formatter.getInstance(f.getTranslator().getLocale());
-					if (textElement.isDateChooserTimeEnabled()) sb.append(formatter.getSimpleDatePatternForDateAndTime());
-					else sb.append(formatter.getSimpleDatePatternForDate());
-
-				} else {
-					// use custom date format
-					sb.append(textElement.getDateChooserDateFormat());
-				}
-				sb.append("\",").append("button:\"trigger_").append(textElement.getName()).append("\",").append("align:\"Tl\",").append(
-						"singleClick:false,");
-				if (textElement.isDateChooserTimeEnabled()) {
-					sb.append("showsTime:true,");
-					sb.append("timeFormat:\"24\",");
-				}
-				sb.append("cache:true,").append("firstDay:1,").append("showOthers:true,");
-				// Call on change method on input field to trigger dirty button
-				sb.append("onUpdate:function(){setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}");
-				// Finish js code				
-				sb.append("});").append("</script>");
-			}
-			if (popupData != null) {
-				String text = StringEscapeUtils.escapeHtml(f.getTranslator().translate(popupData.getButtonlabelkey()));
-				// javascript:{win=window.open('../media/script/Popup/06_01Strassen.html?olatraw=true','webclass_popup','toolbar=no,location=no,directories=0,status=no,menubar=0,scrollbars=yes,resizable=yes,width=650,height=550');win.focus();}
-				sb.append("<a href=\"javascript:{win=window.open('");
-				ubu.buildURI(sb, new String[] { Form.ELEM_BUTTON_COMMAND_ID }, new String[] { popupData.getButtonaction() });
-				sb.append("','olatpopup','toolbar=no,location=no,directories=0,status=no,menubar=0,scrollbars=yes,resizable=yes,width=")
-				  .append(popupData.getPopupwidth()).append(",height=").append(popupData.getPopupheight())
-				  .append("');win.focus();}\" title=\"").append(text).append("\" class=\"b_form_genericchooser\"></a>");
-			}
-		}
-	}
-
-	/**
-	 * Method renderPasswordElement.
-	 * 
-	 * @param pe
-	 * @param sb
-	 */
-	private void renderPasswordElement(Form f, PasswordElement pe, StringOutput sb) {
-		String val = new String(pe.getValue().replaceAll(".", "*"));
-		if (f.isDisplayOnly()) {
-			sb.append(val);
-		} else if (pe.isReadOnly()) {
-			appendReadOnly(val, sb);
-		} else {
-			String uniqueId = JSELEMENTID+pe.hashCode();
-			sb.append("<input type=\"password\" name=\"").append(pe.getName()).append("\" size=\"").append(pe.getSize()).append("\" id=\"").append(uniqueId)
-					.append("\" maxlength=\"").append(pe.getMaxLength()).append("\" onchange=\"return setFormDirty('").append(JSFORMID).append(
-							f.hashCode()).append("')\" onclick=\"return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')\" />");
-		}
-	}
-
-	private void renderLink(Form f, LinkElement le, Translator translator, StringOutput sb) {
-		StringBuffer linkSB = new StringBuffer();
-		String url = le.getURL();
-		if (url == null) {
-			url = "http://";
-		} else if (!url.startsWith("http")) {
-			url = "http://" + le.getURL();
-		}
-		String uniqueId = JSELEMENTID+le.hashCode();
-		linkSB.append("<a href=\"").append(url).append("\" class=\"b_link_extern\" target=\"_blank\">");
-		linkSB.append(le.getLinkName());
-		linkSB.append("</a>");		
-		if (f.isDisplayOnly()) {
-			sb.append(linkSB.toString());
-		} else if (le.isReadOnly()) {
-			appendReadOnly(linkSB.toString(), sb);
-		} else {
-			sb.append("<input name=\"").append(le.getName()).append("\" size=\"").append(32)
-			.append("\" maxlength=\"").append(265).append("\" onchange=\"return setFormDirty('").append(JSFORMID).append(
-					f.hashCode()).append("')\" onclick=\"return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')\" value=\"");
-			sb.append(url);
-			sb.append("\" id=\"").append(uniqueId).append("\"/>");
-		}
-	}
-
-	
-	
-	private void appendReadOnly(String text, StringOutput sb) {
-		sb.append(READONLYA);
-		sb.append(text);
-		sb.append(READONLYB);
-	}
-
-	private void renderStaticTextElement(StaticTextElement staticTextElement, StringOutput sb) {
-		String val = staticTextElement.getValue();
-		sb.append(StringEscapeUtils.escapeHtml(val)); // 
-
-	}
-
-	private void renderStaticHTMLTextElement(StaticHTMLTextElement staticTextElement, StringOutput sb) {
-		sb.append(staticTextElement.getValue());
-
-	}
-
-	private void renderLabel(FormElement formElement, StringOutput sb, Translator translator) {
-		String labelKey = formElement.getLabelKey();
-		if (labelKey != null) {
-			sb.append(translator.translate(labelKey) + ":");
-		}
-	}
-
-	private void renderRadioButtonGroup(Form f, RadioButtonGroupElement rbge, Translator translator, StringOutput sb) {
-		int cnt = rbge.getSize();
-		if (rbge.getSelected() == -1) throw new AssertException("no selection at render time");
-		sb.append("<div id=\"").append(JSELEMENTID+rbge.hashCode()).append("\">");
-		if (f.isDisplayOnly()) {
-			int sel = rbge.getSelected();
-			String val = rbge.getValue(sel);
-			if (val == null) throw new AssertException("value in readonly mode of radiobutton group (" + rbge.getName() + ") was null, selPos = "
-					+ rbge.getSelected());
-			sb.append(StringEscapeUtils.escapeHtml(val).toString());
-			
-		} else {
-			String subStrName = "name=\"" + rbge.getName() + "\"";
-			for (int i = 0; i < cnt; i++) {
-				String key = rbge.getKey(i);
-				String value = rbge.getValue(i);
-				boolean selected = rbge.isSelected(i);
-				sb.append("<input type=\"radio\" class=\"b_radio\" " + subStrName + " value=\"");
-				sb.append(key);
-				sb.append("\"");
-				if (selected) sb.append(" checked=\"checked\"");
-				if (rbge.isReadOnly()) {
-					sb.append(" disabled=\"disabled\"");
-				} else {
-					sb.append(" onclick=\"{checkform");
-					sb.append(f.getComponentName());
-					sb.append("();");
-					sb.append("return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\" onchange=\"{checkform");
-					sb.append(f.getComponentName());
-					sb.append("();");
-					sb.append("return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\"");
-				}
-				sb.append(" />");
-				if (!rbge.isHTMLIsAllowed()) {
-				sb.append(StringEscapeUtils.escapeHtml(value));
-				} else {
-					sb.append(value);
-				}
-				sb.append("&nbsp;&nbsp;");
-				if (rbge.renderVertical()) sb.append("<br />");
-			}
-		}
-		sb.append("</div>");
-	}
-
-	private void renderDropDown(Form f, SingleSelectionElement sse, StringOutput sb) {
-		int cnt = sse.getSize();
-		sb.append("<div id=\"").append(JSELEMENTID+sse.hashCode()).append("\">");
-		if (f.isDisplayOnly()) {
-			int sel = sse.getSelected();
-			String val = sse.getValue(sel);
-			if (val == null) throw new AssertException("value in readonly mode of drop-down list (" + sse.getName() + ") was null, selPos = "
-					+ sse.getSelected());
-			sb.append(StringEscapeUtils.escapeHtml(val).toString());
-			
-		} else {
-			sb.append("<select name=\"");
-			sb.append(sse.getName());
-			sb.append("\"");
-			if (sse.isReadOnly()) {
-				sb.append(" disabled=\"disabled\"");
-			} else {
-				sb.append(" onchange=\"{checkform");
-				sb.append(f.getComponentName());
-				sb.append("();");
-				sb.append("return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\"");
-			}
-			sb.append(">");
-			for (int i = 0; i < cnt; i++) {
-				String key = sse.getKey(i);
-				String value = sse.getValue(i);
-				boolean selected = sse.isSelected(i);
-				sb.append("<option value=\"");
-				sb.append(key);
-				sb.append("\" ");
-				if (selected) sb.append("selected=\"selected\"");
-				sb.append(">");
-				sb.append(StringEscapeUtils.escapeHtml(value));
-				sb.append("</option>");
-			}
-			sb.append("</select>");
-		}
-		sb.append("</div>");
-	}
-
-	/*
-	 * private void renderRadioButtons(SelectionElement se, StringOutput sb) {
-	 * String name = se.getName(); int cnt = se.getSize(); for (int i = 0; i <
-	 * cnt; i++) { String key = se.getKey(i); String value = se.getValue(i);
-	 * boolean selected = se.isSelected(i); sb.append("<input type=\"radio\"
-	 * name=\""); sb.append(name); sb.append("\" value=\""); sb.append(key);
-	 * sb.append("\""); if (selected) { sb.append(" checked=\"checked\""); }
-	 * sb.append("> "); sb.append(value); sb.append("<br />"); } }
-	 */
-
-	private void renderCheckBox(Form f, CheckBoxElement cbe, StringOutput sb, Translator translator) {
-		String labelKey = cbe.getLabelKey();
-		String label = translator.translate(labelKey);
-		boolean checked = cbe.isChecked();
-		sb.append("<input type=\"checkbox\" class=\"b_checkbox\" name=\"");
-		sb.append(cbe.getName());
-		sb.append("\" value=\"");
-		sb.append(StringEscapeUtils.escapeHtml(label));
-		sb.append("\"");
-		if (checked) sb.append(" checked=\"checked\"");		
-		if (cbe.isReadOnly()) {
-			sb.append(" disabled=\"disabled\"");
-		} else {
-			sb.append(" onchange=\"{checkform");
-			sb.append(f.getComponentName());
-			sb.append("();");
-			sb.append("return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\" onclick=\"{checkform");
-			sb.append(f.getComponentName());
-			sb.append("();");
-			sb.append("return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\" ");
-		}
-		sb.append(" id=\"").append(JSELEMENTID+cbe.hashCode()).append("\"/>");
-	}
-
-	/**
-	 * Method renderCheckBoxes.
-	 * 
-	 * @param me
-	 * @param sb
-	 */
-	private void renderCheckBoxes(Form f, MultipleSelectionElement me, Translator translator, StringOutput sb) {
-		String name = me.getName();
-		int cnt = me.getSize();
-		sb.append("<div id=\"").append(JSELEMENTID+me.hashCode()).append("\">");
-		for (int i = 0; i < cnt; i++) {
-			String key = me.getKey(i);
-			String value = me.getValue(i);
-			boolean selected = me.isSelected(i);
-			sb.append("<input type=\"checkbox\" class=\"b_checkbox\" name=\"");
-			sb.append(name);
-			sb.append("\" value=\"");
-			sb.append(key);
-			sb.append("\"");
-			if (selected) sb.append(" checked=\"checked\"");
-			if (me.isReadOnly()) {
-				sb.append(" disabled=\"disabled\"");
-			} else {
-				sb.append(" onchange=\"{checkform");
-				sb.append(f.getComponentName());
-				sb.append("();");
-				sb.append("return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\" onclick=\"{checkform");
-				sb.append(f.getComponentName());
-				sb.append("();");
-				sb.append("return setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\"");
-			}
-			sb.append(" /> ");
-			sb.append(StringEscapeUtils.escapeHtml(value));
-			sb.append("<br />");
-		}
-		if (me.enableCheckAll() && !me.isReadOnly()) { // add check/uncheck link
-			sb.append("<div class=\"b_form_togglecheck\">");
-			sb.append("<a href=\"#\" onclick=\"javascript:{b_form_toggleCheck(document.");
-			sb.append(f.getComponentName() + "." + name);
-			sb.append(", true);setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\"><input type=\"checkbox\" class=\"b_checkbox\" checked=\"checked\" disabled=\"disabled\" />&nbsp;");
-			sb.append(translator.translate("form.checkall"));
-			sb.append("</a>");
-
-			sb.append("<br /><a href=\"#\" onclick=\"javascript:{b_form_toggleCheck(document.");
-			sb.append(f.getComponentName() + "." + name);
-			sb.append(", false);setFormDirty('").append(JSFORMID).append(f.hashCode()).append("')}\"><input type=\"checkbox\" class=\"b_checkbox\" disabled=\"disabled\" />&nbsp;");
-			sb.append(translator.translate("form.uncheckall"));
-			sb.append("</a>");
-			sb.append("</div>");
-		}
-		sb.append("</div>");
-	}
-
-	/**
-	 * @see org.olat.core.gui.render.ui.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)
-	 */
-	public void renderHeaderIncludes(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu, Translator transll,
-			RenderingState rstate) {
-		/*
-		 * no longer needed here as js gets included by Form component for ajax compatibilty
-		
-		// FIXME:fj:a remove translator from interface, use source.getTranslator
-		// instead
-		Form f = (Form) source;
-		// add date chooser java script when in edit only mode
-		if (!f.isDisplayOnly()) {
-			Iterator it_formelemnames = f.getNameIterator();
-			while (it_formelemnames.hasNext()) {
-				String name = (String) it_formelemnames.next();
-				FormElement fe = f.getFormElement(name);
-				// only check on elements that are not set to readonly and
-				// are of type text element
-				if (!fe.isReadOnly() && fe instanceof TextElement) {
-					TextElement tel = (TextElement) fe;
-					// if this text element uses a date chooser add date chooser java
-					// script libraries
-					if (tel.isUseDateChooser()) {
-
-						// only include this css and the .js once (loading the same .js file
-						// more than once is unnecessary and gives javascript errors
-						Object alreadyIncluded = rstate.getRenderInfo(this, "date_js");
-						if (alreadyIncluded == null) {
-							// the first time -> include
-							rstate.putRenderInfo(this, "date_js", new Object());
-
-							sb.append("<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"");
-							String fontSize = renderer.getGlobalSettings().getFontSize();
-							Renderer.renderNormalURI(sb, "raw/css/jscalendar-" + fontSize + ".css");
-							sb.append("\" title=\"jscalendarcss\">\n").append("<script type=\"text/javascript\" src=\"");
-							Renderer.renderNormalURI(sb, "raw/js/jscalendar/calendar.js");
-							sb.append("\"></script>\n").append("<script type=\"text/javascript\" src=\"");
-							Renderer.renderNormalURI(sb, "raw/js/jscalendar/lang/calendar-");
-							sb.append(source.getTranslator().getLocale().getLanguage()).append(".js\"></script>\n").append(
-									"<script type=\"text/javascript\" src=\"");
-							Renderer.renderNormalURI(sb, "raw/js/jscalendar/calendar-setup.js");
-							sb.append("\"></script>\n");
-							// finished, date chooser is initialized, skip all other elements
-							break;
-						} // else omit output of css and js includes
-					}
-				}
-			}
-			if (!f.isDisplayOnly()) {
-				sb.append("<script type=\"text/javascript\">\n");
-				sb.append("function checkform").append(f.getComponentName()).append("(){\n");
-				renderElementVisibilityDependencyRules(f, sb);
-				sb.append("}</script>\n");
-
-			}
-
-		}
-		
-		*/
-	}
-
-	/**
-	 * @see org.olat.core.gui.render.ui.ComponentRenderer#renderBodyOnLoadJSFunctionCall(org.olat.core.gui.render.Renderer,
-	 *      org.olat.core.gui.render.StringOutput, org.olat.core.gui.components.Component)
-	 */
-	public void renderBodyOnLoadJSFunctionCall(Renderer renderer, StringOutput sb, Component source, RenderingState rstate) {
-		StringBuffer tmp = new StringBuffer();
-		Form f = (Form) source;
-		String foName = f.getComponentName();
-		FormElement focusElem = null, mandatoryElem = null, firstElem = null;
-		// PRE: f.isVisible() ensured by renderer
-		if (!f.isValid() && !f.isDisplayOnly()) {
-			// focus on first error, or on the first element if there is no error
-			Iterator it_formelemnames = f.getNameIterator();
-			while (it_formelemnames.hasNext()) { // guaranteed correct order since
-																						// linkedhashmap
-				String name = (String) it_formelemnames.next();
-				FormElement fe = f.getFormElement(name);
-				if (!fe.isReadOnly()) {
-					if (firstElem == null) firstElem = fe;
-					if (fe.isError()) {
-						focusElem = fe;
-						break;
-					} else if (fe.isMandatory()) {
-						if (mandatoryElem == null) mandatoryElem = fe; // focus first
-																														// mandatory element
-					}
-				}
-			}
-			if (focusElem == null) {
-				// no error, set focus on mandatory element
-				focusElem = (mandatoryElem == null ? firstElem : mandatoryElem);
-			}
-			// may still be null if a form has no formelements (e.g. msg plus ok
-			// button)
-			if (focusElem != null) {
-				String feName = focusElem.getName();
-				tmp.append("\nvar form =  document.forms[\"").append(foName).append("\"]; if (form) form.elements[\"").append(feName).append("\"]");
-				if (focusElem instanceof RadioButtonGroupElement) tmp.append("[0]");
-				//on array elements select first entry
-				tmp.append(".focus();\n");
-			}
-		} // else: do not focus on valid forms
-
-		// Init visibility rules on all selection elements if form not in display
-		// only mode
-		if (!f.isDisplayOnly()) {
-			tmp.append("checkform").append(f.getComponentName()).append("();\n");
-		}
-		
-		// Add try catch - maybe form not found or other error
-		if (tmp.length() > 0) {
-			sb.append("try{");
-			sb.append(tmp.toString());
-			sb.append("}catch(e){");
-			sb.append("if (B_AjaxLogger.isDebugEnabled()) B_AjaxLogger.logDebug(e.message, 'FormRenderer:renderBodyOnLoadJSFunctionCall');");
-			sb.append("}");	
-		}
-	}
-
-	private void renderElementVisibilityDependencyRules(Form f, StringOutput sb) {
-		List rules = f.getVisibilityDependsOnSelectionRules();
-		Iterator iter = rules.iterator();
-		while (iter.hasNext()) {
-			VisibilityDependsOnSelectionRule rule = (VisibilityDependsOnSelectionRule) iter.next();
-			FormElement dependentElement = rule.getDependentElement();
-			SelectionElement selection = rule.getSelectionElement();
-			String resetValueOrig = rule.getResetValue();
-			String resetValue = null;
-			if (resetValueOrig != null) {
-				// quote return caracters to fill into js variable
-				resetValue = resetValueOrig.replaceAll("\n", "\\\\n");
-				resetValue = resetValue.replaceAll("\r", "\\\\n");
-			}
-			sb.append("b_form_updateFormElementVisibility('")
-			.append(f.getComponentName())
-			.append("','")
-			.append(selection.getName())
-			.append("','")
-			.append(dependentElement.getName())
-			.append("','")
-			.append(rule.getVisibilityRuleValue())
-			.append("',")
-			.append(String.valueOf(rule.isVisibilityRuleResult()))
-			.append(",\"")
-			.append(resetValue)
-			.append("\",")
-			.append(String.valueOf(rule.isHideDisabledElements()))
-			.append(",")
-			.append(String.valueOf(rule.isPreventOppositeAction()))
-			.append(");\n");
-		}
-	}
-
-}
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 934fb40ea74f24f6df88a632306fe801fb6f75d7..023eb275c748b21d60e6f305d30cd78601435976 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
@@ -26,11 +26,11 @@
 
 package org.olat.core.gui.components.tree;
 
+import org.apache.commons.lang.StringEscapeUtils;
 import org.olat.core.gui.GUIInterna;
 import org.olat.core.gui.components.Component;
 import org.olat.core.gui.components.ComponentRenderer;
 import org.olat.core.gui.components.form.Form;
-import org.olat.core.gui.components.form.FormRenderer;
 import org.olat.core.gui.control.winmgr.AJAXFlags;
 import org.olat.core.gui.render.RenderResult;
 import org.olat.core.gui.render.Renderer;
@@ -39,7 +39,6 @@ import org.olat.core.gui.render.StringOutput;
 import org.olat.core.gui.render.URLBuilder;
 import org.olat.core.gui.translator.Translator;
 import org.olat.core.util.tree.TreeHelper;
-import org.apache.commons.lang.StringEscapeUtils;
 
 /**
  * enclosing_type Description: <br>
@@ -120,7 +119,7 @@ public class SelectionTreeRenderer implements ComponentRenderer {
 		if (iframePostEnabled) {
 			ubu.appendTarget(target);
 		}
-		target.append(" id=\"").append(FormRenderer.JSFORMID).append(tree.hashCode()).append("\"");
+		target.append(" id=\"").append(Form.JSFORMID).append(tree.hashCode()).append("\"");
 		target.append(">");
 		// append root node
 		renderRootNode(root, target);
@@ -128,10 +127,10 @@ public class SelectionTreeRenderer implements ComponentRenderer {
 		if (root.getChildCount() != 0) {
 			renderChildNodes(root, "", tree.hashCode(), tree.isMultiselect(), tree.getGreyOutNonSelectableEntries(), tree.isShowAltTextAsHoverOnTitle(), target, tree);
 			if (tree.isMultiselect() && atLeastOneIsAccessible) {
-				target.append("<div class=\"b_togglecheck\"><a href=\"javascript:checkall(true);setFormDirty('").append(FormRenderer.JSFORMID).append(tree.hashCode()).append("');\">");
+				target.append("<div class=\"b_togglecheck\"><a href=\"javascript:checkall(true);setFormDirty('").append(Form.JSFORMID).append(tree.hashCode()).append("');\">");
 				target.append("<input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" />");
 				target.append(translator.translate("checkall"));
-				target.append("</a>&nbsp;<a href=\"javascript:checkall(false);setFormDirty('").append(FormRenderer.JSFORMID).append(tree.hashCode()).append("\');\">");
+				target.append("</a>&nbsp;<a href=\"javascript:checkall(false);setFormDirty('").append(Form.JSFORMID).append(tree.hashCode()).append("\');\">");
 				target.append("<input type=\"checkbox\" disabled=\"disabled\" />");
 				target.append(translator.translate("uncheckall"));
 				target.append("</a></div>");
@@ -223,8 +222,8 @@ public class SelectionTreeRenderer implements ComponentRenderer {
 				} else {
 					sb.append(child.getIdent());
 				}
-				sb.append("\" onchange=\"return setFormDirty('").append(FormRenderer.JSFORMID).append(treeID).append("')\" ");
-				sb.append(" onclick=\"return setFormDirty('").append(FormRenderer.JSFORMID).append(treeID).append("')\" />");
+				sb.append("\" onchange=\"return setFormDirty('").append(Form.JSFORMID).append(treeID).append("')\" ");
+				sb.append(" onclick=\"return setFormDirty('").append(Form.JSFORMID).append(treeID).append("')\" />");
 			}
 			// node title (using css if available)
 			String cssClass = child.getCssClass();
diff --git a/src/main/java/org/olat/core/gui/formelements/AbstractFormElement.java b/src/main/java/org/olat/core/gui/formelements/AbstractFormElement.java
deleted file mode 100644
index 496b8cde13fccf82568164165b6e3f9037f38b56..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/AbstractFormElement.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-import org.olat.core.gui.translator.Translator;
-
-/**
- * enclosing_type Description: <br>
- * 
- * @author Felix Jost
- */
-public abstract class AbstractFormElement implements FormElement {
-	private String name;
-	private String error;
-	private String errorKey;
-	private String[] errorKeyParams;
-	private String labelKey;
-	private String example;
-	private boolean readOnly;
-	private boolean mandatory;
-	private boolean visualMarkIsOn;
-
-	/**
-	 * @see org.olat.core.gui.formelements.FormElement#setName(java.lang.String)
-	 */
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.FormElement#getName()
-	 */
-	public String getName() {
-		return name;
-	}
-	
-	/**
-	 * Set a translated error message.
-	 * @param error
-	 */
-	public void setError(String error) {
-		clearError();
-		this.error = error;
-	}
-
-	/**
-	 * @return a translated error message.
-	 * @see org.olat.core.gui.formelements.FormElement#getError(org.olat.core.gui.translator.Translator)
-	 */
-	public String getError(Translator translator) {
-		if (error != null) {
-			return error;
-		} else {
-			return translator.translate(errorKey, errorKeyParams);
-		}
-	}
-
-	/**
-	 * Set an error translation key.
-	 * @param errorKey
-	 * @see org.olat.core.gui.formelements.FormElement#setErrorKey(java.lang.String)
-	 */
-	public void setErrorKey(String errorKey) {
-		clearError();
-		this.errorKey = errorKey;
-	}
-
-	/**
-	 * Error translation key with parameters to be set in the translation.
-	 * 
-	 * @param errorKey
-	 * @param params
-	 * @see org.olat.core.gui.formelements.FormElement#setErrorKeyWithParams(java.lang.String,
-	 *      java.lang.String[])
-	 */
-	public void setErrorKeyWithParams(String errorKey, String[] params) {
-		clearError();
-		this.errorKey = errorKey;
-		this.errorKeyParams = params;
-	}
-
-	/**
-	 * @return true if an error or error key was set.
-	 * @see org.olat.core.gui.formelements.FormElement#isError()
-	 */
-	public boolean isError() {
-		return errorKey != null || error != null;
-	}
-
-	/**
-	 * Clear the error message. After that <code>isError()</code> returns
-	 * <code>false</code>.
-	 * 
-	 * @see org.olat.core.gui.formelements.FormElement#clearError()
-	 */
-	public void clearError() {
-		error = null;
-		errorKey = null;
-		errorKeyParams = null;
-	}
-	
-	/**
-	 * @return String
-	 */
-	public String getLabelKey() {
-		return labelKey;
-	}
-
-	/**
-	 * Sets the labelKey.
-	 * 
-	 * @param labelKey The labelKey to set
-	 */
-	public void setLabelKey(String labelKey) {
-		this.labelKey = labelKey;
-	}
-
-	/**
-	 * Returns the readOnly.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isReadOnly() {
-		return readOnly;
-	}
-
-	/**
-	 * Sets the readOnly.
-	 * 
-	 * @param readOnly The readOnly to set
-	 */
-	public void setReadOnly(boolean readOnly) {
-		this.readOnly = readOnly;
-	}
-
-	/**
-	 * Returns the mandatory.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isMandatory() {
-		return mandatory;
-	}
-
-	/**
-	 * Sets the mandatory.
-	 * 
-	 * @param mandatory The mandatory to set
-	 */
-	public void setMandatory(boolean mandatory) {
-		this.mandatory = mandatory;
-	}
-
-	/**
-	 * Returns an optional element example
-	 * 
-	 * @return The example
-	 */
-	public String getExample() {
-		return example;
-	}
-
-	/**
-	 * Sets the optional element example
-	 * 
-	 * @param string The example
-	 */
-	public void setExample(String string) {
-		example = string;
-	}
-
-	
-	/**
-	 * @see org.olat.core.gui.formelements.FormElement#getVisualMarked()
-	 */
-	public boolean getVisualMarked() {
-		return visualMarkIsOn;
-	}
-	
-	/**
-	 * @see org.olat.core.gui.formelements.FormElement#setVisualMarked(boolean)
-	 */
-	public void setVisualMarked(boolean on) {
-		this.visualMarkIsOn = on;
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/AbstractTextElement.java b/src/main/java/org/olat/core/gui/formelements/AbstractTextElement.java
deleted file mode 100644
index 62cece4b73619ae199a19f8b99b3b990cfb45dd3..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/AbstractTextElement.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-import org.olat.core.logging.AssertException;
-
-/**
- * Initial Date:  Apr 20, 2004
- *
- * @author gnaegi
- * 
- * Comment:  
- * Base class that implements common methods used in TextElements, 
- * TextAreaElements and PasswordElements. 
- */
-public abstract class AbstractTextElement extends AbstractFormElement {
-
-  	private String original;
-	private String value;
-	private boolean clean = false;
-	private PopupData popupData; 
-	
-	/**
-	 * @return String
-	 */
-	public String getValue() {
-		if (!clean && value != null) {
-			/**
-			 * unicode line separator can break OLAT ajax or any other js string
-			 */
-			value = value.replaceAll("\u2028", "");
-			clean = true;
-		}
-		return value != null ? value : "" ;
-	}
-
-	/**
-	 * Sets the value. if null is given, an empty string is assumed.
-	 * @param value The value to set
-	 */
-	public void setValue(String value) {
-		if (value == null) value="";
-		else {
-		    // Remember original value for dirty evaluation. 
-		    // null value is not regarded as initial value. only 
-		    // real values are used inital values 
-		    if (original == null) original = new String(value);
-		}
-		/**
-		 * unicode line separator can break OLAT ajax or any other js string
-		 */
-		this.value = value.replaceAll("\u2028", "");
-		}
-
-	/**
-	 * @param errorKey
-	 * @return
-	 */
-	public boolean notEmpty(String errorKey) {
-		if (value == null || value.equals("")) {
-			setErrorKey(errorKey); return false;
-		}
-		else {
-			clearError(); return true;
-		}
-	}
-	
-	/**
-	 * 
-	 * @param maxLength
-	 * @param errorKey
-	 * @return
-	 */
-	public boolean notLongerThan(int maxLength, String errorKey){
-		if (value.length() > maxLength){
-			setErrorKey(errorKey); return false;
-		}
-		else {
-			clearError(); return true;
-		}
-		
-	}
-	
-	
-	/**
-	 * compares a text value with another value
-	 * @param otherValue
-	 * @param errorKey
-	 * @return true if they are equal
-	 */
-	public boolean isEqual(String otherValue, String errorKey){
-		if (value == null || !value.equals(otherValue)) {
-			setErrorKey(errorKey); return false;
-		}
-		else {
-			return true;
-		}
-	}
-	
-	/**
-	 * Check if the text element is empty
-	 * @return boolean true if is empty, false otherwhise
-	 */
-	public boolean isEmpty() {
-		return value.equals("");	
-	}
-	
-	/**
-	 * Check if the text element is empty
-	 * @param errorKey
-	 * @return boolean true if is empty, false otherwhise
-	 */
-	public boolean isEmpty(String errorKey) {
-		if (isEmpty()) {
-			setErrorKey(errorKey);
-			return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * @param regExp
-	 * @param errorKey
-	 * @return
-	 */
-	public boolean matches(String regExp, String errorKey) {
-		if (value == null || !value.matches(regExp)) {
-			setErrorKey(errorKey);
-			return false;
-		}
-		else { 
-			return true;
-		}
-	}
-	/** (non-Javadoc)
-	 * @see org.olat.core.gui.formelements.FormElement#setValues(java.lang.String[])
-	 */
-	public void setValues(String[] values) {
-		if (isReadOnly()) throw new AssertException("setting a readonly field:"+getName());
-		if (values == null) throw new AssertException("no text (not even empty) for field:"+getName());
-		if (values.length != 1) throw new AssertException("got multiple values for field:"+getName());
-		setValue(values[0]);
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.FormElement#isDirty()
-	 */
-	public boolean isDirty(){
-	    if (original == null) {
-	        if (value == null || value.equals("")) return false;
-	        return true;
-	    }
-	    return (original.equals(value)) ? false : true;
-	}
-	
-	/**
-	 * @return
-	 */
-	public PopupData getPopupData() {
-		return popupData;
-	}
-	
-	/**
-	 * if set, a button will be placed to the right of the textelement. the buttons labelKey, the command/action of the button, 
-	 * the id of the textelement, and the width and height of the popup window are determined by the attributes in popupData
-	 * @param popupData
-	 */
-	public void setPopupData(PopupData popupData) {
-		this.popupData = popupData;
-	}
-}
diff --git a/src/main/java/org/olat/core/gui/formelements/CheckBoxElement.java b/src/main/java/org/olat/core/gui/formelements/CheckBoxElement.java
deleted file mode 100644
index fdb463a6388eee37671801413b01e760269f84bb..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/CheckBoxElement.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-import org.olat.core.logging.AssertException;
-
-/**
- * Description: <br>
- * 
- * @author Felix Jost
- */
-public class CheckBoxElement extends AbstractFormElement {
-	private boolean checked;
-	private Boolean original;
-
-	/**
-	 * @param labelKey
-	 * 
-	 */
-	public CheckBoxElement(String labelKey) {
-		this(labelKey, false);
-	}
-
-	/**
-	 * @param labelKey
-	 * @param checked
-	 */
-	public CheckBoxElement(String labelKey, boolean checked) {
-		setLabelKey(labelKey);
-		setChecked(checked);
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.FormElement#setValues(java.lang.String[])
-	 */
-	public void setValues(String[] values) {
-		if (values == null) {
-			setChecked(false);
-		} else {
-			if (values.length != 1) throw new AssertException("got multiple values for checkbox field:" + getName());
-			// value is not interesting, since this is a single checkbox as a
-			// formelement
-			setChecked(true);
-		}
-	}
-
-	/**
-	 * Sets the checked.
-	 * 
-	 * @param checked The checked to set
-	 */
-	public void setChecked(boolean checked) {
-		this.checked = checked;
-		if (original == null) original = new Boolean(checked);
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isChecked() {
-		return checked;
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.FormElement#isDirty()
-	 */
-	public boolean isDirty() {
-		return (original != null && original.booleanValue() == checked) ? false : true;
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/DateElement.java b/src/main/java/org/olat/core/gui/formelements/DateElement.java
deleted file mode 100644
index 2f62e57aeb9079dd1a15ff019303dec987d7625b..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/DateElement.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Locale;
-
-/**
- * Description: <br>
- * 
- * @author Felix Jost
- */
-public class DateElement extends TextElement {
-
-	private Locale locale;
-	private String customDateFormat = null;
-	private DateFormat df;
-
-	/**
-	 * @param labelKey
-	 * @param date
-	 * @param locale to produce the dateformat fitting to the locale
-	 */
-	public DateElement(String labelKey, Date date, Locale locale) {
-		super(labelKey, null, false, 11, 10); // max input size is 10
-		this.locale = locale;
-		setDate(date);
-		setUseDateChooser(true); // uses date chooser by default
-		setDateChooserTimeEnabled(false); //date without time
-	}
-	
-	/**
-	 * @param labelKey
-	 * @param date
-	 * @param customDateFormat e.g. "dd.MM.yyyy HH:mm", see java.text.SimpleDateFormat
-	 */
-	public DateElement(String labelKey, Date date, String customDateFormat) {
-		super(labelKey, null, false, customDateFormat.length() + 1, customDateFormat.length()); // max input size is 10
-		this.customDateFormat = customDateFormat;
-		setDate(date);
-		setUseDateChooser(true); // uses date chooser by default
-		setDateChooserTimeEnabled(false); //date without time
-	}
-
-	/**
-	 * @param labelKey
-	 * @param locale
-	 */
-	public DateElement(String labelKey, Locale locale) {
-		this(labelKey, null, locale);
-	}
-
-	/**
-	 * @param errorKey
-	 * @return true if valid
-	 */
-	public boolean validDate(String errorKey) {
-		String val = getValue();
-		if (val == null) return false;
-		if (getDate() != null) {
-			clearError();
-			return true;
-		} else {
-			setErrorKey(errorKey);
-			return false;
-		}
-	}
-
-	/**
-	 * @return the date or null if the value is not valid (parsed with
-	 *         DateFormat.getDateInstance(DateFormat.SHORT, locale), or with new
-	 *         SimpleDateFormat(customDataFormat))
-	 */
-	public Date getDate() {
-		Date d = null;
-		try {
-			d = getDateFormat().parse(getValue());
-		} catch (ParseException e) {
-			// return null
-		}
-		return d;
-	}
-
-	/**
-	 * @param date
-	 */
-	public void setDate(Date date) {
-		if (date == null) {
-			setValue("");
-		} else {
-			setValue(formatDate(date));
-		}
-	}
-
-	/**
-	 * @return an example date as string
-	 */
-	public String getExampleDate() {
-		String example = getDateFormat().format(new Date());
-		return example;
-	}
-
-	private String formatDate(Date date) {
-		String da = getDateFormat().format(date);
-		return da;
-	}
-	
-	private DateFormat getDateFormat() {
-		if (df == null) {
-			if (customDateFormat == null) {
-				df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
-				df.setLenient(false);
-			} else {
-				df = new SimpleDateFormat(customDateFormat);
-				df.setLenient(false);
-			}
-		}
-		return df;
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/FormElement.java b/src/main/java/org/olat/core/gui/formelements/FormElement.java
deleted file mode 100644
index 126cba4bdbc6c58ce4256324614d0e42202388f7..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/FormElement.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-import org.olat.core.gui.translator.Translator;
-
-/**
- * @author Felix Jost
- */
-public interface FormElement {
-	/**
-	 * @param name
-	 */
-	public void setName(String name);
-
-	/**
-	 * @return
-	 */
-	public String getName();
-
-	/**
-	 * Set a translated error message.
-	 * @param error
-	 */
-	public void setError(String error);
-	
-	/**
-	 * Set an error translation key.
-	 * @param errorKey
-	 */
-	public void setErrorKey(String errorKey);
-	
-	/**
-	 * Error translation key with parameters to be set in the translation.
-	 * 
-	 * @param errorKey
-	 * @param params
-	 */
-	public void setErrorKeyWithParams(String errorKey, String[] params);
-	
-	/**
-	 * @return a translated error message
-	 */
-	public String getError(Translator translator);
-
-	/**
-	 * @return true if an error or error key was set. 
-	 */
-	public boolean isError();
-	
-
-	/**
-	 * Clear the error message. After that <code>isError()</code> returns
-	 * <code>false</code>.
-	 */
-	public void clearError();
-
-	/**
-	 * // if the parameter is missing (values == null), ignore (this may be if a
-	 * formelement is readonly e.g.) H: formelement not readonly
-	 * 
-	 * @param values
-	 */
-	public void setValues(String[] values);
-
-	/**
-	 * @return
-	 */
-	public String getLabelKey();
-
-	/**
-	 * @param labelKey
-	 */
-	public void setLabelKey(String labelKey);
-
-	/**
-	 * @return
-	 */
-	public boolean isReadOnly();
-
-	/**
-	 * @param readOnly
-	 */
-	public void setReadOnly(boolean readOnly);
-
-	/**
-	 * @return
-	 */
-	public boolean isMandatory();
-
-	/**
-	 * @param mandatory
-	 */
-	public void setMandatory(boolean mandatory);
-
-	/**
-	 * @return
-	 */
-	public String getExample();
-
-	/**
-	 * @return
-	 */
-	public boolean isDirty();
-	
-	void setVisualMarked(boolean on);
-	boolean getVisualMarked();
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/HTMLTextAreaElement.java b/src/main/java/org/olat/core/gui/formelements/HTMLTextAreaElement.java
deleted file mode 100644
index 8bb866eaf1402bc22eecea001d817d8436b4d4d3..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/HTMLTextAreaElement.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-
-/**
-* @author Felix Jost
-*/
-public class HTMLTextAreaElement extends TextAreaElement {
-
-	/**
-	 * @param labelKey
-	 * @param rows
-	 * @param cols
-	 */
-	public HTMLTextAreaElement(String labelKey, int rows, int cols) {
-		super(labelKey, rows, cols, "");
-	}
-
-	/**
-	 * @param labelKey
-	 * @param rows
-	 * @param cols
-	 * @param value
-	 */
-	public HTMLTextAreaElement(String labelKey, int rows, int cols, String value) {
-		super(labelKey, rows, cols, value);
-	}
-
-}
diff --git a/src/main/java/org/olat/core/gui/formelements/IntegerElement.java b/src/main/java/org/olat/core/gui/formelements/IntegerElement.java
deleted file mode 100644
index 34260d212b04996975f42228a738cfaa35ba5c53..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/IntegerElement.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-import org.olat.core.logging.OLATRuntimeException;
-
-/**
-* @author Felix Jost
-*/
-public class IntegerElement extends TextElement {
-
-
-	private int intvalue;
-	private boolean checked;
-
-	/**
-	 * @param labelKey
-	 * @param intvalue
-	 * @param size
-	 */
-	public IntegerElement(String labelKey, int intvalue, int size) {
-		super(labelKey, ""+intvalue, false,  size, size);
-		this.intvalue = intvalue;
-	}
-
-	/**
-	 * @param labelKey
-	 * @param intvalue
-	 */
-	public IntegerElement(String labelKey, int intvalue) {
-		super(labelKey, ""+intvalue, false, 20, 20);
-		this.intvalue = intvalue;
-	}
-	
-	/**
-	 * @param labelKey
-	 */
-	public IntegerElement(String labelKey) {
-			super(labelKey,"", false, 20, 20);
-			this.intvalue = 0;
-	}
-	
-	/**
-	 * @param errorKey
-	 * @return
-	 */
-	public boolean isInteger(String errorKey) {
-		String val = getValue();
-		boolean ok = false;
-		try {
-			this.intvalue = Integer.parseInt(val);
-			clearError();
-			ok = true;
-			this.checked = true;
-		}
-		catch (NumberFormatException nfe) {
-			setErrorKey(errorKey);
-		}
-		return ok;
-	}
-	
-	/**
-	 * Make sure you called isInteger prior to this method. Otherwhise the invalue is invalid
-	 * and a runtime exception will be thrown
-	 * @return int
-	 */
-	public int getIntvalue() {
-	    if (this.checked)
-	        return intvalue;
-	    else
-	        throw new OLATRuntimeException(IntegerElement.class, 
-                "You must call isInteger() in the form validate method prior to calling getIntvalue!", null);
-	}
-
-	/**
-	 * Sets the intvalue.
-	 * @param intvalue The intvalue to set
-	 */
-	public void setIntvalue(int intvalue) {
-		this.intvalue = intvalue;
-		super.setValue(new StringBuilder().append(intvalue).toString());
-	}
-
-}
diff --git a/src/main/java/org/olat/core/gui/formelements/KeyValue.java b/src/main/java/org/olat/core/gui/formelements/KeyValue.java
deleted file mode 100644
index 098daf99fee3044bac958c0b32ca5ff460697bab..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/KeyValue.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-
-/**
- * @author Felix Jost
- */
-public interface KeyValue {
-	/**
-	 * @return
-	 */
-	String getKey();
-
-	/**
-	 * @return
-	 */
-	String getValue();
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/KeyValueImpl.java b/src/main/java/org/olat/core/gui/formelements/KeyValueImpl.java
deleted file mode 100644
index 7681086758d280aa3b75a987b9a66759166684fe..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/KeyValueImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-/**
- * @author Felix Jost
- */
-public class KeyValueImpl implements KeyValue {
-	private String key, value;
-
-	/**
-	 * Constructor for KeyValue.
-	 */
-	public KeyValueImpl() {
-		super();
-	}
-
-	/**
-	 * Constructor for KeyValueImpl.
-	 * 
-	 * @param key
-	 * @param value
-	 */
-	public KeyValueImpl(String key, String value) {
-		if (key == null || value == null) throw new RuntimeException("key or value null in KeyValue:key " + key + ", val" + value);
-		this.key = key;
-		this.value = value;
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.KeyValue#getKey()
-	 */
-	public String getKey() {
-		return key;
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.KeyValue#getValue()
-	 */
-	public String getValue() {
-		return value;
-	}
-
-}
-
diff --git a/src/main/java/org/olat/core/gui/formelements/LinkElement.java b/src/main/java/org/olat/core/gui/formelements/LinkElement.java
deleted file mode 100644
index 1abe7915d5f6c64c2b77d784d97890a4c4b5883b..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/LinkElement.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-/**
- * Initial Date: 08.08.2003
- * @author Mike Stock Comment:
- */
-public class LinkElement extends AbstractFormElement {
-
-	private String URL;
-	private String linkName;
-	private String origUrl, origLinkName;
-
-	/**
-	 * @param labelKey
-	 * @param URL
-	 * @param linkName
-	 */
-	public LinkElement(String labelKey, String URL, String linkName) {
-		this.setLabelKey(labelKey);
-		this.setURL(URL);
-		this.setLinkName(linkName);
-	}
-
-	/**
-	 * Ignore
-	 * 
-	 * @param values
-	 */
-	public void setValues(String[] values) {
-	//
-	}
-
-	/**
-	 * @return
-	 */
-	public String getURL() {
-		return URL;
-	}
-
-	/**
-	 * @param string
-	 */
-	public void setURL(String string) {
-		URL = string;
-		// Remember original value for dirty evaluation
-		if (origUrl == null) origUrl = new String(string);
-	}
-
-	/**
-	 * @return
-	 */
-	public String getLinkName() {
-		return linkName;
-	}
-
-	/**
-	 * @param string
-	 */
-	public void setLinkName(String string) {
-		linkName = string;
-		// Remember original value for dirty evaluation
-		if (origLinkName == null) origLinkName = new String(string);
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.FormElement#isDirty()
-	 */
-	public boolean isDirty() {
-		if (origLinkName.equals(linkName) && origUrl.equals(URL)) return false;
-		return true;
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/MultipleSelectionElement.java b/src/main/java/org/olat/core/gui/formelements/MultipleSelectionElement.java
deleted file mode 100644
index bcc3892900e24a386b87fdd36c2756d7bb5eda36..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/MultipleSelectionElement.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-import java.util.Set;
-
-/**
- * @author Felix Jost
- */
-public interface MultipleSelectionElement extends SelectionElement {
-
-	/**
-	 * @return a Set of Strings
-	 */
-	public Set getSelectedKeys();
-
-	/**
-	 * @param how many
-	 * @param errorKey
-	 * @return
-	 */
-	public boolean isAtLeastSelected(int howmany, String errorKey);
-
-	/**
-	 * Whether to provide comfort function where the user can enable/disable all
-	 * elements with a single click.
-	 * 
-	 * @return
-	 */
-	public boolean enableCheckAll();
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/PasswordElement.java b/src/main/java/org/olat/core/gui/formelements/PasswordElement.java
deleted file mode 100644
index dee337853727a0e2db812eb43d05b4987326cb67..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/PasswordElement.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-/**
- * @author Felix Jost
- */
-public class PasswordElement extends TextElement {
-
-	/**
-	 * Constructor for PasswordElement.
-	 * 
-	 * @param labelKey
-	 * @param maxLength
-	 */
-	public PasswordElement(String labelKey, int maxLength) {
-		this(labelKey, 30, maxLength);
-	}
-
-	/**
-	 * Constructor for PasswordElement
-	 * 
-	 * @param labelKey
-	 * @param size
-	 * @param maxLength
-	 */
-	public PasswordElement(String labelKey, int size, int maxLength) {
-		super(labelKey, null, false, size, maxLength);
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/PopupData.java b/src/main/java/org/olat/core/gui/formelements/PopupData.java
deleted file mode 100644
index 0c56ed0a02ffb5bf958f8b0015dd9e0d9fd113b6..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/PopupData.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-/**
- * 
- * Initial Date: 06.10.2004
- * @author Felix Jost
- */
-public class PopupData {
-	private String textelementId, buttonaction, buttonlabelkey;
-	private int popupwidth, popupheight;
-
-	/**
-	 * @param textelementId
-	 * @param buttonaction
-	 * @param buttonlabelkey
-	 * @param popupwidth
-	 * @param popupheight
-	 */
-	public PopupData(String textelementId, String buttonaction, String buttonlabelkey, int popupwidth, int popupheight) {
-		this.textelementId = textelementId;
-		this.buttonaction = buttonaction;
-		this.buttonlabelkey = buttonlabelkey;
-		this.popupwidth = popupwidth;
-		this.popupheight = popupheight;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getButtonaction() {
-		return buttonaction;
-	}
-
-	/**
-	 * @param buttonaction
-	 */
-	public void setButtonaction(String buttonaction) {
-		this.buttonaction = buttonaction;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getButtonlabelkey() {
-		return buttonlabelkey;
-	}
-
-	/**
-	 * @param buttonlabelkey
-	 */
-	public void setButtonlabelkey(String buttonlabelkey) {
-		this.buttonlabelkey = buttonlabelkey;
-	}
-
-	/**
-	 * @return
-	 */
-	public int getPopupheight() {
-		return popupheight;
-	}
-
-	/**
-	 * @param popupheight
-	 */
-	public void setPopupheight(int popupheight) {
-		this.popupheight = popupheight;
-	}
-
-	/**
-	 * @return
-	 */
-	public int getPopupwidth() {
-		return popupwidth;
-	}
-
-	/**
-	 * @param popupwidth
-	 */
-	public void setPopupwidth(int popupwidth) {
-		this.popupwidth = popupwidth;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getTextelementId() {
-		return textelementId;
-	}
-
-	/**
-	 * @param textelementId
-	 */
-	public void setTextelementId(String textelementId) {
-		this.textelementId = textelementId;
-	}
-}
-
diff --git a/src/main/java/org/olat/core/gui/formelements/RadioButtonGroupElement.java b/src/main/java/org/olat/core/gui/formelements/RadioButtonGroupElement.java
deleted file mode 100644
index ba17ab571cd23a0409cf34115ee5d3608998a7cd..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/RadioButtonGroupElement.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-
-/**
- * Radio buttons are static single selection elements that are rendered as
- * a radio button group instead of a drop down list
- * <P>
- * Initial Date: Aug 6, 2004
- * @author patrick
- * @author BPS (<a href="http://www.bps-system.de/">BPS Bildungsportal Sachsen GmbH</a>)
- */
-
-public class RadioButtonGroupElement extends StaticSingleSelectionElement {
-
-	boolean renderVertical;
-	/**
-	 * noLabel means, that there will be no decription text left of
-	 * the radio buttons. You can use this in a scenario like this:
-	 * 
-	 * Description	StaticHTMLElement describes something
-	 * 
-	 * 							O ThisIsThe1stoption
-	 * 							O ThisIsThe2ndOption
-	 * 							O ThisIsThe3rdOption
-	 * 
-	 * As you see, there is no second description since the HTML text already
-	 * described everything. Used e,g, in external page config form. 
-	 * 
-	 */
-	boolean noLabel;
-	/**
-	 * If HTML is allowed, HTML Tags from LocalStrings will not be escaped,
-	 */
-	boolean HTMLIsAllowed;
-
-	/**
-	 * 
-	 * @param renderVertical
-	 * @param labelKey
-	 * @param keys
-	 * @param values
-	 */
-	public RadioButtonGroupElement(boolean renderVertical, String labelKey, String[] keys, String[] values) {
-		super(labelKey, keys, values);
-		this.renderVertical = renderVertical;
-		this.noLabel = false;
-		this.HTMLIsAllowed = false;
-	}
-
-	/**
-	 * @return true if radio buttons should be rendered vertical
-	 */
-	public boolean renderVertical() {
-		return renderVertical;
-	}
-
-	/**
-	 * @return Returns true if no description should be displayed.
-	 */
-	public boolean isNoLabel() {
-		return noLabel;
-	}
-
-	/**
-	 * @param noLabel Set to true if no description should be displayed.
-	 */
-	public void setNoLabel(boolean noDescription) {
-		this.noLabel = noDescription;
-	}
-
-	/**
-	 * @return Returns true, if HTML should be displayed (and therefore not be escaped).
-	 */
-	public boolean isHTMLIsAllowed() {
-		return HTMLIsAllowed;
-	}
-
-	/**
-	 * @param isAllowed Set this to true, if HTML should be displayed (and therefore not be escaped).
-	 */
-	public void setHTMLIsAllowed(boolean isAllowed) {
-		HTMLIsAllowed = isAllowed;
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/SelectionElement.java b/src/main/java/org/olat/core/gui/formelements/SelectionElement.java
deleted file mode 100644
index ded4c03a90b84348e93fd3430c4f663b7d6cdc25..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/SelectionElement.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-
-/**
- * @author Felix Jost
- */
-public interface SelectionElement extends FormElement {
-
-	/**
-	 * @param which
-	 * @return String
-	 */
-	public String getKey(int which);
-
-	/**
-	 * @param which
-	 * @return String 
-	 */
-	public String getValue(int which);
-
-	/**
-	 * @return integer
-	 */
-	public int getSize();
-
-	/**
-	 * @param which
-	 * @return boolean 
-	 */
-	public boolean isSelected(int which);
-
-	/**
-	 * @param key
-	 * @param select
-	 */
-	public void select(String key, boolean select);
-	
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/SingleSelectionElement.java b/src/main/java/org/olat/core/gui/formelements/SingleSelectionElement.java
deleted file mode 100644
index 084f572d8cae96240a82d16d169891fb31aa2a2e..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/SingleSelectionElement.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-/**
- * @author Felix Jost
- */
-public interface SingleSelectionElement extends SelectionElement {
-
-	/**
-	 * @return
-	 */
-	public String getSelectedKey();
-
-	/**
-	 * @return
-	 */
-	public boolean isOneSelected();
-
-	/**
-	 * @return
-	 */
-	public int getSelected();
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/SpacerElement.java b/src/main/java/org/olat/core/gui/formelements/SpacerElement.java
deleted file mode 100644
index 3a6cde1284c6f9a4deb54be2c4bada1270cc8475..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/SpacerElement.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-/**
- * @author Felix Jost
- */
-public class SpacerElement extends AbstractFormElement {
-
-	private boolean hr, br;
-
-	/**
-	 * 
-	 */
-	public SpacerElement() {
-		this(true, false);
-	}
-
-	/**
-	 * @param hr
-	 * @param br
-	 */
-	public SpacerElement(boolean hr, boolean br) {
-		setLabelKey(null);
-		this.hr = hr;
-		this.br = br;
-		super.setReadOnly(true);
-	}
-
-	/**
-	 * the spacer ignores setValues
-	 * 
-	 * @see org.olat.core.gui.formelements.FormElement#setValues(java.lang.String[])
-	 */
-	public void setValues(String[] values) {
-	//
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isBr() {
-		return br;
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isHr() {
-		return hr;
-	}
-
-	/**
-	 * @param b
-	 */
-	public void setBr(boolean b) {
-		br = b;
-	}
-
-	/**
-	 * @param b
-	 */
-	public void setHr(boolean b) {
-		hr = b;
-	}
-
-	/**
-	 * 
-	 * @see org.olat.core.gui.formelements.FormElement#setReadOnly(boolean)
-	 */
-	public void setReadOnly(boolean readOnly) {
-		// ignore, since we are always readonly
-	}
-	
-	/**
-	 * @see org.olat.core.gui.formelements.FormElement#isDirty()
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/StaticHTMLTextElement.java b/src/main/java/org/olat/core/gui/formelements/StaticHTMLTextElement.java
deleted file mode 100644
index f0d8b9d47fe611fd427fde6500a0351324420d84..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/StaticHTMLTextElement.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-/**
- * statictextelement is like a textelement, but can never be edited
- *
- * @author Felix Jost
- */
-public class StaticHTMLTextElement extends TextElement {
-
-	
-
-	/**
-	 * Constructor for StaticTextElement.
-	 * @param labelKey
-	 * @param value
-	 * @param maxLength
-	 */
-	public StaticHTMLTextElement(String labelKey, String value, int maxLength) {
-		super(labelKey, value, maxLength);
-	}
-	
-	/**
-	 * ignore setValues, since it can never be edited
-	 * @see org.olat.core.gui.formelements.FormElement#setValues(String[])
-	 */
-	public void setValues(String[] values) {
-    //
-	}
-
-}
diff --git a/src/main/java/org/olat/core/gui/formelements/StaticMultipleSelectionElement.java b/src/main/java/org/olat/core/gui/formelements/StaticMultipleSelectionElement.java
deleted file mode 100644
index 21e5e5cd095e2cb234e6fae3cf4848e82fb6719c..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/StaticMultipleSelectionElement.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.olat.core.logging.AssertException;
-import org.olat.core.logging.OLATRuntimeException;
-
-/**
- * @author Felix Jost
- */
-public class StaticMultipleSelectionElement extends AbstractFormElement implements MultipleSelectionElement {
-	private String[] values;
-	private String[] keys;
-	private Set selected;
-	private boolean enableCheckAll;
-
-
-	/**
-	 * @param labelKey
-	 * @param keys
-	 * @param values
-	 * @param enableCheckAll
-	 */
-	public StaticMultipleSelectionElement(String labelKey, String[] keys, String[] values, boolean enableCheckAll) {
-		this.keys = keys;
-		this.values = values;
-		this.enableCheckAll = enableCheckAll;
-		setLabelKey(labelKey);
-		selected = new HashSet();
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.SelectionElement#getKey(int)
-	 */
-	public String getKey(int which) {
-		return keys[which];
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.SelectionElement#getValue(int)
-	 */
-	public String getValue(int which) {
-		return values[which];
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.SelectionElement#getSize()
-	 */
-	public int getSize() {
-		return keys.length;
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.SelectionElement#isSelected(int)
-	 */
-	public boolean isSelected(int which) {
-		String key = getKey(which);
-		return selected.contains(key);
-	}
-
-	/**
-	 * input: keys of selected checkboxes
-	 * 
-	 * @see org.olat.core.gui.formelements.FormElement#setValues(java.lang.String[])
-	 */
-	public void setValues(String[] values) {
-		selected = new HashSet(3);
-		if (values == null) return; // no selection made (no checkbox activated) ->
-		// selection is empty
-		// H: values != null
-		for (int i = 0; i < values.length; i++) {
-			String key = values[i];
-			// prevent introducing fake keys
-			int ksi = keys.length;
-			boolean foundKey = false;
-			int j = 0;
-			while (!foundKey && j < ksi) {
-				String eKey = keys[j];
-				if (eKey.equals(key)) foundKey = true;
-				j++;
-			}
-			if (!foundKey) throw new AssertException("submitted key '"+key+"' was not found in the keys of formelement named "+this.getName()+" , keys="+Arrays.asList(keys));
-			selected.add(key);
-		}
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.MultipleSelectionElement#getSelectedKeys()
-	 */
-	public Set getSelectedKeys() {
-		return selected;
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.MultipleSelectionElement#isAtLeastSelected(int,
-	 *      java.lang.String)
-	 */
-	public boolean isAtLeastSelected(int howmany, String errorKey) {
-		boolean ok = selected.size() >= howmany;
-		if (!ok) setErrorKey(errorKey);
-		return ok;
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.SelectionElement#select(java.lang.String,
-	 *      boolean)
-	 */
-	public void select(String key, boolean select) {
-		if (select) {
-			selected.add(key);
-		} else {
-			selected.remove(key);
-		}
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.FormElement#isDirty()
-	 */
-	public boolean isDirty() {
-		throw new OLATRuntimeException(StaticMultipleSelectionElement.class, "isDirty not implemented for StaticMultipleSelectionElement", null);
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.MultipleSelectionElement#enableCheckAll()
-	 */
-	public boolean enableCheckAll() {
-		return enableCheckAll;
-	}
-	
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/StaticSingleSelectionElement.java b/src/main/java/org/olat/core/gui/formelements/StaticSingleSelectionElement.java
deleted file mode 100644
index 67f3788a018bdc502b8352b7a9e161495fa9425e..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/StaticSingleSelectionElement.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-import org.olat.core.logging.AssertException;
-import org.olat.core.logging.OLATRuntimeException;
-import org.olat.core.util.Util;
-import org.olat.core.util.i18n.I18nManager;
-
-/**
- * @author Felix Jost
- */
-public class StaticSingleSelectionElement extends AbstractFormElement implements SingleSelectionElement {
-	// use the default i18n package for "IE post no postdata when ssl timeout - message"
-	private static final String PACKAGE = Util.getPackageName(I18nManager.class);
-	
-	
-	private String[] values;
-	private String[] keys;
-	private int selected = -1;
-	private int original = -1;
-
-	/**
-	 * @param labelKey
-	 * @param keys
-	 * @param values
-	 */
-	public StaticSingleSelectionElement(String labelKey, String[] keys, String[] values) {
-		this.keys = keys;
-		this.values = values;
-		setLabelKey(labelKey);
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.SelectionElement#getKey(int)
-	 */
-	public String getKey(int which) {
-		return keys[which];
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.SelectionElement#getValue(int)
-	 */
-	public String getValue(int which) {
-		return values[which];
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.SelectionElement#getSize()
-	 */
-	public int getSize() {
-		return keys.length;
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.SelectionElement#isSelected(int)
-	 */
-	public boolean isSelected(int which) {
-		return which == selected;
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.FormElement#setValues(java.lang.String[])
-	 */
-	public void setValues(String[] values) {
-		if (values == null) { // no selection made (possible for radioboxes, but not
-			// for dropdown list) -> selected = -1
-			//selected = -1;
-			throw new OLATRuntimeException(StaticSingleSelectionElement.class, "error.noformpostdata", null, PACKAGE, "no value submitted!, name of element:"+getName(), null);
-		}
-		if (values.length != 1) throw new AssertException("got multiple values in singleselectionelement:" + getName());
-		String key = values[0];
-		selected = findPosByKey(key);
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.SingleSelectionElement#getSelectedKey()
-	 */
-	public String getSelectedKey() {
-		if (selected == -1) throw new AssertException("no key selected");
-		return getKey(selected);
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.SingleSelectionElement#isOneSelected()
-	 */
-	public boolean isOneSelected() {
-		return selected != -1;
-	}
-
-	/**
-	 * Returns the selected.
-	 * 
-	 * @return int
-	 */
-	public int getSelected() {
-		return selected;
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.SelectionElement#select(java.lang.String,
-	 *      boolean)
-	 */
-	public void select(String key, boolean select) {
-		if (select) selected = findPosByKey(key);
-		else selected = -1;
-		// Remember original selection for dirty evaluation
-		if (original == -1) original = selected;
-	}
-
-	private int findPosByKey(String key) {
-		int iSelected = -1;
-		boolean found = false;
-		for (int i = 0; !found && i < keys.length; i++) {
-			if (key.equals(keys[i])) {
-				found = true;
-				iSelected = i;
-			}
-		}
-		if (!found) throw new RuntimeException("could not find key " + key);
-		return iSelected;
-	}
-
-	/**
-	 * 
-	 *
-	 */
-	public void SingleSelectionElement() {
-	//
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.FormElement#isDirty()
-	 */
-	public boolean isDirty() {
-		return (original == selected) ? false : true;
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/StaticTextElement.java b/src/main/java/org/olat/core/gui/formelements/StaticTextElement.java
deleted file mode 100644
index c817f662b8a53f74f5d843804a2540ce70cf9fa1..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/StaticTextElement.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-/**
- * statictextelement is like a textelement, but can never be edited
- * 
- * @author Felix Jost
- */
-public class StaticTextElement extends TextElement {
-
-	/**
-	 * Constructor for StaticTextElement.
-	 * 
-	 * @param labelKey, this key is used by the language file to find a
-	 *          translation
-	 * @param value
-	 */
-	public StaticTextElement(String labelKey, String value) {
-		super(labelKey, value, 10000); // field is readonly
-		setReadOnly(true);
-	}
-
-	/**
-	 * ignore setValues, since it can never be edited
-	 * 
-	 * @see org.olat.core.gui.formelements.FormElement#setValues(String[])
-	 */
-	public void setValues(String[] values) {
-	//
-	}
-
-	/**
-	 * overridden to always return true
-	 * 
-	 * @return
-	 */
-	public boolean isReadOnly() {
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/TextAreaElement.java b/src/main/java/org/olat/core/gui/formelements/TextAreaElement.java
deleted file mode 100644
index 91e4ada62bff2feeba74d03e1e8a678582e0722d..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/TextAreaElement.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-/**
- * @author Felix Jost
- */
-public class TextAreaElement extends AbstractTextElement {
-
-	private int cols;
-	private int rows;
-
-	/**
-	 * @param labelKey
-	 * @param rows
-	 * @param cols
-	 */
-	public TextAreaElement(String labelKey, int rows, int cols) {
-		this(labelKey, rows, cols, "");
-	}
-
-	/**
-	 * @param labelKey
-	 * @param rows
-	 * @param cols
-	 * @param value
-	 */
-	public TextAreaElement(String labelKey, int rows, int cols, String value) {
-		setLabelKey(labelKey);
-		setValue(value);
-		this.rows = rows;
-		this.cols = cols;
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getCols() {
-		return cols;
-	}
-
-	/**
-	 * @return int
-	 */
-	public int getRows() {
-		return rows;
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/TextElement.java b/src/main/java/org/olat/core/gui/formelements/TextElement.java
deleted file mode 100644
index d3f6e9f0c0997b6377042d5ac32338a8df395c87..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/TextElement.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-import org.olat.core.logging.AssertException;
-
-/**
- * @author Felix Jost
- */
-public class TextElement extends AbstractTextElement {
-
-	private int size;
-	private int maxLength;
-	private boolean useDateChooser;
-	private boolean dateChooserTimeEnabled;
-	private String dateChooserDateFormat;
-
-	/**
-	 * Constructor for TextElement. use the constructor TextElement(String
-	 * labelKey, String value) instead by giving the inital value
-	 * 
-	 * @param labelKey the lable key
-	 * @param maxLength
-	 */
-	public TextElement(String labelKey, int maxLength) {
-		this(labelKey, "", maxLength);
-	}
-
-	/**
-	 * Constructor for TextElement
-	 * 
-	 * @param labelKey The lable key
-	 * @param value The initial value
-	 * @param maxLength
-	 */
-	public TextElement(String labelKey, String value, int maxLength) {
-		this(labelKey, value, false, maxLength);
-	}
-
-	/**
-	 * @param labelKey
-	 * @param value
-	 * @param mandatory
-	 * @param maxLength
-	 */
-	public TextElement(String labelKey, String value, boolean mandatory, int maxLength) {
-		this(labelKey, value, mandatory, 30, maxLength);
-	}
-
-	/**
-	 * @param labelKey
-	 * @param value
-	 * @param mandatory
-	 * @param size
-	 * @param maxLength
-	 */
-	public TextElement(String labelKey, String value, boolean mandatory, int size, int maxLength) {
-		setSize(size);
-		setMaxLength(maxLength);
-		setValue(value);
-		setLabelKey(labelKey);
-		setMandatory(mandatory);
-	}
-
-	/**
-	 * Sets the value. if null is given, empty string is assumed. If the value ha
-	 * a length longer than maxLenth a OLATRuntimeException is thrown
-	 * 
-	 * @param value The value to set
-	 * @throws OLATRuntimeException if value.length > maxLength
-	 */
-	public void setValue(String value) {
-		if (value != null && value.length() > this.maxLength) { throw new AssertException("Value of TextElement(name:"+getName()+")(" + value.length()
-				+ ") was longer than allowed maxLength (" + this.maxLength + ")"); }
-		super.setValue(value);
-	}
-
-	/**
-	 * @return Returns the maxLength.
-	 */
-	public int getMaxLength() {
-		return maxLength;
-	}
-
-	/**
-	 * @param maxLength The maxLength to set.
-	 */
-	public void setMaxLength(int maxLength) {
-		this.maxLength = maxLength;
-	}
-
-	/**
-	 * @return Returns the size.
-	 */
-	public int getSize() {
-		return size;
-	}
-
-	/**
-	 * @param size The size to set.
-	 */
-	public void setSize(int size) {
-		this.size = size;
-	}
-
-	/**
-	 * @return true if date chooser should be used
-	 */
-	public boolean isUseDateChooser() {
-		return useDateChooser;
-	}
-
-	/**
-	 * @param useDateChooser true if date chooser should be used
-	 */
-	public void setUseDateChooser(boolean useDateChooser) {
-		this.useDateChooser = useDateChooser;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getDateChooserDateFormat() {
-		return dateChooserDateFormat;
-	}
-
-	/**
-	 * @param dateChooserDateFormat
-	 */
-	public void setDateChooserDateFormat(String dateChooserDateFormat) {
-		this.dateChooserDateFormat = dateChooserDateFormat;
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isDateChooserTimeEnabled() {
-		return dateChooserTimeEnabled;
-	}
-
-	/**
-	 * @param dateChooserTimeEnabled
-	 */
-	public void setDateChooserTimeEnabled(boolean dateChooserTimeEnabled) {
-		this.dateChooserTimeEnabled = dateChooserTimeEnabled;
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/TitleElement.java b/src/main/java/org/olat/core/gui/formelements/TitleElement.java
deleted file mode 100644
index 2f0c3c15b66ee3710177732f05ff95754aa7b885..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/TitleElement.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-/**
- * @author Felix Jost
- */
-public class TitleElement extends AbstractFormElement {
-	private String titleKey;
-
-	/**
-	 * @param titleKey
-	 */
-	public TitleElement(String titleKey) {
-		this.titleKey = titleKey;
-		super.setReadOnly(true);
-	}
-
-	/**
-	 * the titleElement ignores setValues
-	 * @param values
-	 */
-	public void setValues(String[] values) {
-	//
-	}
-
-	/**
-	 * Returns the titleKey.
-	 * 
-	 * @return String
-	 */
-	public String getTitleKey() {
-		return titleKey;
-	}
-
-	/**
-	 * Sets the titleKey.
-	 * 
-	 * @param titleKey The titleKey to set
-	 */
-	/**
-	 * @param titleKey
-	 */
-	public void setTitleKey(String titleKey) {
-		this.titleKey = titleKey;
-	}
-	
-	/**
-	 * 
-	 * @see org.olat.core.gui.formelements.FormElement#setReadOnly(boolean)
-	 */
-	public void setReadOnly(boolean readOnly) {
-		// ignore, since we are always readonly
-	}
-
-	/**
-	 * @see org.olat.core.gui.formelements.FormElement#isDirty()
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/VisibilityDependsOnSelectionRule.java b/src/main/java/org/olat/core/gui/formelements/VisibilityDependsOnSelectionRule.java
deleted file mode 100644
index e0cf769a2ac1eb2f1e68d357e49b7d21a987d701..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/VisibilityDependsOnSelectionRule.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-/**
- * Description:<BR>
- * A form selection element can have a list of VisibilityDependsOnSelectionRules. Each of 
- * this rules in this list defines a visibility / editability constraint that does apply 
- * to another form elements when the value of the selection element changes. 
- * The rule consists of a value that must matched the form selections value. If the value 
- * matches, the form element will be changed to readOnly or readWrite depending on the 
- * visibilityRuleResul configuration.
- * <P>
- * Initial Date:  Dec 9, 2004
- *
- * @author gnaegi 
- * @author BPS (<a href="http://www.bps-system.de/">BPS Bildungsportal Sachsen GmbH</a>)
- */
-public class VisibilityDependsOnSelectionRule {
-	SelectionElement selectionElement;
-	FormElement dependentElement;
-	String visibilityRuleValue;
-	boolean visibilityRuleResult;
-	String resetValue;
-	boolean hideDisabledElements;
-	/**
-	 * If preventOppositeAction is set to true, then this rule only works for the given
-	 * direction and is ignored in the other case. E.g. if the rule is to hide an element
-	 * if something is true, then (with preventOppositeAction == true) it is not displayed
-	 * again, if this something changes from true to false.
-	 */
-	boolean preventOppositeAction;
-
-	/**
-	 * Constructor for a visibility-depends-on-selection rule. This rule describes
-	 * when the dependent element is editable
-	 * @param selectionElement The element that triggers the rule
-	 * @param dependentElement The dependent form element
-	 * @param visibilityRuleValue The selection value must match this value
-	 * @param visibilityRuleResult If a match exists this is the visibility rule
-	 * @param resetValue Value to be set on the dependent element when the visibilty is set 
-	 * to false (elements default value)
-	 * @param hideDisabledElements Configuration flag: true: disabled form elements should 
-	 * be removed from the GUI completely, false: disabled form elements will be disabled in the
-	 * GUI and appear greyed but still visible
-	 */
-	public VisibilityDependsOnSelectionRule(SelectionElement selectionElement, FormElement dependentElement, 
-			String visibilityRuleValue, boolean visibilityRuleResult, String resetValue, boolean hideDisabledElements) {
-		this(selectionElement, dependentElement, visibilityRuleValue, visibilityRuleResult, resetValue, hideDisabledElements, false);
-	}
-
-	/**
-	 * @return Returns the preventOppositeAction.
-	 */
-	public boolean isPreventOppositeAction() {
-		return preventOppositeAction;
-	}
-
-	/**
-	 * @param preventOppositeAction The preventOppositeAction to set.
-	 */
-	public void setPreventOppositeAction(boolean preventOppositeAction) {
-		this.preventOppositeAction = preventOppositeAction;
-	}
-
-	/**
-	 * Constructor for a visibility-depends-on-selection rule. This rule describes
-	 * when the dependent element is editable
-	 * @param selectionElement The element that triggers the rule
-	 * @param dependentElement The dependent form element
-	 * @param visibilityRuleValue The selection value must match this value
-	 * @param visibilityRuleResult If a match exists this is the visibility rule
-	 * @param resetValue Value to be set on the dependent element when the visibilty is set 
-	 * to false (elements default value)
-	 * @param hideDisabledElements Configuration flag: true: disabled form elements should 
-	 * be removed from the GUI completely, false: disabled form elements will be disabled in the
-	 * GUI and appear greyed but still visible
-	 */
-	public VisibilityDependsOnSelectionRule(SelectionElement selectionElement, FormElement dependentElement, 
-			String visibilityRuleValue, boolean visibilityRuleResult, String resetValue, boolean hideDisabledElements, boolean preventOppositeAction) {
-		super();
-		// some checks if valid configuration
-		if (dependentElement instanceof MultipleSelectionElement && hideDisabledElements == false) {
-			throw new AssertionError("Programming error: hideDisabledElements=false in VisibilityDependsOnSelectionRule for MultipleSelectionElement not supported. Set hideDisabledElements=true");
-		}
-		
-		this.selectionElement = selectionElement;
-		this.dependentElement = dependentElement;
-		this.visibilityRuleValue = visibilityRuleValue;
-		this.visibilityRuleResult = visibilityRuleResult;
-		this.resetValue = resetValue;
-		this.hideDisabledElements = hideDisabledElements;
-		this.preventOppositeAction = preventOppositeAction;
-	}
-
-	/**
-	 * @return The form element that triggers this rule
-	 */
-	public SelectionElement getSelectionElement() {
-		return selectionElement;
-	}
-	/**
-	 * @return The form element that depends on this rule
-	 */
-	public FormElement getDependentElement() {
-		return dependentElement;
-	}
-	/**
-	 * @return The value that must match the selection elements
-	 * value to make the rule active.
-	 */
-	public String getVisibilityRuleValue() {
-		return visibilityRuleValue;
-	}
-	/**
-	 * @return The result that should be applied when the rule matches
-	 */
-	public boolean isVisibilityRuleResult() {
-		return visibilityRuleResult;
-	}
-	/**
-	 * @return The value that should be set to the dependet element if the rule matches
-	 */
-	public String getResetValue() {
-		return resetValue;
-	}
-	
-	/**
-	 * @return boolean true: hide elements completely, false: only disable elements
-	 */
-	public boolean isHideDisabledElements() {
-		return hideDisabledElements;
-	}
-}
diff --git a/src/main/java/org/olat/core/gui/formelements/WikiMarkupTextAreaElement.java b/src/main/java/org/olat/core/gui/formelements/WikiMarkupTextAreaElement.java
deleted file mode 100644
index 6ecabf813e398c667621f1691a182b2c7b6dded2..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/WikiMarkupTextAreaElement.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-/**
- * Initial Date: Apr 8, 2004
- * 
- * @Deprecated The wiki markup area is no longer supported. In the legacy form
- *             infrastructure it's still there, but it won't be available in the
- *             new flexi forms. In flexi forms use the RichTextElement instead.
- * 
- * @author gnaegi
- */
-@Deprecated
-public class WikiMarkupTextAreaElement extends TextAreaElement {
-
-	/**
-	 * @param labelKey
-	 * @param rows
-	 * @param cols
-	 */
-	public WikiMarkupTextAreaElement(String labelKey, int rows, int cols) {
-		this(labelKey, rows, cols, "");
-	}
-
-	/**
-	 * @param labelKey
-	 * @param rows
-	 * @param cols
-	 * @param value
-	 */
-	public WikiMarkupTextAreaElement(String labelKey, int rows, int cols, String value) {
-		super(labelKey, rows, cols, value);
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/formelements/WikiMarkupTextAreaElementAutoSize.java b/src/main/java/org/olat/core/gui/formelements/WikiMarkupTextAreaElementAutoSize.java
deleted file mode 100644
index 1907b90d8d677625d40ac0f5b72bb90b9c93f9c6..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/gui/formelements/WikiMarkupTextAreaElementAutoSize.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.gui.formelements;
-
-/**
- * Description:<br>
- * TODO: guido Class Description for TextAreaElementAutoSize
- * 
- * @Deprecated The wiki markup area is no longer supported. In the legacy form
- *             infrastructure it's still there, but it won't be available in the
- *             new flexi forms. In flexi forms use the RichTextElement instead.
- * <P>
- * Initial Date:  Aug 15, 2006 <br>
- * @author guido
- */
-@Deprecated
-public class WikiMarkupTextAreaElementAutoSize extends TextAreaElement {
-
-	public WikiMarkupTextAreaElementAutoSize(String labelKey, int rows, int cols) {
-		super(labelKey, rows, cols, "");
-	}
-	
-	public WikiMarkupTextAreaElementAutoSize(String labelKey, int rows, int cols, String value) {
-		super(labelKey, rows, cols, value);
-	}
-
-}
diff --git a/src/main/java/org/olat/core/gui/render/velocity/VelocityRenderDecorator.java b/src/main/java/org/olat/core/gui/render/velocity/VelocityRenderDecorator.java
index 6f925bbc2b04e1acac8d3a8939f3b366d0c3e420..d34891a9ccf2835f32e030b102526fb7a9b2ab42 100644
--- a/src/main/java/org/olat/core/gui/render/velocity/VelocityRenderDecorator.java
+++ b/src/main/java/org/olat/core/gui/render/velocity/VelocityRenderDecorator.java
@@ -581,20 +581,6 @@ public class VelocityRenderDecorator {
 		return f.formatDateAndTime(date);
 	}
 
-	/**
-	 * Interpret this string using the radeox wiki markup language
-	 * 
-	 * @Deprecated The wiki markup area is no longer supported. In the legacy form
-	 *             infrastructure it's still there, but it won't be available in the
-	 *             new flexi forms. In flexi forms use the RichTextElement instead.
-	 * 
-	 * @param wikiMarkupString The original string written in radeox markup
-	 * @return String HTML formatted text
-	 */
-	@Deprecated
-	public String formatWikiMarkup(String wikiMarkupString) {
-		return Formatter.formatWikiMarkup(wikiMarkupString);
-	}
 
 	/**
 	 * Wrapp given html code with a wrapper an add code to transform latex
diff --git a/src/main/java/org/olat/core/util/Formatter.java b/src/main/java/org/olat/core/util/Formatter.java
index eab7e19c82eef31c0bfd24f6aba9a12d7ed9916c..fbe9dc162bd2e66689a7071a1b794ba57a2cd28b 100644
--- a/src/main/java/org/olat/core/util/Formatter.java
+++ b/src/main/java/org/olat/core/util/Formatter.java
@@ -41,12 +41,6 @@ import java.util.regex.Pattern;
 import org.apache.commons.lang.StringEscapeUtils;
 import org.olat.core.commons.chiefcontrollers.BaseChiefController;
 import org.olat.core.logging.LogDelegator;
-import org.radeox.api.engine.RenderEngine;
-import org.radeox.api.engine.context.InitialRenderContext;
-import org.radeox.api.engine.context.RenderContext;
-import org.radeox.engine.BaseRenderEngine;
-import org.radeox.engine.context.BaseInitialRenderContext;
-import org.radeox.engine.context.BaseRenderContext;
 
 /**
  * enclosing_type Description: <br>
@@ -57,19 +51,8 @@ import org.radeox.engine.context.BaseRenderContext;
 public class Formatter extends LogDelegator {
 
 	private Locale locale;
-	private static RenderEngine engineWithContext;
-	private static BaseRenderContext baseRenderContext;
 	
-	static {
-		InitialRenderContext initialContext = new BaseInitialRenderContext();
-		Locale loc = new Locale("olat", "olat");
-		initialContext.set(RenderContext.INPUT_LOCALE, loc);
-		initialContext.set(RenderContext.OUTPUT_LOCALE, loc);
-		initialContext.set(RenderContext.INPUT_BUNDLE_NAME, "radeox_markup_olat"); 
-		initialContext.set(RenderContext.OUTPUT_BUNDLE_NAME, "radeox_markup_olat"); 
-		engineWithContext = new BaseRenderEngine(initialContext);
-		baseRenderContext = new BaseRenderContext();
-	}
+	
 
 	/**
 	 * Constructor for Formatter.
@@ -510,64 +493,7 @@ public class Formatter extends LogDelegator {
 	}
 
 	
-	/**
-	 * renders wiki markup like _italic_ to XHTML see also www.radeox.org
-	 * @Deprecated The wiki markup area is no longer supported. In the legacy form
-	 *             infrastructure it's still there, but it won't be available in the
-	 *             new flexi forms. In flexi forms use the RichTextElement instead.
-	 * 
-	 * tested during migration and expanded to prevent radeox failures
-	 * 
-	 * @param originalText
-	 * @return result (rendered originalText) or null if originalText was null
-	 */
-	@Deprecated
-	public static String formatWikiMarkup(String oldValue) {
-		if (oldValue != null) {
-			String newValue = "";
-			// oldValue = oldValue.replaceAll("<>", "&lt;&gt;");
-			// oldValue = oldValue.replaceAll(Pattern.quote("[]"),
-			// "&#91;&#93;");
-
-			// prevent error with {$} interpreted as regexp
-			String marker1 = "piYie6Eigh0phafeiTuk4dahwahvoh7eedoegee2egh8xuj9phah8eop8iuk";
-			oldValue = oldValue.replaceAll(Pattern.quote("{$}"), marker1);
-
-			// \{code} will result in an error => convert
-			String marker2 = "RohbaeW7xahbohk8iewoo7thocaemaech2pahS8oe1UVohkohJiugaagaeco";
-			oldValue = oldValue.replaceAll(Pattern.quote("\\{code}"), marker2);
-
-			// radeox gets an error, if {code} is not a closed tag. prevent at
-			// least the case with one single statement.
-			int nrOfCodeStatements = countOccurrences(oldValue, "{code}");
-			String marker3 = "shagheiph6enieNo0theph9aique0EihoChae6ve2edie4Pohwaok8thaoda";
-			if (nrOfCodeStatements == 1) {
-				oldValue = oldValue.replaceAll(Pattern.quote("{code}"), marker3);
-			}
-			if (nrOfCodeStatements % 2 != 0 && nrOfCodeStatements != 1) {
-				Formatter fInst = Formatter.getInstance(new Locale("olat"));
-				fInst.log("There will be a Warning/NPE from Radeox soon, as there are not enough {code} statements in a text.");
-				fInst.log("Old value of text will be kept! " + oldValue);
-			}
-
-			//added for compatibility with wikimedia syntax used in the new wiki component. org.olat.core.gui.components.wiki.WikiMarkupComponent
-			//filters " ''' " for bold and " ''''' " for bold/italic
-			oldValue = oldValue.replaceAll("(^|>|[\\p{Punct}\\p{Space}]+)'{3}(.*?)'{3}([\\p{Punct}\\p{Space}]+|<|$)", "$1*$2*$3");
-			oldValue = oldValue.replaceAll("(^|>|[\\p{Punct}\\p{Space}]+)'{5}(.*?)'{5}([\\p{Punct}\\p{Space}]+|<|$)", "$1_*$2*_$3");
-			
-			// try-catch not usable, as Radeox doesn't throw an exception,
-			// it just prints warnings and returns unconverted value!
-			newValue = engineWithContext.render(oldValue, baseRenderContext);
-			
-			// convert back
-			newValue = newValue.replaceAll(marker1, Matcher.quoteReplacement("{$}"));
-			newValue = newValue.replaceAll(marker2, Matcher.quoteReplacement("\\{code}"));
-			newValue = newValue.replaceAll(marker3, Matcher.quoteReplacement("{code}"));
-
-			return newValue;
-		} else
-			return null;
-	}
+	
 			
   private static int countOccurrences(String arg1, String arg2) {
     int count = 0;
diff --git a/src/main/java/org/olat/core/util/radeox/AngelFilter.java b/src/main/java/org/olat/core/util/radeox/AngelFilter.java
deleted file mode 100644
index ac182f180aff9ff4841aa44819de1fd15206e1ee..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/AngelFilter.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- *  Initial Date:  Apr 14, 2004
- * 
- *  @author gnaegi
- *  
- *  Comment:  
- *  
- *  
- */
-public class AngelFilter extends RegexReplaceFilter {
-
-	/**
-	 * 
-	 */
-	public AngelFilter() {
-		super("(O:-\\)|O:\\)|o:-\\)|o:\\))(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"angel\" class=\"b_emoticons_angel\"/>");
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/util/radeox/AngryFilter.java b/src/main/java/org/olat/core/util/radeox/AngryFilter.java
deleted file mode 100644
index bd56f817ad7d08de7c0bb1bdda7c2b8421da09ed..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/AngryFilter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- *  Initial Date:  Apr 14, 2004
- * 
- *  @author gnaegi
- *  
- *  Comment:  
- *  
- *  
- */
-public class AngryFilter extends RegexReplaceFilter {
-
-	/**
-	 * 
-	 */
-	public AngryFilter() {
-		super("(:-@|:@)(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"angry\" class=\"b_emoticons_angry\"/>");
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/util/radeox/ConfusedFilter.java b/src/main/java/org/olat/core/util/radeox/ConfusedFilter.java
deleted file mode 100644
index f30f564df3632d94c399a9e5282a1da56690401b..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/ConfusedFilter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- *  Initial Date:  Apr 14, 2004
- * 
- *  @author gnaegi
- *  
- *  Comment:  
- *  
- *  
- */
-public class ConfusedFilter extends RegexReplaceFilter {
-
-	/**
-	 * 
-	 */
-	public ConfusedFilter() {
-		super("(:-S|:S|:-s|:s)(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"confused\" class=\"b_emoticons_confused\"/>");
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/util/radeox/CryFilter.java b/src/main/java/org/olat/core/util/radeox/CryFilter.java
deleted file mode 100644
index 363e468440103792453ca2c8257f651df0d4e70c..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/CryFilter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.core.util.radeox;
-
-import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- * Description:<br>
- * TODO: rhaag Class Description for CryFilter
- * 
- * <P>
- * Initial Date:  17.06.2009 <br>
- * @author rhaag
- */
-public class CryFilter extends RegexReplaceFilter {
-
-	public CryFilter(){
-		super(":-V", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"cry\" class=\"b_emoticons_cry\"/>");
-	}
-	
-}
diff --git a/src/main/java/org/olat/core/util/radeox/DevilFilter.java b/src/main/java/org/olat/core/util/radeox/DevilFilter.java
deleted file mode 100644
index 55d463293d8aeada13ed69a02305286123476df9..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/DevilFilter.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- *  Initial Date:  Apr 14, 2004
- * 
- *  @author gnaegi
- *  
- *  Comment:  
- *  
- *  
- */
-public class DevilFilter extends RegexReplaceFilter {
-
-	/**
-	 * 
-	 */
-	public DevilFilter() {
-		super("(]:-\\)|]:\\)|]:->)(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/emoticicons/devil.gif") + "\" alt=\"devil\" />");
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/util/radeox/EmbarrassedFilter.java b/src/main/java/org/olat/core/util/radeox/EmbarrassedFilter.java
deleted file mode 100644
index 6c5bfe4a8bc362f4295923ba69bd15d623526c2f..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/EmbarrassedFilter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- *  Initial Date:  Apr 14, 2004
- * 
- *  @author gnaegi
- *  
- *  Comment:  
- *  
- *  
- */
-public class EmbarrassedFilter extends RegexReplaceFilter {
-
-	/**
-	 * 
-	 */
-	public EmbarrassedFilter() {
-		super("(:-\\$|:\\$)(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"blushing\" class=\"b_emoticons_blushing\"/>");
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/util/radeox/ForumQuoteFilter.java b/src/main/java/org/olat/core/util/radeox/ForumQuoteFilter.java
deleted file mode 100644
index e707f405603c3b2c48a121a21d7275cb3b0e4978..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/ForumQuoteFilter.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- *  Initial Date:  Apr 14, 2004
- * 
- *  @author gnaegi
- *  
- *  Comment:  
- *  
- *  
- */
-public class ForumQuoteFilter extends RegexReplaceFilter {
-		/**
-		 *
-		 */
-		public ForumQuoteFilter() {
-			super("^(\\&#62;|\\&gt;|>)(.*?)$", "<blockquote class=\"b_quote\">$2</blockquote>");
-		}
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/util/radeox/GenericFilterForMigration.java b/src/main/java/org/olat/core/util/radeox/GenericFilterForMigration.java
deleted file mode 100644
index 8aff4e3ada180a66212b3849a05c75f02000ec49..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/GenericFilterForMigration.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.core.util.radeox;
-
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- * Description:<br>
- * TODO: rhaag Class Description for GenericFilterForMigration
- * 
- * <P>
- * Initial Date:  16.06.2009 <br>
- * @author rhaag
- */
-public class GenericFilterForMigration extends RegexReplaceFilter {
-	
-	public GenericFilterForMigration(){
-		super();
-	}
-}
diff --git a/src/main/java/org/olat/core/util/radeox/ItalicFilter.java b/src/main/java/org/olat/core/util/radeox/ItalicFilter.java
deleted file mode 100644
index 5ec13ffc04d1db8d0db1eb9990169f359952844c..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/ItalicFilter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- * Description:<br>
- * Italic filter that is added for compatibillity with the wikimedia synatx form
- * the WikiMarkupComponent. Filters " ''word-xy''  " and replaces it with <i>word-xy<i>
- * <P>
- * Initial Date: Jul 24, 2006 <br>
- * 
- * @author guido
- */
-public class ItalicFilter extends RegexReplaceFilter {
-
-	/**
-	 * 
-	 */
-	public ItalicFilter() {
-		super("(^|>|[\\p{Punct}\\p{Space}]+)'{2}(.*?)'{2}([\\p{Punct}\\p{Space}]+|<|$)", "$1<i>$2</i>$3");
-	}
-
-}
diff --git a/src/main/java/org/olat/core/util/radeox/KissFilter.java b/src/main/java/org/olat/core/util/radeox/KissFilter.java
deleted file mode 100644
index 9f5fc1bfb53caa0f1afbc81852e4005c06d2ffe5..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/KissFilter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.core.util.radeox;
-
-import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- * Description:<br>
- * TODO: rhaag Class Description for KissFilter
- * 
- * <P>
- * Initial Date:  17.06.2009 <br>
- * @author rhaag
- */
-public class KissFilter extends RegexReplaceFilter {
-
-	public KissFilter(){
-		super(":-x|:-\\*|:\\*", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"kiss\" class=\"b_emoticons_kiss\"/>");
-	}
-	
-}
diff --git a/src/main/java/org/olat/core/util/radeox/MovieButtonMacro.java b/src/main/java/org/olat/core/util/radeox/MovieButtonMacro.java
deleted file mode 100644
index 7780227c6c52e4e046be46143cbb9b50279b6573..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/MovieButtonMacro.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import java.io.IOException;
-import java.io.Writer;
-
-import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
-import org.radeox.macro.BaseMacro;
-import org.radeox.macro.parameter.MacroParameter;
-
-/**
- * Description:<BR>
- * Implements the timemarker play wiki tag. still beta
- * 
- * <P>
- * Initial Date:  Dec 22, 2004
- *
- * @author gnaegi 
- */
-public class MovieButtonMacro extends BaseMacro {
-	private static final String CONTROLLER_MOV = StaticMediaDispatcher.createStaticURIFor("movie/controller.mov");
-	
-	private static final String NAME = "name";
-	private static final String STARTTIME = "start";
-	private static final String ENDTIME = "end";
-	private static final String ADDRESS = "url";
-	private static final String DISPLAYDURATION = "displayduration";
-
-	/**
-	 * 
-	 */
-	public MovieButtonMacro() {
-		super();
-	}
-
-	/** 
-	 * @see org.radeox.macro.Macro#getName()
-	 */
-	public String getName() {
-		return "movieButton";
-	}
-
-	/** 
-	 * @see org.radeox.macro.Macro#execute(java.io.Writer, org.radeox.macro.parameter.MacroParameter)
-	 */
-	public void execute(Writer writer, MacroParameter params) throws IllegalArgumentException, IOException {
-		
-		String name = params.get(NAME);
-		String starttime = params.get(STARTTIME);
-		String endtime = params.get(ENDTIME);
-		String address = params.get(ADDRESS);
-		String displayduration = params.get(DISPLAYDURATION);
-		String displayname = params.getContent();
-		
-		StringBuilder movieInfo = new StringBuilder();
-		movieInfo.append("<movieinfo>");
-		if (address != null) {
-			movieInfo.append("<address>");
-			movieInfo.append(address);
-			movieInfo.append("</address>");
-		}		
-		if (name != null) {
-			movieInfo.append("<name>");
-			movieInfo.append(name);
-			movieInfo.append("</name>");
-		} else {
-			// default name
-			movieInfo.append("<name>remotelyControlled</name>");
-		}
-		if (starttime != null) {
-			movieInfo.append("<starttime>");
-			movieInfo.append(starttime);
-			movieInfo.append("</starttime>");
-		}
-		if (endtime != null) {
-			movieInfo.append("<endtime>");
-			movieInfo.append(endtime);
-			movieInfo.append("</endtime>");
-		}
-		if (displayname != null) {
-			movieInfo.append("<label>");
-			movieInfo.append(displayname);
-			movieInfo.append("</label>");
-		}
-		if (displayname != null) {
-			movieInfo.append("<displayname>");
-			movieInfo.append(displayname);
-			movieInfo.append("</displayname>");
-		}
-		movieInfo.append("</movieinfo>");
-		
-		
-		writer.write("<span class=\"b_wiki_timemarker_play\"><object classid=\"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B\"  width=\"17\" height=\"16\" codebase=\"http://www.apple.com/qtactivex/qtplugin.cab\">");
-		writer.write("<param name=\"SRC\" value=\"" + CONTROLLER_MOV + "\">");
-		writer.write("<param name=\"CONTROLLER\" value=\"FALSE\">");
-		writer.write("<param name=\"AUTOPLAY\" value=\"FALSE\">");
-		writer.write("<param name=\"CACHE\" value=\"FALSE\">");
-		writer.write("<param name = \"MovieQTList\" value=");
-		writer.write("\"");
-		writer.write(movieInfo.toString());
-		writer.write("\">");
-		writer.write("<embed");
-		writer.write(" src=\"" + CONTROLLER_MOV + "\"");
-		writer.write(" width=\"17\" height=\"16\"");
-		writer.write(" controller=\"FALSE\"");
-		writer.write(" autoplay=\"FALSE\"");
-		writer.write(" cache=\"FALSE\"");
-		writer.write(" MovieQTList=");
-		writer.write("\"");
-		writer.write(movieInfo.toString());
-		writer.write("\"");
-		writer.write(" type=\"video/quicktime\"");
-		writer.write(" pluginspage=\"http://www.apple.com/quicktime/download/\">");
-		writer.write("</embed>");
-		writer.write("</object> ");
-		if (displayname != null) {
-			writer.write(displayname);
-			if (displayduration != null) {
-				writer.write(": ");
-			}
-		}
-		if (displayduration != null) {
-			writer.write(displayduration);
-		}			
-		writer.write("</span>");
-	}
-
-}
diff --git a/src/main/java/org/olat/core/util/radeox/MovieViewerMacro.java b/src/main/java/org/olat/core/util/radeox/MovieViewerMacro.java
deleted file mode 100644
index be5b872c9209f67a15670548b8910afe785e52e6..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/MovieViewerMacro.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import java.io.IOException;
-import java.io.Writer;
-
-import org.radeox.macro.BaseMacro;
-import org.radeox.macro.parameter.MacroParameter;
-
-/**
- * Description:<BR>
- * Implements timemarker movie viewer makro, still beta
- * <P>
- * Initial Date:  Dec 22, 2004
- *
- * @author gnaegi 
- */
-public class MovieViewerMacro extends BaseMacro {
-	// allowed macro attributes
-	private static final String NAME = "name";
-	private static final String ADDRESS = "url";
-	private static final String WIDTH = "width";
-	private static final String HEIGHT = "height";
-	private static final String DISPLAYDURATION = "displayduration";
-	
-	// default height and width of player window
-	private static final int DEFAULT_WIDTH = 320;
-	private static final int DEFAULT_HEIGHT = 240;
-	// additional pixels used by the video controller for sliding etc
-	private static final int CONTROLLER_HEIGHT = 16;
-	// offset to have enouth space
-	// height+60 (some browsers need this space) + 20 (to show playButton tag)
-	// width+40 (some browsers need this space)
-	private static final int HEIGHT_OFFSET = 80;
-	private static final int WIDTH_OFFSET = 40;
-
-	/**
-	 * 
-	 */
-	public MovieViewerMacro() {
-		super();
-	}
-
-	/** 
-	 * @see org.radeox.macro.Macro#getName()
-	 */
-	public String getName() {
-		return "movieViewer";
-	}
-
-	/** 
-	 * @see org.radeox.macro.Macro#execute(java.io.Writer, org.radeox.macro.parameter.MacroParameter)
-	 */
-	public void execute(Writer writer, MacroParameter params) throws IllegalArgumentException, IOException {
-
-		String name = params.get(NAME);
-		String address = params.get(ADDRESS);
-		String height = params.get(HEIGHT);
-		String width = params.get(WIDTH);
-		String displayduration = params.get(DISPLAYDURATION);
-		String displayname = params.getContent();
-
-		if (address == null) {
-			writer.write("<p>movieViewer: illegal format: missing attribute " + ADDRESS + "</p>");
-			return;
-		}
-		// default values for unset optional parameter
-		if (name == null) name = "remotelyControlled";
-		if (width == null) width = Integer.toString(DEFAULT_WIDTH);
-		if (height == null) height = Integer.toString(DEFAULT_HEIGHT);
-		
-		try {
-			int iHeigt = Integer.parseInt(height);
-			height = Integer.toString(iHeigt + CONTROLLER_HEIGHT );
-		} catch (NumberFormatException e) {
-			// using default values
-			width = Integer.toString(DEFAULT_WIDTH);
-			height = Integer.toString(DEFAULT_HEIGHT + CONTROLLER_HEIGHT);		
-		}
-
-		writer.write("<span class=\"b_wiki_timemarker_viewer\">");
-		// show popup link
-		writer.write("<a href=\"javascript:void(");
-		// open window a bit bitter than the movie size itself
-		String args = "width=" + (Integer.parseInt(width) + WIDTH_OFFSET) + ",height=" + (Integer.parseInt(height) + HEIGHT_OFFSET) + ",resizable=yes,scrollbars=yes";
-		writer.write("window.open(o_info.o_baseURI + '/movie/popup.html?maddress=' + encodeURIComponent('" + address + "') + '&mname=' + encodeURIComponent('" + name + 
-				"') + '&displayname=' + encodeURIComponent('" + displayname + "') + '&displayduration=' + encodeURIComponent('" + displayduration + "') + '&width=" + width + "&height=" + height + "', '" + name +"', '" + args + "')");
-		writer.write(")\">Open movie player");
-		if (displayname != null) {
-			writer.write(": ");
-			writer.write(displayname);
-			if (displayduration != null) {
-				writer.write(": ");
-			}
-		}
-		if (displayduration != null) {
-			writer.write(displayduration);
-		}			
-		writer.write("</a>");
-		writer.write("</span>");
-	}
-
-}
diff --git a/src/main/java/org/olat/core/util/radeox/OmgFilter.java b/src/main/java/org/olat/core/util/radeox/OmgFilter.java
deleted file mode 100644
index f3e078ff07713b84fd805305953eb9993b55c283..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/OmgFilter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- *  Initial Date:  Apr 14, 2004
- * 
- *  @author gnaegi
- *  
- *  Comment:  
- *  
- *  
- */
-public class OmgFilter extends RegexReplaceFilter {
-
-	/**
-	 * 
-	 */
-	public OmgFilter() {
-		super("(:-O|:O|:-o|:o)(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"ohoh\" class=\"b_emoticons_ohoh\"/>");
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/util/radeox/SadFilter.java b/src/main/java/org/olat/core/util/radeox/SadFilter.java
deleted file mode 100644
index d5e626648c4e6567753a840f5ee5cb1a2990895a..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/SadFilter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- *  Initial Date:  Apr 14, 2004
- * 
- *  @author gnaegi
- *  
- *  Comment:  
- *  
- *  
- */
-public class SadFilter extends RegexReplaceFilter {
-
-	/**
-	 * 
-	 */
-	public SadFilter() {
-		super("(:-\\(|:\\()(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"sad\" class=\"b_emoticons_sad\"/>");
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/util/radeox/ShadeFilter.java b/src/main/java/org/olat/core/util/radeox/ShadeFilter.java
deleted file mode 100644
index c742ceacfaa02c5ebf96be2ff4636696d16eaed3..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/ShadeFilter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- *  Initial Date:  Apr 14, 2004
- * 
- *  @author gnaegi
- *  
- *  Comment:  
- *  
- */
-public class ShadeFilter extends RegexReplaceFilter {
-
-	/**
-	 * 
-	 */
-	public ShadeFilter() {
-		super("(8-\\)|8\\))(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"cool\" class=\"b_emoticons_cool\"/>");
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/util/radeox/SmileFilter.java b/src/main/java/org/olat/core/util/radeox/SmileFilter.java
deleted file mode 100644
index f2034cdfd87505ca0d61e675b355882e04935cf7..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/SmileFilter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- *  Initial Date:  Apr 14, 2004
- * 
- *  @author gnaegi
- *  
- *  Comment:  
- *  
- */
-public class SmileFilter extends RegexReplaceFilter {
-
-	/**
-	 * 
-	 */
-	public SmileFilter() {
-		super("(:-\\)|:\\))(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"smile\" class=\"b_emoticons_smile\"/>");
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/util/radeox/TeethFilter.java b/src/main/java/org/olat/core/util/radeox/TeethFilter.java
deleted file mode 100644
index 4cde4511aa049cda4c99137f46b888c66e418a23..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/TeethFilter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- *  Initial Date:  Apr 14, 2004
- * 
- *  @author gnaegi
- *  
- *  Comment:  
- *  
- */
-public class TeethFilter extends RegexReplaceFilter {
-
-	/**
-	 * 
-	 */
-	public TeethFilter() {
-		super("(:-D|:D|:-d|:d)(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"grin\" class=\"b_emoticons_grin\"/>");
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/util/radeox/TongueFilter.java b/src/main/java/org/olat/core/util/radeox/TongueFilter.java
deleted file mode 100644
index 5dd745000c92a675b76fa183fc6db8ed7e3c68c7..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/TongueFilter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- *  Initial Date:  Apr 14, 2004
- * 
- *  @author gnaegi
- *  
- *  Comment:  
- *  
- */
-public class TongueFilter extends RegexReplaceFilter {
-
-	/**
-	 * 
-	 */
-	public TongueFilter() {
-		super("(:-P|:P|:-p|:p)(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"tongue\" class=\"b_emoticons_tongue\"/>");
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/util/radeox/UglyFilter.java b/src/main/java/org/olat/core/util/radeox/UglyFilter.java
deleted file mode 100644
index 2cd399685e3fd05dece0993d910a9d23d1912992..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/UglyFilter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- *  Initial Date:  Apr 14, 2004
- * 
- *  @author gnaegi
- *  
- *  Comment:  
- *  
- */
-public class UglyFilter extends RegexReplaceFilter {
-
-	/**
-	 * 
-	 */
-	public UglyFilter() {
-		super("(:-\\||:\\||:-/|:/[.[^/]])(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"ugly\" class=\"b_emoticons_ugly\"/>");
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/util/radeox/WinkFilter.java b/src/main/java/org/olat/core/util/radeox/WinkFilter.java
deleted file mode 100644
index a88b090085a0a4d28e29411f33adc91ad2bb7b60..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/core/util/radeox/WinkFilter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.core.util.radeox;
-
-import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
-import org.radeox.filter.regex.RegexReplaceFilter;
-
-/**
- *  Initial Date:  Apr 14, 2004
- * 
- *  @author gnaegi
- *  
- *  Comment:  
- *  
- */
-public class WinkFilter extends RegexReplaceFilter {
-
-	/**
-	 * 
-	 */
-	public WinkFilter() {
-		super("(;-\\)|;\\))(\\s|$)", "<img src=\"" + StaticMediaDispatcher.createStaticURIFor("images/transparent.gif", false) + "\" alt=\"wink\" class=\"b_emoticons_wink\"/>");
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/util/radeox/doc/Radeox_Developer.pdf b/src/main/java/org/olat/core/util/radeox/doc/Radeox_Developer.pdf
deleted file mode 100644
index 4d1fe90498e51ffbfd5d7aefeb39396382885526..0000000000000000000000000000000000000000
Binary files a/src/main/java/org/olat/core/util/radeox/doc/Radeox_Developer.pdf and /dev/null differ
diff --git a/src/main/java/org/olat/course/CourseUpgrade.java b/src/main/java/org/olat/course/CourseUpgrade.java
index db9f8472f2d55324e26c150817dc7af5b9d4fa72..087c56e7203c9ebc6a6dfbb2220981658939bd96 100644
--- a/src/main/java/org/olat/course/CourseUpgrade.java
+++ b/src/main/java/org/olat/course/CourseUpgrade.java
@@ -60,142 +60,17 @@ public class CourseUpgrade extends LogDelegator {
 		int migrateTargetVersion = 2;
 		CourseEditorTreeModel editorTreeModel = course.getEditorTreeModel();
 		if (!editorTreeModel.isVersionUpToDate() && editorTreeModel.getVersion() != migrateTargetVersion){
-			upgradeEditorTreeModel(ccourse);
-			editorTreeModel.setVersion(migrateTargetVersion);
-			ccourse.setEditorTreeModel(editorTreeModel);
-			ccourse.saveEditorTreeModel();
+			logError("as of OpenOLAT 8, old courses with verison 1 are no longer supported. No migration done! Upgrade to 7.0 first!", null);
 		}		
 		Structure runStructure = course.getRunStructure();
 		if (!runStructure.isVersionUpToDate() && runStructure.getVersion() != migrateTargetVersion){
-			upgradeRunStructure(ccourse);						
-			ccourse.getRunStructure().setVersion(migrateTargetVersion);
-			ccourse.setRunStructure(runStructure);
-			ccourse.saveRunStructure();
+			logError("as of OpenOLAT 8, old courses with verison 1 are no longer supported. No migration done! Upgrade to 7.0 first!", null);
 		}
 	}
 
 	
-	private void upgradeRunStructure(ICourse course) {
-		Structure cR = course.getRunStructure();
-		CourseNode rsRootNode = cR.getRootNode();
-		final Set<String> allSubTreeids = new HashSet<String>();
-		TreeVisitor tv = new TreeVisitor(new Visitor() {
-			public void visit(INode node) {
-				allSubTreeids.add(node.getIdent());
-			}
-		}, rsRootNode, true);
-		tv.visitAll();
-		Structure runStructure = course.getRunStructure();
-
-		int nodeCounter = 0;
-		for (Iterator<String> iterator2 = allSubTreeids.iterator(); iterator2.hasNext();) {
-			String nodeId = iterator2.next();
-			CourseNode rsn = runStructure.getNode(nodeId);
-
-			// migrate if this node is a Task
-			if (rsn.getType().equals(TACourseNode.CONF_TASK_TYPE)) {
-				migrateSingleTask(rsn);
-			}
-			// migrate no access text for every node:
-			migrateSingleAccessDeniedExplanation(rsn);
-
-			// migrate assessment nodes
-			if (rsn.getType().equals(MS_TYPE)) {
-				migrateSingleAssessment(rsn);
-			}
-
-			// migrate course node description
-			migrateSingleNodeDesc(rsn);
-
-			nodeCounter++;
-		}
-
-
-		logAudit("**** Lazy migration finished for runStructure of course " + course.getResourceableId() + " with a total of " + nodeCounter
-				+ " course node descriptions. ****", null);
-
-	}
 	
-	private void upgradeEditorTreeModel(ICourse course) {
-		// EDITOR: get all course nodes
-		CourseEditorTreeModel cT = course.getEditorTreeModel();
-		TreeNode rootNode = cT.getRootNode();
-		final Set<String> allSubTreeids = new HashSet<String>();
-		TreeVisitor tv = new TreeVisitor(new Visitor() {
-			public void visit(INode node) {
-				allSubTreeids.add(node.getIdent());
-			}
-		}, rootNode, true);
-		tv.visitAll();
-
-		CourseEditorTreeModel editorTreeModel = course.getEditorTreeModel();
-		// EDITOR: loop all course nodes
-		int nodeCounter = 0;
-		for (Iterator<String> iterator2 = allSubTreeids.iterator(); iterator2.hasNext();) {
-			String nodeId = iterator2.next();
-			CourseNode cetn = editorTreeModel.getCourseNode(nodeId);
-			// migrate if this node is a Task
-			if (cetn.getType().equals(TACourseNode.CONF_TASK_TYPE)) {
-				migrateSingleTask(cetn);
-			}
-			// migrate no access text for every node:
-			migrateSingleAccessDeniedExplanation(cetn);
-
-			// migrate assessment nodes
-			if (cetn.getType().equals(MS_TYPE)) {
-				migrateSingleAssessment(cetn);
-			}
-
-			// migrate course node description
-			migrateSingleNodeDesc(cetn);
-
-			nodeCounter++;
-
-		} //for
-		
-		logAudit("**** Lazy migration finished for editorTreeModel of course " + course.getResourceableId() + " with a total of " + nodeCounter
-				+ " course node descriptions. ****", null);
-	}
 	
-
-	private void migrateSingleTask(CourseNode node) {
-		ModuleConfiguration taskConf = node.getModuleConfiguration();
-		String[] allKeys = new String[] { TACourseNode.CONF_TASK_TEXT, MSCourseNode.CONFIG_KEY_INFOTEXT_USER,
-				MSCourseNode.CONFIG_KEY_INFOTEXT_COACH };
-		for (int i = 0; i < allKeys.length; i++) {
-			String thisKey = allKeys[i];
-			String oldDesc = (String) taskConf.get(thisKey);
-			if (StringHelper.containsNonWhitespace(oldDesc)) {
-				String newDesc = Formatter.formatWikiMarkup(oldDesc);
-				taskConf.set(thisKey, newDesc);
-			}
-		}
-	}
-
-	private void migrateSingleAccessDeniedExplanation(CourseNode node) {
-		String oldDesc = node.getNoAccessExplanation();
-		if (StringHelper.containsNonWhitespace(oldDesc)) {
-			String newDesc = Formatter.formatWikiMarkup(oldDesc);
-			node.setNoAccessExplanation(newDesc);
-		}
-	}
-
-	private void migrateSingleAssessment(CourseNode node) {
-		ModuleConfiguration modConfig = node.getModuleConfiguration();
-		String infoUser = (String) modConfig.get(MSCourseNode.CONFIG_KEY_INFOTEXT_USER);
-		String newInfoUser = Formatter.formatWikiMarkup(infoUser);
-		modConfig.set(MSCourseNode.CONFIG_KEY_INFOTEXT_USER, newInfoUser);
-		String infoCoach = (String) modConfig.get(MSCourseNode.CONFIG_KEY_INFOTEXT_COACH);
-		String newInfoCoach = Formatter.formatWikiMarkup(infoCoach);
-		modConfig.set(MSCourseNode.CONFIG_KEY_INFOTEXT_COACH, newInfoCoach);
-	}
-
 	
-	private void migrateSingleNodeDesc(CourseNode node){
-		String oldDesc = node.getLearningObjectives();
-		if (StringHelper.containsNonWhitespace(oldDesc)) {
-			String newDesc = Formatter.formatWikiMarkup(oldDesc);
-			node.setLearningObjectives(newDesc);
-		}
-	}
+	
 }
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 a4d7679ad16ad6562d62995d6b6fb87aeb835ca6..619a3c6861a451f673e415dfe6cebbbadd9fa300 100644
--- a/src/main/java/org/olat/course/config/ui/CourseEfficencyStatementForm.java
+++ b/src/main/java/org/olat/course/config/ui/CourseEfficencyStatementForm.java
@@ -32,8 +32,6 @@ import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
 import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowControl;
-import org.olat.core.gui.formelements.CheckBoxElement;
-import org.olat.core.gui.translator.Translator;
 /**
  * 
  * Description:<br>
diff --git a/src/main/java/org/olat/test/scratch/RadeoxStrikethroughTestMain.java b/src/main/java/org/olat/test/scratch/RadeoxStrikethroughTestMain.java
deleted file mode 100644
index c6cae10cb84fe2e8718321fac32f78bf0bc130ce..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/test/scratch/RadeoxStrikethroughTestMain.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-
-package org.olat.test.scratch;
-
-/**
- * Description:<br>
- * Test driver to test radeox regexp for strikethrough and the multiline / dotall issues
- * <P>
- * Initial Date:  Nov 8, 2005 <br>
- * @author gnaegi
- */
-public class RadeoxStrikethroughTestMain {
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		
-		// origninal radeox stike pattern
-		String originalPatternString= "([^!-]|^)--(?=.*--)((?:(?:[^-]+)-?)+)--([^-]|$)";
-		// modified radeox stike pattern
-		String modifiedPatternString = "([^-]|^)--([^-$^]+)--([^-]|$)";
-
-		
-		String easyText= "--\r\n1234567890----\r\nAnd now --strike-- and now a --multiline \r\nstrike--";
-		String complicatedText= "--\r\n12345678901234567890----\r\nAnd now --strike-- and now a --multiline \r\nstrike--";
-		String moreComplicatedText= "--\r\n123456789012345678901234567890----\r\nAnd now --strike-it-- and now a --multiline \r\nstrike--\r\nasdf --\r\n--";
-
-		// works well
-		doStrikeFilter(modifiedPatternString, easyText);
-		// performance issue starts
-		doStrikeFilter(modifiedPatternString, complicatedText);
-		// does not work at all
-		doStrikeFilter(modifiedPatternString, moreComplicatedText);
-
-		// now with the original pattern
-		// works well
-		doStrikeFilter(originalPatternString, easyText);
-		// performance issue starts
-		doStrikeFilter(originalPatternString, complicatedText);
-		// does not work at all
-		doStrikeFilter(originalPatternString, moreComplicatedText);
-
-		
-	}
-
-	private static void doStrikeFilter(String patternString, String text) {
-		System.out.println("doStrikeFilter(" + patternString + "," + text + ");");
-		System.out.println("*** START ***");
-		String replacePattern = "$1<strike class=\"strike\">$2</strike>$3";
-
-		// works well using MULTILINE but not DOTALL
-		System.out.println("** Using only MULTILINE");
-		java.util.regex.Pattern jdkPattern = java.util.regex.Pattern.compile(patternString, java.util.regex.Pattern.MULTILINE);
-		java.util.regex.Matcher jdkMatcher = jdkPattern.matcher(text);
-		System.out.println(jdkMatcher.replaceAll(replacePattern));
-		
-		// works sort of, but very, very, very slow
-		System.out.println("** Using DOTALL but not multiline");
-		java.util.regex.Pattern jdkPattern2 = java.util.regex.Pattern.compile(patternString, java.util.regex.Pattern.DOTALL);
-		java.util.regex.Matcher jdkMatcher2 = jdkPattern2.matcher(text);
-		System.out.println(jdkMatcher2.replaceAll(replacePattern));
-		
-		// same with radeox code, internaly using DOTALL
-		System.out.println("** Using RADEOX style, multiline disabled");
-		org.radeox.regex.Pattern radeoxPattern = new org.radeox.regex.JdkPattern(patternString, false);		
-		org.radeox.regex.Matcher radeoxMatcher = org.radeox.regex.Matcher.create(text, radeoxPattern);
-    System.out.println(radeoxMatcher.substitute(replacePattern));
-
-		System.out.println("** DONE **\n\n");
-	}
-	
-}
diff --git a/src/main/java/org/olat/upgrade/OLATUpgrade_6_2_0.java b/src/main/java/org/olat/upgrade/OLATUpgrade_6_2_0.java
index c3db7920e93c3e4183e972931817a865d9559e86..e44fe5ae6623b8832f605d1eff77351d94d671ac 100644
--- a/src/main/java/org/olat/upgrade/OLATUpgrade_6_2_0.java
+++ b/src/main/java/org/olat/upgrade/OLATUpgrade_6_2_0.java
@@ -543,7 +543,8 @@ public class OLATUpgrade_6_2_0 extends OLATUpgrade {
 		if (log.isDebug()) log.audit("Old String before migration:", oldValue);
 		String newValue = "";
 
-		newValue = Formatter.formatWikiMarkup(oldValue);
+		//newValue = Formatter.formatWikiMarkup(oldValue);
+		log.warn("no wikiMarkupUpdate is done, OpenOLAT 8 does not support the legacy wiki markup forms!");
 		
 		if (log.isDebug()) log.audit("New String after migration:", newValue);
 		return newValue;
diff --git a/src/main/java/org/olat/user/propertyhandlers/DatePropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/DatePropertyHandler.java
index 9549fe73ebc495bc0263ae8aea8e40321868f820..549f4f963622f999b96d8b76532336c62140c57e 100644
--- a/src/main/java/org/olat/user/propertyhandlers/DatePropertyHandler.java
+++ b/src/main/java/org/olat/user/propertyhandlers/DatePropertyHandler.java
@@ -33,8 +33,6 @@ import org.olat.core.gui.components.form.flexible.FormItem;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
 import org.olat.core.gui.components.form.flexible.FormUIFactory;
 import org.olat.core.gui.components.form.flexible.elements.DateChooser;
-import org.olat.core.gui.formelements.DateElement;
-import org.olat.core.gui.formelements.FormElement;
 import org.olat.core.id.User;
 import org.olat.core.logging.Tracing;
 import org.olat.core.util.Formatter;
@@ -74,14 +72,6 @@ public class DatePropertyHandler extends AbstractUserPropertyHandler {
 		return Formatter.getInstance(locale).formatDate(date);
 	}
 
-	/**
-	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateUserFromFormElement(org.olat.core.id.User, org.olat.core.gui.formelements.FormElement)
-	 */
-	public void updateUserFromFormElement(User user, FormElement ui) {
-		String internalValue = getStringValue(ui);
-		setInternalValue(user, internalValue);
-	}
-	
 	/**
 	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateUserFromFormItem(org.olat.core.id.User, org.olat.core.gui.components.form.flexible.FormItem)
 	 */
@@ -90,13 +80,6 @@ public class DatePropertyHandler extends AbstractUserPropertyHandler {
 		setInternalValue(user, internalValue);
 	}
 
-	/**
-	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#getStringValue(org.olat.core.gui.formelements.FormElement)
-	 */
-	public String getStringValue(FormElement ui) {
-		Date date = ((DateElement) ui).getDate();
-		return encode(date);
-	}	
 
 	/**
 	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#getStringValue(org.olat.core.gui.components.form.flexible.FormItem)
@@ -123,25 +106,6 @@ public class DatePropertyHandler extends AbstractUserPropertyHandler {
 		return null;
 	}
 
-	/**
-	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#getFormElement(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean)
-	 */
-	public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser) {
-		// default is no element
-		UserManager um = UserManager.getInstance();
-		DateElement ui = null;
-		ui = new DateElement(i18nFormElementLabelKey(), locale);
-		updateFormElementFromUser(ui, user);
-		if ( ! um.isUserViewReadOnly(usageIdentifyer, this) || isAdministrativeUser) {
-			ui.setExample(Formatter.getInstance(locale).formatDate(new Date()));
-		} else {
-			ui.setReadOnly(true);
-		}
-		if (um.isMandatoryUserProperty(usageIdentifyer, this)) {
-			ui.setMandatory(true);
-		}
-		return ui;
-	}
 	
 	/**
 	 *  
@@ -163,29 +127,7 @@ public class DatePropertyHandler extends AbstractUserPropertyHandler {
 		return dateElem;
 	}
 
-	/**
-	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateFormElementFromUser(org.olat.core.gui.formelements.FormElement, org.olat.core.id.User)
-	 */
-	public void updateFormElementFromUser(FormElement ui, User user) {
-		Date date = decode(getInternalValue(user));
-		((DateElement) ui).setDate(date);
-	}
 
-	/**
-	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#isValid(org.olat.core.gui.formelements.FormElement)
-	 */
-	public boolean isValid(FormElement ui, Map formContext) {
-		
-		DateElement uiDate = (DateElement) ui;
-		
-		if (uiDate.getValue().length() == 0) {
-			if (!ui.isMandatory()) return true;
-			ui.setErrorKey(i18nFormElementLabelKey()+ ".error.empty");			
-			return false;
-		}
-		
-		return uiDate.validDate(i18nFormElementLabelKey()+ ".error");			
-	}
 	
 	/**
 	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#isValid(org.olat.core.gui.components.form.flexible.FormItem, java.util.Map)
diff --git a/src/main/java/org/olat/user/propertyhandlers/EmailProperty.java b/src/main/java/org/olat/user/propertyhandlers/EmailProperty.java
index 1b8e7557aa059d25cd0f67c4ed6c2fa97ce60b8e..012ecbe03fdcba821e4e3b2c79249ff00bb52720 100644
--- a/src/main/java/org/olat/user/propertyhandlers/EmailProperty.java
+++ b/src/main/java/org/olat/user/propertyhandlers/EmailProperty.java
@@ -33,8 +33,6 @@ import org.olat.core.gui.components.form.ValidationError;
 import org.olat.core.gui.components.form.flexible.FormItem;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
 import org.olat.core.gui.components.form.flexible.impl.elements.ItemValidatorProvider;
-import org.olat.core.gui.formelements.FormElement;
-import org.olat.core.gui.formelements.TextElement;
 import org.olat.core.id.Identity;
 import org.olat.core.id.User;
 import org.olat.core.util.StringHelper;
@@ -122,34 +120,6 @@ public class EmailProperty extends Generic127CharTextPropertyHandler {
 	}
 	
 	
-	/**
-	 * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#isValid(org.olat.core.gui.formelements.FormElement)
-	 */
-	@Override
-	public boolean isValid(FormElement ui, Map formContext) {
-		// check parent rules first: check if mandatory and empty
-		if ( ! super.isValid(ui,formContext)) return false;
-		TextElement uiEmail = (TextElement) ui;
-		String value = uiEmail.getValue();
-		if (StringHelper.containsNonWhitespace(value)) {	
-			// check mail address syntax
-			if ( ! MailHelper.isValidEmailAddress(value)) {
-				uiEmail.setErrorKey(i18nFormElementLabelKey() + ".error.valid");
-				return false;
-			}
-			// Email is syntactically correct. 
-			// Check whether it's available.
-			if (!uiEmail.isEmpty()) {
-				if (!isAddressAvailable(value, (String)formContext.get("username"))) {
-					uiEmail.setErrorKey(i18nFormElementLabelKey() + ".error.exists");
-				  return false;
-				}
-			}
-		}
-		// everthing ok
-		return true;
-	}
-	
 	/* (non-Javadoc)
 	 * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#isValid(org.olat.core.gui.components.form.flexible.FormItem, java.util.Map)
 	 */
diff --git a/src/main/java/org/olat/user/propertyhandlers/GenderPropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/GenderPropertyHandler.java
index a5acd5e63eebde41e12637cb13ef24bf663b3ad3..f703dc92c9514bbfc040bbbe96649e20830e0c7b 100644
--- a/src/main/java/org/olat/user/propertyhandlers/GenderPropertyHandler.java
+++ b/src/main/java/org/olat/user/propertyhandlers/GenderPropertyHandler.java
@@ -26,8 +26,6 @@ import org.olat.core.gui.components.form.ValidationError;
 import org.olat.core.gui.components.form.flexible.FormItem;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
 import org.olat.core.gui.components.form.flexible.FormUIFactory;
-import org.olat.core.gui.formelements.FormElement;
-import org.olat.core.gui.formelements.StaticSingleSelectionElement;
 import org.olat.core.gui.translator.Translator;
 import org.olat.core.id.User;
 import org.olat.core.util.Util;
@@ -82,14 +80,6 @@ public class GenderPropertyHandler extends AbstractUserPropertyHandler {
 		return displayValue;
 	}
 
-	/**
-	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateUserFromFormElement(org.olat.core.id.User, org.olat.core.gui.formelements.FormElement)
-	 */
-	public void updateUserFromFormElement(User user, FormElement ui) {
-		String internalValue = getStringValue(ui);
-		setInternalValue(user, internalValue);
-	}
-
 	/**
 	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateUserFromFormItem(org.olat.core.id.User, org.olat.core.gui.components.form.flexible.FormItem)
 	 */
@@ -98,13 +88,6 @@ public class GenderPropertyHandler extends AbstractUserPropertyHandler {
 		setInternalValue(user, internalValue);
 	}
 
-	/**
-	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#getStringValue(org.olat.core.gui.formelements.FormElement)
-	 */
-	public String getStringValue(FormElement ui) {
-		return ((StaticSingleSelectionElement) ui).getSelectedKey();
-	}
-
 	/**
 	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#getStringValue(org.olat.core.gui.components.form.flexible.FormItem)
 	 */
@@ -124,22 +107,6 @@ public class GenderPropertyHandler extends AbstractUserPropertyHandler {
 		return displayValue;
 	}
 
-	/**
-	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#getFormElement(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean)
-	 */
-	public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser) {
-		UserManager um = UserManager.getInstance();
-		StaticSingleSelectionElement ui = new StaticSingleSelectionElement(i18nFormElementLabelKey(), keys, getTranslatedValues(locale));
-		updateFormElementFromUser(ui, user);		
-		if ( um.isUserViewReadOnly(usageIdentifyer, this) && ! isAdministrativeUser) {
-			ui.setReadOnly(true);
-		}
-		if (um.isMandatoryUserProperty(usageIdentifyer, this)) {
-			ui.setMandatory(true);
-		}
-		return ui;
-	}
-
 
 	/**
 	 *  
@@ -171,29 +138,6 @@ public class GenderPropertyHandler extends AbstractUserPropertyHandler {
 		return (value == null ? "-" : value); // default		
 	}
 	
-	/**
-	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateFormElementFromUser(org.olat.core.gui.formelements.FormElement, org.olat.core.id.User)
-	 */
-	public void updateFormElementFromUser(FormElement ui, User user) {
-		String key = getInternalValue(user);
-		((StaticSingleSelectionElement) ui).select(key, true);
-	}
-
-	/**
-	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#isValid(org.olat.core.gui.formelements.FormElement)
-	 */
-	public boolean isValid(FormElement ui, Map formContext) {
-		if (ui.isMandatory()) {
-			StaticSingleSelectionElement sse = (StaticSingleSelectionElement) ui;
-			// when mandatory, the - must not be selected
-			if (sse.getSelectedKey().equals("-")) {
-				sse.setErrorKey("gender.error");
-				return false;
-			}
-		}
-		return true;
-	}
-	
 	/**
 	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#isValid(org.olat.core.gui.components.form.flexible.FormItem, java.util.Map)
 	 */
diff --git a/src/main/java/org/olat/user/propertyhandlers/Generic127CharTextPropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/Generic127CharTextPropertyHandler.java
index 4b4bf0e26b202549fa32fd5833024b169ab03648..d523d070cb8af9a6d093b205153cc7c35cd5df05 100644
--- a/src/main/java/org/olat/user/propertyhandlers/Generic127CharTextPropertyHandler.java
+++ b/src/main/java/org/olat/user/propertyhandlers/Generic127CharTextPropertyHandler.java
@@ -26,8 +26,6 @@ import org.olat.core.gui.components.form.ValidationError;
 import org.olat.core.gui.components.form.flexible.FormItem;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
 import org.olat.core.gui.components.form.flexible.FormUIFactory;
-import org.olat.core.gui.formelements.FormElement;
-import org.olat.core.gui.formelements.TextElement;
 import org.olat.core.id.User;
 import org.olat.user.AbstractUserPropertyHandler;
 import org.olat.user.UserManager;
@@ -47,13 +45,6 @@ import org.olat.user.UserManager;
  */
 public class Generic127CharTextPropertyHandler extends AbstractUserPropertyHandler {
 	
-	/**
-	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateUserFromFormElement(org.olat.core.id.User, org.olat.core.gui.formelements.FormElement)
-	 */
-	public void updateUserFromFormElement(User user, FormElement ui) {
-		String internalValue = getStringValue(ui);
-		setInternalValue(user, internalValue);
-	}
 
 	/**
 	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateUserFromFormItem(org.olat.core.id.User, org.olat.core.gui.components.form.flexible.FormItem)
@@ -63,16 +54,8 @@ public class Generic127CharTextPropertyHandler extends AbstractUserPropertyHandl
 		setInternalValue(user, internalValue);
 	}
 
-
-	/**
-	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#getStringValue(org.olat.core.gui.formelements.FormElement)
-	 */	
-	public String getStringValue(FormElement ui) {
-		return ((TextElement) ui).getValue();
-	}
-
 	/**
-	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#getStringValue(org.olat.core.gui.formelements.FormElement)
+	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#getStringValue(org.olat.core.gui.formelements.FORMELEMENTOLD)
 	 */
 	public String getStringValue(FormItem formItem) {
 		return ((org.olat.core.gui.components.form.flexible.elements.TextElement) formItem).getValue();
@@ -86,23 +69,6 @@ public class Generic127CharTextPropertyHandler extends AbstractUserPropertyHandl
 		return displayValue;
 	}
 	
-	/**
-	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#getFormElement(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean)
-	 */
-	public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser) {
-		// default is no element
-		TextElement ui = null;
-		UserManager um = UserManager.getInstance();
-		ui = new TextElement(i18nFormElementLabelKey(), getInternalValue(user), 127);
-		if ( um.isUserViewReadOnly(usageIdentifyer, this) && ! isAdministrativeUser) {
-			ui.setReadOnly(true);
-		}
-		if (um.isMandatoryUserProperty(usageIdentifyer, this)) {
-			ui.setMandatory(true);
-		}
-		return ui;
-	}
-	
 	/**
 	 *  
 	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#addFormItem(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean, org.olat.core.gui.components.form.flexible.FormItemContainer)
@@ -122,25 +88,6 @@ public class Generic127CharTextPropertyHandler extends AbstractUserPropertyHandl
 		return tElem;
 	}
 	
-
-	/**
-	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#updateFormElementFromUser(org.olat.core.gui.formelements.FormElement, org.olat.core.id.User)
-	 */
-	public void updateFormElementFromUser(FormElement ui, User user) {
-		((TextElement) ui).setValue(getInternalValue(user));
-	}
-
-	/**
-	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#isValid(org.olat.core.gui.formelements.FormElement)
-	 */
-	public boolean isValid(FormElement ui, Map formContext) {
-		TextElement uiText = (TextElement) ui;
-		if (ui.isMandatory()) {
-			return uiText.notEmpty(i18nFormElementLabelKey()+ ".error.empty");			
-		}
-		return true;
-	}
-	
 	/**
 	 * @see org.olat.user.propertyhandlers.UserPropertyHandler#isValid(org.olat.core.gui.components.form.flexible.FormItem, java.util.Map)
 	 */
diff --git a/src/main/java/org/olat/user/propertyhandlers/PhonePropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/PhonePropertyHandler.java
index 7ce25ade07641e264a0a4aad59bb8ca2e9984e89..67ebfa6c1c6e5fbbdb2ea8d8fcc03346c63877b6 100644
--- a/src/main/java/org/olat/user/propertyhandlers/PhonePropertyHandler.java
+++ b/src/main/java/org/olat/user/propertyhandlers/PhonePropertyHandler.java
@@ -26,8 +26,6 @@ import java.util.regex.Pattern;
 import org.olat.core.gui.components.form.ValidationError;
 import org.olat.core.gui.components.form.flexible.FormItem;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
-import org.olat.core.gui.formelements.FormElement;
-import org.olat.core.gui.formelements.TextElement;
 import org.olat.core.id.User;
 import org.olat.core.util.StringHelper;
 
@@ -44,16 +42,6 @@ public class PhonePropertyHandler extends Generic127CharTextPropertyHandler {
 	// Regexp to define valid phone numbers
 	private static final Pattern VALID_PHONE_PATTERN_IP = Pattern.compile( "[0-9/\\-+' ]+" );
 	
-	/**
-	 * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#getFormElement(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean)
-	 */
-	@Override
-	public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser) {
-		TextElement ui = (TextElement) super.getFormElement(locale, user, usageIdentifyer, isAdministrativeUser);
-		ui.setExample("+41 12 345 67 89");
-		return ui;
-	}
-	
 	/* (non-Javadoc)
 	 * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#addFormItem(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean, org.olat.core.gui.components.form.flexible.FormItemContainer)
 	 */
@@ -83,27 +71,6 @@ public class PhonePropertyHandler extends Generic127CharTextPropertyHandler {
 		return null;
 	}
 	
-	/**
-	 * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#isValid(org.olat.core.gui.formelements.FormElement)
-	 */
-	@Override
-	public boolean isValid(FormElement ui, Map formContext) {
-		// check parent rules first: check if mandatory and empty
-		if ( ! super.isValid(ui, formContext)) return false;
-		
-		TextElement uiPhone = (TextElement) ui;
-		String value = uiPhone.getValue();
-		if (StringHelper.containsNonWhitespace(value)) {			
-			// check phone address syntax
-			if ( ! VALID_PHONE_PATTERN_IP.matcher(value).matches()) {
-				ui.setErrorKey(i18nFormElementLabelKey()+ ".error.valid");
-				return false;
-			}
-		}
-		// everthing ok
-		return true;			
-	}
-	
 	/* (non-Javadoc)
 	 * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#isValid(org.olat.core.gui.components.form.flexible.FormItem, java.util.Map)
 	 */
diff --git a/src/main/java/org/olat/user/propertyhandlers/SkypePropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/SkypePropertyHandler.java
index 7f0bc2e6568d11617b07660af0f8bd7475e99570..a014904dafa406ac9449c0bc3c65e0f128c4152a 100644
--- a/src/main/java/org/olat/user/propertyhandlers/SkypePropertyHandler.java
+++ b/src/main/java/org/olat/user/propertyhandlers/SkypePropertyHandler.java
@@ -24,8 +24,6 @@ import java.util.Locale;
 import org.olat.core.gui.components.form.ValidationError;
 import org.olat.core.gui.components.form.flexible.FormItem;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
-import org.olat.core.gui.formelements.FormElement;
-import org.olat.core.gui.formelements.TextElement;
 import org.olat.core.id.User;
 import org.olat.core.util.StringHelper;
 import org.olat.user.UserManager;
@@ -62,20 +60,6 @@ public class SkypePropertyHandler extends Generic127CharTextPropertyHandler {
 		return null;
 	}
 
-	/**
-	 * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#getFormElement(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean)
-	 */
-	@Override
-	public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser) {
-		TextElement ui = (TextElement) super.getFormElement(locale, user, usageIdentifyer, isAdministrativeUser);
-		// skype names are max 32 chars long
-		ui.setMaxLength(32);
-		if ( ! UserManager.getInstance().isUserViewReadOnly(usageIdentifyer, this) || isAdministrativeUser) {
-			ui.setExample("myskypename");
-		}
-		return ui;
-	}
-	
 	/* (non-Javadoc)
 	 * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#isValidValue(java.lang.String, org.olat.core.gui.components.form.ValidationError, java.util.Locale)
 	 */
diff --git a/src/main/java/org/olat/user/propertyhandlers/URLPropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/URLPropertyHandler.java
index 6db65397fbeb1e1f11d49e53f6c33fdb1620f666..6b14111717d33a8ed9a82765e35c21b691eca328 100644
--- a/src/main/java/org/olat/user/propertyhandlers/URLPropertyHandler.java
+++ b/src/main/java/org/olat/user/propertyhandlers/URLPropertyHandler.java
@@ -27,8 +27,6 @@ import java.util.Map;
 import org.olat.core.gui.components.form.ValidationError;
 import org.olat.core.gui.components.form.flexible.FormItem;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
-import org.olat.core.gui.formelements.FormElement;
-import org.olat.core.gui.formelements.TextElement;
 import org.olat.core.id.User;
 import org.olat.core.util.StringHelper;
 import org.olat.user.UserManager;
@@ -61,18 +59,6 @@ public class URLPropertyHandler extends Generic127CharTextPropertyHandler {
 		return null;
 	}
 
-	/**
-	 * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#getFormElement(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean)
-	 */
-	@Override
-	public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser) {
-		TextElement ui = (TextElement) super.getFormElement(locale, user, usageIdentifyer, isAdministrativeUser);
-		if ( ! UserManager.getInstance().isUserViewReadOnly(usageIdentifyer, this) || isAdministrativeUser) {
-			ui.setExample("http://www.olat.org");
-		}
-		return ui;
-	}
-	
 	/* (non-Javadoc)
 	 * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#addFormItem(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean, org.olat.core.gui.components.form.flexible.FormItemContainer)
 	 */
@@ -85,30 +71,6 @@ public class URLPropertyHandler extends Generic127CharTextPropertyHandler {
 		}
 		return textElement;
 	}
-	
-	
-
-	/**
-	 * @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#isValid(org.olat.core.gui.formelements.FormElement)
-	 */
-	@Override
-	public boolean isValid(FormElement ui, Map formContext) {
-		// check parent rules first: check if mandatory and empty
-		if ( ! super.isValid(ui, formContext)) return false;
-		TextElement uiURL = (TextElement) ui;
-		String value = uiURL.getValue();
-		if (StringHelper.containsNonWhitespace(value)) {			
-			// check url address syntax
-			try {
-				new URL(value);
-			} catch (MalformedURLException e) {
-				uiURL.setErrorKey(i18nFormElementLabelKey() + ".error.valid");
-				return false;
-			}
-		}
-		// everthing ok
-		return true;			
-	}
 
 	@Override
 	public boolean isValid(FormItem formItem, Map formContext) {
diff --git a/src/main/java/org/olat/user/propertyhandlers/UserPropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/UserPropertyHandler.java
index 031052ec9e4cc2c7d74dfcc1f817839c91e0c0c9..abfe9fdb97f5888fbefdcda6c016b3f2d16bcf3f 100644
--- a/src/main/java/org/olat/user/propertyhandlers/UserPropertyHandler.java
+++ b/src/main/java/org/olat/user/propertyhandlers/UserPropertyHandler.java
@@ -27,7 +27,6 @@ import org.olat.core.gui.components.form.flexible.FormItem;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
 import org.olat.core.gui.components.form.flexible.impl.elements.ItemValidatorProvider;
 import org.olat.core.gui.components.table.ColumnDescriptor;
-import org.olat.core.gui.formelements.FormElement;
 import org.olat.core.id.User;
 
 /**
@@ -99,24 +98,6 @@ public interface UserPropertyHandler extends ItemValidatorProvider {
 	 * Form handling
 	 */
 
-	/**
-	 * Create a (non-flexi) form element for this UserPropertyHandler. The
-	 * usageIdentifyer indicates in which form the element is to be used.
-	 * 
-	 * @param locale The current users locale
-	 * @param user The user containing data to be prefilled or NULL if it should
-	 *          be left empty
-	 * @param usageIdentifyer The identifyer of the form where this form element
-	 *          is used
-	 * @param isAdministrativeUser true: Form element will be set to
-	 *          administrative mode. false: the element is set to user mode. In
-	 *          some cases the field is then read-only
-	 * @return The form element or NULL if in this context the element is not
-	 *         displayed
-	 * @deprecated Use FlexiForms instead of the old forms.
-	 */
-	@Deprecated
-	public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser);
 
 	/**
 	 * Adds a flexi-form Item for this UserPropertyHandler. The usageIdentifyer
@@ -136,29 +117,6 @@ public interface UserPropertyHandler extends ItemValidatorProvider {
 	public FormItem addFormItem(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser,
 			FormItemContainer formItemContainer);
 
-	/**
-	 * Put the current value from this UserPropertyHandler into the given form
-	 * element
-	 * 
-	 * @param ui The form element previously created with the getFormElement
-	 *          method
-	 * @param user The user that contains the data
-	 * @deprecated Use FlexiForms instead of the old forms.
-	 */
-	@Deprecated
-	public void updateFormElementFromUser(FormElement ui, User user);
-
-	/**
-	 * Reads the value of the given form element and updates the user
-	 * 
-	 * @param user The user to be updated
-	 * @param ui The form element previously created with the getFormElement
-	 *          method
-	 * @return The value or NULL
-	 * @deprecated Use FlexiForms instead of the old forms.
-	 */
-	@Deprecated
-	public void updateUserFromFormElement(User user, FormElement ui);
 
 	/**
 	 * Reads the value of the given form item and updates the user
@@ -180,20 +138,6 @@ public interface UserPropertyHandler extends ItemValidatorProvider {
 	 */
 	public String i18nFormElementGroupKey();
 
-	/**
-	 * Check if this form is valid
-	 * 
-	 * @param ui The form element previously created with the getFormElement
-	 *          method
-	 * @param formContext Map containing some variables used in this form context,
-	 *          e.g. for cross form value checks. NULL to not use any form context
-	 *          variables
-	 * @return true: the entered value is ok; false: the entered value is not
-	 *         accepted (Validation error)
-	 * @deprecated Use FlexiForms instead of the old forms.
-	 */
-	@Deprecated
-	public boolean isValid(FormElement ui, Map formContext);
 
 	/**
 	 * Checks if a form item for a property has a valid value and sets the
@@ -227,17 +171,6 @@ public interface UserPropertyHandler extends ItemValidatorProvider {
 	 */
 	public boolean isValidValue(String value, ValidationError validationError, Locale locale);
 
-	/**
-	 * Get the value from this form element formatted as string. The returned
-	 * value is formatted in a way it can be stored in the database, thus it might
-	 * not be the right value to display to a user.
-	 * 
-	 * @param ui
-	 * @return
-	 * @deprecated Use FlexiForms instead of the old forms.
-	 */
-	@Deprecated
-	public String getStringValue(FormElement ui);
 
 	/**
 	 * Get the value from this form item formatted as string. The returned value
diff --git a/src/main/resources/radeox_markup_olat.properties b/src/main/resources/radeox_markup_olat.properties
deleted file mode 100644
index 557bb53a833dc726a688b42b98424d5a577d7a74..0000000000000000000000000000000000000000
--- a/src/main/resources/radeox_markup_olat.properties
+++ /dev/null
@@ -1,61 +0,0 @@
-filter.bold.match=(^|>|[\\p{Punct}\\p{Space}]+)\\*(.*?)\\*([\\p{Punct}\\p{Space}]+|<|$)
-filter.bold.print=$1<strong>$2</strong>$3
-
-##filter.italic.match=(^|>|[\\p{Punct}\\p{Space}]+)_(.*?)_([\\p{Punct}\\p{Space}]+|<|$)
-filter.italic.match=(^|>|[\\p{Punct}\\p{Space}]+)'{2}(.*?)'{2}([\\p{Punct}\\p{Space}]+|<|$)
-filter.italic.print=$1<em>$2</em>$3
-
-filter.newline.match=^(.*)$
-filter.newline.print=$1<br />
-filter.paragraph.match=([ \t\r]*[\n]){2}
-#filter.paragraph.print=<p class=\"paragraph\"/>
-filter.paragraph.print=<p />
-
-filter.strikethrough.match=([^-]|^)--([^-$^]+)--([^-]|$)
-filter.strikethrough.print=$1<strike>$2</strike>$3
-
-filter.url.match=([^\"'=]|^)((http|ftp)s?://(%[\\p{Digit}A-Fa-f][\\p{Digit}A-Fa-f]|[-_.!~*';/?:@#&=+$,\\p{Alnum}])+)
-filter.url.print={0}<a href=\"{1}\" target=\"_blank\" class=\"b_link_extern\">{2}</a>
-
-filter.line.match=-----
-filter.line.print=<hr />
-
-
-
-filter.param.match=\\{\\$([^}]*)\\}
-
-filter.heading.match=^[\\p{Space}]*(1(\\.1)*)[\\p{Space}]+(.*?)$
-filter.heading.print=<h3 class=\"heading-{0}\">{1}</h3>
-filter.list.match=(^[\\p{Space}]*([-#*]+|[-#*]*[iIaA1ghHkKj]+\\.)[\\p{Space}]+([^\r\n]+)[\r\n]*)+
-
-filter.mark.match=(^|[[:space:]]+)neotis([[:space:]]?|[.!,:]?|$)
-##filter.mark.print=<a href=\"http://neotis.de/\">neotis&#174;</a>
-filter.mark.print=
-
-filter.key.match=((Ctrl|Alt|Shift)-[^ ]*)
-filter.key.print=<span class=\"key\">$1</span>
-
-filter.typography.match=([^.]|^)[.][.][.](?!\\.)( |$)
-filter.typography.print=$1&#8230;$2
-
-filter.linktest.match=\\[(.*?)\\]
-filter.escape.match=\\\\(\\\\\\\\)|\\\\(.)|([&<>])
-
-
-macro.isbn.name=isbn
-macro.link.name=link
-macro.quote.name=quote
-macro.mailto.name=mailto
-macro.code.name=code
-macro.apidocs.name=api-docs
-macro.filepath.name=file-path
-macro.api.name=api
-macro.asin.name=asin
-macro.interwiki.name=inter-wiki
-macro.macrolist.name=list-of-macros
-macro.rfc.name=rfc
-macro.table.name=table
-macro.xref.name=xref
-
-macro.code.start=<pre>
-macro.code.end=</pre>
\ No newline at end of file
diff --git a/src/main/webapp/static/images/emoticicons/angel.gif b/src/main/webapp/static/images/emoticicons/angel.gif
deleted file mode 100644
index 7037d07a0e1c424b22215438f50284d7f7031830..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/angel.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/angry.gif b/src/main/webapp/static/images/emoticicons/angry.gif
deleted file mode 100644
index f9946b3974a776a5676b745b31b6476961c8eebe..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/angry.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/blushing.gif b/src/main/webapp/static/images/emoticicons/blushing.gif
deleted file mode 100644
index f00f25b61c117291f425167afc29369f3c95a187..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/blushing.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/confused.gif b/src/main/webapp/static/images/emoticicons/confused.gif
deleted file mode 100644
index 1d296460c201aff98dc281dacc4e0ecdb8b32afb..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/confused.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/cool.gif b/src/main/webapp/static/images/emoticicons/cool.gif
deleted file mode 100644
index 3bde1b0b67b802dd79ac7d9512c34b3b2d62070a..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/cool.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/cry.gif b/src/main/webapp/static/images/emoticicons/cry.gif
deleted file mode 100644
index 4853968b60b18f3bf5ed7080078832fdc4827a00..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/cry.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/devil.gif b/src/main/webapp/static/images/emoticicons/devil.gif
deleted file mode 100644
index 44940fabcbeeb013a9b4c5edf3d9d98606a1417b..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/devil.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/emotic_icons.README b/src/main/webapp/static/images/emoticicons/emotic_icons.README
deleted file mode 100644
index af097ce2894b884328410e4a4974861cd61aa62e..0000000000000000000000000000000000000000
--- a/src/main/webapp/static/images/emoticicons/emotic_icons.README
+++ /dev/null
@@ -1 +0,0 @@
-icons used in the radeox wiki formatter - not cssified
\ No newline at end of file
diff --git a/src/main/webapp/static/images/emoticicons/grin.gif b/src/main/webapp/static/images/emoticicons/grin.gif
deleted file mode 100644
index 63aea4bc6f920dd9294834ab377be5be5bfa7c3f..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/grin.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/kiss.gif b/src/main/webapp/static/images/emoticicons/kiss.gif
deleted file mode 100644
index 9d90af0d1c3b8d688a1480ca403f618b800e4459..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/kiss.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/ohoh.gif b/src/main/webapp/static/images/emoticicons/ohoh.gif
deleted file mode 100644
index a8fa477bf2ea4208fe07a4cae66d16d1ce0910b1..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/ohoh.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/sad.gif b/src/main/webapp/static/images/emoticicons/sad.gif
deleted file mode 100644
index 39e5066f4506ef680278db9188dc1f54a8d69697..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/sad.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/sick.gif b/src/main/webapp/static/images/emoticicons/sick.gif
deleted file mode 100644
index ae62e7f498cb2891987319f20bcd59487b69bd9f..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/sick.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/smile.gif b/src/main/webapp/static/images/emoticicons/smile.gif
deleted file mode 100644
index bc9783528f7ac8c897b89df598f91bed87703e29..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/smile.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/tongue.gif b/src/main/webapp/static/images/emoticicons/tongue.gif
deleted file mode 100644
index f2ab44a93780072ae66300bcb4e79965ad5fd51a..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/tongue.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/ugly.gif b/src/main/webapp/static/images/emoticicons/ugly.gif
deleted file mode 100644
index 70e45687cab0cf1e518d7fb584f0b47edbe323ee..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/ugly.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/weird.gif b/src/main/webapp/static/images/emoticicons/weird.gif
deleted file mode 100644
index d7a18cef723092a03b610300d279418e8629adf8..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/weird.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/wink.gif b/src/main/webapp/static/images/emoticicons/wink.gif
deleted file mode 100644
index 3a884673bce9003689860e219ab0c331c948cc68..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/wink.gif and /dev/null differ
diff --git a/src/main/webapp/static/images/emoticicons/worried.gif b/src/main/webapp/static/images/emoticicons/worried.gif
deleted file mode 100644
index 15d4809fa91fd7a590843189c152053ec2df798b..0000000000000000000000000000000000000000
Binary files a/src/main/webapp/static/images/emoticicons/worried.gif and /dev/null differ
diff --git a/src/main/webapp/static/themes/check_css_icons.sh b/src/main/webapp/static/themes/check_css_icons.sh
index 45b0a6f1d47010fba8ae75223e26baabd78c9c77..6b2afdec553ed762da7f1876f9c2bb8d0662f487 100755
--- a/src/main/webapp/static/themes/check_css_icons.sh
+++ b/src/main/webapp/static/themes/check_css_icons.sh
@@ -20,6 +20,16 @@ THEMEDIR=`pwd`
 for THEMERAW in $(find . -type d -maxdepth 1 -mindepth 1 \! -name "CVS"); do
 	# remove ./ from THEMERAW, store as theme
 	THEME=${THEMERAW:2}
+	
+	# do not check .sass-cache
+	THEME_SUB=${THEME:0:11}
+	
+	if [ $THEME_SUB == ".sass-cache" ]
+		then
+			echo "skipping .sass-cache"
+			continue
+	fi
+	
 	cd $THEMEDIR/$THEME
 	
 	# we'll check only the compiled stylesheet file
diff --git a/src/main/webapp/static/themes/openolat/compiletheme.sh b/src/main/webapp/static/themes/compiletheme.sh
similarity index 57%
rename from src/main/webapp/static/themes/openolat/compiletheme.sh
rename to src/main/webapp/static/themes/compiletheme.sh
index 8d0f0ba1b5610771c50e298b3b71d607bdcf82db..78b244cc44bdbb639fb0ed9afdd49a6a4a49d7a0 100755
--- a/src/main/webapp/static/themes/openolat/compiletheme.sh
+++ b/src/main/webapp/static/themes/compiletheme.sh
@@ -4,4 +4,4 @@
 # can be included into eclipse-project-build (project-properties --> "Builders")
 #
 
-sass --update .
\ No newline at end of file
+sass --update --load-path openolat openolat/all openolat/all/modules openolat/print openolat/mobile .
\ No newline at end of file
diff --git a/src/main/webapp/static/themes/openolat/all/_basemod.scss b/src/main/webapp/static/themes/openolat/all/_basemod.scss
index ddedaa4271fc3b5d1d7cf413c547c79e1f95fcf7..adf4b4357f70ae993c49f7e9dd286b5b3dba73bf 100644
--- a/src/main/webapp/static/themes/openolat/all/_basemod.scss
+++ b/src/main/webapp/static/themes/openolat/all/_basemod.scss
@@ -18,6 +18,7 @@
 */
 @media all {
 
+	html{ min-height:100%;}
 /** ----------------- MAIN LAYOUT ----------------- **/
 /** 
    * (en) Forcing vertical scrollbars in IE8, Firefox, Webkit & Opera 
@@ -29,8 +30,9 @@
    * @valid CSS3
    */
 body { 
+	min-height:100%;
 	overflow-y:scroll; 
-	background:#ECECEC url('images/sky.png') repeat-x left 88px;
+	@include bodybg;	
 }
 #b_page_margins {
 	min-width:740px;
@@ -57,7 +59,7 @@ body {
 		position: absolute;
 		bottom: 1em;
 		right: 1em;
-		background: transparent url(images/arrow_up.png) 0 50% no-repeat;
+		background: transparent url(../openolat/images/arrow_up.png) 0 50% no-repeat;
 		padding-left: 14px;
 		z-index: 5;
 	}
@@ -116,7 +118,7 @@ div.b_iframe_wrapper iframe { width:100%; position:relative; top: 0; left:0; bor
 	height: auto;
 	min-height:30px;
 	position:relative;
-	//background:transparent url('images/openolat_logo_header.png') no-repeat 20px 20px;
+	//background:transparent url('../openolat/images/openolat_logo_header.png') no-repeat 20px 20px;
 	
 	/* the top-navigation */
 	#b_topnav {
@@ -131,12 +133,12 @@ div.b_iframe_wrapper iframe { width:100%; position:relative; top: 0; left:0; bor
 			width: 10em;
 		}
 		#o_topnav_printview a {
-			background: url(images/printer.png) no-repeat top right;
+			background: url(../openolat/images/printer.png) no-repeat top right;
 			padding: 2px 20px 2px 0;
 			margin: 0;
 		}
 		#o_topnav_logout a {
-			background: url('images/control/control-power.png') no-repeat top right;
+			background: url('../openolat/images/control/control-power.png') no-repeat top right;
 			padding: 2px 20px 2px 0;
 			margin: 0;
 			font-weight: bold;
@@ -182,7 +184,7 @@ div.b_iframe_wrapper iframe { width:100%; position:relative; top: 0; left:0; bor
 	
 				//active sites
 				&.b_nav_active,&:hover {
-					a.b_nav_tab_close { background-image: url(images/cross_small_trimmed_blue.png); }
+					a.b_nav_tab_close { background-image: url(../openolat/images/cross_small_trimmed_blue.png); }
 					@include o-box-shadow(0, -4px,8px -1px, #d3d3d3);
 					background:#fff;
 				}
@@ -194,20 +196,20 @@ div.b_iframe_wrapper iframe { width:100%; position:relative; top: 0; left:0; bor
 					padding-left: 16px;
 					background-repeat: no-repeat;
 					background-position: 0% 50%;		
-					background-image: url('images/application.png');		
+					background-image: url('../openolat/images/application.png');		
 				}
 				
-				&.o_site_home > div { background-image: url('images/home.png'); }
-				&.o_site_admin > div { background-image: url('images/wrench-screwdriver.png'); }
-				&.o_site_useradmin > div { background-image: url('images/user_conf.png'); }
-				&.o_site_groupsmanagement > div { background-image: url('images/users_conf.png'); }
-				&.o_site_repository > div { background-image: url('images/books-stack.png'); }
-				&.o_site_groups > div { background-image: url('images/users.png'); }
-				&.site_demo_icon > div { background-image: url('images/information-white.png');  }
-				&.f_site_library > div { background-image: url('images/library.png'); }
-				&.o_site_guidemo div { background-image: url('images/light-bulb.png') }
+				&.o_site_home > div { background-image: url('../openolat/images/home.png'); }
+				&.o_site_admin > div { background-image: url('../openolat/images/wrench-screwdriver.png'); }
+				&.o_site_useradmin > div { background-image: url('../openolat/images/user_conf.png'); }
+				&.o_site_groupsmanagement > div { background-image: url('../openolat/images/users_conf.png'); }
+				&.o_site_repository > div { background-image: url('../openolat/images/books-stack.png'); }
+				&.o_site_groups > div { background-image: url('../openolat/images/users.png'); }
+				&.site_demo_icon > div { background-image: url('../openolat/images/information-white.png');  }
+				&.f_site_library > div { background-image: url('../openolat/images/library.png'); }
+				&.o_site_guidemo div { background-image: url('../openolat/images/light-bulb.png') }
 				
-				&.b_resource_GroupInfoMainController div { background-image: url(images/users.png) }
+				&.b_resource_GroupInfoMainController div { background-image: url(../openolat/images/users.png) }
 	
 			}
 			
@@ -216,12 +218,12 @@ div.b_iframe_wrapper iframe { width:100%; position:relative; top: 0; left:0; bor
 				margin-right:4px;
 				a.b_nav_tab_close { 
 					position: absolute; top: 3px; right: 4px;	width: 13px; height: 13px; line-height: 0;	padding: 0; margin: 0; 
-					background: transparent url(images/cross_small_trimmed_grey.png) no-repeat right top;
+					background: transparent url(../openolat/images/cross_small_trimmed_grey.png) no-repeat right top;
 				}
 				
 				//active tabs
 				&.b_nav_active,&:hover {
-					a.b_nav_tab_close { background-image: url(images/cross_small_trimmed_blue.png); }
+					a.b_nav_tab_close { background-image: url(../openolat/images/cross_small_trimmed_blue.png); }
 					@include o-box-shadow(0, -4px,8px -1px, #d3d3d3);
 					background:#fff;
 				}
@@ -345,8 +347,8 @@ div.b_tree {
 	
 	
 	/* the open/close node icons */
-	a.b_tree_level_close span { background: url('images/toggle-small.png') no-repeat 0% 50%; padding-right:8px;}
-	a.b_tree_level_open span { background: url('images/toggle-small-expand.png') no-repeat 0% 50%; padding-right:8px;}
+	a.b_tree_level_close span { background: url('../openolat/images/toggle-small.png') no-repeat 0% 50%; padding-right:8px;}
+	a.b_tree_level_open span { background: url('../openolat/images/toggle-small-expand.png') no-repeat 0% 50%; padding-right:8px;}
 	a.b_tree_level_close:hover,a.b_tree_level_open:hover {text-decoration:none;}
 	
 }// end b_tree
@@ -365,7 +367,7 @@ div.b_tree {
 	
 	#b_footer_user { 
 		float: left; line-height: 16px;
-	 	a.b_ajax {background: url(images/ajax.png) no-repeat; width: 20px; height: 16px; display: block; float: left; }
+	 	a.b_ajax {background: url(../openolat/images/ajax.png) no-repeat; width: 20px; height: 16px; display: block; float: left; }
 	}
 	#b_footer_version {float: right; display: block;}
 	#b_footer_powered { text-align: center; width: auto; background: none;  a { display: inline; } }
@@ -404,8 +406,8 @@ div.b_breadcumb_path {
 	padding: 0; margin: 0; float:left; display: inline;
 	ul { 
 		padding: 0; margin: 0; list-style: none; float:left;  display: inline; 
-		li { padding: 0 7px 0 14px; margin: 0; list-style: none; float:left;  display: inline; background: url(images/breadcrumb-separator.png) no-repeat left center;}
-		li.b_first { background: url(images/home.png) no-repeat top left; padding-left: 25px;}
+		li { padding: 0 7px 0 14px; margin: 0; list-style: none; float:left;  display: inline; background: url(../openolat/images/breadcrumb-separator.png) no-repeat left center;}
+		li.b_first { background: url(../openolat/images/home.png) no-repeat top left; padding-left: 25px;}
 		li a { color: #464444; }
 		li span.b_disabled { color: #000; padding: 0 10px 0 0; margin: 0;}
 	}
@@ -416,9 +418,9 @@ div.b_breadcumb_content { clear: both;  margin-top: 0.5em; padding-top: 0.5em; b
 div.b_noti { 
 		border: 1px solid #E9EAEF; padding: 3px 23px 3px 3px; float: right; display: inline; position: relative; right: 0; font-size: 95%;
 		a.b_contexthelp { position: absolute; top: 2px; right: 2px; }
-		a.b_noti_unsubscribe_link { background: url(images/mail--minus.png)  no-repeat left 50%; padding: 1px 0 1px 20px; }
-		a.b_noti_subscribe_link { background: url(images/mail--plus.png)  no-repeat left 50%; padding: 1px 0 1px 20px; }
-		a.b_noti_markedread_link { background: url(images/tick.png)  no-repeat left 50%; padding: 1px 0 1px 20px;}	
+		a.b_noti_unsubscribe_link { background: url(../openolat/images/mail--minus.png)  no-repeat left 50%; padding: 1px 0 1px 20px; }
+		a.b_noti_subscribe_link { background: url(../openolat/images/mail--plus.png)  no-repeat left 50%; padding: 1px 0 1px 20px; }
+		a.b_noti_markedread_link { background: url(../openolat/images/tick.png)  no-repeat left 50%; padding: 1px 0 1px 20px;}	
 }
 
 	
@@ -454,7 +456,7 @@ div.o_catalog {
 		font-size: 95%;
 		padding: 1px 0 1px 20px;
 		border-bottom: 1px solid #EEE;
-		background: url(images/folder_open.png) 0 50% no-repeat;
+		background: url(../openolat/images/folder_open.png) 0 50% no-repeat;
 	}
 	div.o_catalog_links {
 		margin-top: 1em;
@@ -468,8 +470,8 @@ div.o_catalog {
 	
 /** -------------- TAGGING ---------------- **/
 /* tagging */
-	.b_tag_list { background: url(images/tag-label-yellow.png) 0px 3px no-repeat !important; }
-	.b_tag_icon { background-image: url(images/tag-label-yellow.png); }
+	.b_tag_list { background: url(../openolat/images/tag-label-yellow.png) 0px 3px no-repeat !important; }
+	.b_tag_icon { background-image: url(../openolat/images/tag-label-yellow.png); }
 	
 	
 	div.b_tags {
@@ -503,14 +505,14 @@ div.o_catalog {
 		a.bit-input input.smallinput { width: 20px; }
 		a.bit-hover { background: #BBCEF1; border: 1px solid #6D95E0; }
 		a.bit-box-focus { background: #598BEC; color: #fff; }
-		a.bit-box a.closebutton { position: absolute; right: 0; top: 5px	; display: block; width: 7px; height: 7px; font-size: 1px; background: url('images/tag_x.gif'); }
+		a.bit-box a.closebutton { position: absolute; right: 0; top: 5px	; display: block; width: 7px; height: 7px; font-size: 1px; background: url('../openolat/images/tag_x.gif'); }
 		a.bit-box a.closebutton:hover { background-position: 7px; }
 		a.bit-box a.closebutton:active { outline: none }
 		a.bit-box-focus a.closebutton,  a.bit-box-focus a.closebutton:hover { background-position: bottom; }
 	}
 	
 	.b_wizard {
-		.textbox-outer { background: url(images/tag-label-yellow.png) top left no-repeat;
+		.textbox-outer { background: url(../openolat/images/tag-label-yellow.png) top left no-repeat;
 		li {margin-left:18px;} }
 		div.holder a.bit-input input { background: #f8f8f8; padding: 0.4em; }
 	}
@@ -548,9 +550,9 @@ div.b_ext_elem .x-tree-lines .x-tree-elbow-minus {background-image: url($ico_plu
 div.b_ext_elem .x-tree-lines .x-tree-elbow-plus {background-image: url($ico_plus);background-position: 50% 50%;}
 div.b_ext_elem .x-tree-lines .x-tree-elbow-end-minus {background-image: url($ico_plus);background-position: 50% 50%;}
 div.b_ext_elem .x-tree-lines .x-tree-elbow-end-plus {background-image: url($ico_plus);background-position: 50% 50%;}
-div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon { background-image: url(images/folder.png); }
-div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon { background-image: url(images/folder_open.png); }
-div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon { background-image: url(images/docs/document_plain.png); }
+div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon { background-image: url(../openolat/images/folder.png); }
+div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon { background-image: url(../openolat/images/folder_open.png); }
+div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon { background-image: url(../openolat/images/docs/document_plain.png); }
 div.b_ext_elem .x-tree-selected a.x-tree-node-anchor { border: 1px dotted #444; text-decoration: none; }
 div.b_ext_elem .x-tree-node .x-tree-selected { background-color:#FFC266; }
 	
diff --git a/src/main/webapp/static/themes/openolat/all/_content.scss b/src/main/webapp/static/themes/openolat/all/_content.scss
index 455b9db5d3cb438cb641f0d881762e7fe4922c99..f7d57a64f10f122a2e2d00e23b7db47ca347ab51 100644
--- a/src/main/webapp/static/themes/openolat/all/_content.scss
+++ b/src/main/webapp/static/themes/openolat/all/_content.scss
@@ -51,8 +51,8 @@ a:hover {
 	color:$basecolor;
 }
 
-a.b_link_extern { background: transparent url('images/external_link_trimmed.png') no-repeat right top; padding-right:13px;}
-.b_link_mailto { background: transparent url('images/mail_small.png') no-repeat left center; padding-left:18px;}
+a.b_link_extern { background: transparent url('../openolat/images/external_link_trimmed.png') no-repeat right top; padding-right:13px;}
+.b_link_mailto { background: transparent url('../openolat/images/mail_small.png') no-repeat left center; padding-left:18px;}
 
 hr {
   color:#fff;
@@ -71,7 +71,7 @@ p { margin: 0 0 1em 0; }
 /** ----------------- CONTENT CLASSES ----------------- **/
 
 /* content boxes */
-.b_info { background: #E9EAEF url(images/information-white.png) no-repeat 5px 5px; padding: 5px 5px 5px 30px; border:1px solid #C5C4C4; @include o-border-radius(4px);}
+.b_info { background: #E9EAEF url(../openolat/images/information-white.png) no-repeat 5px 5px; padding: 5px 5px 5px 30px; border:1px solid #C5C4C4; @include o-border-radius(4px);}
 .b_note {background: #E2E2E2; padding: 1em; border: 2px #B5B5B5 solid; @include o-border-radius(4px);}
 .b_important {background: #FFF1A4; padding: 1em; border: 2px #F4D000 solid; @include o-border-radius(4px);}
 .b_warning {background: #FFD5AA; padding: 1em; border: 2px #FF9E3E solid; @include o-border-radius(4px);}
@@ -111,7 +111,7 @@ blockquote.b_quote { margin: 0; border: 1px solid rgb(229, 229, 229);color: blac
 	
 	/* HELP, context sensitive */
 	div.b_contexthelp_wrapper { position: relative; }
-	a.b_contexthelp { display: block; width: 16px; height: 16px; background: url(images/help.png) no-repeat; line-height: 0; cursor: help; }
+	a.b_contexthelp { display: block; width: 16px; height: 16px; background: url(../openolat/images/help.png) no-repeat; line-height: 0; cursor: help; }
 	div.b_contexthelp_wrapper a.b_contexthelp { position: absolute; top: 0; right: 0; }
 	fieldset a.b_contexthelp, fieldset div.b_contexthelp_wrapper a.b_contexthelp { position: absolute; top: -1.5em; right: -0.8em; }
 	#b_contexthelp {}
@@ -125,7 +125,7 @@ blockquote.b_quote { margin: 0; border: 1px solid rgb(229, 229, 229);color: blac
 			 td { width: 50%; }
 		 }
 	}
-	.b_contexthelp_icon {background-image: url(images/help.png); }
+	.b_contexthelp_icon {background-image: url(../openolat/images/help.png); }
 	
 	
 	
@@ -138,7 +138,7 @@ blockquote.b_quote { margin: 0; border: 1px solid rgb(229, 229, 229);color: blac
 		div.b_rating_personal { background: #fff; z-index: 5; }
 	}
 	
-	div.b_ratings_and_comments a.b_comments, div.b_eportfolio_map a.b_comments { background: url(images/comment.png) 3px 50% no-repeat; padding: 3px 0 1px 23px; vertical-align: middle; min-height: 18px;}
+	div.b_ratings_and_comments a.b_comments, div.b_eportfolio_map a.b_comments { background: url(../openolat/images/comment.png) 3px 50% no-repeat; padding: 3px 0 1px 23px; vertical-align: middle; min-height: 18px;}
 
 	div.b_comments { 
 		font-size: 0.9em;
@@ -147,7 +147,7 @@ blockquote.b_quote { margin: 0; border: 1px solid rgb(229, 229, 229);color: blac
 			border:1px solid #eee; padding: 10px 10px 5px 10px; margin-bottom: 2em; background: #fbfbfb;
 			@include o-border-radius(4px);
 			div.b_avatar img { border: 1px solid #aaa; }
-			h5 { font-size: 1em; background: url(images/user.png) 0 50% no-repeat; padding: 1px 0 1px 20px; vertical-align: middle; min-height: 16px;}
+			h5 { font-size: 1em; background: url(../openolat/images/user.png) 0 50% no-repeat; padding: 1px 0 1px 20px; vertical-align: middle; min-height: 16px;}
 			span.b_date { color: #aaaaaa; font-weight: normal; display: block; margin-top: 5px;}
 			
 			// wrapper in wrapper in wrapper in ....
@@ -161,7 +161,7 @@ blockquote.b_quote { margin: 0; border: 1px solid rgb(229, 229, 229);color: blac
 		}		
 	}
 	
-	.b_comment_icon {background-image: url(images/comment.png);}
+	.b_comment_icon {background-image: url(../openolat/images/comment.png);}
 	#b_comment_form_link {font-size: 0.9em; position: relative; top: -15px; left: 23px;}
 	
 	/* DATE COMPONENT */
@@ -183,11 +183,11 @@ blockquote.b_quote { margin: 0; border: 1px solid rgb(229, 229, 229);color: blac
 		div.b_rating_items { 
 			vertical-align: middle; line-height: 18px; 
 			a { float: left; display: inline; width: 16px; height: 16px; background-repeat: no-repeat; background-position: 0 0; margin: 1px 4px 1px 0}
-			a.b_rating_item_on { background-image: url(images/star.png); }
-			a.b_rating_item_off { background-image: url(images/star_grey.png); }
+			a.b_rating_item_on { background-image: url(../openolat/images/star.png); }
+			a.b_rating_item_off { background-image: url(../openolat/images/star_grey.png); }
 			a:hover {cursor: default;}
 			&.b_enabled a:hover {cursor: pointer;}
-			&.b_enabled a.b_rating_item_off:hover { background-image: url(images/star.png);}
+			&.b_enabled a.b_rating_item_off:hover { background-image: url(../openolat/images/star.png);}
 		}
 		div.b_rating_explanation { clear: both; font-size: 90%; }
 	}
diff --git a/src/main/webapp/static/themes/openolat/all/_dd.scss b/src/main/webapp/static/themes/openolat/all/_dd.scss
index 85281d5bb0a7ed7da639d9cb58251ce1d5df8af5..d35fe86acfaf80e39d6ec97c8b7b3f95f99bed43 100644
--- a/src/main/webapp/static/themes/openolat/all/_dd.scss
+++ b/src/main/webapp/static/themes/openolat/all/_dd.scss
@@ -17,7 +17,7 @@
 .b_dd_proxy { opacity: 0.4; -moz-opacity: 0.4; filter: alpha(opacity=40); }
 .b_dd_item.b_dd_over { background-color: #ffff60; }
 .b_dd_sibling { height:3px; width:100%; }
-.b_dd_sibling.b_dd_over { background:transparent url(images/arrow_dd.png) top left no-repeat; }
+.b_dd_sibling.b_dd_over { background:transparent url(../openolat/images/arrow_dd.png) top left no-repeat; }
 
 div.b_dd_ct {
 	div.b_dd_sibling_l1 { margin-left:0 !important; }
diff --git a/src/main/webapp/static/themes/openolat/all/_definitions.scss b/src/main/webapp/static/themes/openolat/all/_definitions.scss
index 2513723498ce78298d683bf6bbaf844dc1441786..8e86156753dd1143f6a8d0e452dc404710567b63 100644
--- a/src/main/webapp/static/themes/openolat/all/_definitions.scss
+++ b/src/main/webapp/static/themes/openolat/all/_definitions.scss
@@ -2,6 +2,7 @@
 *  =================================================
 *   
 *   CONTAINS SOME SASS VARIABLES
+*   you can change these and compile the theme :)
 *
 *   @author strentini, sergio.trentini@frentix.com,  www.frentix.com
 *   @date Nov. 2011
@@ -13,15 +14,22 @@
 */
 
 
-// the base-color (for openolat-theme this is the openolat-blue)
+/* the base-color and variations (for openolat-theme this is the openolat-blue) */
 $basecolor: #025D8C;
 $basecolor_light : #94bed3;
 $basecolor_ultra_light : #f3feff;
+
+/* then we need a base-gray and some variations */
 $basegray: #555;
 $basegray_light: #777;
 $basegray_ultra_light: #eee;
 
 
+$ico_plus : '../openolat/images/toggle-small-expand.png' ;
+$ico_minus : '../openolat/images/toggle-small.png' ;
+
+
+@mixin bodybg(){
+	background: #ECECEC url('../openolat/images/sky.png') repeat-x left 88px;
+}
 
-$ico_plus : 'images/toggle-small-expand.png' ;
-$ico_minus : 'images/toggle-small.png' ;
\ No newline at end of file
diff --git a/src/main/webapp/static/themes/openolat/all/_icons.scss b/src/main/webapp/static/themes/openolat/all/_icons.scss
index 63c53724205529f7386f4965ebd1e32891a64b7a..dd3c298d134a05e08f53c068a11614e38e65bce7 100644
--- a/src/main/webapp/static/themes/openolat/all/_icons.scss
+++ b/src/main/webapp/static/themes/openolat/all/_icons.scss
@@ -45,226 +45,228 @@ option.b_with_small_icon_left {
 }
 
 /* ------- misc icons --------- */
-.b_info_icon { background-image: url(images/comment.png)}
-.b_warn_icon { background-image: url(images/exclamation.png)}
-.b_error_icon { background-image: url(images/cross-circle.png)}
-.b_new_icon { background-image: url(images/new-text.png)}
-.b_institution_icon { background-image: url(images/home.png) }
-.b_group_icon { background-image: url(images/users.png) }
-.b_user_icon { background-image: url(images/user.png) }
-.b_move_left_icon { background-image: url(images/arrow_left_big.png); }
-.b_move_right_icon { background-image: url(images/arrow_right_big.png);}
-.b_move_down_icon { background-image: url(images/arrow_down_big.png); }
-.b_move_up_icon { background-image: url(images/arrow_up_big.png); }
-.b_delete_icon { background-image: url(images/cross-script.png); }
-.b_share_icon { background-image: url(images/share.png); }
-.b_status_enabled_icon { background-image: url(images/tick.png) }	
-.b_status_disabled_icon { background-image: url(images/cross.png) }	
-.b_edit_icon{ background-image: url(images/docs/document--pencil.png); }
-.b_add_icon { background-image: url(images/plus-circle.png); }
-.b_open_icon { background-image: url(images/control/control.png); }
+.b_info_icon { background-image: url('../openolat/images/comment.png')}
+.b_warn_icon { background-image: url('../openolat/images/exclamation.png')}
+.b_error_icon { background-image: url('../openolat/images/cross-circle.png')}
+.b_new_icon { background-image: url('../openolat/images/new-text.png')}
+.b_institution_icon { background-image: url('../openolat/images/home.png') }
+.b_group_icon { background-image: url('../openolat/images/users.png') }
+.b_user_icon { background-image: url('../openolat/images/user.png') }
+.b_move_left_icon { background-image: url('../openolat/images/arrow_left_big.png'); }
+.b_move_right_icon { background-image: url('../openolat/images/arrow_right_big.png');}
+.b_move_down_icon { background-image: url('../openolat/images/arrow_down_big.png'); }
+.b_move_up_icon { background-image: url('../openolat/images/arrow_up_big.png'); }
+.b_delete_icon { background-image: url('../openolat/images/cross-script.png'); }
+.b_share_icon { background-image: url('../openolat/images/share.png'); }
+.b_status_enabled_icon { background-image: url('../openolat/images/tick.png') }	
+.b_status_disabled_icon { background-image: url('../openolat/images/cross.png') }	
+.b_edit_icon{ background-image: url('../openolat/images/docs/document--pencil.png'); }
+.b_add_icon { background-image: url('../openolat/images/plus-circle.png'); }
+.b_open_icon { background-image: url('../openolat/images/control/control.png'); }
 	
-.o_fulltext_search_button { background-image: url('images/magnifier-zoom.png'); }
+.o_fulltext_search_button { background-image: url('../openolat/images/magnifier-zoom.png'); }
 	
-.o_help_icon { background-image: url(images/help.png); }
-.o_rss_icon { background-image: url(images/feed.png); }
-.o_login_guests {background-image: url(images/user_silhouette.png);}
-.o_login_pwd {background-image: url(images/user_excl.png);}
-.o_login_register {background-image: url(images/user_register.png);}
-.o_news_icon { background-image: url(../images/olat/information.png); }
-.o_course_icon { background-image: url(images/le_resources/book-open-text-image.png); }
-.o_chat_icon { background-image: url(../images/olat/chat_icon.png); }
-.o_admin_icon { background-image: url(images/wrench-screwdriver.png); }
-.o_calendar_icon { background-image: url(images/calendar.png); }
+.o_help_icon { background-image: url('../openolat/images/help.png'); }
+.o_rss_icon { background-image: url('../openolat/images/feed.png'); }
+.o_login_guests {background-image: url('../openolat/images/user_silhouette.png');}
+.o_login_pwd {background-image: url('../openolat/images/user_excl.png');}
+.o_login_register {background-image: url('../openolat/images/user_register.png');}
+.o_news_icon { background-image: url('../images/olat/information.png'); }
+.o_course_icon { background-image: url('../openolat/images/le_resources/book-open-text-image.png'); }
+.o_chat_icon { background-image: url('../images/olat/chat_icon.png'); }
+.o_admin_icon { background-image: url('../openolat/images/wrench-screwdriver.png'); }
+.o_calendar_icon { background-image: url('../openolat/images/calendar.png'); }
+
+
 
 
 /** ------- FLAGS ------ **/
-.b_flag_en {background-image: url(images/flags/gb.png)} 	
-.b_flag_de {background-image: url(images/flags/de.png)} 	
-.b_flag_fr {background-image: url(images/flags/fr.png)} 	
-.b_flag_it {background-image: url(images/flags/it.png)} 	
-.b_flag_es {background-image: url(images/flags/es.png)} 	
-.b_flag_da {background-image: url(images/flags/dk.png)} 	
-.b_flag_cs {background-image: url(images/flags/cz.png)} 	
-.b_flag_el {background-image: url(images/flags/gr.png)} 	
-.b_flag_ru {background-image: url(images/flags/ru.png)} 	
-.b_flag_pl {background-image: url(images/flags/pl.png)} 	
-.b_flag_zh_CN {background-image: url(images/flags/cn.png)} 	
-.b_flag_zh_TW {background-image: url(images/flags/tw.png)} 	
-.b_flag_lt {background-image: url(images/flags/lt.png)} 	
-.b_flag_fa {background-image: url(images/flags/ir.png)} 	
-.b_flag_pt_PT {background-image: url(images/flags/pt.png)} 	
-.b_flag_pt_BR {background-image: url(images/flags/br.png)} 	
-.b_flag_tr {background-image: url(images/flags/tr.png)} 	
-.b_flag_hu {background-image: url(images/flags/hu.png)} 	
-.b_flag_sq {background-image: url(images/flags/al.png)} 	
-.b_flag_in {background-image: url(images/flags/id.png)} 	
-.b_flag_ar {background-image: url(images/flags/eg.png)} 	
-.b_flag_rm {background-image: url(images/flags/rm.png)} 	
-.b_flag_af {background-image: url(images/flags/za.png)} 	
-.b_flag_vi {background-image: url(images/flags/vn.png)} 
-.b_flag_mn {background-image: url(images/flags/mn.png)} 
-.b_flag_iw {background-image: url(images/flags/il.png)} 
-.b_flag_ko {background-image: url(images/flags/kr.png)} 
-.b_flag_nl_NL {background-image: url(images/flags/nl.png)}
-.b_flag_jp {background-image: url(images/flags/jp.png)}
-.b_flag_nb_NO {background-image: url(images/flags/no.png)}
-.b_flag_et_EE {background-image: url(images/flags/ee.png)}
-.b_flag_bg {background-image: url(images/flags/bg.png)}
-.b_flag_hi_IN_ASIA {background-image: url(images/flags/in.png)}
-.b_flag_ar_LB {background-image: url(images/flags/lb.png)}     
-.b_flag_de_FX_business 	{background-image: url(images/flags/de.png)}
-.b_flag_de_FX_school 	{background-image: url(images/flags/de.png)}	
-.b_flag_en_FX_business 	{background-image: url(images/flags/gb.png)}
-.b_flag_en_FX_school 	{background-image: url(images/flags/gb.png)}
+.b_flag_en {background-image: url('../openolat/images/flags/gb.png');} 	
+.b_flag_de {background-image: url('../openolat/images/flags/de.png');} 	
+.b_flag_fr {background-image: url('../openolat/images/flags/fr.png');} 	
+.b_flag_it {background-image: url('../openolat/images/flags/it.png');} 	
+.b_flag_es {background-image: url('../openolat/images/flags/es.png');} 	
+.b_flag_da {background-image: url('../openolat/images/flags/dk.png');} 	
+.b_flag_cs {background-image: url('../openolat/images/flags/cz.png');} 	
+.b_flag_el {background-image: url('../openolat/images/flags/gr.png');} 	
+.b_flag_ru {background-image: url('../openolat/images/flags/ru.png');} 	
+.b_flag_pl {background-image: url('../openolat/images/flags/pl.png');} 	
+.b_flag_zh_CN {background-image: url('../openolat/images/flags/cn.png');} 	
+.b_flag_zh_TW {background-image: url('../openolat/images/flags/tw.png');} 	
+.b_flag_lt {background-image: url('../openolat/images/flags/lt.png');} 	
+.b_flag_fa {background-image: url('../openolat/images/flags/ir.png');} 	
+.b_flag_pt_PT {background-image: url('../openolat/images/flags/pt.png');} 	
+.b_flag_pt_BR {background-image: url('../openolat/images/flags/br.png');} 	
+.b_flag_tr {background-image: url('../openolat/images/flags/tr.png');} 	
+.b_flag_hu {background-image: url('../openolat/images/flags/hu.png');} 	
+.b_flag_sq {background-image: url('../openolat/images/flags/al.png');} 	
+.b_flag_in {background-image: url('../openolat/images/flags/id.png');} 	
+.b_flag_ar {background-image: url('../openolat/images/flags/eg.png');} 	
+.b_flag_rm {background-image: url('../openolat/images/flags/rm.png');} 	
+.b_flag_af {background-image: url('../openolat/images/flags/za.png');} 	
+.b_flag_vi {background-image: url('../openolat/images/flags/vn.png');} 
+.b_flag_mn {background-image: url('../openolat/images/flags/mn.png');} 
+.b_flag_iw {background-image: url('../openolat/images/flags/il.png');} 
+.b_flag_ko {background-image: url('../openolat/images/flags/kr.png');} 
+.b_flag_nl_NL {background-image: url('../openolat/images/flags/nl.png');}
+.b_flag_jp {background-image: url('../openolat/images/flags/jp.png');}
+.b_flag_nb_NO {background-image: url('../openolat/images/flags/no.png');}
+.b_flag_et_EE {background-image: url('../openolat/images/flags/ee.png');}
+.b_flag_bg {background-image: url('../openolat/images/flags/bg.png');}
+.b_flag_hi_IN_ASIA {background-image: url('../openolat/images/flags/in.png');}
+.b_flag_ar_LB {background-image: url('../openolat/images/flags/lb.png');}     
+.b_flag_de_FX_business 	{background-image: url('../openolat/images/flags/de.png');}
+.b_flag_de_FX_school 	{background-image: url('../openolat/images/flags/de.png');}	
+.b_flag_en_FX_business 	{background-image: url('../openolat/images/flags/gb.png');}
+.b_flag_en_FX_school 	{background-image: url('../openolat/images/flags/gb.png');}
 
 
 /** ------- FILE TYPES ------- **/
 	/* first the default that is used as base class. will be overriden by following classes */
-.b_filetype_file ,.b_filetype_ico { 	background-image: url(images/docs/document_plain.png) ! important; }
+.b_filetype_file ,.b_filetype_ico { 	background-image: url('../openolat/images/docs/document_plain.png') ! important; }
 
 /* filesystem icons, mark important to override ext definitions */
-.b_filetype_avi_icon { background-image: url(images/docs/document-film.png) ! important; }
-.b_filetype_bat_icon { background-image: url(images/docs/document-binary.png) ! important; }
-.b_filetype_bmp { background-image: url(images/docs/document-image.png) ! important; }
-.b_filetype_css, { background-image: url(images/docs/document_tags.png) ! important; }
-.b_filetype_doc, .b_filetype_docx { background-image: url(images/docs/document-word.png) ! important; }
-.b_filetype_dvi { background-image: url(images/docs/document-film.png) ! important; }
-.b_filetype_exe { background-image: url(images/docs/document-binary.png) ! important; }
-div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.b_filetype_folder, .b_filetype_folder_open { background-image: url(images/folder_open.png)  ! important; }	
-.b_filetype_folder { background-image: url(images/folder.png)  ! important; }
-.b_filetype_gif { background-image: url(images/docs/document-image.png) ! important; }
-.b_filetype_gz { background-image: url(images/docs/document-zipper.png) ! important; }
-.b_filetype_htm, .b_filetype_html { background-image: url(images/docs/document_tags.png) ! important; }
-.b_filetype_jpeg, .b_filetype_jpg { background-image: url(images/docs/document-image.png) ! important; }
-.b_filetype_js { background-image: url(images/docs/document_tags.png) ! important; }
-.b_filetype_log { background-image: url(images/docs/document_plain.png) ! important; }
-.b_filetype_midi { background-image: url(images/docs/document-music.png) ! important; }
-.b_filetype_mov { background-image: url(images/docs/document-film.png) ! important; }
-.b_filetype_mp3,.b_filetype_m3u { background-image: url(images/docs/document-music.png) ! important; }
-.b_filetype_mpeg,.b_filetype_mpg { background-image: url(images/docs/document-film.png) ! important; }
-.b_filetype_odp { background-image: url(images/docs/document-powerpoint.png) ! important; }
-.b_filetype_ods { background-image: url(images/docs/document-excel.png) ! important; }
-.b_filetype_odt { background-image: url(images/docs/document-text.png) ! important; }
-.b_filetype_odg { background-image: url(images/docs/document-image.png) ! important; }
-.b_filetype_odf { background-image: url(images/docs/document_plain.png) ! important; }
-.b_filetype_pdf { background-image: url(images/docs/document-pdf.png) ! important; }
-.b_filetype_png { background-image: url(images/docs/document-image.png) ! important; }
-.b_filetype_ppt { background-image: url(images/docs/document-powerpoint.png) ! important; }
-.b_filetype_pptx { background-image: url(images/docs/document-powerpoint.png) ! important; }
-.b_filetype_ps { background-image: url(images/docs/document-pdf.png) ! important; }
-.b_filetype_qt,.b_filetype_ra,.b_filetype_ram { background-image: url(images/docs/document-film.png) ! important; }
-.b_filetype_readme, .b_filetype_README { background-image: url(images/docs/document-text.png) ! important; }
-.b_filetype_rtf { background-image: url(images/docs/document-word.png) ! important; }
-.b_filetype_tar,.b_filetype_tgz { background-image: url(images/docs/document-zipper.png) ! important; }
-.b_filetype_tiff { background-image: url(images/docs/document-image.png) ! important; }
-.b_filetype_txt { background-image: url(images/docs/document-text.png) ! important; }
-.b_filetype_wav { background-image: url(images/docs/document-music.png) ! important; }
-.b_filetype_xls, .b_filetype_xlsx { background-image: url(images/docs/document-excel.png) ! important; }
-.b_filetype_xml{ background-image: url(images/docs/document_tags.png) ! important; }
-.b_filetype_xsl { background-image: url(images/docs/document_tags.png) ! important; }
-.b_filetype_zip { background-image: url(images/docs/document-zipper.png) ! important; }
+.b_filetype_avi_icon { background-image: url('../openolat/images/docs/document-film.png') ! important; }
+.b_filetype_bat_icon { background-image: url('../openolat/images/docs/document-binary.png') ! important; }
+.b_filetype_bmp { background-image: url('../openolat/images/docs/document-image.png') ! important; }
+.b_filetype_css, { background-image: url('../openolat/images/docs/document_tags.png') ! important; }
+.b_filetype_doc, .b_filetype_docx { background-image: url('../openolat/images/docs/document-word.png') ! important; }
+.b_filetype_dvi { background-image: url('../openolat/images/docs/document-film.png') ! important; }
+.b_filetype_exe { background-image: url('../openolat/images/docs/document-binary.png') ! important; }
+div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.b_filetype_folder, .b_filetype_folder_open { background-image: url('../openolat/images/folder_open.png')  ! important; }	
+.b_filetype_folder { background-image: url('../openolat/images/folder.png')  ! important; }
+.b_filetype_gif { background-image: url('../openolat/images/docs/document-image.png') ! important; }
+.b_filetype_gz { background-image: url('../openolat/images/docs/document-zipper.png') ! important; }
+.b_filetype_htm, .b_filetype_html { background-image: url('../openolat/images/docs/document_tags.png') ! important; }
+.b_filetype_jpeg, .b_filetype_jpg { background-image: url('../openolat/images/docs/document-image.png') ! important; }
+.b_filetype_js { background-image: url('../openolat/images/docs/document_tags.png') ! important; }
+.b_filetype_log { background-image: url('../openolat/images/docs/document_plain.png') ! important; }
+.b_filetype_midi { background-image: url('../openolat/images/docs/document-music.png') ! important; }
+.b_filetype_mov { background-image: url('../openolat/images/docs/document-film.png') ! important; }
+.b_filetype_mp3,.b_filetype_m3u { background-image: url('../openolat/images/docs/document-music.png') ! important; }
+.b_filetype_mpeg,.b_filetype_mpg { background-image: url('../openolat/images/docs/document-film.png') ! important; }
+.b_filetype_odp { background-image: url('../openolat/images/docs/document-powerpoint.png') ! important; }
+.b_filetype_ods { background-image: url('../openolat/images/docs/document-excel.png') ! important; }
+.b_filetype_odt { background-image: url('../openolat/images/docs/document-text.png') ! important; }
+.b_filetype_odg { background-image: url('../openolat/images/docs/document-image.png') ! important; }
+.b_filetype_odf { background-image: url('../openolat/images/docs/document_plain.png') ! important; }
+.b_filetype_pdf { background-image: url('../openolat/images/docs/document-pdf.png') ! important; }
+.b_filetype_png { background-image: url('../openolat/images/docs/document-image.png') ! important; }
+.b_filetype_ppt { background-image: url('../openolat/images/docs/document-powerpoint.png') ! important; }
+.b_filetype_pptx { background-image: url('../openolat/images/docs/document-powerpoint.png') ! important; }
+.b_filetype_ps { background-image: url('../openolat/images/docs/document-pdf.png') ! important; }
+.b_filetype_qt,.b_filetype_ra,.b_filetype_ram { background-image: url('../openolat/images/docs/document-film.png') ! important; }
+.b_filetype_readme, .b_filetype_README { background-image: url('../openolat/images/docs/document-text.png') ! important; }
+.b_filetype_rtf { background-image: url('../openolat/images/docs/document-word.png') ! important; }
+.b_filetype_tar,.b_filetype_tgz { background-image: url('../openolat/images/docs/document-zipper.png') ! important; }
+.b_filetype_tiff { background-image: url('../openolat/images/docs/document-image.png') ! important; }
+.b_filetype_txt { background-image: url('../openolat/images/docs/document-text.png') ! important; }
+.b_filetype_wav { background-image: url('../openolat/images/docs/document-music.png') ! important; }
+.b_filetype_xls, .b_filetype_xlsx { background-image: url('../openolat/images/docs/document-excel.png') ! important; }
+.b_filetype_xml{ background-image: url('../openolat/images/docs/document_tags.png') ! important; }
+.b_filetype_xsl { background-image: url('../openolat/images/docs/document_tags.png') ! important; }
+.b_filetype_zip { background-image: url('../openolat/images/docs/document-zipper.png') ! important; }
 
 
 /* tab icons in nav  and in LE-resources table*/
 
 
 // the default 
-li.b_nav_site div, li.b_nav_tab div { background: url(images/application.png) no-repeat left 50%; padding-left: 18px;	}			
+li.b_nav_site div, li.b_nav_tab div { background: url('../openolat/images/application.png') no-repeat left 50%; padding-left: 18px;	}			
 
 // the others		
-li.b_resource_BusinessGroup div, .o_BusinessGroup_icon  { background-image: url(images/users.png) }
-li.b_resource_CourseModule div, .o_CourseModule_icon  { background-image: url(images/le_resources/book-open-text-image.png) }
-li.b_resource_HOMEPAGECONFIG div, .o_HOMEPAGECONFIG_icon,  li.b_resource_Identity div { background-image: url(../images/olat/vcard.png) }
-li.b_resource_FileResource-SHAREDFOLDER div, .o_FileResource-SHAREDFOLDER_icon  { background-image: url(images/folder_shared.png) }
-li.b_resource_FileResource-WIKI div, .o_FileResource-WIKI_icon  { background-image: url(images/le_resources/wiki.png) }
-li.b_resource_FileResource-PODCAST div, .o_FileResource-PODCAST_icon  { background-image: url(images/le_resources/media-player-cast.png) }
-li.b_resource_FileResource-BLOG div, .o_FileResource-BLOG_icon  { background-image: url(images/le_resources/blog.png) }
-li.b_resource_FileResource-MOVIE div, .o_FileResource-MOVIE_icon  { background-image: url(images/docs/document-film.png) }
-li.b_resource_FileResource-PDF div, .o_FileResource-PDF_icon  { background-image: url(images/docs/document-pdf.png) }
-li.b_resource_FileResource-PPT div, .o_FileResource-PPT_icon  { background-image: url(images/docs/document-powerpoint.png) }
-li.b_resource_FileResource-DOC div, .o_FileResource-DOC_icon  { background-image: url(images/docs/document-word.png) }
-li.b_resource_FileResource-IMSCP div, .o_FileResource-IMSCP_icon  { background-image: url(images/le_resources/book-open-text-image-red.png) }
-li.b_resource_FileResource-SCORMCP div, .o_FileResource-SCORMCP_icon  { background-image: url(images/le_resources/book-open-text-image-s.png) }
-li.b_resource_FileResource-FILE div, .o_FileResource-FILE_icon  { background-image: url(images/docs/document_plain.png) }
-li.b_resource_FileResource-IMAGE div, .o_FileResource-IMAGE_icon  { background-image: url(images/docs/document-image.png) }
-li.b_resource_FileResource-SOUND div, .o_FileResource-SOUND_icon  { background-image: url(images/docs/document-music.png) }
-li.b_resource_FileResource-XLS div, .o_FileResource-XLS_icon  { background-image: url(images/docs/document-excel.png) }
-li.b_resource_FileResource-ANIM div, .o_FileResource-ANIM_icon  { background-image: url(images/docs/document-image.png) }
-li.b_resource_FileResource-SURVEY div, .o_FileResource-SURVEY_icon  { background-image: url(images/le_resources/survey.png) }
-li.b_resource_FileResource-TEST div, .o_FileResource-TEST_icon  { background-image: url(images/le_resources/test.png) }	
-li.b_resource_FileResource-GLOSSARY div, .o_FileResource-GLOSSARY_icon  { background-image: url(images/le_resources/glossary.png) }
-li.b_resource_org-olat-search-ui-SearchController div, .o_org-olat-search-ui-SearchController_icon  { background-image: url(images/magnifier-zoom.png) }		
-li.b_resource_EPStructuredMapTemplate div { background-image: url(images/le_resources/portfolio.png) }
+li.b_resource_BusinessGroup div, .o_BusinessGroup_icon  { background-image: url('../openolat/images/users.png') }
+li.b_resource_CourseModule div, .o_CourseModule_icon  { background-image: url('../openolat/images/le_resources/book-open-text-image.png') }
+li.b_resource_HOMEPAGECONFIG div, .o_HOMEPAGECONFIG_icon,  li.b_resource_Identity div { background-image: url('../images/olat/vcard.png') }
+li.b_resource_FileResource-SHAREDFOLDER div, .o_FileResource-SHAREDFOLDER_icon  { background-image: url('../openolat/images/folder_shared.png') }
+li.b_resource_FileResource-WIKI div, .o_FileResource-WIKI_icon  { background-image: url('../openolat/images/le_resources/wiki.png') }
+li.b_resource_FileResource-PODCAST div, .o_FileResource-PODCAST_icon  { background-image: url('../openolat/images/le_resources/media-player-cast.png') }
+li.b_resource_FileResource-BLOG div, .o_FileResource-BLOG_icon  { background-image: url('../openolat/images/le_resources/blog.png') }
+li.b_resource_FileResource-MOVIE div, .o_FileResource-MOVIE_icon  { background-image: url('../openolat/images/docs/document-film.png') }
+li.b_resource_FileResource-PDF div, .o_FileResource-PDF_icon  { background-image: url('../openolat/images/docs/document-pdf.png') }
+li.b_resource_FileResource-PPT div, .o_FileResource-PPT_icon  { background-image: url('../openolat/images/docs/document-powerpoint.png') }
+li.b_resource_FileResource-DOC div, .o_FileResource-DOC_icon  { background-image: url('../openolat/images/docs/document-word.png') }
+li.b_resource_FileResource-IMSCP div, .o_FileResource-IMSCP_icon  { background-image: url('../openolat/images/le_resources/book-open-text-image-red.png') }
+li.b_resource_FileResource-SCORMCP div, .o_FileResource-SCORMCP_icon  { background-image: url('../openolat/images/le_resources/book-open-text-image-s.png') }
+li.b_resource_FileResource-FILE div, .o_FileResource-FILE_icon  { background-image: url('../openolat/images/docs/document_plain.png') }
+li.b_resource_FileResource-IMAGE div, .o_FileResource-IMAGE_icon  { background-image: url('../openolat/images/docs/document-image.png') }
+li.b_resource_FileResource-SOUND div, .o_FileResource-SOUND_icon  { background-image: url('../openolat/images/docs/document-music.png') }
+li.b_resource_FileResource-XLS div, .o_FileResource-XLS_icon  { background-image: url('../openolat/images/docs/document-excel.png') }
+li.b_resource_FileResource-ANIM div, .o_FileResource-ANIM_icon  { background-image: url('../openolat/images/docs/document-image.png') }
+li.b_resource_FileResource-SURVEY div, .o_FileResource-SURVEY_icon  { background-image: url('../openolat/images/le_resources/survey.png') }
+li.b_resource_FileResource-TEST div, .o_FileResource-TEST_icon  { background-image: url('../openolat/images/le_resources/test.png') }	
+li.b_resource_FileResource-GLOSSARY div, .o_FileResource-GLOSSARY_icon  { background-image: url('../openolat/images/le_resources/glossary.png') }
+li.b_resource_org-olat-search-ui-SearchController div, .o_org-olat-search-ui-SearchController_icon  { background-image: url('../openolat/images/magnifier-zoom.png') }		
+li.b_resource_EPStructuredMapTemplate div { background-image: url('../openolat/images/le_resources/portfolio.png') }
 	
 	
 /* ------ TOOLBOX ICONS -------- */
-li a.o_toolbox_course { background-image: url(images/le_resources/book-open-text-image.png); }
-li a.o_toolbox_content { background-image: url(images/le_resources/book-open-text-image-red.png); }
-li a.o_toolbox_scorm { background-image: url(images/le_resources/book-open-text-image-s.png); }
-li a.o_toolbox_test { background-image: url(images/le_resources/test.png); }
-li a.o_toolbox_questionnaire { background-image: url(images/le_resources/survey.png); }
-li a.o_toolbox_wiki { background-image: url(images/le_resources/wiki.png); }
-li a.o_toolbox_podcast { background-image: url(images/le_resources/media-player-cast.png); }
-li a.o_toolbox_blog { background-image: url(images/le_resources/blog.png); }
-li a.o_toolbox_glossary { background-image: url(images/le_resources/glossary.png); }
-li a.o_toolbox_sharedfolder { background-image: url(images/folder_shared.png); }
-li a.o_toolbox_coursefolder { background-image: url(images/le_resources/blue-folder.png); }
-li a.o_toolbox_portfolio { background-image: url(images/le_resources/portfolio.png); }
+li a.o_toolbox_course { background-image: url('../openolat/images/le_resources/book-open-text-image.png'); }
+li a.o_toolbox_content { background-image: url('../openolat/images/le_resources/book-open-text-image-red.png'); }
+li a.o_toolbox_scorm { background-image: url('../openolat/images/le_resources/book-open-text-image-s.png'); }
+li a.o_toolbox_test { background-image: url('../openolat/images/le_resources/test.png'); }
+li a.o_toolbox_questionnaire { background-image: url('../openolat/images/le_resources/survey.png'); }
+li a.o_toolbox_wiki { background-image: url('../openolat/images/le_resources/wiki.png'); }
+li a.o_toolbox_podcast { background-image: url('../openolat/images/le_resources/media-player-cast.png'); }
+li a.o_toolbox_blog { background-image: url('../openolat/images/le_resources/blog.png'); }
+li a.o_toolbox_glossary { background-image: url('../openolat/images/le_resources/glossary.png'); }
+li a.o_toolbox_sharedfolder { background-image: url('../openolat/images/folder_shared.png'); }
+li a.o_toolbox_coursefolder { background-image: url('../openolat/images/le_resources/blue-folder.png'); }
+li a.o_toolbox_portfolio { background-image: url('../openolat/images/le_resources/portfolio.png'); }
 
-li a.b_toolbox_link { background-image: url(images/bullet_black.png); }
-li a.b_toolbox_doc { background-image: url(images/docs/document_plain.png); }
-li a.b_toolbox_preview { background-image: url(images/docs/document_preview.png); }
-li a.b_toolbox_publish { background-image: url(images/docs/document_share.png); }
-li a.b_toolbox_move { background-image: url(images/docs/document_move.png); }
-li a.b_toolbox_close { background-image: url(images/close.png); }
-li a.b_toolbox_delete { background-image: url(images/cross-script.png); }
-li a.b_toolbox_copy, .b_copy_icon { background-image: url(images/docs/document-copy.png); }
+li a.b_toolbox_link { background-image: url('../openolat/images/bullet_black.png'); }
+li a.b_toolbox_doc { background-image: url('../openolat/images/docs/document_plain.png'); }
+li a.b_toolbox_preview { background-image: url('../openolat/images/docs/document_preview.png'); }
+li a.b_toolbox_publish { background-image: url('../openolat/images/docs/document_share.png'); }
+li a.b_toolbox_move { background-image: url('../openolat/images/docs/document_move.png'); }
+li a.b_toolbox_close { background-image: url('../openolat/images/close.png'); }
+li a.b_toolbox_delete { background-image: url('../openolat/images/cross-script.png'); }
+li a.b_toolbox_copy, .b_copy_icon { background-image: url('../openolat/images/docs/document-copy.png'); }
 	
 	
 /* --------- menu icon decorators -------- */
-.o_midlock{ top: 9px; left: 9px; background-image: url(images/decorator/deco_condition.png); }
-.o_miderr{ top: 8px; left: -2px; background-image: url(images/decorator/deco_error.png); }
-.o_midwarn{	top: 8px; left: -2px; background-image: url(images/decorator/deco_warn.png);}
-.o_midpub{ top: -2px; left: 9px; background-image: url(images/decorator/deco_ok.png); }	
+.o_midlock{ top: 9px; left: 9px; background-image: url('../openolat/images/decorator/deco_condition.png'); }
+.o_miderr{ top: 8px; left: -2px; background-image: url('../openolat/images/decorator/deco_error.png'); }
+.o_midwarn{	top: 8px; left: -2px; background-image: url('../openolat/images/decorator/deco_warn.png');}
+.o_midpub{ top: -2px; left: 9px; background-image: url('../openolat/images/decorator/deco_ok.png'); }	
 	
 	
 	
 /* --------- course building block icons ------------------- */
-.o_bc_icon { background-image: url(images/folder.png) ! important; }
-.o_co_icon { background-image: url(images/mail.png)!important}
-.o_cp_icon { background-image: url(images/le_resources/book-open-text-image-red.png)!important}
-.o_cp_org { background-image: url(images/le_resources/book-open-text-image-red.png)!important}
-.o_cp_item { background-image: url(images/docs/document-text.png)!important}
-.o_dialog_icon { background-image: url(images/docs/document_discuss.png)!important} 
-.o_en_icon { background-image: url(images/enrol.png)!important}
-.o_fo_icon { background-image: url(images/forum/forum.png)!important}
-.o_iqself_icon { background-image: url(images/le_resources/selftest.png)!important}
-.o_iqsurv_icon { background-image: url(images/le_resources/survey.png)!important}
-.o_iqtest_icon { background-image: url(images/le_resources/test.png)!important}
-.o_ms_icon { background-image: url(images/le_resources/thumb-up.png)!important}
-.o_scorm_icon, .o_scorm_org { background-image: url(images/le_resources/book-open-text-image-s.png) !important}
-.o_scorm_item { background-image: url(images/docs/document-text.png)!important}
-.o_scorm_asset { background-image: url(images/le_resources/book-open-text-image-s.png)!important}
-.o_sp_icon { background-image: url(images/docs/document-text.png)!important}
-.o_st_icon { background-image: url(images/node-select-all.png)!important}
-.o_ta_icon { background-image: url(images/docs/document-task.png)!important}
-.o_tu_icon { background-image: url(images/docs/document-import.png)!important}
-.o_wiki_icon { background-image: url(images/le_resources/wiki.png)!important}
-.o_ll_icon { background-image: url(images/docs/document_linklist.png)!important}
-.o_cl_icon { background-image: url(images/clipboard-task.png)!important}
-.o_den_icon { background-image: url(images/clock.png)!important}
-.o_projectbroker_icon { background-image: url(images/projectbroker.png)!important}
-.o_podcast_icon { background-image: url(images/le_resources/media-player-cast.png)!important}
-.o_blog_icon { background-image: url(images/le_resources/blog.png)!important}
-.o_cal_icon { background-image: url(images/calendar.png)!important}
-.o_lti_icon { background-image: url(images/docs/document-node.png)!important}
+.o_bc_icon { background-image: url('../openolat/images/folder.png') ! important; }
+.o_co_icon { background-image: url('../openolat/images/mail.png')!important}
+.o_cp_icon { background-image: url('../openolat/images/le_resources/book-open-text-image-red.png')!important}
+.o_cp_org { background-image: url('../openolat/images/le_resources/book-open-text-image-red.png')!important}
+.o_cp_item { background-image: url('../openolat/images/docs/document-text.png')!important}
+.o_dialog_icon { background-image: url('../openolat/images/docs/document_discuss.png')!important} 
+.o_en_icon { background-image: url('../openolat/images/enrol.png')!important}
+.o_fo_icon { background-image: url('../openolat/images/forum/forum.png')!important}
+.o_iqself_icon { background-image: url('../openolat/images/le_resources/selftest.png')!important}
+.o_iqsurv_icon { background-image: url('../openolat/images/le_resources/survey.png')!important}
+.o_iqtest_icon { background-image: url('../openolat/images/le_resources/test.png')!important}
+.o_ms_icon { background-image: url('../openolat/images/le_resources/thumb-up.png')!important}
+.o_scorm_icon, .o_scorm_org { background-image: url('../openolat/images/le_resources/book-open-text-image-s.png') !important}
+.o_scorm_item { background-image: url('../openolat/images/docs/document-text.png')!important}
+.o_scorm_asset { background-image: url('../openolat/images/le_resources/book-open-text-image-s.png')!important}
+.o_sp_icon { background-image: url('../openolat/images/docs/document-text.png')!important}
+.o_st_icon { background-image: url('../openolat/images/node-select-all.png')!important}
+.o_ta_icon { background-image: url('../openolat/images/docs/document-task.png')!important}
+.o_tu_icon { background-image: url('../openolat/images/docs/document-import.png')!important}
+.o_wiki_icon { background-image: url('../openolat/images/le_resources/wiki.png')!important}
+.o_ll_icon { background-image: url('../openolat/images/docs/document_linklist.png')!important}
+.o_cl_icon { background-image: url('../openolat/images/clipboard-task.png')!important}
+.o_den_icon { background-image: url('../openolat/images/clock.png')!important}
+.o_projectbroker_icon { background-image: url('../openolat/images/projectbroker.png')!important}
+.o_podcast_icon { background-image: url('../openolat/images/le_resources/media-player-cast.png')!important}
+.o_blog_icon { background-image: url('../openolat/images/le_resources/blog.png')!important}
+.o_cal_icon { background-image: url('../openolat/images/calendar.png')!important}
+.o_lti_icon { background-image: url('../openolat/images/docs/document-node.png')!important}
 /* <OLATCE-103> */
-.o_vc_icon { background-image: url(images/projection-screen.png)!important }
+.o_vc_icon { background-image: url('../openolat/images/projection-screen.png')!important }
 /* </OLATCE-103> */
-.o_vitero_icon { background-image: url(images/vitero.png)!important }
-.o_ep_icon, .o_EPStructuredMapTemplate_icon { background-image: url(images/le_resources/portfolio.png)!important}
-.o_infomsg_icon { background-image: url(images/information-button.png)!important}
-.o_cmembers_icon { background-image: url(images/users.png)!important}
-body#b_body .o_CourseModule_icon_closed {background-image:url(images/le_resources/book-open-text-image_locked.png);}
+.o_vitero_icon { background-image: url('../openolat/images/vitero.png')!important }
+.o_ep_icon, .o_EPStructuredMapTemplate_icon { background-image: url('../openolat/images/le_resources/portfolio.png')!important}
+.o_infomsg_icon { background-image: url('../openolat/images/information-button.png')!important}
+.o_cmembers_icon { background-image: url('../openolat/images/users.png')!important}
+body#b_body .o_CourseModule_icon_closed {background-image:url('../openolat/images/le_resources/book-open-text-image_locked.png');}
 	
\ No newline at end of file
diff --git a/src/main/webapp/static/themes/openolat/all/_mixins.scss b/src/main/webapp/static/themes/openolat/all/_mixins.scss
index 132dcb62d5399a11831cf4718781f1c38a141b59..5b144183ec253095c0737cdab3d2988af0fec433 100644
--- a/src/main/webapp/static/themes/openolat/all/_mixins.scss
+++ b/src/main/webapp/static/themes/openolat/all/_mixins.scss
@@ -56,6 +56,17 @@
 	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#{$col1}', endColorstr='#{$col2}',GradientType=0 );
 }
 
+@mixin o-gradient4($col1,$col2,$col3,$col4){
+	background: $col1;
+	background: -moz-linear-gradient(top, $col1 0%, $col2 33%, $col3 66%, $col4 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,$col1), color-stop(33%,$col2), color-stop(66%,$col3), color-stop(100%,$col4));
+	background: -webkit-linear-gradient(top, $col1 0%,$col2 33%,$col3 66%,$col4 100%);
+	background: -o-linear-gradient(top, $col1 0%,$col2 33%,$col3 66%,$col4 100%);
+	background: -ms-linear-gradient(top, $col1 0%,$col2 33%,$col3 66%,$col4 100%);
+	background: linear-gradient(top, $col1 0%,$col2 33%,$col3 66%,$col4 100%);
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#{$col1}', endColorstr='#{$col4}',GradientType=0 );
+}
+
 @mixin o-border-radius($rad){
 	border-radius:$rad;
 	-webkit-border-radius:$rad;
diff --git a/src/main/webapp/static/themes/openolat/all/modules/_briefcase.scss b/src/main/webapp/static/themes/openolat/all/modules/_briefcase.scss
index 2c5512f6a8b4447ec8cee2f2e7a98de401852467..bc3c0ade318b0ce0e69ad57b68a18133e2dfff92 100644
--- a/src/main/webapp/static/themes/openolat/all/modules/_briefcase.scss
+++ b/src/main/webapp/static/themes/openolat/all/modules/_briefcase.scss
@@ -5,11 +5,11 @@
 	div.b_briefcase_foldercomp div.b_briefcase_createactions ul { list-style: none; margin: 0; padding: 0; white-space: nowrap; font-size: 95%; }
 	div.b_briefcase_foldercomp div.b_briefcase_createactions ul li { float: right; display: inline; margin: 0 0 0 1em; padding: 0 0 0 3px; position: relative; }
 	div.b_briefcase_foldercomp div.b_briefcase_createactions ul li a { background-position: 0 50%; background-repeat: no-repeat; padding: 2px 0 2px 20px;}
-	div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_upload { background-image: url(images/docs/document_upload.png); }
-	div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfolder { background-image: url(images/folder_new.png); }
-	div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfile { background-image: url(images/docs/document_add.png); }
-	div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_deletedfiles { background-image: url(images/docs/document_remove.png); }
-	div.b_briefcase_foldercomp div.b_briefcase_breadcrumb { clear:both; padding: 1px 0 1px 20px; margin: 0.5em 0 0 0; border-bottom: 1px solid #bbb; background: url(images/folder_open.png) no-repeat 0 50%; }
+	div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_upload { background-image: url(../openolat/images/docs/document_upload.png); }
+	div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfolder { background-image: url(../openolat/images/folder_new.png); }
+	div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfile { background-image: url(../openolat/images/docs/document_add.png); }
+	div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_deletedfiles { background-image: url(../openolat/images/docs/document_remove.png); }
+	div.b_briefcase_foldercomp div.b_briefcase_breadcrumb { clear:both; padding: 1px 0 1px 20px; margin: 0.5em 0 0 0; border-bottom: 1px solid #bbb; background: url(../openolat/images/folder_open.png) no-repeat 0 50%; }
 	div.b_briefcase_foldercomp div.b_briefcase_empty {clear: both; margin-top: 0.5em; font-style: italic;} 
 	div.b_briefcase_foldercomp table.b_briefcase_filetable { clear: both; border-collapse:collapse; margin-bottom: 0.5em; border-bottom: 1px solid #4F576A; background: #fff; width: 99.9%; } /* 99.9% width fix for FF border overflow issue*/
 	div.b_briefcase_foldercomp table.b_briefcase_filetable thead { color:#000; background: #E0E2E8; border-bottom: 1px solid #8F99AD;}
@@ -27,9 +27,9 @@
 	div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions { border: 0; padding: 0; margin:0;}
 	div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions td { border: 0; padding: 0 0 0 3px; margin:0;}
 	div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions tr { border: 0; padding: 0; margin:0;}
-	div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_file_icon {background-image: url(images/docs/document--pencil.png); }
-	div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_meta_icon {background-image: url(images/docs/document_metadata_edit.png); }
-	div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_edit_meta_dis_icon {background-image: url(images/docs/document_metadata_edit.png); opacity:0.2; }
+	div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_file_icon {background-image: url(../openolat/images/docs/document--pencil.png); }
+	div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_meta_icon {background-image: url(../openolat/images/docs/document_metadata_edit.png); }
+	div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_edit_meta_dis_icon {background-image: url(../openolat/images/docs/document_metadata_edit.png); opacity:0.2; }
 	div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_versions_icon {background-image: url(../images/brasato/versions.png); }
 	div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_versions_dis_icon {background-image: url(../images/brasato/versions_dis.png); opacity:0.2; }
 	div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_locked_file_icon {background-image: url(../images/brasato/locked.png); }
diff --git a/src/main/webapp/static/themes/openolat/all/modules/_course.scss b/src/main/webapp/static/themes/openolat/all/modules/_course.scss
index dfb909515ffc16d3d8b0c10d8c687fff4920cb57..0958e6301db009bb04418b7379cdf30c1eb57fd0 100644
--- a/src/main/webapp/static/themes/openolat/all/modules/_course.scss
+++ b/src/main/webapp/static/themes/openolat/all/modules/_course.scss
@@ -12,8 +12,8 @@ div.b_selectiontree {
 		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(images/tree/dots.gif); }
-   	.b_selectiontree_space {background-image: url(images/tree/dots_spacer.gif); }
-   	.b_selectiontree_junction {background-image: url(images/tree/dots_nt.gif); }
-   	.b_selectiontree_end {background-image: url(images/tree/dots_nl.gif); }
+	.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/openolat/all/modules/_develdebug.scss b/src/main/webapp/static/themes/openolat/all/modules/_develdebug.scss
index 817bc51788e4bf71e042a6de8e0d64d0c20780ee..6bc38158b8006b1ec9d8cd9334282c6ac7bf4fc1 100644
--- a/src/main/webapp/static/themes/openolat/all/modules/_develdebug.scss
+++ b/src/main/webapp/static/themes/openolat/all/modules/_develdebug.scss
@@ -1,10 +1,10 @@
 /** -------------------- DEVELOPMENT TOOL / DEBUG ---------------- **/
-a.b_dev { position: absolute; left: 0; top: 0; z-index:4000; background: red url('images/bug.png') no-repeat; width: 16px; height: 16px; border: 1px solid #000;}
+a.b_dev { position: absolute; left: 0; top: 0; z-index:4000; background: red url('../openolat/images/bug.png') no-repeat; width: 16px; height: 16px; border: 1px solid #000;}
 #b_devcon_main { background-color: #ccddff; position:absolute; z-index:4000; top:10px; left: 5%; width:90%; text-align: left; border: 1px solid #000}
-#b_devcon_handle { cursor:move; background: blue url(images/bug.png) no-repeat 4px 50%; line-height: 2em; padding-left: 24px; color:white; }
+#b_devcon_handle { cursor:move; background: blue url(../openolat/images/bug.png) no-repeat 4px 50%; line-height: 2em; padding-left: 24px; color:white; }
 a#b_devcon_handle_collapse {cursor:pointer; background: url($ico_minus) no-repeat; width: 15px; height: 15px; float: right; margin: 3px;}
 a#b_devcon_handle_expand {cursor:pointer; background: url($ico_plus) no-repeat; width: 15px; height: 15px; float: right; margin: 3px;}
-a.b_devcon_handle_close {cursor:pointer; background: url(images/close.png) no-repeat; width: 15px; height: 15px; float: right; margin: 3px;}
+a.b_devcon_handle_close {cursor:pointer; background: url(../openolat/images/close.png) no-repeat; width: 15px; height: 15px; float: right; margin: 3px;}
 #b_devcon_content {
 	font-size: 90%;  padding: 5px; border-top: 0px solid #000; background:transparent;;
 	ul { float: left; margin: 0; padding: 0; list-style: none; white-space: nowrap;}
diff --git a/src/main/webapp/static/themes/openolat/all/modules/_dialogs.scss b/src/main/webapp/static/themes/openolat/all/modules/_dialogs.scss
index 945edb9abc248db7d404952cde21c5783b8538f5..66c25b509546b179eef6f9e2380eeecc20e639c2 100644
--- a/src/main/webapp/static/themes/openolat/all/modules/_dialogs.scss
+++ b/src/main/webapp/static/themes/openolat/all/modules/_dialogs.scss
@@ -55,7 +55,7 @@ div.b_window {
 	div.b_window_header_title { 
 		min-height: 18px; line-height: 18px; vertical-align: middle; padding: 2px 5px 2px 5px;
 		 
-		a.b_link_close { top:4px; right: 4px; position:absolute;  min-height:16px; min-width:16px;background:transparent url('images/close.png') no-repeat center center; display:inline-block;}
+		a.b_link_close { top:4px; right: 4px; position:absolute;  min-height:16px; min-width:16px;background:transparent url('../openolat/images/close.png') no-repeat center center; display:inline-block;}
 		a.b_link_close:hover { top:4px; right: 4px; }
 		strong { font-weight: bold; }	
 	}
@@ -76,7 +76,7 @@ div.x-tip-body p{margin-bottom:0px;}
 div.x-tip-mc {background: #e9f2ff ! important;}
 /* ajax busy icon*/
 body.b_ajax_busy { cursor: wait; }
-div.b_ajax_busy {background: url(images/ajax-loader.gif) no-repeat; position: absolute; left:50% ; top: 10px; width:28px; height: 28px; z-index:5001;}
+div.b_ajax_busy {background: url(../openolat/images/ajax-loader.gif) no-repeat; position: absolute; left:50% ; top: 10px; width:28px; height: 28px; z-index:5001;}
 	
 	
 /* DIALOG */
@@ -87,14 +87,14 @@ div.b_window.b_dialogbox {
 div.b_msg_dialog { 
 	padding: 10px 10px 10px 50px; 
 	min-height: 32px; 
-	background: url(images/icon_question_32.png) no-repeat 10px 10px;
+	background: url(../openolat/images/icon_question_32.png) no-repeat 10px 10px;
 	.b_msg_title { font-weight: bold; }
 	.b_msg_content { }
 }
 
 /* sticky info (admins can create stick-messages that will show for all users) */
 #b_msg_sticky { 
-	clear:both; padding: 10px 10px 10px 50px; min-height: 32px; background: #ebcccc url(images/icon_warning_32.png) no-repeat 10px 10px; border-bottom: 1px #ccc dotted;  border-top: 1px #ccc dotted;
+	clear:both; padding: 10px 10px 10px 50px; min-height: 32px; background: #ebcccc url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px; border-bottom: 1px #ccc dotted;  border-top: 1px #ccc dotted;
 }
 
 /* info message ( slide-in, top) */
@@ -108,22 +108,22 @@ div.b_msg-div {
 	
 	}
 	.b_msg_info_winicon {
-		background: transparent url(images/icon_info_32.png) no-repeat 10px center;
+		background: transparent url(../openolat/images/icon_info_32.png) no-repeat 10px center;
 	}
 }
 
 div.b_msg_info_content { padding: 10px 10px 10px 50px; }
 
 /* warn message (ext-dialog) */
-div.b_msg_warn_winicon { background: url(images/icon_warning_32.png) no-repeat }
+div.b_msg_warn_winicon { background: url(../openolat/images/icon_warning_32.png) no-repeat }
 
 /* error message (ext-dialog) */
-div.b_msg_error_winicon { background: url(images/icon_error_32.png) no-repeat }
+div.b_msg_error_winicon { background: url(../openolat/images/icon_error_32.png) no-repeat }
 
 /* "info"-page */
 #b_msg_info { 
 	padding: 10px 10px 10px 50px; 
-	min-height: 32px; background: url(images/icon_info_32.png) no-repeat 10px 10px;
+	min-height: 32px; background: url(../openolat/images/icon_info_32.png) no-repeat 10px 10px;
 	.b_msg_title { font-weight: bold; }
 }
 
@@ -134,7 +134,7 @@ div.b_msg_error_winicon { background: url(images/icon_error_32.png) no-repeat }
 	.o_infomessage{
 		padding: 10px 10px 10px 50px;
 		text-align: left;
-		background: url(images/icon_warning_32.png) no-repeat 10px 10px;
+		background: url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px;
 		.o_infomessage_inner {
 		
 		}
@@ -142,8 +142,8 @@ div.b_msg_error_winicon { background: url(images/icon_error_32.png) no-repeat }
 }
 
 /* OPEN / CLOSE BOX TOGGLER */
-a.b_togglebox_closed {background: url(images/toggle-small-expand.png) no-repeat 0 50%; padding: 1px 0 1px 14px; vertical-align: middle;}
-a.b_togglebox_opened {background: url(images/toggle-small.png) no-repeat 0 50%; padding: 1px 0 1px 14px; vertical-align: middle;}
+a.b_togglebox_closed {background: url(../openolat/images/toggle-small-expand.png) no-repeat 0 50%; padding: 1px 0 1px 14px; vertical-align: middle;}
+a.b_togglebox_opened {background: url(../openolat/images/toggle-small.png) no-repeat 0 50%; padding: 1px 0 1px 14px; vertical-align: middle;}
 div.b_togglebox div.b_togglebox_content { padding: 1em; border: 1px solid #ACAAAA; background: #fff; }
 	
 
@@ -153,7 +153,7 @@ div.b_togglebox div.b_togglebox_content { padding: 1em; border: 1px solid #ACAAA
 		div.b_wizard_header {background:#fff; position: relative; }
 	 	div.b_wizard_header_title {
 	 		background: #fff; min-height: 18px; line-height: 18px; vertical-align: middle; padding: 2px 5px 2px 5px; color: #4F576A;
-	 		a.b_link_close { top:4px; right: 4px; background: url(images/close.png); background-repeat: no-repeat; } 
+	 		a.b_link_close { top:4px; right: 4px; background: url(../openolat/images/close.png); background-repeat: no-repeat; } 
 	 		strong { font-weight: bold; }	
 	 	}
 	 	
@@ -186,27 +186,27 @@ div.b_togglebox div.b_togglebox_content { padding: 1em; border: 1px solid #ACAAA
 	span.b_wizard_button_next:after, a.b_wizard_button_next span:after { content: " >";}
 	a.b_wizard_button_finish, span.b_wizard_button_finish {margin-left: 3em;}
 	a.b_wizard_button_cancel, span.b_wizard_button_cancel { margin-left: 3em; }
-	.b_wizard_table_changedcell { font-style: italic; font-weight: bold; background: url(images/new-text.png) no-repeat; padding-left: 18px;}
+	.b_wizard_table_changedcell { font-style: italic; font-weight: bold; background: url(../openolat/images/new-text.png) no-repeat; padding-left: 18px;}
 	
 	/* OLD WIZARD */
 	div.b_legacy_wizard { }
 	div.b_legacy_wizard_steps { float: right; display:inline; }
 	/* the following classes are used together with b_legacy_wizard_step_icon */
-	.b_legacy_wizard_step_a1 {	background-image: url(images/wizard/1a.png); }
-	.b_legacy_wizard_step_a2 {	background-image: url(images/wizard/2a.png);}
-	.b_legacy_wizard_step_a3 {	background-image: url(images/wizard/3a.png);}
-	.b_legacy_wizard_step_a4 {	background-image: url(images/wizard/4a.png);}
-	.b_legacy_wizard_step_a5 {	background-image: url(images/wizard/5a.png);}
-	.b_legacy_wizard_step_a6 {	background-image: url(images/wizard/6a.png);}
-	.b_legacy_wizard_step_a7 {	background-image: url(images/wizard/7a.png);}
-	.b_legacy_wizard_step_a8 {	background-image: url(images/wizard/8a.png);}
-	.b_legacy_wizard_step_a9 {	background-image: url(images/wizard/9a.png);}
-	.b_legacy_wizard_step_p1 {	background-image: url(images/wizard/1p.png);}
-	.b_legacy_wizard_step_p2 {	background-image: url(images/wizard/2p.png);}
-	.b_legacy_wizard_step_p3 {	background-image: url(images/wizard/3p.png);}
-	.b_legacy_wizard_step_p4 {	background-image: url(images/wizard/4p.png);}
-	.b_legacy_wizard_step_p5 {	background-image: url(images/wizard/5p.png);}
-	.b_legacy_wizard_step_p6 {	background-image: url(images/wizard/6p.png);}
-	.b_legacy_wizard_step_p7 {	background-image: url(images/wizard/7p.png);}
-	.b_legacy_wizard_step_p8 {	background-image: url(images/wizard/8p.png);}
-	.b_legacy_wizard_step_p9 {	background-image: url(images/wizard/9p.png);}
+	.b_legacy_wizard_step_a1 {	background-image: url(../openolat/images/wizard/1a.png); }
+	.b_legacy_wizard_step_a2 {	background-image: url(../openolat/images/wizard/2a.png);}
+	.b_legacy_wizard_step_a3 {	background-image: url(../openolat/images/wizard/3a.png);}
+	.b_legacy_wizard_step_a4 {	background-image: url(../openolat/images/wizard/4a.png);}
+	.b_legacy_wizard_step_a5 {	background-image: url(../openolat/images/wizard/5a.png);}
+	.b_legacy_wizard_step_a6 {	background-image: url(../openolat/images/wizard/6a.png);}
+	.b_legacy_wizard_step_a7 {	background-image: url(../openolat/images/wizard/7a.png);}
+	.b_legacy_wizard_step_a8 {	background-image: url(../openolat/images/wizard/8a.png);}
+	.b_legacy_wizard_step_a9 {	background-image: url(../openolat/images/wizard/9a.png);}
+	.b_legacy_wizard_step_p1 {	background-image: url(../openolat/images/wizard/1p.png);}
+	.b_legacy_wizard_step_p2 {	background-image: url(../openolat/images/wizard/2p.png);}
+	.b_legacy_wizard_step_p3 {	background-image: url(../openolat/images/wizard/3p.png);}
+	.b_legacy_wizard_step_p4 {	background-image: url(../openolat/images/wizard/4p.png);}
+	.b_legacy_wizard_step_p5 {	background-image: url(../openolat/images/wizard/5p.png);}
+	.b_legacy_wizard_step_p6 {	background-image: url(../openolat/images/wizard/6p.png);}
+	.b_legacy_wizard_step_p7 {	background-image: url(../openolat/images/wizard/7p.png);}
+	.b_legacy_wizard_step_p8 {	background-image: url(../openolat/images/wizard/8p.png);}
+	.b_legacy_wizard_step_p9 {	background-image: url(../openolat/images/wizard/9p.png);}
diff --git a/src/main/webapp/static/themes/openolat/all/modules/_eportfolio.scss b/src/main/webapp/static/themes/openolat/all/modules/_eportfolio.scss
index f43644a84ee5759adb1c2d7f34548e55deedef01..7fee2140266d05f3113b196ffcdb1d26917bd2a3 100644
--- a/src/main/webapp/static/themes/openolat/all/modules/_eportfolio.scss
+++ b/src/main/webapp/static/themes/openolat/all/modules/_eportfolio.scss
@@ -14,12 +14,12 @@ div.o_ep_struct_editor div.b_subcr {
 		margin: 5px; border: 1px solid #ddd; padding: 1em;
 		@include o-border-radius(5px);
 		@include o-box-shadow(0,1px,2px,lightGrey); 
-		background: #ebebeb url(images/portfolio/artefaktbg.png) top left repeat-x;
+		background: #ebebeb url(../openolat/images/portfolio/artefaktbg.png) top left repeat-x;
 	}
 	
 	.b_artefact div.b_actions { margin-top: 2em;}
 	.b_artefact div.b_desc { font-style: italic; margin: 1em 0; }
-	.b_ep_artAttribLink { background-image: url(images/table_gear.png); }
+	.b_ep_artAttribLink { background-image: url(../openolat/images/table_gear.png); }
 	div.b_artefact_closed { font-size:25px; float:right; background: url(../images/brasato/locked.png) top right no-repeat; }
 	div.b_eportfolio_preview_c100l .b_artefact { margin:3px; }
 	div.b_eportfolio_preview_c33l .b_artefact { font-size:85%; margin:3px; }
@@ -28,8 +28,8 @@ div.o_ep_struct_editor div.b_subcr {
 	.b_ep_multiartefacts div.b_ep_add_message_with_arrow { position: relative; top: -50px; }
 	.b_ep_multiartefacts div.b_artefact_count { margin: 1em 0 1em 0;}
 	
-	a.b_ep_options { background: url(images/gear.png) top left no-repeat; width:16px; height:16px; display: block;}
-	.b_ep_liveblog_icon { background-image: url(images/portfolio/ep_liveblog_icon.png); }
+	a.b_ep_options { background: url(../openolat/images/gear.png) top left no-repeat; width:16px; height:16px; display: block;}
+	.b_ep_liveblog_icon { background-image: url(../openolat/images/portfolio/ep_liveblog_icon.png); }
 	
 	div.b_portfolio_toc ul { margin: 0; }
 	div.b_portfolio_toc li { list-style-type: none; }
@@ -42,24 +42,24 @@ div.o_ep_struct_editor div.b_subcr {
 	div.b_portfolio_toc .type_artefact { font-style: italic; }	
 	.b_portfolio_toc .type_map, .b_portfolio_toc .type_page, .b_portfolio_toc .type_struct, .b_portfolio_toc .type_artefact { background-position: center left; background-repeat: no-repeat; padding-left: 20px; } 
 	
-	 a.b_eportfolio_add { background: url(images/portfolio/ep_add_icon.png) top left no-repeat; display:block; width:16px; height:16px;}
+	 a.b_eportfolio_add { background: url(../openolat/images/portfolio/ep_add_icon.png) top left no-repeat; display:block; width:16px; height:16px;}
 	 td a.b_eportfolio_add {  float:right; padding-right:2px; }
-	 a.b_eportfolio_add_again, span.b_eportfolio_add_again { background: url(images/portfolio/ep_add_again_icon.png) top left no-repeat; display:block; width:16px; height:16px; }
+	 a.b_eportfolio_add_again, span.b_eportfolio_add_again { background: url(../openolat/images/portfolio/ep_add_again_icon.png) top left no-repeat; display:block; width:16px; height:16px; }
 	.o_efficiencystatement a.b_eportfolio_add_again {float:right;}
-	 a.b_eportfolio_link { background: url(images/portfolio/ep_link_icon.png) top left no-repeat; display:block; width:16px; height:16px; }
+	 a.b_eportfolio_link { background: url(../openolat/images/portfolio/ep_link_icon.png) top left no-repeat; display:block; width:16px; height:16px; }
 	ul.b_eportfolio_maps { margin: 0; padding: 0; }
-	ul.b_eportfolio_maps li { display: block; float: left; position: relative; width: 195px; height: 320px; padding: 60px 60px 40px 65px; margin: 0.5em; background: url(images/portfolio/eportfolio_map_default.png) top left no-repeat; -moz-border-radius: 4px 14px 14px 4px; -webkit-border-radius: 4px 10px 10px 4px; -o-border-radius: 4px 14px 14px 4px; border-radius: 4px 14px 14px 4px; -webkit-box-shadow: 0 1px 3px lightGray; -moz-box-shadow: 0 1px 3px lightGray; -o-box-shadow: 0 1px 3px lightGray; box-shadow: 0 1px 3px lightGray; }
+	ul.b_eportfolio_maps li { display: block; float: left; position: relative; width: 195px; height: 320px; padding: 60px 60px 40px 65px; margin: 0.5em; background: url(../openolat/images/portfolio/eportfolio_map_default.png) top left no-repeat; -moz-border-radius: 4px 14px 14px 4px; -webkit-border-radius: 4px 10px 10px 4px; -o-border-radius: 4px 14px 14px 4px; border-radius: 4px 14px 14px 4px; -webkit-box-shadow: 0 1px 3px lightGray; -moz-box-shadow: 0 1px 3px lightGray; -o-box-shadow: 0 1px 3px lightGray; box-shadow: 0 1px 3px lightGray; }
 	ul.b_eportfolio_maps li .b_map_info { position: absolute; bottom: 40px; width: inherit; font-size: 0.9em; }
 	li.default .b_map_info p { color: #bbb; }
 	li.comic .b_map_info p { color: #88a5c4; }
 	li.leather .b_map_info p { color: #C2A074; }
 	ul.b_eportfolio_maps li .b_map_info a.b_open_icon { font-size: 1.2em; position: absolute; bottom: 170px; right: -10px; }
-	ul.b_eportfolio_maps li.leather { background: url(images/portfolio/eportfolio_map_leather.png) top left no-repeat; border: none; }
+	ul.b_eportfolio_maps li.leather { background: url(../openolat/images/portfolio/eportfolio_map_leather.png) top left no-repeat; border: none; }
 	ul.b_eportfolio_maps li.leather a { color: #fad9a4; }
-	ul.b_eportfolio_maps li.comic { background: url(images/portfolio/eportfolio_map_comic.png) top left no-repeat; border: none; }
-	ul.b_eportfolio_maps li.template.default { background-image: url(images/portfolio/eportfolio_map_default_template.png); }	
-	ul.b_eportfolio_maps li.template.comic { background-image: url(images/portfolio/eportfolio_map_comic_template.png); }	
-	ul.b_eportfolio_maps li.template.leather { background-image: url(images/portfolio/eportfolio_map_leather_template.png); }	
+	ul.b_eportfolio_maps li.comic { background: url(../openolat/images/portfolio/eportfolio_map_comic.png) top left no-repeat; border: none; }
+	ul.b_eportfolio_maps li.template.default { background-image: url(../openolat/images/portfolio/eportfolio_map_default_template.png); }	
+	ul.b_eportfolio_maps li.template.comic { background-image: url(../openolat/images/portfolio/eportfolio_map_comic_template.png); }	
+	ul.b_eportfolio_maps li.template.leather { background-image: url(../openolat/images/portfolio/eportfolio_map_leather_template.png); }	
 		
 		
 	.b_map_page { text-align:center; clear:left;}
@@ -96,19 +96,19 @@ div.o_ep_struct_editor div.b_subcr {
 	.comic .b_ep_relative > div:last-child { position: relative; }
 	.comic div.b_ep_actualpage { width: 85%; margin-top: 1em; }
 	.comic div.b_pagination ul { margin-top: 30px; margin-left: 0px; z-index: 1; }
-	.comic div.b_pagination li  { width: 87%; background: url(images/portfolio/postit.png) center right; padding: 0; margin-bottom: 1em; margin-left: 8%; list-style-type: none; }
+	.comic div.b_pagination li  { width: 87%; background: url(../openolat/images/portfolio/postit.png) center right; padding: 0; margin-bottom: 1em; margin-left: 8%; list-style-type: none; }
 	.comic div.b_pagination li span.b_disabled, .comic div.b_pagination li a span { display: block; padding: 20px 15px 20px 10px; white-space: nowrap; overflow: hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; }
 	.comic div.b_pagination li span, .comic div.b_pagination li a, .comic div.b_pagination li { white-space: nowrap; overflow: hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; }
 	.comic div.b_pagination li.b_disabled { z-index: 101; margin-left: 0; width: 100%; }
 	.comic div.b_pagination li .b_disabled { color: black; font-weight: bold; }
-	.comic div.b_pagination li.b_toc { background-image: url(images/portfolio/postit_pink.png); }
+	.comic div.b_pagination li.b_toc { background-image: url(../openolat/images/portfolio/postit_pink.png); }
 	
-	.b_eportfolio_page, .b_portfolio_toc, .b_eportfolio_edit { min-height: 40em; background: #f4f4f4 url(images/portfolio/eportfolio_page_corner.png) top right no-repeat; padding: 1em; -webkit-box-shadow: 0px 2px 5px rgba(0,0,0,0.2); -moz-box-shadow: 0px 2px 5px rgba(0,0,0,0.2); -o-box-shadow: 0px 2px 5px rgba(0,0,0,0.2); box-shadow: 0px 2px 5px rgba(0,0,0,0.2); }
+	.b_eportfolio_page, .b_portfolio_toc, .b_eportfolio_edit { min-height: 40em; background: #f4f4f4 url(../openolat/images/portfolio/eportfolio_page_corner.png) top right no-repeat; padding: 1em; -webkit-box-shadow: 0px 2px 5px rgba(0,0,0,0.2); -moz-box-shadow: 0px 2px 5px rgba(0,0,0,0.2); -o-box-shadow: 0px 2px 5px rgba(0,0,0,0.2); box-shadow: 0px 2px 5px rgba(0,0,0,0.2); }
 	.b_eportfolio_page .b_eportfolio_structure > h5 { border-bottom: 1px solid #ddd; margin-top: 1.2em; }
 	.b_eportfolio_edit {  margin-top: 1.5em; }
 	
 	.leather {font-family: Palatino, Georgia, serif;}
-	.b_eportfolio_map.leather { background: url(images/portfolio/light-leather-tile.jpg); }
+	.b_eportfolio_map.leather { background: url(../openolat/images/portfolio/light-leather-tile.jpg); }
 	.leather div.b_ep_actualpage { width: 100%; margin-top: 0; clear: both; }
 	.leather .b_map_header h4, .leather .b_map_header p, .leather .b_map_header a.b_eportfolio_add_link, .leather .b_map_header a.b_eportfolio_comment_link { color: white; }
 	.leather div.b_pagination { float: none; position: static; width: 100%; }
@@ -120,7 +120,7 @@ div.o_ep_struct_editor div.b_subcr {
 	.leather div.b_pagination li a { padding: 1em; padding: 5px 8px; }
 	.leather div.b_eportfolio_page, .leather div.b_portfolio_toc, .leather div.b_eportfolio_edit { background-image: none; }	
 	
-	.b_eportfolio.b_artefacts hr.b_ep_filter_spacer { height: 10px; background: url(images/portfolio/divider-arrow-down.png) 25px -12px no-repeat; border: none; border-top: 1px solid #ccc; margin: 2em 0 1em;  }
+	.b_eportfolio.b_artefacts hr.b_ep_filter_spacer { height: 10px; background: url(../openolat/images/portfolio/divider-arrow-down.png) 25px -12px no-repeat; border: none; border-top: 1px solid #ccc; margin: 2em 0 1em;  }
 	.b_eportfolio.b_artefacts .b_ep_content { background: white; padding: 0 1em 1em 1em; margin-top: 1.5em; }
 	.b_eportfolio.b_artefacts .b_ep_content .b_ep_filter { padding: 0; width:80% }
 	.b_ep_filter { float: left; }
@@ -132,12 +132,12 @@ div.o_ep_struct_editor div.b_subcr {
 	.b_ep_tagbrowser_view { width: 68%; margin-left: 0px; } 
 	
 	.b_ep_collection_icon { background-image: url(../images/brasato/eportfolio/ep_collection.png) ! important; }
-	.b_ep_map_icon, .b_portfolio_toc .type_map { background-image: url(images/portfolio/briefcase.png) ! important; }
-	.b_ep_page_icon, .b_portfolio_toc .type_page { background-image: url(images/portfolio/ep_page.png) ! important; }
-	.b_ep_page_icon.b_eportfolio_add_link { background-image: url(images/portfolio/ep_page_add.png) ! important; }
-	.b_ep_struct_icon, .b_portfolio_toc .type_struct { background-image: url(images/portfolio/ep_struct.png) ! important; }
-	.b_ep_struct_icon.b_eportfolio_add_link { background-image: url(images/portfolio/ep_struct_add.png) ! important; }
-	.type_artefact { background-image: url(images/le_resources/portfolio.png) ! important; }
+	.b_ep_map_icon, .b_portfolio_toc .type_map { background-image: url(../openolat/images/portfolio/briefcase.png) ! important; }
+	.b_ep_page_icon, .b_portfolio_toc .type_page { background-image: url(../openolat/images/portfolio/ep_page.png) ! important; }
+	.b_ep_page_icon.b_eportfolio_add_link { background-image: url(../openolat/images/portfolio/ep_page_add.png) ! important; }
+	.b_ep_struct_icon, .b_portfolio_toc .type_struct { background-image: url(../openolat/images/portfolio/ep_struct.png) ! important; }
+	.b_ep_struct_icon.b_eportfolio_add_link { background-image: url(../openolat/images/portfolio/ep_struct_add.png) ! important; }
+	.type_artefact { background-image: url(../openolat/images/le_resources/portfolio.png) ! important; }
 	
 	div.b_eportfolio_collect_restriction { margin-top:5px; }
 	div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_el { float:left; margin-right:5px; }
@@ -148,10 +148,10 @@ div.o_ep_struct_editor div.b_subcr {
 	div.b_eportfolio_restriction_wrapper a.b_togglebox_closed { display:block; width:9px; height:9px; padding:0; margin-left:12px; }
 	div.b_eportfolio_restriction_wrapper p { padding:0 0 0 15px; margin:0; }
 	div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content { padding:3px 3px 3px 3px; margin:0; border:1px solid red; background-image:none; background-color:transparent; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
-  div.b_eportfolio_restriction_error div.b_tooglebox_opened div.b_togglebox_content { border:1px solid #FF9900 !important; background:#FFF5CC url(images/decorator/deco_warn.png) no-repeat 3px 2px !important; }
-  div.b_eportfolio_restriction_passed div.b_tooglebox_opened div.b_togglebox_content { border:1px solid #F0F0F0 !important; background:#FCFCFC url(images/decorator/deco_ok.png) no-repeat 3px 2px !important; }
-  div.b_eportfolio_restriction_error div.b_togglebox_closed { background:transparent url(images/decorator/deco_warn.png) no-repeat top left !important; }
-  div.b_eportfolio_restriction_passed div.b_togglebox_closed { background:transparent url(images/decorator/deco_ok.png) no-repeat top left !important; }
+  div.b_eportfolio_restriction_error div.b_tooglebox_opened div.b_togglebox_content { border:1px solid #FF9900 !important; background:#FFF5CC url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 2px !important; }
+  div.b_eportfolio_restriction_passed div.b_tooglebox_opened div.b_togglebox_content { border:1px solid #F0F0F0 !important; background:#FCFCFC url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 2px !important; }
+  div.b_eportfolio_restriction_error div.b_togglebox_closed { background:transparent url(../openolat/images/decorator/deco_warn.png) no-repeat top left !important; }
+  div.b_eportfolio_restriction_passed div.b_togglebox_closed { background:transparent url(../openolat/images/decorator/deco_ok.png) no-repeat top left !important; }
   div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content .b_togglebox_hide { display:none; }
  
 	.b_eportfolio_deadline_callout { width:300px; }
@@ -163,11 +163,11 @@ div.o_ep_struct_editor div.b_subcr {
 	.b_eportfolio_share_policy_wrapper .b_float_right { text-align: right; }
 	.b_eportfolio_share_policy_wrapper a.bit-input { text-decoration: none; }
 	.b_eportfolio_share_policy div input, .b_eportfolio_share_policy div span, .b_eportfolio_share_policy div select { float: left; margin-right:5px; padding-right:5px; }
-	.b_eportfolio_share_policy div span.b_form_datechooser { background: url(images/calendar.png) no-repeat; padding-left: 18px; height: 16px; line-height: 16px; margin-left: 2px;}
+	.b_eportfolio_share_policy div span.b_form_datechooser { background: url(../openolat/images/calendar.png) no-repeat; padding-left: 18px; height: 16px; line-height: 16px; margin-left: 2px;}
 	.b_eportfolio_share_policy .b_ep_share_date span { float: left; }
-	.b_eportfolio_share_policy_wrapper .b_eportfolio_share_policy { padding-left: 20px; background: url(images/user.png) top left no-repeat; }
-	.b_eportfolio_share_policy_wrapper.policytype_group .b_eportfolio_share_policy { background-image: url(images/users.png); }
-	.b_eportfolio_share_policy_wrapper.policytype_invitation .b_eportfolio_share_policy { background-image: url(images/share.png); }
-	.b_eportfolio_share_policy_wrapper.policytype_allusers .b_eportfolio_share_policy { background-image: url(images/users.png); }
+	.b_eportfolio_share_policy_wrapper .b_eportfolio_share_policy { padding-left: 20px; background: url(../openolat/images/user.png) top left no-repeat; }
+	.b_eportfolio_share_policy_wrapper.policytype_group .b_eportfolio_share_policy { background-image: url(../openolat/images/users.png); }
+	.b_eportfolio_share_policy_wrapper.policytype_invitation .b_eportfolio_share_policy { background-image: url(../openolat/images/share.png); }
+	.b_eportfolio_share_policy_wrapper.policytype_allusers .b_eportfolio_share_policy { background-image: url(../openolat/images/users.png); }
 	
 	div.b_ep_inline div input, div.b_ep_inline div span, div.b_ep_inline div select { float: left; margin-right:5px; padding-right:5px; }
diff --git a/src/main/webapp/static/themes/openolat/all/modules/_formsandbuttons.scss b/src/main/webapp/static/themes/openolat/all/modules/_formsandbuttons.scss
index de538231fc88183626d48a8e9c960efb0bbbe0d1..cdf926201aff1ccf6b56c83b71a311aa0d785851 100644
--- a/src/main/webapp/static/themes/openolat/all/modules/_formsandbuttons.scss
+++ b/src/main/webapp/static/themes/openolat/all/modules/_formsandbuttons.scss
@@ -58,37 +58,37 @@ div.b_button_group div { display: inline;}
 
 /* TOGGLE Buttons */
 a.b_toggle { 
-	white-space: nowrap; margin: 0 0.5em 0.2em 0; cursor: default; color: #2C2B2B;  border: 1px solid #aaa; -webkit-border-radius: 10px; -moz-border-radius: 10px;  border-radius: 10px; display: inline-block; line-height: 1.5em; text-align: center; background: url(images/toggle_off.png) top left repeat-x; 
+	white-space: nowrap; margin: 0 0.5em 0.2em 0; cursor: default; color: #2C2B2B;  border: 1px solid #aaa; -webkit-border-radius: 10px; -moz-border-radius: 10px;  border-radius: 10px; display: inline-block; line-height: 1.5em; text-align: center; background: url(../openolat/images/toggle_off.png) top left repeat-x; 
 	span { padding: 0 0.8em; }
 	&:hover { background: #ddd; text-decoration: none; } 
 	&.b_on:hover { background: #747474; }
 	&.b_on,&:active,&.b_on:active { color: white; border: none; padding: 1px; @include o-box-shadow-inset(1px,1px,2px,rgba(0,0,0,0.5)); text-shadow: 1px 1px 2px rgba(0,0,0,0.5); }
 	&:focus,&.b_on:focus{ text-decoration: none; }
-	&:active,&.b_on:active{ background: url(images/toggle_active.png) top left repeat-x; } 
-	&.b_on { background: url(images/toggle_on.png) top left repeat-x; }
+	&:active,&.b_on:active{ background: url(../openolat/images/toggle_active.png) top left repeat-x; } 
+	&.b_on { background: url(../openolat/images/toggle_on.png) top left repeat-x; }
 	
 }
-span.b_toggle.b_disabled { white-space: nowrap; margin: 0 0.5em 0.2em 0; padding: 0 0.8em; color: #667; border: 1px solid #DDD; @include o-border-radius(10px); display: inline-block; line-height: 1.5em; text-align: center; background: url(images/toggle_dis.png) top left repeat-x; }
+span.b_toggle.b_disabled { white-space: nowrap; margin: 0 0.5em 0.2em 0; padding: 0 0.8em; color: #667; border: 1px solid #DDD; @include o-border-radius(10px); display: inline-block; line-height: 1.5em; text-align: center; background: url(../openolat/images/toggle_dis.png) top left repeat-x; }
 /* TOGGLE SLIDERS */
 a.b_toggle_slide {
-	background: url(images/handle.png) -63px 0px no-repeat; height: 25px; width: 85px; white-space: nowrap; margin: 0 0.2em 0.2em 0.2em; color: #2C2B2B;  border: 1px solid #aaa; @include o-border-radius(4px); display: inline-block; text-align: center; vertical-align: middle; position: relative;
+	background: url(../openolat/images/handle.png) -63px 0px no-repeat; height: 25px; width: 85px; white-space: nowrap; margin: 0 0.2em 0.2em 0.2em; color: #2C2B2B;  border: 1px solid #aaa; @include o-border-radius(4px); display: inline-block; text-align: center; vertical-align: middle; position: relative;
 	span { position: absolute; top: -25px; left:0;} 
 	&:hover,&:focus,&:active,
 	&.b_on:hover,&.b_on:focus,&.b_on:active{ border: 1px solid #868686; text-decoration: none; } 	
 	&.b_on { background-position: -16px 0px; }
-	&.b_disabled { background: url(images/handle_dis.png) -63px 0px no-repeat; height: 25px; width: 85px; white-space: nowrap; margin: 0 0.5em 0.2em 0; color: #2C2B2B;  border: 1px solid #aaa; @include o-border-radius(4px); display: inline-block; text-align: center; vertical-align: middle;}
+	&.b_disabled { background: url(../openolat/images/handle_dis.png) -63px 0px no-repeat; height: 25px; width: 85px; white-space: nowrap; margin: 0 0.5em 0.2em 0; color: #2C2B2B;  border: 1px solid #aaa; @include o-border-radius(4px); display: inline-block; text-align: center; vertical-align: middle;}
 	
 	/* TOGGLE SLIDERS SMALL */
-	&.b_small { background: url(images/handle_small.png) -41px 0px no-repeat; height: 16px; width: 55px;@include o-border-radius(2px);}
+	&.b_small { background: url(../openolat/images/handle_small.png) -41px 0px no-repeat; height: 16px; width: 55px;@include o-border-radius(2px);}
 	& span { position: absolute; top: -16px; } 
 	&.b_small.b_on { background-position: -9px 0px; }
 }
-span.b_toggle_slide.b_disabled { background: url(images/handle_small_dis.png) -41px 0px no-repeat; height: 16px; width: 55px; white-space: nowrap; margin: 0 0.5em 0.2em 0; color: #2C2B2B;  border: 1px solid #aaa; @include o-border-radius(3px); display: inline-block; text-align: center; vertical-align: middle;}
+span.b_toggle_slide.b_disabled { background: url(../openolat/images/handle_small_dis.png) -41px 0px no-repeat; height: 16px; width: 55px; white-space: nowrap; margin: 0 0.5em 0.2em 0; color: #2C2B2B;  border: 1px solid #aaa; @include o-border-radius(3px); display: inline-block; text-align: center; vertical-align: middle;}
 span.b_toggle_slide_legend {font-size: 90%; }
 
 /* BACK BUTTON  / LINK **/
 .b_link_back {
-	> span {padding: 0px 8px 0px 25px; background: transparent url('images/arrow_left_big.png') no-repeat 4px center;}
+	> span {padding: 0px 8px 0px 25px; background: transparent url('../openolat/images/arrow_left_big.png') no-repeat 4px center;}
 	@include btt-outer;	
 	/* focused buttons */
 	&:focus,&:hover {
@@ -168,7 +168,7 @@ div.b_form {
 		div.b_form_element_label{
 			 width: 20%; float: left; display: inline;
 			 label {  float: left; display: inline; line-height: 1.3em;}
-			 span.b_form_mandatory { background: url(images/star-small.png) no-repeat; padding-left: 16px; height: 16px;}
+			 span.b_form_mandatory { background: url(../openolat/images/star-small.png) no-repeat; padding-left: 16px; height: 16px;}
 			&.b_form_horizontal { width: auto; float: left; display: inline;} 
 		 	&.b_form_vertical { width: auto; float: none; display: block; } 
 		} 
@@ -204,11 +204,11 @@ div.b_form {
 		.b_form_disabled { color: #504D4E; }
 		.b_form_element_disabled { color: #9E9C9C; background: #EEEEEE; border: 1px solid #CDCBCB;}
 		/* date and generic chooser icon*/
-		span.b_form_datechooser { background: url(images/calendar.png) no-repeat; padding-left: 18px; height: 16px; line-height: 16px; margin-left: 2px; padding-top:2px;}
-		a.b_form_groupchooser { background: url(images/users.png) no-repeat; padding-left: 18px; height: 16px;line-height: 16px; margin-left: 2px;}
-		a.b_form_genericchooser { background: url(images/users.png) no-repeat; padding-left: 18px; height: 16px;line-height: 16px; margin-left: 2px;}	
+		span.b_form_datechooser { background: url(../openolat/images/calendar.png) no-repeat; padding-left: 18px; height: 16px; line-height: 16px; margin-left: 2px; padding-top:2px;}
+		a.b_form_groupchooser { background: url(../openolat/images/users.png) no-repeat; padding-left: 18px; height: 16px;line-height: 16px; margin-left: 2px;}
+		a.b_form_genericchooser { background: url(../openolat/images/users.png) no-repeat; padding-left: 18px; height: 16px;line-height: 16px; margin-left: 2px;}	
 	    a.b_form_wikitext { background-repeat: no-repeat; padding-left: 12px; line-height: 1.5em; font-style: italic;}
-		a.b_form_wikitext, .b_wiki_icon { background-image: url(images/wiki/wiki_small_9px.png);}
+		a.b_form_wikitext, .b_wiki_icon { background-image: url(../openolat/images/wiki/wiki_small_9px.png);}
 	}
 
 }// end div.b_form
@@ -278,7 +278,7 @@ div.b_fileinput {
 	input.b_fileinput_realchooser { position: relative; top: 0; left: 0; z-index: 2; -moz-opacity:0; opacity: 0; filter: alpha(opacity=0);}
 	div.b_button_group { text-align: left; padding-left: 0; margin-left: 0;}
 }
-.b_fileinput_icon { background-image: url(images/drive.png); }
+.b_fileinput_icon { background-image: url(../openolat/images/drive.png); }
 
 
 /* PROGRESSBAR */
@@ -298,8 +298,8 @@ div.b_mark {
 		margin:0;
 		div.b_form_element { margin:0; padding:0; } 
 	}
-	a.b_mark_set { background: url(images/flag.png) center right no-repeat; display:block; width:20px; height:20px; }
-	a.b_mark_not_set { background: url(images/flag.png) center right no-repeat; display:block; width:20px; height:20px; opacity:0.4;filter:alpha(opacity=40);}
+	a.b_mark_set { background: url(../openolat/images/flag.png) center right no-repeat; display:block; width:20px; height:20px; }
+	a.b_mark_not_set { background: url(../openolat/images/flag.png) center right no-repeat; display:block; width:20px; height:20px; opacity:0.4;filter:alpha(opacity=40);}
 	a.b_mark_set span, a.b_mark_not_set span { display:block; width:19px; height:19px; }
 }
 	
diff --git a/src/main/webapp/static/themes/openolat/all/modules/_forum.scss b/src/main/webapp/static/themes/openolat/all/modules/_forum.scss
index 3b044e315d2462bbf4e7beeb101755654c7f27d7..cc22073d59524b628c1c8c572fe46c3e5f827fe0 100644
--- a/src/main/webapp/static/themes/openolat/all/modules/_forum.scss
+++ b/src/main/webapp/static/themes/openolat/all/modules/_forum.scss
@@ -18,7 +18,7 @@ div.o_forum {
 		vertical-align: middle; padding: 2px 5px 2px 5px;   min-height: 24px;
 		strong { font-weight: bold;}
 	}
-	div.o_forum_message_new div.o_forum_message_title strong {background: url(images/new-text.png) no-repeat top right; padding-right: 20px;}
+	div.o_forum_message_new div.o_forum_message_title strong {background: url(../openolat/images/new-text.png) no-repeat top right; padding-right: 20px;}
 	
 	div.o_forum_message_content_wrapper { 
 		div.o_forum_message_content { }
@@ -46,10 +46,10 @@ div.o_forum {
 }
 	
 span.o_forum_thread_sticky { font-weight: bold; }
-span.o_forum_status_thread_icon {background-image: url(images/forum/forum.png)}
-span.o_forum_status_sticky_closed_icon {background-image: url(images/forum/sticky-note-pin_locked.png)}
-span.o_forum_status_sticky_icon {background-image: url(images/forum/sticky-note-pin.png)}
-span.o_forum_status_closed_icon {background-image: url(images/forum/forum_locked.png)}
+span.o_forum_status_thread_icon {background-image: url(../openolat/images/forum/forum.png)}
+span.o_forum_status_sticky_closed_icon {background-image: url(../openolat/images/forum/sticky-note-pin_locked.png)}
+span.o_forum_status_sticky_icon {background-image: url(../openolat/images/forum/sticky-note-pin.png)}
+span.o_forum_status_closed_icon {background-image: url(../openolat/images/forum/forum_locked.png)}
 
 div.o_forum_peekview { 
 	margin: 1em 0 1em 0;
@@ -57,7 +57,7 @@ div.o_forum_peekview {
 	div.o_forum_peekview_message { padding-left: 20px; padding-bottom: 15px; }
 	div.b_quote_wrapper { display: none;}
 }
-.o_forum_message_icon {background-image: url(images/forum/balloon-white-left.png); }
+.o_forum_message_icon {background-image: url(../openolat/images/forum/balloon-white-left.png); }
 
 div.o_forum_toolbar { float:left; display:inline; width:75%; }
 div#o_forum_fulltextsearch { 
diff --git a/src/main/webapp/static/themes/openolat/all/modules/_imscp.scss b/src/main/webapp/static/themes/openolat/all/modules/_imscp.scss
index a7fff09da15dfb3cbe37247d4cc49aff9f599acd..0f182938b4f9ebca0a4a0c31eb3c5bb038da1f18 100644
--- a/src/main/webapp/static/themes/openolat/all/modules/_imscp.scss
+++ b/src/main/webapp/static/themes/openolat/all/modules/_imscp.scss
@@ -2,7 +2,7 @@
 
 div.o_module_cp_wrapper{
 
-	a.b_content_download {background: url('images/drive-download.png') no-repeat top left; padding-left: 20px; margin: 3px; display:block; min-height: 16px;}
+	a.b_content_download {background: url('../openolat/images/drive-download.png') no-repeat top left; padding-left: 20px; margin: 3px; display:block; min-height: 16px;}
 	div#o_local_fulltextsearch { position:absolute; top:0; right:0; z-index:10; }
 	div#o_local_fulltextsearch div.b_form_element_wrapper.b_form_horizontal { margin:0; }
 
@@ -15,11 +15,11 @@ div.o_module_cp_wrapper{
 	
 	div span a { margin: 0 2px; }
 	div span.b_disabled { display:none; }
-	div span a.o_cp_previous_icon { background-image: url('images/arrow_left_big.png'); text-decoration: none; }
+	div span a.o_cp_previous_icon { background-image: url('../openolat/images/arrow_left_big.png'); text-decoration: none; }
 	div span a.o_cp_previous_icon span {display:none; }
-	div span a.o_cp_next_icon {	background-image: url('images/arrow_right_big.png'); }
+	div span a.o_cp_next_icon {	background-image: url('../openolat/images/arrow_right_big.png'); }
 	div span a.o_cp_next_icon span {display:none; }
-	div span a.o_cp_print_icon {	background-image: url('images/printer.png'); }
+	div span a.o_cp_print_icon {	background-image: url('../openolat/images/printer.png'); }
 	div span a.o_cp_print_icon span {display:none; }
 	div.o_cp_navigation div, div.o_cp_navigation form  { display:inline; }
 	div.o_cp_navigation div.b_clearfix { display:inline; clear:none; }
@@ -33,10 +33,10 @@ div.o_module_tu_wrapper {}
 /* IMS CP Editor */
 #o_cpeditor_menu div.o_cpeditor_menu_tree { padding: 10px 0 0 0;}
 #b_col1 div.b_menu_toolbar a, #b_col3 div.b_menu_toolbar a {width: 16px; height: 16px; margin: 3px; float: right; display: inline; background-repeat: no-repeat;}
-a.o_cpeditor_import { background-image: url('images/docs/document_upload.png'); }
-a.o_cpeditor_new { background-image: url('images/docs/document_add.png');  }
-a.o_cpeditor_copy { background-image: url('images/docs/document_copy.png'); }
-a.o_cpeditor_delete { background-image: url('images/docs/document_remove.png'); }
-a.o_cpeditor_edit { background-image: url(images/docs/document_metadata_edit.png);}
-a.o_cpeditor_preview { background-image: url(images/docs/document_preview.png); }
+a.o_cpeditor_import { background-image: url('../openolat/images/docs/document_upload.png'); }
+a.o_cpeditor_new { background-image: url('../openolat/images/docs/document_add.png');  }
+a.o_cpeditor_copy { background-image: url('../openolat/images/docs/document_copy.png'); }
+a.o_cpeditor_delete { background-image: url('../openolat/images/docs/document_remove.png'); }
+a.o_cpeditor_edit { background-image: url(../openolat/images/docs/document_metadata_edit.png);}
+a.o_cpeditor_preview { background-image: url(../openolat/images/docs/document_preview.png); }
 #o_cpeditor_content div.o_cpeditor_message { padding: 20px;}	
\ No newline at end of file
diff --git a/src/main/webapp/static/themes/openolat/all/modules/_portlets_boxes.scss b/src/main/webapp/static/themes/openolat/all/modules/_portlets_boxes.scss
index a684f7100b5710360d1f5550fd992226dbc4c17c..a8ec2d881a5c033a678f0211df545e66e36417d4 100644
--- a/src/main/webapp/static/themes/openolat/all/modules/_portlets_boxes.scss
+++ b/src/main/webapp/static/themes/openolat/all/modules/_portlets_boxes.scss
@@ -35,7 +35,7 @@ div.o_home_rsslink {
 	bottom: 0;
 	left: 0;
 	height: 16px;
-	background: white url(images/magnifier-zoom.png) no-repeat 4px 0;
+	background: white url(../openolat/images/magnifier-zoom.png) no-repeat 4px 0;
 }
 #o_macartney_large {
 	position: fixed;
@@ -48,7 +48,7 @@ div.o_home_rsslink {
 	padding: 5px;
 }
 #o_macartney_large img { width: 100%; }
-#o_macartney_close {position: absolute; width: 16px; top: 0; right: 0; height: 16px; border-left: 1px solid #000; border-bottom: 1px solid #000; background: #fff url(images/close.png)}
+#o_macartney_close {position: absolute; width: 16px; top: 0; right: 0; height: 16px; border-left: 1px solid #000; border-bottom: 1px solid #000; background: #fff url(../openolat/images/close.png)}
 
 
 /** ----------------- PORTLETS & BOXES ----------------- **/
@@ -110,20 +110,20 @@ div.o_home_rsslink {
 		
 		
 		/* the toolbox buttons */
-		a.b_portlet_edit_left { background-image: url(images/arrow_left_big.png);}
-		a.b_portlet_edit_right { background-image: url(images/arrow_right_big.png);}
-		a.b_portlet_edit_down { background-image: url(images/arrow_down_big.png); }
-		a.b_portlet_edit_up { background-image: url(images/arrow_up_big.png); }
-		a.b_portlet_edit_delete { background-image: url(images/cross-script.png); }
-		a.b_portlet_edit_sort_auto { background-image: url(images/table_sort.png); }
-		a.b_portlet_edit_sort_manual { background-image: url(images/table_gear.png); }
+		a.b_portlet_edit_left { background-image: url(../openolat/images/arrow_left_big.png);}
+		a.b_portlet_edit_right { background-image: url(../openolat/images/arrow_right_big.png);}
+		a.b_portlet_edit_down { background-image: url(../openolat/images/arrow_down_big.png); }
+		a.b_portlet_edit_up { background-image: url(../openolat/images/arrow_up_big.png); }
+		a.b_portlet_edit_delete { background-image: url(../openolat/images/cross-script.png); }
+		a.b_portlet_edit_sort_auto { background-image: url(../openolat/images/table_sort.png); }
+		a.b_portlet_edit_sort_manual { background-image: url(../openolat/images/table_gear.png); }
 		
-		span.b_portlet_edit_left_disabled { background-image: url(images/arrow_left_big.png); opacity:0.2;}
-		span.b_portlet_edit_right_disabled { background-image: url(images/arrow_right_big.png); opacity:0.2;}
-		span.b_portlet_edit_down_disabled { background-image: url(images/arrow_down_big.png); opacity:0.2;}
-		span.b_portlet_edit_up_disabled { background-image: url(images/arrow_up_big.png); opacity:0.2;}	
-		span.b_portlet_edit_sort_auto_disabled { background-image: url(images/table_sort.png); opacity:0.2;}
-		span.b_portlet_edit_sort_manual_disabled { background-image: url(images/table_gear.png); opacity:0.2;}
+		span.b_portlet_edit_left_disabled { background-image: url(../openolat/images/arrow_left_big.png); opacity:0.2;}
+		span.b_portlet_edit_right_disabled { background-image: url(../openolat/images/arrow_right_big.png); opacity:0.2;}
+		span.b_portlet_edit_down_disabled { background-image: url(../openolat/images/arrow_down_big.png); opacity:0.2;}
+		span.b_portlet_edit_up_disabled { background-image: url(../openolat/images/arrow_up_big.png); opacity:0.2;}	
+		span.b_portlet_edit_sort_auto_disabled { background-image: url(../openolat/images/table_sort.png); opacity:0.2;}
+		span.b_portlet_edit_sort_manual_disabled { background-image: url(../openolat/images/table_gear.png); opacity:0.2;}
 	
 	}
 
diff --git a/src/main/webapp/static/themes/openolat/all/modules/_qti.scss b/src/main/webapp/static/themes/openolat/all/modules/_qti.scss
index 9c99f227a42c4a93eed5f5d67ebc4246e22f9d35..4c578d81ef2283141f147b998f075b564249a50e 100644
--- a/src/main/webapp/static/themes/openolat/all/modules/_qti.scss
+++ b/src/main/webapp/static/themes/openolat/all/modules/_qti.scss
@@ -3,8 +3,8 @@
 	#o_qti_run div.b_button_group { text-align: left;}
 	#o_qti_run_title { text-align: right;}
 	#o_qti_run_title strong { float: left; display: inline;}
-	#o_qti_run.o_qti_survey #o_qti_run_title strong { background: url(images/le_resources/survey.png) no-repeat left 50%; padding-left: 20px;}
-	#o_qti_run.o_qti_test #o_qti_run_title strong { background: url(images/le_resources/test.png) no-repeat left 50%; padding-left: 20px; padding-top:2px; padding-bottom:2px;}
+	#o_qti_run.o_qti_survey #o_qti_run_title strong { background: url(../openolat/images/le_resources/survey.png) no-repeat left 50%; padding-left: 20px;}
+	#o_qti_run.o_qti_test #o_qti_run_title strong { background: url(../openolat/images/le_resources/test.png) no-repeat left 50%; padding-left: 20px; padding-top:2px; padding-bottom:2px;}
 	#o_qti_scoreinfo{float: left; display: inline; padding: .3em; border: 1px solid silver; margin-right: 1em;}
 	#o_qti_run_score { clear: both; margin: 1em 0; padding: 0 0 1.5em 0; font-size: 90%;}
 	#o_qti_run_scoreinfo {float: left; display: inline;} 
@@ -21,12 +21,12 @@
 	#o_qti_run_menu_inner li div.o_qti_menu_item, #o_qti_run_menu li div.o_qti_menu_section {float: left; display: inline; margin-right: 10px;}		
 	#o_qti_run_content_inner { }
 	#o_qti_results td { padding: 0; }  /* fixes problem with truncated testresults, see OLAT-3416 */	
-	#b_main.o_editor_qti_correct {background-image: url(images/qti/correct_bg.png); background-position: top left; }
+	#b_main.o_editor_qti_correct {background-image: url(../openolat/images/qti/correct_bg.png); background-position: top left; }
 	#b_main.o_editor_qti {background-image: url(../images/olat/editor/edit_bg.png); background-position: top left; }
 	#o_qti_hints, #o_qti_solutions { margin: 1em 0;}
 	#o_qti_hints a { background: url(../images/olat/lightbulb.png) no-repeat left 50%; cursor: help; padding-left: 20px; }
 	#o_qti_hints a:focus, #o_qti_hints a:hover{ background-image: url(../images/olat/lightbulb_hover.png); }	
-	#o_qti_solutions a { background: url(images/magnifier-zoom.png) no-repeat left 50%; cursor: help; padding-left: 20px; }
+	#o_qti_solutions a { background: url(../openolat/images/magnifier-zoom.png) no-repeat left 50%; cursor: help; padding-left: 20px; }
 	.qti_response_level_feedback_label { margin-top: 1em; font-style:italic }
 	.qti_edit_layout { position:relative; padding-right:30px; margin-bottom:0.6em; }
 	.qti_edit_layout .edit_link { position:absolute; top:10px; right:0px; }
@@ -66,7 +66,7 @@
     .o_qti_menu_item:hover {border: 1px solid silver;}
     .o_qti_menu_item_closed {padding:.3em; border: 1px solid transparent;}
 
-	.o_qti_menu_item_attempts_marked, .o_qti_menu_item_attempts {color: silver; padding: .2em .4em; border: 1px solid transparent; background: url(images/flag.png) center right no-repeat;  display:block; width:20px; height:12px; }
+	.o_qti_menu_item_attempts_marked, .o_qti_menu_item_attempts {color: silver; padding: .2em .4em; border: 1px solid transparent; background: url(../openolat/images/flag.png) center right no-repeat;  display:block; width:20px; height:12px; }
     .o_qti_menu_item_attempts { opacity:0.4;filter:alpha(opacity=40); }
     .o_qti_menu_item_attempts:hover, .o_qti_menu_item_attempts_marked:hover {color: silver; border: 1px solid silver; cursor:pointer; }
 	
@@ -75,21 +75,21 @@
 	.o_qti_item_note_box {border: 1px dashed silver; padding:.1em;margin:0;padding-left:.5em;}
 	div.o_qti_item_note_box_title{color: silver;}
 	
-	div.o_qti_item_itemfeedback, div.o_qti_item_assessfeedback, div.o_qti_item_o_qti_item_sectionfeedback{margin: 1em 0; background: url(images/lightning.png) no-repeat left 50%; padding-left: 20px;}
+	div.o_qti_item_itemfeedback, div.o_qti_item_assessfeedback, div.o_qti_item_o_qti_item_sectionfeedback{margin: 1em 0; background: url(../openolat/images/lightning.png) no-repeat left 50%; padding-left: 20px;}
 	div.o_qti_item_objectives {margin: 1em 0; background: url(../images/brasato/information.png) no-repeat left 50%; padding-left: 20px; line-height:2em;}
 	/* qti menu items */
-	.o_qti_timelimit_icon {background-image: url(images/qti/time.png); }
-	.o_qti_attemptslimit_icon {background-image: url(images/qti/tries.png); }
-	.o_qti_closed_icon {background-image: url(images/qti/closed.png); }
-	.o_mi_qtialientitem { background-image: url(images/docs/document_plain.png); }
-	.o_mi_qtisc { background-image: url(images/qti/scItem.png); }
-	.o_mi_qtimc { background-image: url(images/qti/mcItem.png); }
-	.o_mi_qtikprim {background-image: url(images/qti/kprimItem.png); }
-	.o_mi_qtifib { background-image: url(images/qti/fibItem.png); }
-	.o_mi_qtiessay {background-image: url(images/qti/essayItem.png); }
-	.o_mi_qtisection { background-image: url(images/qti/section.png); }
-	.o_mi_iqtest { background-image: url(images/le_resources/test.png); }
-	.o_mi_iqsurv { background-image: url(images/le_resources/survey.png); }
+	.o_qti_timelimit_icon {background-image: url(../openolat/images/qti/time.png); }
+	.o_qti_attemptslimit_icon {background-image: url(../openolat/images/qti/tries.png); }
+	.o_qti_closed_icon {background-image: url(../openolat/images/qti/closed.png); }
+	.o_mi_qtialientitem { background-image: url(../openolat/images/docs/document_plain.png); }
+	.o_mi_qtisc { background-image: url(../openolat/images/qti/scItem.png); }
+	.o_mi_qtimc { background-image: url(../openolat/images/qti/mcItem.png); }
+	.o_mi_qtikprim {background-image: url(../openolat/images/qti/kprimItem.png); }
+	.o_mi_qtifib { background-image: url(../openolat/images/qti/fibItem.png); }
+	.o_mi_qtiessay {background-image: url(../openolat/images/qti/essayItem.png); }
+	.o_mi_qtisection { background-image: url(../openolat/images/qti/section.png); }
+	.o_mi_iqtest { background-image: url(../openolat/images/le_resources/test.png); }
+	.o_mi_iqsurv { background-image: url(../openolat/images/le_resources/survey.png); }
 	
 	
 	
diff --git a/src/main/webapp/static/themes/openolat/all/modules/_tables.scss b/src/main/webapp/static/themes/openolat/all/modules/_tables.scss
index 450d4f9d3cb80fe7c5f382e4f29cdd24de600f19..3a26e74a50c9d3e1cc16e0f05a3e3f66e4e656c1 100644
--- a/src/main/webapp/static/themes/openolat/all/modules/_tables.scss
+++ b/src/main/webapp/static/themes/openolat/all/modules/_tables.scss
@@ -43,8 +43,8 @@ div.b_table_wrapper {
 	div.b_clearfix div.b_floatbox { margin:5px 0 0 0; }
 	div.b_table_count { font-size: 95%; float: left; line-height: 16px; vertical-align: bottom; margin: 3px; font-size: 95%;}
 	a.b_table_prefs, a.b_table_download {float: right; display: block; background-repeat: no-repeat; background-position: top left; width: 16px; height: 16px; margin: 3px;}
-	a.b_table_prefs {background-image: url(images/table_gear.png);}
-	a.b_table_download {background-image: url(images/table_download.png);}
+	a.b_table_prefs {background-image: url(../openolat/images/table_gear.png);}
+	a.b_table_download {background-image: url(../openolat/images/table_download.png);}
 	div.b_table_buttons { text-align: center; margin: 1.5em 0 1em 0; }	/* bottom-margin to fix IE6 overflow issue */
 }
 	
@@ -53,9 +53,9 @@ div.b_table_page {
 	font-size: 95%; text-align: center;
 	a { margin: 0 ; padding: 2px;}
 	a.b_table_page_active { font-weight: bold; color: #000;}
-	a.b_table_backward {background: url(images/arrow_left.png) no-repeat center left; padding-left: 16px;}
-	a.b_table_forward {background: url(images/arrow_right.png) no-repeat center right; padding-right: 16px;}
-	a.b_table_first_page {background: url(images/home.png) no-repeat center left; padding-left: 18px;}
+	a.b_table_backward {background: url(../openolat/images/arrow_left.png) no-repeat center left; padding-left: 16px;}
+	a.b_table_forward {background: url(../openolat/images/arrow_right.png) no-repeat center right; padding-right: 16px;}
+	a.b_table_first_page {background: url(../openolat/images/home.png) no-repeat center left; padding-left: 18px;}
 }
 div.b_table_page_all { 
 	font-size: 95%; text-align: center;
diff --git a/src/main/webapp/static/themes/openolat/all/modules/_tabpane.scss b/src/main/webapp/static/themes/openolat/all/modules/_tabpane.scss
index c8f89efe91099eaffc4daae8e1675947b3417b06..2d010264b38e1a00e23dafbd7b499ee7c7e5bf3b 100644
--- a/src/main/webapp/static/themes/openolat/all/modules/_tabpane.scss
+++ b/src/main/webapp/static/themes/openolat/all/modules/_tabpane.scss
@@ -95,7 +95,7 @@ div.b_segments_container {
 		min-height: 25px; 
 		padding-top: 8px; 
 		position: relative; 
-		background: url(images/divider.png) center top no-repeat;
+		background: url(../openolat/images/divider.png) center top no-repeat;
 		div.b_segments { 
 			clear:both;
 			position:absolute;
diff --git a/src/main/webapp/static/themes/openolat/all/modules/_translationtool.scss b/src/main/webapp/static/themes/openolat/all/modules/_translationtool.scss
index 676158a2bf47d87547bcdc4a7282ed0ebfc9b241..2410a8b3f92befa27d164825f14c8b3e5dc0282e 100644
--- a/src/main/webapp/static/themes/openolat/all/modules/_translationtool.scss
+++ b/src/main/webapp/static/themes/openolat/all/modules/_translationtool.scss
@@ -14,20 +14,20 @@
 	div.b_translation_edit div.b_form_element textarea.b_form_element_disabled { color: #000; background: #EEEEEE; border: 1px solid #CDCBCB;}
 	div.b_translation_edit div.b_translation_edit_annotation h5 {font-weight: normal; font-size: 100%; font-style: italic;}
 	div.b_translation_edit div.b_translation_edit_annotation textarea {font-style: italic;}
-	div.b_translation_edit div.b_translation_refKey { background-image: url(images/magnifier-zoom.png); vertical-align: middle; background-color: #eee; border:1px solid #ACAAAA; margin-right: 1%; }
+	div.b_translation_edit div.b_translation_refKey { background-image: url(../openolat/images/magnifier-zoom.png); vertical-align: middle; background-color: #eee; border:1px solid #ACAAAA; margin-right: 1%; }
 	div.b_translation_edit div.b_translation_refKey  code { line-height: 1em; vertical-align: middle;}
 	div.b_translation_edit div.b_translation_refKey  span { line-height: 1em; font-style: italic;}
 	div.b_translation_config span.b_translation_status, ul.b_translation_status span.b_translation_status { position: absolute; right:1em; }
 	ul.b_translation_status { column-count:2; -moz-column-count:2; list-style: none;}
 	ul.b_translation_status li { position: relative;}	
 
-	.b_translation_package_icon { background-image: url(images/folder_open.png)  ! important; }
-	.b_translation_item_icon { background-image: url(images/docs/document-node.png)  ! important; }
-	.b_translation_search_icon { background-image: url(images/magnifier-zoom.png)  ! important; }
+	.b_translation_package_icon { background-image: url(../openolat/images/folder_open.png)  ! important; }
+	.b_translation_item_icon { background-image: url(../openolat/images/docs/document-node.png)  ! important; }
+	.b_translation_search_icon { background-image: url(../openolat/images/magnifier-zoom.png)  ! important; }
 	/* inline translation tool */	
 	span.b_translation_i18nitem { position: relative ! important; }
 	span.b_translation_i18nitem a.b_translation_i18nitem_launcher { position: absolute ! important; z-index: 100 ! important; width: 16px ! important; height: 16px ! important; top: 0 ! important; left: 5px ! important; 
-		background: #eee url(images/docs/document_metadata_edit.png) no-repeat ! important; border: 1px solid #6E6E6E ! important;
+		background: #eee url(../openolat/images/docs/document_metadata_edit.png) no-repeat ! important; border: 1px solid #6E6E6E ! important;
 		@include o-border-radius(3px);
 		padding: 0 ! important;
 	}
diff --git a/src/main/webapp/static/themes/openolat/all/modules/_wiki.scss b/src/main/webapp/static/themes/openolat/all/modules/_wiki.scss
index ff0ce0e7def9861519292c17ee9be6c27c8e5235..f93c76cda6a9b375e4a88bcc957a40d69dbe4a9c 100644
--- a/src/main/webapp/static/themes/openolat/all/modules/_wiki.scss
+++ b/src/main/webapp/static/themes/openolat/all/modules/_wiki.scss
@@ -40,18 +40,18 @@
 		 }
 		 
 		div.o_wikimod_btn div.b_contexthelp_wrapper a.b_contexthelp {position: absolute; top: 0; right: 0;}
-		a.o_wikimod_btn_bold { background-image: url(images/wiki/edit-bold.png) }
-		a.o_wikimod_btn_italic { background-image: url(images/wiki/edit-italic.png) }
-		a.o_wikimod_btn_link { background: url(images/wiki/chain.png) }
-		a.o_wikimod_btn_extlink { background: url(images/wiki/chain--arrow.png) }
-		a.o_wikimod_btn_headline { background: url(images/wiki/edit-heading.png) }
-		a.o_wikimod_btn_image { background: url(images/wiki/image-medium.png) }
-		a.o_wikimod_btn_media { background: url(images/music-beam.png) }
-		a.o_wikimod_btn_math { background: url(images/wiki/edit-math.png) }
-		a.o_wikimod_btn_nowiki { background: url(images/wiki/edit-nowiki.png) }
-		a.o_wikimod_btn_hr { background: url(images/wiki/edit-hr.png) }
-		a.o_wikimod_btn_list { background: url(images/wiki/edit-list.png) }
-		a.o_wikimod_btn_numlist { background: url(images/wiki/edit-list-order.png) }
+		a.o_wikimod_btn_bold { background-image: url(../openolat/images/wiki/edit-bold.png) }
+		a.o_wikimod_btn_italic { background-image: url(../openolat/images/wiki/edit-italic.png) }
+		a.o_wikimod_btn_link { background: url(../openolat/images/wiki/chain.png) }
+		a.o_wikimod_btn_extlink { background: url(../openolat/images/wiki/chain--arrow.png) }
+		a.o_wikimod_btn_headline { background: url(../openolat/images/wiki/edit-heading.png) }
+		a.o_wikimod_btn_image { background: url(../openolat/images/wiki/image-medium.png) }
+		a.o_wikimod_btn_media { background: url(../openolat/images/music-beam.png) }
+		a.o_wikimod_btn_math { background: url(../openolat/images/wiki/edit-math.png) }
+		a.o_wikimod_btn_nowiki { background: url(../openolat/images/wiki/edit-nowiki.png) }
+		a.o_wikimod_btn_hr { background: url(../openolat/images/wiki/edit-hr.png) }
+		a.o_wikimod_btn_list { background: url(../openolat/images/wiki/edit-list.png) }
+		a.o_wikimod_btn_numlist { background: url(../openolat/images/wiki/edit-list-order.png) }
 	
 	 }
 	 
diff --git a/src/main/webapp/static/themes/openolat/layout.css b/src/main/webapp/static/themes/openolat/layout.css
index 5efa4abba69f3cae8fa88c03a9c3f60718ec4e0d..13c459cb3e03bfe0b433284bfc6ce28c65d105ad 100644
--- a/src/main/webapp/static/themes/openolat/layout.css
+++ b/src/main/webapp/static/themes/openolat/layout.css
@@ -47,6 +47,7 @@
 *  =================================================
 *   
 *   CONTAINS SOME SASS VARIABLES
+*   you can change these and compile the theme :)
 *
 *   @author strentini, sergio.trentini@frentix.com,  www.frentix.com
 *   @date Nov. 2011
@@ -56,6 +57,8 @@
 *
 *  =================================================
 */
+/* the base-color and variations (for openolat-theme this is the openolat-blue) */
+/* then we need a base-gray and some variations */
 /* --------------- */
 /*
 *  =================================================
@@ -76,6 +79,9 @@
 *  =================================================
 */
 @media all {
+  html {
+    min-height: 100%; }
+
   /** ----------------- MAIN LAYOUT ----------------- **/
   /** 
      * (en) Forcing vertical scrollbars in IE8, Firefox, Webkit & Opera 
@@ -87,8 +93,9 @@
      * @valid CSS3
      */
   body {
+    min-height: 100%;
     overflow-y: scroll;
-    background: #ececec url("images/sky.png") repeat-x left 88px; }
+    background: #ececec url("../openolat/images/sky.png") repeat-x left 88px; }
 
   #b_page_margins {
     min-width: 740px;
@@ -113,7 +120,7 @@
     position: absolute;
     bottom: 1em;
     right: 1em;
-    background: transparent url(images/arrow_up.png) 0 50% no-repeat;
+    background: transparent url(../openolat/images/arrow_up.png) 0 50% no-repeat;
     padding-left: 14px;
     z-index: 5; }
 
@@ -194,11 +201,11 @@
         margin: 0;
         width: 10em; }
       #b_header #b_topnav #o_topnav_printview a {
-        background: url(images/printer.png) no-repeat top right;
+        background: url(../openolat/images/printer.png) no-repeat top right;
         padding: 2px 20px 2px 0;
         margin: 0; }
       #b_header #b_topnav #o_topnav_logout a {
-        background: url("images/control/control-power.png") no-repeat top right;
+        background: url("../openolat/images/control/control-power.png") no-repeat top right;
         padding: 2px 20px 2px 0;
         margin: 0;
         font-weight: bold; }
@@ -253,32 +260,32 @@
             box-shadow: 0 -4px 8px -1px #d3d3d3;
             background: #fff; }
             #b_nav_main ul li.b_nav_site.b_nav_active a.b_nav_tab_close, #b_nav_main ul li.b_nav_site:hover a.b_nav_tab_close {
-              background-image: url(images/cross_small_trimmed_blue.png); }
+              background-image: url(../openolat/images/cross_small_trimmed_blue.png); }
           #b_nav_main ul li.b_nav_site > div {
             padding-left: 16px;
             background-repeat: no-repeat;
             background-position: 0% 50%;
-            background-image: url("images/application.png"); }
+            background-image: url("../openolat/images/application.png"); }
           #b_nav_main ul li.b_nav_site.o_site_home > div {
-            background-image: url("images/home.png"); }
+            background-image: url("../openolat/images/home.png"); }
           #b_nav_main ul li.b_nav_site.o_site_admin > div {
-            background-image: url("images/wrench-screwdriver.png"); }
+            background-image: url("../openolat/images/wrench-screwdriver.png"); }
           #b_nav_main ul li.b_nav_site.o_site_useradmin > div {
-            background-image: url("images/user_conf.png"); }
+            background-image: url("../openolat/images/user_conf.png"); }
           #b_nav_main ul li.b_nav_site.o_site_groupsmanagement > div {
-            background-image: url("images/users_conf.png"); }
+            background-image: url("../openolat/images/users_conf.png"); }
           #b_nav_main ul li.b_nav_site.o_site_repository > div {
-            background-image: url("images/books-stack.png"); }
+            background-image: url("../openolat/images/books-stack.png"); }
           #b_nav_main ul li.b_nav_site.o_site_groups > div {
-            background-image: url("images/users.png"); }
+            background-image: url("../openolat/images/users.png"); }
           #b_nav_main ul li.b_nav_site.site_demo_icon > div {
-            background-image: url("images/information-white.png"); }
+            background-image: url("../openolat/images/information-white.png"); }
           #b_nav_main ul li.b_nav_site.f_site_library > div {
-            background-image: url("images/library.png"); }
+            background-image: url("../openolat/images/library.png"); }
           #b_nav_main ul li.b_nav_site.o_site_guidemo div {
-            background-image: url("images/light-bulb.png"); }
+            background-image: url("../openolat/images/light-bulb.png"); }
           #b_nav_main ul li.b_nav_site.b_resource_GroupInfoMainController div {
-            background-image: url(images/users.png); }
+            background-image: url(../openolat/images/users.png); }
         #b_nav_main ul li.b_nav_tab {
           margin-right: 4px; }
           #b_nav_main ul li.b_nav_tab a.b_nav_tab_close {
@@ -290,7 +297,7 @@
             line-height: 0;
             padding: 0;
             margin: 0;
-            background: transparent url(images/cross_small_trimmed_grey.png) no-repeat right top; }
+            background: transparent url(../openolat/images/cross_small_trimmed_grey.png) no-repeat right top; }
           #b_nav_main ul li.b_nav_tab.b_nav_active, #b_nav_main ul li.b_nav_tab:hover {
             moz-box-shadow: 0 -4px 8px -1px #d3d3d3;
             -ms-box-shadow: 0 -4px 8px -1px #d3d3d3;
@@ -299,7 +306,7 @@
             box-shadow: 0 -4px 8px -1px #d3d3d3;
             background: #fff; }
             #b_nav_main ul li.b_nav_tab.b_nav_active a.b_nav_tab_close, #b_nav_main ul li.b_nav_tab:hover a.b_nav_tab_close {
-              background-image: url(images/cross_small_trimmed_blue.png); }
+              background-image: url(../openolat/images/cross_small_trimmed_blue.png); }
         #b_nav_main ul li#b_nav_spacer {
           background: none;
           border: none;
@@ -476,10 +483,10 @@
         padding-left: 130px;
         background-position: 112px 50%; }
     div.b_tree a.b_tree_level_close span {
-      background: url("images/toggle-small.png") no-repeat 0% 50%;
+      background: url("../openolat/images/toggle-small.png") no-repeat 0% 50%;
       padding-right: 8px; }
     div.b_tree a.b_tree_level_open span {
-      background: url("images/toggle-small-expand.png") no-repeat 0% 50%;
+      background: url("../openolat/images/toggle-small-expand.png") no-repeat 0% 50%;
       padding-right: 8px; }
     div.b_tree a.b_tree_level_close:hover, div.b_tree a.b_tree_level_open:hover {
       text-decoration: none; }
@@ -496,7 +503,7 @@
       float: left;
       line-height: 16px; }
       #b_footer #b_footer_user a.b_ajax {
-        background: url(images/ajax.png) no-repeat;
+        background: url(../openolat/images/ajax.png) no-repeat;
         width: 20px;
         height: 16px;
         display: block;
@@ -566,9 +573,9 @@
         list-style: none;
         float: left;
         display: inline;
-        background: url(images/breadcrumb-separator.png) no-repeat left center; }
+        background: url(../openolat/images/breadcrumb-separator.png) no-repeat left center; }
       div.b_breadcumb_path ul li.b_first {
-        background: url(images/home.png) no-repeat top left;
+        background: url(../openolat/images/home.png) no-repeat top left;
         padding-left: 25px; }
       div.b_breadcumb_path ul li a {
         color: #464444; }
@@ -597,13 +604,13 @@
       top: 2px;
       right: 2px; }
     div.b_noti a.b_noti_unsubscribe_link {
-      background: url(images/mail--minus.png) no-repeat left 50%;
+      background: url(../openolat/images/mail--minus.png) no-repeat left 50%;
       padding: 1px 0 1px 20px; }
     div.b_noti a.b_noti_subscribe_link {
-      background: url(images/mail--plus.png) no-repeat left 50%;
+      background: url(../openolat/images/mail--plus.png) no-repeat left 50%;
       padding: 1px 0 1px 20px; }
     div.b_noti a.b_noti_markedread_link {
-      background: url(images/tick.png) no-repeat left 50%;
+      background: url(../openolat/images/tick.png) no-repeat left 50%;
       padding: 1px 0 1px 20px; }
 
   /* ---------- TITLE Wrapper --------------- */
@@ -704,7 +711,7 @@
     font-size: 95%;
     padding: 1px 0 1px 20px;
     border-bottom: 1px solid #EEE;
-    background: url(images/folder_open.png) 0 50% no-repeat; }
+    background: url(../openolat/images/folder_open.png) 0 50% no-repeat; }
   div.o_catalog div.o_catalog_links {
     margin-top: 1em;
     padding-top: 1em;
@@ -713,10 +720,10 @@
   /** -------------- TAGGING ---------------- **/
   /* tagging */
   .b_tag_list {
-    background: url(images/tag-label-yellow.png) 0px 3px no-repeat !important; }
+    background: url(../openolat/images/tag-label-yellow.png) 0px 3px no-repeat !important; }
 
   .b_tag_icon {
-    background-image: url(images/tag-label-yellow.png); }
+    background-image: url(../openolat/images/tag-label-yellow.png); }
 
   div.b_tags {
     margin: 2em 0; }
@@ -821,7 +828,7 @@
       width: 7px;
       height: 7px;
       font-size: 1px;
-      background: url("images/tag_x.gif"); }
+      background: url("../openolat/images/tag_x.gif"); }
     div.holder a.bit-box a.closebutton:hover {
       background-position: 7px; }
     div.holder a.bit-box a.closebutton:active {
@@ -830,7 +837,7 @@
       background-position: bottom; }
 
   .b_wizard .textbox-outer {
-    background: url(images/tag-label-yellow.png) top left no-repeat; }
+    background: url(../openolat/images/tag-label-yellow.png) top left no-repeat; }
     .b_wizard .textbox-outer li {
       margin-left: 18px; }
   .b_wizard div.holder a.bit-input input {
@@ -902,29 +909,29 @@
 
   /* EXT TREE */
   div.b_ext_elem .x-tree-lines .x-tree-elbow-minus {
-    background-image: url("images/toggle-small-expand.png");
+    background-image: url("../openolat/images/toggle-small-expand.png");
     background-position: 50% 50%; }
 
   div.b_ext_elem .x-tree-lines .x-tree-elbow-plus {
-    background-image: url("images/toggle-small-expand.png");
+    background-image: url("../openolat/images/toggle-small-expand.png");
     background-position: 50% 50%; }
 
   div.b_ext_elem .x-tree-lines .x-tree-elbow-end-minus {
-    background-image: url("images/toggle-small-expand.png");
+    background-image: url("../openolat/images/toggle-small-expand.png");
     background-position: 50% 50%; }
 
   div.b_ext_elem .x-tree-lines .x-tree-elbow-end-plus {
-    background-image: url("images/toggle-small-expand.png");
+    background-image: url("../openolat/images/toggle-small-expand.png");
     background-position: 50% 50%; }
 
   div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon {
-    background-image: url(images/folder.png); }
+    background-image: url(../openolat/images/folder.png); }
 
   div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon {
-    background-image: url(images/folder_open.png); }
+    background-image: url(../openolat/images/folder_open.png); }
 
   div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon {
-    background-image: url(images/docs/document_plain.png); }
+    background-image: url(../openolat/images/docs/document_plain.png); }
 
   div.b_ext_elem .x-tree-selected a.x-tree-node-anchor {
     border: 1px dotted #444;
@@ -963,7 +970,7 @@
   width: 100%; }
 
 .b_dd_sibling.b_dd_over {
-  background: transparent url(images/arrow_dd.png) top left no-repeat; }
+  background: transparent url(../openolat/images/arrow_dd.png) top left no-repeat; }
 
 div.b_dd_ct div.b_dd_sibling_l1 {
   margin-left: 0 !important; }
@@ -1030,593 +1037,593 @@ option.b_with_small_icon_left {
 
 /* ------- misc icons --------- */
 .b_info_icon {
-  background-image: url(images/comment.png); }
+  background-image: url("../openolat/images/comment.png"); }
 
 .b_warn_icon {
-  background-image: url(images/exclamation.png); }
+  background-image: url("../openolat/images/exclamation.png"); }
 
 .b_error_icon {
-  background-image: url(images/cross-circle.png); }
+  background-image: url("../openolat/images/cross-circle.png"); }
 
 .b_new_icon {
-  background-image: url(images/new-text.png); }
+  background-image: url("../openolat/images/new-text.png"); }
 
 .b_institution_icon {
-  background-image: url(images/home.png); }
+  background-image: url("../openolat/images/home.png"); }
 
 .b_group_icon {
-  background-image: url(images/users.png); }
+  background-image: url("../openolat/images/users.png"); }
 
 .b_user_icon {
-  background-image: url(images/user.png); }
+  background-image: url("../openolat/images/user.png"); }
 
 .b_move_left_icon {
-  background-image: url(images/arrow_left_big.png); }
+  background-image: url("../openolat/images/arrow_left_big.png"); }
 
 .b_move_right_icon {
-  background-image: url(images/arrow_right_big.png); }
+  background-image: url("../openolat/images/arrow_right_big.png"); }
 
 .b_move_down_icon {
-  background-image: url(images/arrow_down_big.png); }
+  background-image: url("../openolat/images/arrow_down_big.png"); }
 
 .b_move_up_icon {
-  background-image: url(images/arrow_up_big.png); }
+  background-image: url("../openolat/images/arrow_up_big.png"); }
 
 .b_delete_icon {
-  background-image: url(images/cross-script.png); }
+  background-image: url("../openolat/images/cross-script.png"); }
 
 .b_share_icon {
-  background-image: url(images/share.png); }
+  background-image: url("../openolat/images/share.png"); }
 
 .b_status_enabled_icon {
-  background-image: url(images/tick.png); }
+  background-image: url("../openolat/images/tick.png"); }
 
 .b_status_disabled_icon {
-  background-image: url(images/cross.png); }
+  background-image: url("../openolat/images/cross.png"); }
 
 .b_edit_icon {
-  background-image: url(images/docs/document--pencil.png); }
+  background-image: url("../openolat/images/docs/document--pencil.png"); }
 
 .b_add_icon {
-  background-image: url(images/plus-circle.png); }
+  background-image: url("../openolat/images/plus-circle.png"); }
 
 .b_open_icon {
-  background-image: url(images/control/control.png); }
+  background-image: url("../openolat/images/control/control.png"); }
 
 .o_fulltext_search_button {
-  background-image: url("images/magnifier-zoom.png"); }
+  background-image: url("../openolat/images/magnifier-zoom.png"); }
 
 .o_help_icon {
-  background-image: url(images/help.png); }
+  background-image: url("../openolat/images/help.png"); }
 
 .o_rss_icon {
-  background-image: url(images/feed.png); }
+  background-image: url("../openolat/images/feed.png"); }
 
 .o_login_guests {
-  background-image: url(images/user_silhouette.png); }
+  background-image: url("../openolat/images/user_silhouette.png"); }
 
 .o_login_pwd {
-  background-image: url(images/user_excl.png); }
+  background-image: url("../openolat/images/user_excl.png"); }
 
 .o_login_register {
-  background-image: url(images/user_register.png); }
+  background-image: url("../openolat/images/user_register.png"); }
 
 .o_news_icon {
-  background-image: url(../images/olat/information.png); }
+  background-image: url("../images/olat/information.png"); }
 
 .o_course_icon {
-  background-image: url(images/le_resources/book-open-text-image.png); }
+  background-image: url("../openolat/images/le_resources/book-open-text-image.png"); }
 
 .o_chat_icon {
-  background-image: url(../images/olat/chat_icon.png); }
+  background-image: url("../images/olat/chat_icon.png"); }
 
 .o_admin_icon {
-  background-image: url(images/wrench-screwdriver.png); }
+  background-image: url("../openolat/images/wrench-screwdriver.png"); }
 
 .o_calendar_icon {
-  background-image: url(images/calendar.png); }
+  background-image: url("../openolat/images/calendar.png"); }
 
 /** ------- FLAGS ------ **/
 .b_flag_en {
-  background-image: url(images/flags/gb.png); }
+  background-image: url("../openolat/images/flags/gb.png"); }
 
 .b_flag_de {
-  background-image: url(images/flags/de.png); }
+  background-image: url("../openolat/images/flags/de.png"); }
 
 .b_flag_fr {
-  background-image: url(images/flags/fr.png); }
+  background-image: url("../openolat/images/flags/fr.png"); }
 
 .b_flag_it {
-  background-image: url(images/flags/it.png); }
+  background-image: url("../openolat/images/flags/it.png"); }
 
 .b_flag_es {
-  background-image: url(images/flags/es.png); }
+  background-image: url("../openolat/images/flags/es.png"); }
 
 .b_flag_da {
-  background-image: url(images/flags/dk.png); }
+  background-image: url("../openolat/images/flags/dk.png"); }
 
 .b_flag_cs {
-  background-image: url(images/flags/cz.png); }
+  background-image: url("../openolat/images/flags/cz.png"); }
 
 .b_flag_el {
-  background-image: url(images/flags/gr.png); }
+  background-image: url("../openolat/images/flags/gr.png"); }
 
 .b_flag_ru {
-  background-image: url(images/flags/ru.png); }
+  background-image: url("../openolat/images/flags/ru.png"); }
 
 .b_flag_pl {
-  background-image: url(images/flags/pl.png); }
+  background-image: url("../openolat/images/flags/pl.png"); }
 
 .b_flag_zh_CN {
-  background-image: url(images/flags/cn.png); }
+  background-image: url("../openolat/images/flags/cn.png"); }
 
 .b_flag_zh_TW {
-  background-image: url(images/flags/tw.png); }
+  background-image: url("../openolat/images/flags/tw.png"); }
 
 .b_flag_lt {
-  background-image: url(images/flags/lt.png); }
+  background-image: url("../openolat/images/flags/lt.png"); }
 
 .b_flag_fa {
-  background-image: url(images/flags/ir.png); }
+  background-image: url("../openolat/images/flags/ir.png"); }
 
 .b_flag_pt_PT {
-  background-image: url(images/flags/pt.png); }
+  background-image: url("../openolat/images/flags/pt.png"); }
 
 .b_flag_pt_BR {
-  background-image: url(images/flags/br.png); }
+  background-image: url("../openolat/images/flags/br.png"); }
 
 .b_flag_tr {
-  background-image: url(images/flags/tr.png); }
+  background-image: url("../openolat/images/flags/tr.png"); }
 
 .b_flag_hu {
-  background-image: url(images/flags/hu.png); }
+  background-image: url("../openolat/images/flags/hu.png"); }
 
 .b_flag_sq {
-  background-image: url(images/flags/al.png); }
+  background-image: url("../openolat/images/flags/al.png"); }
 
 .b_flag_in {
-  background-image: url(images/flags/id.png); }
+  background-image: url("../openolat/images/flags/id.png"); }
 
 .b_flag_ar {
-  background-image: url(images/flags/eg.png); }
+  background-image: url("../openolat/images/flags/eg.png"); }
 
 .b_flag_rm {
-  background-image: url(images/flags/rm.png); }
+  background-image: url("../openolat/images/flags/rm.png"); }
 
 .b_flag_af {
-  background-image: url(images/flags/za.png); }
+  background-image: url("../openolat/images/flags/za.png"); }
 
 .b_flag_vi {
-  background-image: url(images/flags/vn.png); }
+  background-image: url("../openolat/images/flags/vn.png"); }
 
 .b_flag_mn {
-  background-image: url(images/flags/mn.png); }
+  background-image: url("../openolat/images/flags/mn.png"); }
 
 .b_flag_iw {
-  background-image: url(images/flags/il.png); }
+  background-image: url("../openolat/images/flags/il.png"); }
 
 .b_flag_ko {
-  background-image: url(images/flags/kr.png); }
+  background-image: url("../openolat/images/flags/kr.png"); }
 
 .b_flag_nl_NL {
-  background-image: url(images/flags/nl.png); }
+  background-image: url("../openolat/images/flags/nl.png"); }
 
 .b_flag_jp {
-  background-image: url(images/flags/jp.png); }
+  background-image: url("../openolat/images/flags/jp.png"); }
 
 .b_flag_nb_NO {
-  background-image: url(images/flags/no.png); }
+  background-image: url("../openolat/images/flags/no.png"); }
 
 .b_flag_et_EE {
-  background-image: url(images/flags/ee.png); }
+  background-image: url("../openolat/images/flags/ee.png"); }
 
 .b_flag_bg {
-  background-image: url(images/flags/bg.png); }
+  background-image: url("../openolat/images/flags/bg.png"); }
 
 .b_flag_hi_IN_ASIA {
-  background-image: url(images/flags/in.png); }
+  background-image: url("../openolat/images/flags/in.png"); }
 
 .b_flag_ar_LB {
-  background-image: url(images/flags/lb.png); }
+  background-image: url("../openolat/images/flags/lb.png"); }
 
 .b_flag_de_FX_business {
-  background-image: url(images/flags/de.png); }
+  background-image: url("../openolat/images/flags/de.png"); }
 
 .b_flag_de_FX_school {
-  background-image: url(images/flags/de.png); }
+  background-image: url("../openolat/images/flags/de.png"); }
 
 .b_flag_en_FX_business {
-  background-image: url(images/flags/gb.png); }
+  background-image: url("../openolat/images/flags/gb.png"); }
 
 .b_flag_en_FX_school {
-  background-image: url(images/flags/gb.png); }
+  background-image: url("../openolat/images/flags/gb.png"); }
 
 /** ------- FILE TYPES ------- **/
 /* first the default that is used as base class. will be overriden by following classes */
 .b_filetype_file, .b_filetype_ico {
-  background-image: url(images/docs/document_plain.png) !important; }
+  background-image: url("../openolat/images/docs/document_plain.png") !important; }
 
 /* filesystem icons, mark important to override ext definitions */
 .b_filetype_avi_icon {
-  background-image: url(images/docs/document-film.png) !important; }
+  background-image: url("../openolat/images/docs/document-film.png") !important; }
 
 .b_filetype_bat_icon {
-  background-image: url(images/docs/document-binary.png) !important; }
+  background-image: url("../openolat/images/docs/document-binary.png") !important; }
 
 .b_filetype_bmp {
-  background-image: url(images/docs/document-image.png) !important; }
+  background-image: url("../openolat/images/docs/document-image.png") !important; }
 
 .b_filetype_css {
-  background-image: url(images/docs/document_tags.png) !important; }
+  background-image: url("../openolat/images/docs/document_tags.png") !important; }
 
 .b_filetype_doc, .b_filetype_docx {
-  background-image: url(images/docs/document-word.png) !important; }
+  background-image: url("../openolat/images/docs/document-word.png") !important; }
 
 .b_filetype_dvi {
-  background-image: url(images/docs/document-film.png) !important; }
+  background-image: url("../openolat/images/docs/document-film.png") !important; }
 
 .b_filetype_exe {
-  background-image: url(images/docs/document-binary.png) !important; }
+  background-image: url("../openolat/images/docs/document-binary.png") !important; }
 
 div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.b_filetype_folder, .b_filetype_folder_open {
-  background-image: url(images/folder_open.png) !important; }
+  background-image: url("../openolat/images/folder_open.png") !important; }
 
 .b_filetype_folder {
-  background-image: url(images/folder.png) !important; }
+  background-image: url("../openolat/images/folder.png") !important; }
 
 .b_filetype_gif {
-  background-image: url(images/docs/document-image.png) !important; }
+  background-image: url("../openolat/images/docs/document-image.png") !important; }
 
 .b_filetype_gz {
-  background-image: url(images/docs/document-zipper.png) !important; }
+  background-image: url("../openolat/images/docs/document-zipper.png") !important; }
 
 .b_filetype_htm, .b_filetype_html {
-  background-image: url(images/docs/document_tags.png) !important; }
+  background-image: url("../openolat/images/docs/document_tags.png") !important; }
 
 .b_filetype_jpeg, .b_filetype_jpg {
-  background-image: url(images/docs/document-image.png) !important; }
+  background-image: url("../openolat/images/docs/document-image.png") !important; }
 
 .b_filetype_js {
-  background-image: url(images/docs/document_tags.png) !important; }
+  background-image: url("../openolat/images/docs/document_tags.png") !important; }
 
 .b_filetype_log {
-  background-image: url(images/docs/document_plain.png) !important; }
+  background-image: url("../openolat/images/docs/document_plain.png") !important; }
 
 .b_filetype_midi {
-  background-image: url(images/docs/document-music.png) !important; }
+  background-image: url("../openolat/images/docs/document-music.png") !important; }
 
 .b_filetype_mov {
-  background-image: url(images/docs/document-film.png) !important; }
+  background-image: url("../openolat/images/docs/document-film.png") !important; }
 
 .b_filetype_mp3, .b_filetype_m3u {
-  background-image: url(images/docs/document-music.png) !important; }
+  background-image: url("../openolat/images/docs/document-music.png") !important; }
 
 .b_filetype_mpeg, .b_filetype_mpg {
-  background-image: url(images/docs/document-film.png) !important; }
+  background-image: url("../openolat/images/docs/document-film.png") !important; }
 
 .b_filetype_odp {
-  background-image: url(images/docs/document-powerpoint.png) !important; }
+  background-image: url("../openolat/images/docs/document-powerpoint.png") !important; }
 
 .b_filetype_ods {
-  background-image: url(images/docs/document-excel.png) !important; }
+  background-image: url("../openolat/images/docs/document-excel.png") !important; }
 
 .b_filetype_odt {
-  background-image: url(images/docs/document-text.png) !important; }
+  background-image: url("../openolat/images/docs/document-text.png") !important; }
 
 .b_filetype_odg {
-  background-image: url(images/docs/document-image.png) !important; }
+  background-image: url("../openolat/images/docs/document-image.png") !important; }
 
 .b_filetype_odf {
-  background-image: url(images/docs/document_plain.png) !important; }
+  background-image: url("../openolat/images/docs/document_plain.png") !important; }
 
 .b_filetype_pdf {
-  background-image: url(images/docs/document-pdf.png) !important; }
+  background-image: url("../openolat/images/docs/document-pdf.png") !important; }
 
 .b_filetype_png {
-  background-image: url(images/docs/document-image.png) !important; }
+  background-image: url("../openolat/images/docs/document-image.png") !important; }
 
 .b_filetype_ppt {
-  background-image: url(images/docs/document-powerpoint.png) !important; }
+  background-image: url("../openolat/images/docs/document-powerpoint.png") !important; }
 
 .b_filetype_pptx {
-  background-image: url(images/docs/document-powerpoint.png) !important; }
+  background-image: url("../openolat/images/docs/document-powerpoint.png") !important; }
 
 .b_filetype_ps {
-  background-image: url(images/docs/document-pdf.png) !important; }
+  background-image: url("../openolat/images/docs/document-pdf.png") !important; }
 
 .b_filetype_qt, .b_filetype_ra, .b_filetype_ram {
-  background-image: url(images/docs/document-film.png) !important; }
+  background-image: url("../openolat/images/docs/document-film.png") !important; }
 
 .b_filetype_readme, .b_filetype_README {
-  background-image: url(images/docs/document-text.png) !important; }
+  background-image: url("../openolat/images/docs/document-text.png") !important; }
 
 .b_filetype_rtf {
-  background-image: url(images/docs/document-word.png) !important; }
+  background-image: url("../openolat/images/docs/document-word.png") !important; }
 
 .b_filetype_tar, .b_filetype_tgz {
-  background-image: url(images/docs/document-zipper.png) !important; }
+  background-image: url("../openolat/images/docs/document-zipper.png") !important; }
 
 .b_filetype_tiff {
-  background-image: url(images/docs/document-image.png) !important; }
+  background-image: url("../openolat/images/docs/document-image.png") !important; }
 
 .b_filetype_txt {
-  background-image: url(images/docs/document-text.png) !important; }
+  background-image: url("../openolat/images/docs/document-text.png") !important; }
 
 .b_filetype_wav {
-  background-image: url(images/docs/document-music.png) !important; }
+  background-image: url("../openolat/images/docs/document-music.png") !important; }
 
 .b_filetype_xls, .b_filetype_xlsx {
-  background-image: url(images/docs/document-excel.png) !important; }
+  background-image: url("../openolat/images/docs/document-excel.png") !important; }
 
 .b_filetype_xml {
-  background-image: url(images/docs/document_tags.png) !important; }
+  background-image: url("../openolat/images/docs/document_tags.png") !important; }
 
 .b_filetype_xsl {
-  background-image: url(images/docs/document_tags.png) !important; }
+  background-image: url("../openolat/images/docs/document_tags.png") !important; }
 
 .b_filetype_zip {
-  background-image: url(images/docs/document-zipper.png) !important; }
+  background-image: url("../openolat/images/docs/document-zipper.png") !important; }
 
 /* tab icons in nav  and in LE-resources table*/
 li.b_nav_site div, li.b_nav_tab div {
-  background: url(images/application.png) no-repeat left 50%;
+  background: url("../openolat/images/application.png") no-repeat left 50%;
   padding-left: 18px; }
 
 li.b_resource_BusinessGroup div, .o_BusinessGroup_icon {
-  background-image: url(images/users.png); }
+  background-image: url("../openolat/images/users.png"); }
 
 li.b_resource_CourseModule div, .o_CourseModule_icon {
-  background-image: url(images/le_resources/book-open-text-image.png); }
+  background-image: url("../openolat/images/le_resources/book-open-text-image.png"); }
 
 li.b_resource_HOMEPAGECONFIG div, .o_HOMEPAGECONFIG_icon, li.b_resource_Identity div {
-  background-image: url(../images/olat/vcard.png); }
+  background-image: url("../images/olat/vcard.png"); }
 
 li.b_resource_FileResource-SHAREDFOLDER div, .o_FileResource-SHAREDFOLDER_icon {
-  background-image: url(images/folder_shared.png); }
+  background-image: url("../openolat/images/folder_shared.png"); }
 
 li.b_resource_FileResource-WIKI div, .o_FileResource-WIKI_icon {
-  background-image: url(images/le_resources/wiki.png); }
+  background-image: url("../openolat/images/le_resources/wiki.png"); }
 
 li.b_resource_FileResource-PODCAST div, .o_FileResource-PODCAST_icon {
-  background-image: url(images/le_resources/media-player-cast.png); }
+  background-image: url("../openolat/images/le_resources/media-player-cast.png"); }
 
 li.b_resource_FileResource-BLOG div, .o_FileResource-BLOG_icon {
-  background-image: url(images/le_resources/blog.png); }
+  background-image: url("../openolat/images/le_resources/blog.png"); }
 
 li.b_resource_FileResource-MOVIE div, .o_FileResource-MOVIE_icon {
-  background-image: url(images/docs/document-film.png); }
+  background-image: url("../openolat/images/docs/document-film.png"); }
 
 li.b_resource_FileResource-PDF div, .o_FileResource-PDF_icon {
-  background-image: url(images/docs/document-pdf.png); }
+  background-image: url("../openolat/images/docs/document-pdf.png"); }
 
 li.b_resource_FileResource-PPT div, .o_FileResource-PPT_icon {
-  background-image: url(images/docs/document-powerpoint.png); }
+  background-image: url("../openolat/images/docs/document-powerpoint.png"); }
 
 li.b_resource_FileResource-DOC div, .o_FileResource-DOC_icon {
-  background-image: url(images/docs/document-word.png); }
+  background-image: url("../openolat/images/docs/document-word.png"); }
 
 li.b_resource_FileResource-IMSCP div, .o_FileResource-IMSCP_icon {
-  background-image: url(images/le_resources/book-open-text-image-red.png); }
+  background-image: url("../openolat/images/le_resources/book-open-text-image-red.png"); }
 
 li.b_resource_FileResource-SCORMCP div, .o_FileResource-SCORMCP_icon {
-  background-image: url(images/le_resources/book-open-text-image-s.png); }
+  background-image: url("../openolat/images/le_resources/book-open-text-image-s.png"); }
 
 li.b_resource_FileResource-FILE div, .o_FileResource-FILE_icon {
-  background-image: url(images/docs/document_plain.png); }
+  background-image: url("../openolat/images/docs/document_plain.png"); }
 
 li.b_resource_FileResource-IMAGE div, .o_FileResource-IMAGE_icon {
-  background-image: url(images/docs/document-image.png); }
+  background-image: url("../openolat/images/docs/document-image.png"); }
 
 li.b_resource_FileResource-SOUND div, .o_FileResource-SOUND_icon {
-  background-image: url(images/docs/document-music.png); }
+  background-image: url("../openolat/images/docs/document-music.png"); }
 
 li.b_resource_FileResource-XLS div, .o_FileResource-XLS_icon {
-  background-image: url(images/docs/document-excel.png); }
+  background-image: url("../openolat/images/docs/document-excel.png"); }
 
 li.b_resource_FileResource-ANIM div, .o_FileResource-ANIM_icon {
-  background-image: url(images/docs/document-image.png); }
+  background-image: url("../openolat/images/docs/document-image.png"); }
 
 li.b_resource_FileResource-SURVEY div, .o_FileResource-SURVEY_icon {
-  background-image: url(images/le_resources/survey.png); }
+  background-image: url("../openolat/images/le_resources/survey.png"); }
 
 li.b_resource_FileResource-TEST div, .o_FileResource-TEST_icon {
-  background-image: url(images/le_resources/test.png); }
+  background-image: url("../openolat/images/le_resources/test.png"); }
 
 li.b_resource_FileResource-GLOSSARY div, .o_FileResource-GLOSSARY_icon {
-  background-image: url(images/le_resources/glossary.png); }
+  background-image: url("../openolat/images/le_resources/glossary.png"); }
 
 li.b_resource_org-olat-search-ui-SearchController div, .o_org-olat-search-ui-SearchController_icon {
-  background-image: url(images/magnifier-zoom.png); }
+  background-image: url("../openolat/images/magnifier-zoom.png"); }
 
 li.b_resource_EPStructuredMapTemplate div {
-  background-image: url(images/le_resources/portfolio.png); }
+  background-image: url("../openolat/images/le_resources/portfolio.png"); }
 
 /* ------ TOOLBOX ICONS -------- */
 li a.o_toolbox_course {
-  background-image: url(images/le_resources/book-open-text-image.png); }
+  background-image: url("../openolat/images/le_resources/book-open-text-image.png"); }
 
 li a.o_toolbox_content {
-  background-image: url(images/le_resources/book-open-text-image-red.png); }
+  background-image: url("../openolat/images/le_resources/book-open-text-image-red.png"); }
 
 li a.o_toolbox_scorm {
-  background-image: url(images/le_resources/book-open-text-image-s.png); }
+  background-image: url("../openolat/images/le_resources/book-open-text-image-s.png"); }
 
 li a.o_toolbox_test {
-  background-image: url(images/le_resources/test.png); }
+  background-image: url("../openolat/images/le_resources/test.png"); }
 
 li a.o_toolbox_questionnaire {
-  background-image: url(images/le_resources/survey.png); }
+  background-image: url("../openolat/images/le_resources/survey.png"); }
 
 li a.o_toolbox_wiki {
-  background-image: url(images/le_resources/wiki.png); }
+  background-image: url("../openolat/images/le_resources/wiki.png"); }
 
 li a.o_toolbox_podcast {
-  background-image: url(images/le_resources/media-player-cast.png); }
+  background-image: url("../openolat/images/le_resources/media-player-cast.png"); }
 
 li a.o_toolbox_blog {
-  background-image: url(images/le_resources/blog.png); }
+  background-image: url("../openolat/images/le_resources/blog.png"); }
 
 li a.o_toolbox_glossary {
-  background-image: url(images/le_resources/glossary.png); }
+  background-image: url("../openolat/images/le_resources/glossary.png"); }
 
 li a.o_toolbox_sharedfolder {
-  background-image: url(images/folder_shared.png); }
+  background-image: url("../openolat/images/folder_shared.png"); }
 
 li a.o_toolbox_coursefolder {
-  background-image: url(images/le_resources/blue-folder.png); }
+  background-image: url("../openolat/images/le_resources/blue-folder.png"); }
 
 li a.o_toolbox_portfolio {
-  background-image: url(images/le_resources/portfolio.png); }
+  background-image: url("../openolat/images/le_resources/portfolio.png"); }
 
 li a.b_toolbox_link {
-  background-image: url(images/bullet_black.png); }
+  background-image: url("../openolat/images/bullet_black.png"); }
 
 li a.b_toolbox_doc {
-  background-image: url(images/docs/document_plain.png); }
+  background-image: url("../openolat/images/docs/document_plain.png"); }
 
 li a.b_toolbox_preview {
-  background-image: url(images/docs/document_preview.png); }
+  background-image: url("../openolat/images/docs/document_preview.png"); }
 
 li a.b_toolbox_publish {
-  background-image: url(images/docs/document_share.png); }
+  background-image: url("../openolat/images/docs/document_share.png"); }
 
 li a.b_toolbox_move {
-  background-image: url(images/docs/document_move.png); }
+  background-image: url("../openolat/images/docs/document_move.png"); }
 
 li a.b_toolbox_close {
-  background-image: url(images/close.png); }
+  background-image: url("../openolat/images/close.png"); }
 
 li a.b_toolbox_delete {
-  background-image: url(images/cross-script.png); }
+  background-image: url("../openolat/images/cross-script.png"); }
 
 li a.b_toolbox_copy, .b_copy_icon {
-  background-image: url(images/docs/document-copy.png); }
+  background-image: url("../openolat/images/docs/document-copy.png"); }
 
 /* --------- menu icon decorators -------- */
 .o_midlock {
   top: 9px;
   left: 9px;
-  background-image: url(images/decorator/deco_condition.png); }
+  background-image: url("../openolat/images/decorator/deco_condition.png"); }
 
 .o_miderr {
   top: 8px;
   left: -2px;
-  background-image: url(images/decorator/deco_error.png); }
+  background-image: url("../openolat/images/decorator/deco_error.png"); }
 
 .o_midwarn {
   top: 8px;
   left: -2px;
-  background-image: url(images/decorator/deco_warn.png); }
+  background-image: url("../openolat/images/decorator/deco_warn.png"); }
 
 .o_midpub {
   top: -2px;
   left: 9px;
-  background-image: url(images/decorator/deco_ok.png); }
+  background-image: url("../openolat/images/decorator/deco_ok.png"); }
 
 /* --------- course building block icons ------------------- */
 .o_bc_icon {
-  background-image: url(images/folder.png) !important; }
+  background-image: url("../openolat/images/folder.png") !important; }
 
 .o_co_icon {
-  background-image: url(images/mail.png) !important; }
+  background-image: url("../openolat/images/mail.png") !important; }
 
 .o_cp_icon {
-  background-image: url(images/le_resources/book-open-text-image-red.png) !important; }
+  background-image: url("../openolat/images/le_resources/book-open-text-image-red.png") !important; }
 
 .o_cp_org {
-  background-image: url(images/le_resources/book-open-text-image-red.png) !important; }
+  background-image: url("../openolat/images/le_resources/book-open-text-image-red.png") !important; }
 
 .o_cp_item {
-  background-image: url(images/docs/document-text.png) !important; }
+  background-image: url("../openolat/images/docs/document-text.png") !important; }
 
 .o_dialog_icon {
-  background-image: url(images/docs/document_discuss.png) !important; }
+  background-image: url("../openolat/images/docs/document_discuss.png") !important; }
 
 .o_en_icon {
-  background-image: url(images/enrol.png) !important; }
+  background-image: url("../openolat/images/enrol.png") !important; }
 
 .o_fo_icon {
-  background-image: url(images/forum/forum.png) !important; }
+  background-image: url("../openolat/images/forum/forum.png") !important; }
 
 .o_iqself_icon {
-  background-image: url(images/le_resources/selftest.png) !important; }
+  background-image: url("../openolat/images/le_resources/selftest.png") !important; }
 
 .o_iqsurv_icon {
-  background-image: url(images/le_resources/survey.png) !important; }
+  background-image: url("../openolat/images/le_resources/survey.png") !important; }
 
 .o_iqtest_icon {
-  background-image: url(images/le_resources/test.png) !important; }
+  background-image: url("../openolat/images/le_resources/test.png") !important; }
 
 .o_ms_icon {
-  background-image: url(images/le_resources/thumb-up.png) !important; }
+  background-image: url("../openolat/images/le_resources/thumb-up.png") !important; }
 
 .o_scorm_icon, .o_scorm_org {
-  background-image: url(images/le_resources/book-open-text-image-s.png) !important; }
+  background-image: url("../openolat/images/le_resources/book-open-text-image-s.png") !important; }
 
 .o_scorm_item {
-  background-image: url(images/docs/document-text.png) !important; }
+  background-image: url("../openolat/images/docs/document-text.png") !important; }
 
 .o_scorm_asset {
-  background-image: url(images/le_resources/book-open-text-image-s.png) !important; }
+  background-image: url("../openolat/images/le_resources/book-open-text-image-s.png") !important; }
 
 .o_sp_icon {
-  background-image: url(images/docs/document-text.png) !important; }
+  background-image: url("../openolat/images/docs/document-text.png") !important; }
 
 .o_st_icon {
-  background-image: url(images/node-select-all.png) !important; }
+  background-image: url("../openolat/images/node-select-all.png") !important; }
 
 .o_ta_icon {
-  background-image: url(images/docs/document-task.png) !important; }
+  background-image: url("../openolat/images/docs/document-task.png") !important; }
 
 .o_tu_icon {
-  background-image: url(images/docs/document-import.png) !important; }
+  background-image: url("../openolat/images/docs/document-import.png") !important; }
 
 .o_wiki_icon {
-  background-image: url(images/le_resources/wiki.png) !important; }
+  background-image: url("../openolat/images/le_resources/wiki.png") !important; }
 
 .o_ll_icon {
-  background-image: url(images/docs/document_linklist.png) !important; }
+  background-image: url("../openolat/images/docs/document_linklist.png") !important; }
 
 .o_cl_icon {
-  background-image: url(images/clipboard-task.png) !important; }
+  background-image: url("../openolat/images/clipboard-task.png") !important; }
 
 .o_den_icon {
-  background-image: url(images/clock.png) !important; }
+  background-image: url("../openolat/images/clock.png") !important; }
 
 .o_projectbroker_icon {
-  background-image: url(images/projectbroker.png) !important; }
+  background-image: url("../openolat/images/projectbroker.png") !important; }
 
 .o_podcast_icon {
-  background-image: url(images/le_resources/media-player-cast.png) !important; }
+  background-image: url("../openolat/images/le_resources/media-player-cast.png") !important; }
 
 .o_blog_icon {
-  background-image: url(images/le_resources/blog.png) !important; }
+  background-image: url("../openolat/images/le_resources/blog.png") !important; }
 
 .o_cal_icon {
-  background-image: url(images/calendar.png) !important; }
+  background-image: url("../openolat/images/calendar.png") !important; }
 
 .o_lti_icon {
-  background-image: url(images/docs/document-node.png) !important; }
+  background-image: url("../openolat/images/docs/document-node.png") !important; }
 
 /* <OLATCE-103> */
 .o_vc_icon {
-  background-image: url(images/projection-screen.png) !important; }
+  background-image: url("../openolat/images/projection-screen.png") !important; }
 
 /* </OLATCE-103> */
 .o_vitero_icon {
-  background-image: url(images/vitero.png) !important; }
+  background-image: url("../openolat/images/vitero.png") !important; }
 
 .o_ep_icon, .o_EPStructuredMapTemplate_icon {
-  background-image: url(images/le_resources/portfolio.png) !important; }
+  background-image: url("../openolat/images/le_resources/portfolio.png") !important; }
 
 .o_infomsg_icon {
-  background-image: url(images/information-button.png) !important; }
+  background-image: url("../openolat/images/information-button.png") !important; }
 
 .o_cmembers_icon {
-  background-image: url(images/users.png) !important; }
+  background-image: url("../openolat/images/users.png") !important; }
 
 body#b_body .o_CourseModule_icon_closed {
-  background-image: url(images/le_resources/book-open-text-image_locked.png); }
+  background-image: url("../openolat/images/le_resources/book-open-text-image_locked.png"); }
 
 /*
 *  =================================================
@@ -1689,11 +1696,11 @@ a:hover {
   color: #025d8c; }
 
 a.b_link_extern {
-  background: transparent url("images/external_link_trimmed.png") no-repeat right top;
+  background: transparent url("../openolat/images/external_link_trimmed.png") no-repeat right top;
   padding-right: 13px; }
 
 .b_link_mailto {
-  background: transparent url("images/mail_small.png") no-repeat left center;
+  background: transparent url("../openolat/images/mail_small.png") no-repeat left center;
   padding-left: 18px; }
 
 hr {
@@ -1710,7 +1717,7 @@ p {
 /** ----------------- CONTENT CLASSES ----------------- **/
 /* content boxes */
 .b_info {
-  background: #e9eaef url(images/information-white.png) no-repeat 5px 5px;
+  background: #e9eaef url(../openolat/images/information-white.png) no-repeat 5px 5px;
   padding: 5px 5px 5px 30px;
   border: 1px solid #C5C4C4;
   border-radius: 4px;
@@ -1866,7 +1873,7 @@ a.b_contexthelp {
   display: block;
   width: 16px;
   height: 16px;
-  background: url(images/help.png) no-repeat;
+  background: url(../openolat/images/help.png) no-repeat;
   line-height: 0;
   cursor: help; }
 
@@ -1901,7 +1908,7 @@ fieldset a.b_contexthelp, fieldset div.b_contexthelp_wrapper a.b_contexthelp {
       width: 50%; }
 
 .b_contexthelp_icon {
-  background-image: url(images/help.png); }
+  background-image: url(../openolat/images/help.png); }
 
 /* USER COMMENTS */
 div.b_ratings_and_comments {
@@ -1930,7 +1937,7 @@ div.b_ratings_and_comments {
     z-index: 5; }
 
 div.b_ratings_and_comments a.b_comments, div.b_eportfolio_map a.b_comments {
-  background: url(images/comment.png) 3px 50% no-repeat;
+  background: url(../openolat/images/comment.png) 3px 50% no-repeat;
   padding: 3px 0 1px 23px;
   vertical-align: middle;
   min-height: 18px; }
@@ -1950,7 +1957,7 @@ div.b_comments {
       border: 1px solid #aaa; }
     div.b_comments div.b_comment_wrapper h5 {
       font-size: 1em;
-      background: url(images/user.png) 0 50% no-repeat;
+      background: url(../openolat/images/user.png) 0 50% no-repeat;
       padding: 1px 0 1px 20px;
       vertical-align: middle;
       min-height: 16px; }
@@ -1985,7 +1992,7 @@ div.b_comments {
       text-align: center; }
 
 .b_comment_icon {
-  background-image: url(images/comment.png); }
+  background-image: url(../openolat/images/comment.png); }
 
 #b_comment_form_link {
   font-size: 0.9em;
@@ -2059,15 +2066,15 @@ div.b_rating {
       background-position: 0 0;
       margin: 1px 4px 1px 0; }
     div.b_rating div.b_rating_items a.b_rating_item_on {
-      background-image: url(images/star.png); }
+      background-image: url(../openolat/images/star.png); }
     div.b_rating div.b_rating_items a.b_rating_item_off {
-      background-image: url(images/star_grey.png); }
+      background-image: url(../openolat/images/star_grey.png); }
     div.b_rating div.b_rating_items a:hover {
       cursor: default; }
     div.b_rating div.b_rating_items.b_enabled a:hover {
       cursor: pointer; }
     div.b_rating div.b_rating_items.b_enabled a.b_rating_item_off:hover {
-      background-image: url(images/star.png); }
+      background-image: url(../openolat/images/star.png); }
   div.b_rating div.b_rating_explanation {
     clear: both;
     font-size: 90%; }
@@ -2244,7 +2251,7 @@ div.b_window {
       position: absolute;
       min-height: 16px;
       min-width: 16px;
-      background: transparent url("images/close.png") no-repeat center center;
+      background: transparent url("../openolat/images/close.png") no-repeat center center;
       display: inline-block; }
     div.b_window div.b_window_header_title a.b_link_close:hover {
       top: 4px;
@@ -2282,7 +2289,7 @@ body.b_ajax_busy {
   cursor: wait; }
 
 div.b_ajax_busy {
-  background: url(images/ajax-loader.gif) no-repeat;
+  background: url(../openolat/images/ajax-loader.gif) no-repeat;
   position: absolute;
   left: 50%;
   top: 10px;
@@ -2294,7 +2301,7 @@ div.b_ajax_busy {
 div.b_msg_dialog {
   padding: 10px 10px 10px 50px;
   min-height: 32px;
-  background: url(images/icon_question_32.png) no-repeat 10px 10px; }
+  background: url(../openolat/images/icon_question_32.png) no-repeat 10px 10px; }
   div.b_msg_dialog .b_msg_title {
     font-weight: bold; }
 
@@ -2303,7 +2310,7 @@ div.b_msg_dialog {
   clear: both;
   padding: 10px 10px 10px 50px;
   min-height: 32px;
-  background: #ebcccc url(images/icon_warning_32.png) no-repeat 10px 10px;
+  background: #ebcccc url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px;
   border-bottom: 1px #ccc dotted;
   border-top: 1px #ccc dotted; }
 
@@ -2326,24 +2333,24 @@ div.b_msg-div {
   -webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
   box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); }
   div.b_msg-div .b_msg_info_winicon {
-    background: transparent url(images/icon_info_32.png) no-repeat 10px center; }
+    background: transparent url(../openolat/images/icon_info_32.png) no-repeat 10px center; }
 
 div.b_msg_info_content {
   padding: 10px 10px 10px 50px; }
 
 /* warn message (ext-dialog) */
 div.b_msg_warn_winicon {
-  background: url(images/icon_warning_32.png) no-repeat; }
+  background: url(../openolat/images/icon_warning_32.png) no-repeat; }
 
 /* error message (ext-dialog) */
 div.b_msg_error_winicon {
-  background: url(images/icon_error_32.png) no-repeat; }
+  background: url(../openolat/images/icon_error_32.png) no-repeat; }
 
 /* "info"-page */
 #b_msg_info {
   padding: 10px 10px 10px 50px;
   min-height: 32px;
-  background: url(images/icon_info_32.png) no-repeat 10px 10px; }
+  background: url(../openolat/images/icon_info_32.png) no-repeat 10px 10px; }
   #b_msg_info .b_msg_title {
     font-weight: bold; }
 
@@ -2354,16 +2361,16 @@ div.b_msg_error_winicon {
   .o_infomessage_wrapper .o_infomessage {
     padding: 10px 10px 10px 50px;
     text-align: left;
-    background: url(images/icon_warning_32.png) no-repeat 10px 10px; }
+    background: url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px; }
 
 /* OPEN / CLOSE BOX TOGGLER */
 a.b_togglebox_closed {
-  background: url(images/toggle-small-expand.png) no-repeat 0 50%;
+  background: url(../openolat/images/toggle-small-expand.png) no-repeat 0 50%;
   padding: 1px 0 1px 14px;
   vertical-align: middle; }
 
 a.b_togglebox_opened {
-  background: url(images/toggle-small.png) no-repeat 0 50%;
+  background: url(../openolat/images/toggle-small.png) no-repeat 0 50%;
   padding: 1px 0 1px 14px;
   vertical-align: middle; }
 
@@ -2388,7 +2395,7 @@ div.b_wizard div.b_wizard_header_title {
   div.b_wizard div.b_wizard_header_title a.b_link_close {
     top: 4px;
     right: 4px;
-    background: url(images/close.png);
+    background: url(../openolat/images/close.png);
     background-repeat: no-repeat; }
   div.b_wizard div.b_wizard_header_title strong {
     font-weight: bold; }
@@ -2460,7 +2467,7 @@ a.b_wizard_button_cancel, span.b_wizard_button_cancel {
 .b_wizard_table_changedcell {
   font-style: italic;
   font-weight: bold;
-  background: url(images/new-text.png) no-repeat;
+  background: url(../openolat/images/new-text.png) no-repeat;
   padding-left: 18px; }
 
 /* OLD WIZARD */
@@ -2470,58 +2477,58 @@ div.b_legacy_wizard_steps {
 
 /* the following classes are used together with b_legacy_wizard_step_icon */
 .b_legacy_wizard_step_a1 {
-  background-image: url(images/wizard/1a.png); }
+  background-image: url(../openolat/images/wizard/1a.png); }
 
 .b_legacy_wizard_step_a2 {
-  background-image: url(images/wizard/2a.png); }
+  background-image: url(../openolat/images/wizard/2a.png); }
 
 .b_legacy_wizard_step_a3 {
-  background-image: url(images/wizard/3a.png); }
+  background-image: url(../openolat/images/wizard/3a.png); }
 
 .b_legacy_wizard_step_a4 {
-  background-image: url(images/wizard/4a.png); }
+  background-image: url(../openolat/images/wizard/4a.png); }
 
 .b_legacy_wizard_step_a5 {
-  background-image: url(images/wizard/5a.png); }
+  background-image: url(../openolat/images/wizard/5a.png); }
 
 .b_legacy_wizard_step_a6 {
-  background-image: url(images/wizard/6a.png); }
+  background-image: url(../openolat/images/wizard/6a.png); }
 
 .b_legacy_wizard_step_a7 {
-  background-image: url(images/wizard/7a.png); }
+  background-image: url(../openolat/images/wizard/7a.png); }
 
 .b_legacy_wizard_step_a8 {
-  background-image: url(images/wizard/8a.png); }
+  background-image: url(../openolat/images/wizard/8a.png); }
 
 .b_legacy_wizard_step_a9 {
-  background-image: url(images/wizard/9a.png); }
+  background-image: url(../openolat/images/wizard/9a.png); }
 
 .b_legacy_wizard_step_p1 {
-  background-image: url(images/wizard/1p.png); }
+  background-image: url(../openolat/images/wizard/1p.png); }
 
 .b_legacy_wizard_step_p2 {
-  background-image: url(images/wizard/2p.png); }
+  background-image: url(../openolat/images/wizard/2p.png); }
 
 .b_legacy_wizard_step_p3 {
-  background-image: url(images/wizard/3p.png); }
+  background-image: url(../openolat/images/wizard/3p.png); }
 
 .b_legacy_wizard_step_p4 {
-  background-image: url(images/wizard/4p.png); }
+  background-image: url(../openolat/images/wizard/4p.png); }
 
 .b_legacy_wizard_step_p5 {
-  background-image: url(images/wizard/5p.png); }
+  background-image: url(../openolat/images/wizard/5p.png); }
 
 .b_legacy_wizard_step_p6 {
-  background-image: url(images/wizard/6p.png); }
+  background-image: url(../openolat/images/wizard/6p.png); }
 
 .b_legacy_wizard_step_p7 {
-  background-image: url(images/wizard/7p.png); }
+  background-image: url(../openolat/images/wizard/7p.png); }
 
 .b_legacy_wizard_step_p8 {
-  background-image: url(images/wizard/8p.png); }
+  background-image: url(../openolat/images/wizard/8p.png); }
 
 .b_legacy_wizard_step_p9 {
-  background-image: url(images/wizard/9p.png); }
+  background-image: url(../openolat/images/wizard/9p.png); }
 
 /*
 *  =================================================
@@ -2556,7 +2563,7 @@ div.o_home_rsslink {
   bottom: 0;
   left: 0;
   height: 16px;
-  background: white url(images/magnifier-zoom.png) no-repeat 4px 0; }
+  background: white url(../openolat/images/magnifier-zoom.png) no-repeat 4px 0; }
 
 #o_macartney_large {
   position: fixed;
@@ -2579,7 +2586,7 @@ div.o_home_rsslink {
   height: 16px;
   border-left: 1px solid #000;
   border-bottom: 1px solid #000;
-  background: white url(images/close.png); }
+  background: white url(../openolat/images/close.png); }
 
 /** ----------------- PORTLETS & BOXES ----------------- **/
 .b_portlet {
@@ -2639,36 +2646,36 @@ div.b_portlet_toolbox {
     background-repeat: no-repeat;
     background-position: center; }
   div.b_portlet_toolbox a.b_portlet_edit_left {
-    background-image: url(images/arrow_left_big.png); }
+    background-image: url(../openolat/images/arrow_left_big.png); }
   div.b_portlet_toolbox a.b_portlet_edit_right {
-    background-image: url(images/arrow_right_big.png); }
+    background-image: url(../openolat/images/arrow_right_big.png); }
   div.b_portlet_toolbox a.b_portlet_edit_down {
-    background-image: url(images/arrow_down_big.png); }
+    background-image: url(../openolat/images/arrow_down_big.png); }
   div.b_portlet_toolbox a.b_portlet_edit_up {
-    background-image: url(images/arrow_up_big.png); }
+    background-image: url(../openolat/images/arrow_up_big.png); }
   div.b_portlet_toolbox a.b_portlet_edit_delete {
-    background-image: url(images/cross-script.png); }
+    background-image: url(../openolat/images/cross-script.png); }
   div.b_portlet_toolbox a.b_portlet_edit_sort_auto {
-    background-image: url(images/table_sort.png); }
+    background-image: url(../openolat/images/table_sort.png); }
   div.b_portlet_toolbox a.b_portlet_edit_sort_manual {
-    background-image: url(images/table_gear.png); }
+    background-image: url(../openolat/images/table_gear.png); }
   div.b_portlet_toolbox span.b_portlet_edit_left_disabled {
-    background-image: url(images/arrow_left_big.png);
+    background-image: url(../openolat/images/arrow_left_big.png);
     opacity: 0.2; }
   div.b_portlet_toolbox span.b_portlet_edit_right_disabled {
-    background-image: url(images/arrow_right_big.png);
+    background-image: url(../openolat/images/arrow_right_big.png);
     opacity: 0.2; }
   div.b_portlet_toolbox span.b_portlet_edit_down_disabled {
-    background-image: url(images/arrow_down_big.png);
+    background-image: url(../openolat/images/arrow_down_big.png);
     opacity: 0.2; }
   div.b_portlet_toolbox span.b_portlet_edit_up_disabled {
-    background-image: url(images/arrow_up_big.png);
+    background-image: url(../openolat/images/arrow_up_big.png);
     opacity: 0.2; }
   div.b_portlet_toolbox span.b_portlet_edit_sort_auto_disabled {
-    background-image: url(images/table_sort.png);
+    background-image: url(../openolat/images/table_sort.png);
     opacity: 0.2; }
   div.b_portlet_toolbox span.b_portlet_edit_sort_manual_disabled {
-    background-image: url(images/table_gear.png);
+    background-image: url(../openolat/images/table_gear.png);
     opacity: 0.2; }
 
 .b_toolboxes {
@@ -2880,7 +2887,7 @@ div.b_segments_container {
   min-height: 25px;
   padding-top: 8px;
   position: relative;
-  background: url(images/divider.png) center top no-repeat; }
+  background: url(../openolat/images/divider.png) center top no-repeat; }
   div.b_segments_container div.b_segments {
     clear: both;
     position: absolute;
@@ -3141,7 +3148,7 @@ a.b_toggle {
   display: inline-block;
   line-height: 1.5em;
   text-align: center;
-  background: url(images/toggle_off.png) top left repeat-x; }
+  background: url(../openolat/images/toggle_off.png) top left repeat-x; }
   a.b_toggle span {
     padding: 0 0.8em; }
   a.b_toggle:hover {
@@ -3162,9 +3169,9 @@ a.b_toggle {
   a.b_toggle:focus, a.b_toggle.b_on:focus {
     text-decoration: none; }
   a.b_toggle:active, a.b_toggle.b_on:active {
-    background: url(images/toggle_active.png) top left repeat-x; }
+    background: url(../openolat/images/toggle_active.png) top left repeat-x; }
   a.b_toggle.b_on {
-    background: url(images/toggle_on.png) top left repeat-x; }
+    background: url(../openolat/images/toggle_on.png) top left repeat-x; }
 
 span.b_toggle.b_disabled {
   white-space: nowrap;
@@ -3179,11 +3186,11 @@ span.b_toggle.b_disabled {
   display: inline-block;
   line-height: 1.5em;
   text-align: center;
-  background: url(images/toggle_dis.png) top left repeat-x; }
+  background: url(../openolat/images/toggle_dis.png) top left repeat-x; }
 
 /* TOGGLE SLIDERS */
 a.b_toggle_slide {
-  background: url(images/handle.png) -63px 0px no-repeat;
+  background: url(../openolat/images/handle.png) -63px 0px no-repeat;
   height: 25px;
   width: 85px;
   white-space: nowrap;
@@ -3209,7 +3216,7 @@ a.b_toggle_slide {
   a.b_toggle_slide.b_on {
     background-position: -16px 0px; }
   a.b_toggle_slide.b_disabled {
-    background: url(images/handle_dis.png) -63px 0px no-repeat;
+    background: url(../openolat/images/handle_dis.png) -63px 0px no-repeat;
     height: 25px;
     width: 85px;
     white-space: nowrap;
@@ -3224,7 +3231,7 @@ a.b_toggle_slide {
     text-align: center;
     vertical-align: middle; }
   a.b_toggle_slide.b_small {
-    background: url(images/handle_small.png) -41px 0px no-repeat;
+    background: url(../openolat/images/handle_small.png) -41px 0px no-repeat;
     height: 16px;
     width: 55px;
     border-radius: 2px;
@@ -3238,7 +3245,7 @@ a.b_toggle_slide {
     background-position: -9px 0px; }
 
 span.b_toggle_slide.b_disabled {
-  background: url(images/handle_small_dis.png) -41px 0px no-repeat;
+  background: url(../openolat/images/handle_small_dis.png) -41px 0px no-repeat;
   height: 16px;
   width: 55px;
   white-space: nowrap;
@@ -3288,7 +3295,7 @@ span.b_toggle_slide_legend {
   /* focused buttons */ }
   .b_link_back > span {
     padding: 0px 8px 0px 25px;
-    background: transparent url("images/arrow_left_big.png") no-repeat 4px center; }
+    background: transparent url("../openolat/images/arrow_left_big.png") no-repeat 4px center; }
   .b_link_back:focus, .b_link_back:hover {
     text-decoration: none;
     border: 1px solid #C6C6C6;
@@ -3419,7 +3426,7 @@ div.b_form {
         display: inline;
         line-height: 1.3em; }
       div.b_form div.b_form_element_wrapper div.b_form_element_label span.b_form_mandatory {
-        background: url(images/star-small.png) no-repeat;
+        background: url(../openolat/images/star-small.png) no-repeat;
         padding-left: 16px;
         height: 16px; }
       div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_horizontal {
@@ -3478,20 +3485,20 @@ div.b_form {
       background: #EEEEEE;
       border: 1px solid #CDCBCB; }
     div.b_form div.b_form_element span.b_form_datechooser {
-      background: url(images/calendar.png) no-repeat;
+      background: url(../openolat/images/calendar.png) no-repeat;
       padding-left: 18px;
       height: 16px;
       line-height: 16px;
       margin-left: 2px;
       padding-top: 2px; }
     div.b_form div.b_form_element a.b_form_groupchooser {
-      background: url(images/users.png) no-repeat;
+      background: url(../openolat/images/users.png) no-repeat;
       padding-left: 18px;
       height: 16px;
       line-height: 16px;
       margin-left: 2px; }
     div.b_form div.b_form_element a.b_form_genericchooser {
-      background: url(images/users.png) no-repeat;
+      background: url(../openolat/images/users.png) no-repeat;
       padding-left: 18px;
       height: 16px;
       line-height: 16px;
@@ -3502,7 +3509,7 @@ div.b_form {
       line-height: 1.5em;
       font-style: italic; }
     div.b_form div.b_form_element a.b_form_wikitext, div.b_form div.b_form_element .b_wiki_icon {
-      background-image: url(images/wiki/wiki_small_9px.png); }
+      background-image: url(../openolat/images/wiki/wiki_small_9px.png); }
 
 div.b_button_group div.b_form_element_wrapper {
   vertical-align: middle;
@@ -3634,7 +3641,7 @@ div.b_fileinput {
     margin-left: 0; }
 
 .b_fileinput_icon {
-  background-image: url(images/drive.png); }
+  background-image: url(../openolat/images/drive.png); }
 
 /* PROGRESSBAR */
 div.b_progress div.b_progress_bar {
@@ -3664,12 +3671,12 @@ div.b_mark {
       margin: 0;
       padding: 0; }
   div.b_mark a.b_mark_set {
-    background: url(images/flag.png) center right no-repeat;
+    background: url(../openolat/images/flag.png) center right no-repeat;
     display: block;
     width: 20px;
     height: 20px; }
   div.b_mark a.b_mark_not_set {
-    background: url(images/flag.png) center right no-repeat;
+    background: url(../openolat/images/flag.png) center right no-repeat;
     display: block;
     width: 20px;
     height: 20px;
@@ -3740,9 +3747,9 @@ div.b_table_wrapper {
     height: 16px;
     margin: 3px; }
   div.b_table_wrapper a.b_table_prefs {
-    background-image: url(images/table_gear.png); }
+    background-image: url(../openolat/images/table_gear.png); }
   div.b_table_wrapper a.b_table_download {
-    background-image: url(images/table_download.png); }
+    background-image: url(../openolat/images/table_download.png); }
   div.b_table_wrapper div.b_table_buttons {
     text-align: center;
     margin: 1.5em 0 1em 0; }
@@ -3758,13 +3765,13 @@ div.b_table_page {
     font-weight: bold;
     color: #000; }
   div.b_table_page a.b_table_backward {
-    background: url(images/arrow_left.png) no-repeat center left;
+    background: url(../openolat/images/arrow_left.png) no-repeat center left;
     padding-left: 16px; }
   div.b_table_page a.b_table_forward {
-    background: url(images/arrow_right.png) no-repeat center right;
+    background: url(../openolat/images/arrow_right.png) no-repeat center right;
     padding-right: 16px; }
   div.b_table_page a.b_table_first_page {
-    background: url(images/home.png) no-repeat center left;
+    background: url(../openolat/images/home.png) no-repeat center left;
     padding-left: 18px; }
 
 div.b_table_page_all {
@@ -3777,7 +3784,7 @@ a.b_dev {
   left: 0;
   top: 0;
   z-index: 4000;
-  background: red url("images/bug.png") no-repeat;
+  background: red url("../openolat/images/bug.png") no-repeat;
   width: 16px;
   height: 16px;
   border: 1px solid #000; }
@@ -3794,14 +3801,14 @@ a.b_dev {
 
 #b_devcon_handle {
   cursor: move;
-  background: blue url(images/bug.png) no-repeat 4px 50%;
+  background: blue url(../openolat/images/bug.png) no-repeat 4px 50%;
   line-height: 2em;
   padding-left: 24px;
   color: white; }
 
 a#b_devcon_handle_collapse {
   cursor: pointer;
-  background: url("images/toggle-small.png") no-repeat;
+  background: url("../openolat/images/toggle-small.png") no-repeat;
   width: 15px;
   height: 15px;
   float: right;
@@ -3809,7 +3816,7 @@ a#b_devcon_handle_collapse {
 
 a#b_devcon_handle_expand {
   cursor: pointer;
-  background: url("images/toggle-small-expand.png") no-repeat;
+  background: url("../openolat/images/toggle-small-expand.png") no-repeat;
   width: 15px;
   height: 15px;
   float: right;
@@ -3817,7 +3824,7 @@ a#b_devcon_handle_expand {
 
 a.b_devcon_handle_close {
   cursor: pointer;
-  background: url(images/close.png) no-repeat;
+  background: url(../openolat/images/close.png) no-repeat;
   width: 15px;
   height: 15px;
   float: right;
@@ -3896,23 +3903,23 @@ div.b_briefcase_foldercomp div.b_briefcase_createactions ul li a {
   padding: 2px 0 2px 20px; }
 
 div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_upload {
-  background-image: url(images/docs/document_upload.png); }
+  background-image: url(../openolat/images/docs/document_upload.png); }
 
 div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfolder {
-  background-image: url(images/folder_new.png); }
+  background-image: url(../openolat/images/folder_new.png); }
 
 div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfile {
-  background-image: url(images/docs/document_add.png); }
+  background-image: url(../openolat/images/docs/document_add.png); }
 
 div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_deletedfiles {
-  background-image: url(images/docs/document_remove.png); }
+  background-image: url(../openolat/images/docs/document_remove.png); }
 
 div.b_briefcase_foldercomp div.b_briefcase_breadcrumb {
   clear: both;
   padding: 1px 0 1px 20px;
   margin: 0.5em 0 0 0;
   border-bottom: 1px solid #bbb;
-  background: url(images/folder_open.png) no-repeat 0 50%; }
+  background: url(../openolat/images/folder_open.png) no-repeat 0 50%; }
 
 div.b_briefcase_foldercomp div.b_briefcase_empty {
   clear: both;
@@ -3986,13 +3993,13 @@ div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions
   margin: 0; }
 
 div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_file_icon {
-  background-image: url(images/docs/document--pencil.png); }
+  background-image: url(../openolat/images/docs/document--pencil.png); }
 
 div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_meta_icon {
-  background-image: url(images/docs/document_metadata_edit.png); }
+  background-image: url(../openolat/images/docs/document_metadata_edit.png); }
 
 div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_edit_meta_dis_icon {
-  background-image: url(images/docs/document_metadata_edit.png);
+  background-image: url(../openolat/images/docs/document_metadata_edit.png);
   opacity: 0.2; }
 
 div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_versions_icon {
@@ -4098,29 +4105,29 @@ div.b_send_documents textarea {
       top: 0;
       right: 0; }
     div.o_wiki_wrapper a.o_wikimod_btn_bold {
-      background-image: url(images/wiki/edit-bold.png); }
+      background-image: url(../openolat/images/wiki/edit-bold.png); }
     div.o_wiki_wrapper a.o_wikimod_btn_italic {
-      background-image: url(images/wiki/edit-italic.png); }
+      background-image: url(../openolat/images/wiki/edit-italic.png); }
     div.o_wiki_wrapper a.o_wikimod_btn_link {
-      background: url(images/wiki/chain.png); }
+      background: url(../openolat/images/wiki/chain.png); }
     div.o_wiki_wrapper a.o_wikimod_btn_extlink {
-      background: url(images/wiki/chain--arrow.png); }
+      background: url(../openolat/images/wiki/chain--arrow.png); }
     div.o_wiki_wrapper a.o_wikimod_btn_headline {
-      background: url(images/wiki/edit-heading.png); }
+      background: url(../openolat/images/wiki/edit-heading.png); }
     div.o_wiki_wrapper a.o_wikimod_btn_image {
-      background: url(images/wiki/image-medium.png); }
+      background: url(../openolat/images/wiki/image-medium.png); }
     div.o_wiki_wrapper a.o_wikimod_btn_media {
-      background: url(images/music-beam.png); }
+      background: url(../openolat/images/music-beam.png); }
     div.o_wiki_wrapper a.o_wikimod_btn_math {
-      background: url(images/wiki/edit-math.png); }
+      background: url(../openolat/images/wiki/edit-math.png); }
     div.o_wiki_wrapper a.o_wikimod_btn_nowiki {
-      background: url(images/wiki/edit-nowiki.png); }
+      background: url(../openolat/images/wiki/edit-nowiki.png); }
     div.o_wiki_wrapper a.o_wikimod_btn_hr {
-      background: url(images/wiki/edit-hr.png); }
+      background: url(../openolat/images/wiki/edit-hr.png); }
     div.o_wiki_wrapper a.o_wikimod_btn_list {
-      background: url(images/wiki/edit-list.png); }
+      background: url(../openolat/images/wiki/edit-list.png); }
     div.o_wiki_wrapper a.o_wikimod_btn_numlist {
-      background: url(images/wiki/edit-list-order.png); }
+      background: url(../openolat/images/wiki/edit-list-order.png); }
 
   /* portfolio */
   div.o_wiki_wrapper .b_eportfolio_add, div.o_wiki_wrapper .b_eportfolio_add_again {
@@ -4267,7 +4274,7 @@ div.o_forum div.o_forum_message_title {
   div.o_forum div.o_forum_message_title strong {
     font-weight: bold; }
 div.o_forum div.o_forum_message_new div.o_forum_message_title strong {
-  background: url(images/new-text.png) no-repeat top right;
+  background: url(../openolat/images/new-text.png) no-repeat top right;
   padding-right: 20px; }
 div.o_forum div.o_forum_message_creator {
   width: 100px;
@@ -4322,16 +4329,16 @@ span.o_forum_thread_sticky {
   font-weight: bold; }
 
 span.o_forum_status_thread_icon {
-  background-image: url(images/forum/forum.png); }
+  background-image: url(../openolat/images/forum/forum.png); }
 
 span.o_forum_status_sticky_closed_icon {
-  background-image: url(images/forum/sticky-note-pin_locked.png); }
+  background-image: url(../openolat/images/forum/sticky-note-pin_locked.png); }
 
 span.o_forum_status_sticky_icon {
-  background-image: url(images/forum/sticky-note-pin.png); }
+  background-image: url(../openolat/images/forum/sticky-note-pin.png); }
 
 span.o_forum_status_closed_icon {
-  background-image: url(images/forum/forum_locked.png); }
+  background-image: url(../openolat/images/forum/forum_locked.png); }
 
 div.o_forum_peekview {
   margin: 1em 0 1em 0; }
@@ -4346,7 +4353,7 @@ div.o_forum_peekview {
     display: none; }
 
 .o_forum_message_icon {
-  background-image: url(images/forum/balloon-white-left.png); }
+  background-image: url(../openolat/images/forum/balloon-white-left.png); }
 
 div.o_forum_toolbar {
   float: left;
@@ -4385,7 +4392,7 @@ div.o_ep_struct_editor div.b_subcr {
   -o-box-shadow: 0 1px 2px lightGrey;
   -webkit-box-shadow: 0 1px 2px lightGrey;
   box-shadow: 0 1px 2px lightGrey;
-  background: #ebebeb url(images/portfolio/artefaktbg.png) top left repeat-x; }
+  background: #ebebeb url(../openolat/images/portfolio/artefaktbg.png) top left repeat-x; }
 
 .b_artefact div.b_actions {
   margin-top: 2em; }
@@ -4395,7 +4402,7 @@ div.o_ep_struct_editor div.b_subcr {
   margin: 1em 0; }
 
 .b_ep_artAttribLink {
-  background-image: url(images/table_gear.png); }
+  background-image: url(../openolat/images/table_gear.png); }
 
 div.b_artefact_closed {
   font-size: 25px;
@@ -4424,13 +4431,13 @@ div.b_eportfolio_preview_c33l .b_artefact {
   margin: 1em 0 1em 0; }
 
 a.b_ep_options {
-  background: url(images/gear.png) top left no-repeat;
+  background: url(../openolat/images/gear.png) top left no-repeat;
   width: 16px;
   height: 16px;
   display: block; }
 
 .b_ep_liveblog_icon {
-  background-image: url(images/portfolio/ep_liveblog_icon.png); }
+  background-image: url(../openolat/images/portfolio/ep_liveblog_icon.png); }
 
 div.b_portfolio_toc ul {
   margin: 0; }
@@ -4472,7 +4479,7 @@ div.b_portfolio_toc .type_artefact {
   padding-left: 20px; }
 
 a.b_eportfolio_add {
-  background: url(images/portfolio/ep_add_icon.png) top left no-repeat;
+  background: url(../openolat/images/portfolio/ep_add_icon.png) top left no-repeat;
   display: block;
   width: 16px;
   height: 16px; }
@@ -4482,7 +4489,7 @@ td a.b_eportfolio_add {
   padding-right: 2px; }
 
 a.b_eportfolio_add_again, span.b_eportfolio_add_again {
-  background: url(images/portfolio/ep_add_again_icon.png) top left no-repeat;
+  background: url(../openolat/images/portfolio/ep_add_again_icon.png) top left no-repeat;
   display: block;
   width: 16px;
   height: 16px; }
@@ -4491,7 +4498,7 @@ a.b_eportfolio_add_again, span.b_eportfolio_add_again {
   float: right; }
 
 a.b_eportfolio_link {
-  background: url(images/portfolio/ep_link_icon.png) top left no-repeat;
+  background: url(../openolat/images/portfolio/ep_link_icon.png) top left no-repeat;
   display: block;
   width: 16px;
   height: 16px; }
@@ -4508,7 +4515,7 @@ ul.b_eportfolio_maps li {
   height: 320px;
   padding: 60px 60px 40px 65px;
   margin: 0.5em;
-  background: url(images/portfolio/eportfolio_map_default.png) top left no-repeat;
+  background: url(../openolat/images/portfolio/eportfolio_map_default.png) top left no-repeat;
   -moz-border-radius: 4px 14px 14px 4px;
   -webkit-border-radius: 4px 10px 10px 4px;
   -o-border-radius: 4px 14px 14px 4px;
@@ -4540,24 +4547,24 @@ ul.b_eportfolio_maps li .b_map_info a.b_open_icon {
   right: -10px; }
 
 ul.b_eportfolio_maps li.leather {
-  background: url(images/portfolio/eportfolio_map_leather.png) top left no-repeat;
+  background: url(../openolat/images/portfolio/eportfolio_map_leather.png) top left no-repeat;
   border: none; }
 
 ul.b_eportfolio_maps li.leather a {
   color: #fad9a4; }
 
 ul.b_eportfolio_maps li.comic {
-  background: url(images/portfolio/eportfolio_map_comic.png) top left no-repeat;
+  background: url(../openolat/images/portfolio/eportfolio_map_comic.png) top left no-repeat;
   border: none; }
 
 ul.b_eportfolio_maps li.template.default {
-  background-image: url(images/portfolio/eportfolio_map_default_template.png); }
+  background-image: url(../openolat/images/portfolio/eportfolio_map_default_template.png); }
 
 ul.b_eportfolio_maps li.template.comic {
-  background-image: url(images/portfolio/eportfolio_map_comic_template.png); }
+  background-image: url(../openolat/images/portfolio/eportfolio_map_comic_template.png); }
 
 ul.b_eportfolio_maps li.template.leather {
-  background-image: url(images/portfolio/eportfolio_map_leather_template.png); }
+  background-image: url(../openolat/images/portfolio/eportfolio_map_leather_template.png); }
 
 .b_map_page {
   text-align: center;
@@ -4712,7 +4719,7 @@ ul.b_eportfolio_maps li.template.leather {
 
 .comic div.b_pagination li {
   width: 87%;
-  background: url(images/portfolio/postit.png) center right;
+  background: url(../openolat/images/portfolio/postit.png) center right;
   padding: 0;
   margin-bottom: 1em;
   margin-left: 8%;
@@ -4742,11 +4749,11 @@ ul.b_eportfolio_maps li.template.leather {
   font-weight: bold; }
 
 .comic div.b_pagination li.b_toc {
-  background-image: url(images/portfolio/postit_pink.png); }
+  background-image: url(../openolat/images/portfolio/postit_pink.png); }
 
 .b_eportfolio_page, .b_portfolio_toc, .b_eportfolio_edit {
   min-height: 40em;
-  background: #f4f4f4 url(images/portfolio/eportfolio_page_corner.png) top right no-repeat;
+  background: #f4f4f4 url(../openolat/images/portfolio/eportfolio_page_corner.png) top right no-repeat;
   padding: 1em;
   -webkit-box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
   -moz-box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
@@ -4764,7 +4771,7 @@ ul.b_eportfolio_maps li.template.leather {
   font-family: Palatino, Georgia, serif; }
 
 .b_eportfolio_map.leather {
-  background: url(images/portfolio/light-leather-tile.jpg); }
+  background: url(../openolat/images/portfolio/light-leather-tile.jpg); }
 
 .leather div.b_ep_actualpage {
   width: 100%;
@@ -4819,7 +4826,7 @@ ul.b_eportfolio_maps li.template.leather {
 
 .b_eportfolio.b_artefacts hr.b_ep_filter_spacer {
   height: 10px;
-  background: url(images/portfolio/divider-arrow-down.png) 25px -12px no-repeat;
+  background: url(../openolat/images/portfolio/divider-arrow-down.png) 25px -12px no-repeat;
   border: none;
   border-top: 1px solid #ccc;
   margin: 2em 0 1em; }
@@ -4862,22 +4869,22 @@ ul.b_eportfolio_maps li.template.leather {
   background-image: url(../images/brasato/eportfolio/ep_collection.png) !important; }
 
 .b_ep_map_icon, .b_portfolio_toc .type_map {
-  background-image: url(images/portfolio/briefcase.png) !important; }
+  background-image: url(../openolat/images/portfolio/briefcase.png) !important; }
 
 .b_ep_page_icon, .b_portfolio_toc .type_page {
-  background-image: url(images/portfolio/ep_page.png) !important; }
+  background-image: url(../openolat/images/portfolio/ep_page.png) !important; }
 
 .b_ep_page_icon.b_eportfolio_add_link {
-  background-image: url(images/portfolio/ep_page_add.png) !important; }
+  background-image: url(../openolat/images/portfolio/ep_page_add.png) !important; }
 
 .b_ep_struct_icon, .b_portfolio_toc .type_struct {
-  background-image: url(images/portfolio/ep_struct.png) !important; }
+  background-image: url(../openolat/images/portfolio/ep_struct.png) !important; }
 
 .b_ep_struct_icon.b_eportfolio_add_link {
-  background-image: url(images/portfolio/ep_struct_add.png) !important; }
+  background-image: url(../openolat/images/portfolio/ep_struct_add.png) !important; }
 
 .type_artefact {
-  background-image: url(images/le_resources/portfolio.png) !important; }
+  background-image: url(../openolat/images/le_resources/portfolio.png) !important; }
 
 div.b_eportfolio_collect_restriction {
   margin-top: 5px; }
@@ -4928,17 +4935,17 @@ div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content {
 
 div.b_eportfolio_restriction_error div.b_tooglebox_opened div.b_togglebox_content {
   border: 1px solid #FF9900 !important;
-  background: #fff5cc url(images/decorator/deco_warn.png) no-repeat 3px 2px !important; }
+  background: #fff5cc url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 2px !important; }
 
 div.b_eportfolio_restriction_passed div.b_tooglebox_opened div.b_togglebox_content {
   border: 1px solid #F0F0F0 !important;
-  background: #fcfcfc url(images/decorator/deco_ok.png) no-repeat 3px 2px !important; }
+  background: #fcfcfc url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 2px !important; }
 
 div.b_eportfolio_restriction_error div.b_togglebox_closed {
-  background: transparent url(images/decorator/deco_warn.png) no-repeat top left !important; }
+  background: transparent url(../openolat/images/decorator/deco_warn.png) no-repeat top left !important; }
 
 div.b_eportfolio_restriction_passed div.b_togglebox_closed {
-  background: transparent url(images/decorator/deco_ok.png) no-repeat top left !important; }
+  background: transparent url(../openolat/images/decorator/deco_ok.png) no-repeat top left !important; }
 
 div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content .b_togglebox_hide {
   display: none; }
@@ -4976,7 +4983,7 @@ div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content .b_
   padding-right: 5px; }
 
 .b_eportfolio_share_policy div span.b_form_datechooser {
-  background: url(images/calendar.png) no-repeat;
+  background: url(../openolat/images/calendar.png) no-repeat;
   padding-left: 18px;
   height: 16px;
   line-height: 16px;
@@ -4987,16 +4994,16 @@ div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content .b_
 
 .b_eportfolio_share_policy_wrapper .b_eportfolio_share_policy {
   padding-left: 20px;
-  background: url(images/user.png) top left no-repeat; }
+  background: url(../openolat/images/user.png) top left no-repeat; }
 
 .b_eportfolio_share_policy_wrapper.policytype_group .b_eportfolio_share_policy {
-  background-image: url(images/users.png); }
+  background-image: url(../openolat/images/users.png); }
 
 .b_eportfolio_share_policy_wrapper.policytype_invitation .b_eportfolio_share_policy {
-  background-image: url(images/share.png); }
+  background-image: url(../openolat/images/share.png); }
 
 .b_eportfolio_share_policy_wrapper.policytype_allusers .b_eportfolio_share_policy {
-  background-image: url(images/users.png); }
+  background-image: url(../openolat/images/users.png); }
 
 div.b_ep_inline div input, div.b_ep_inline div span, div.b_ep_inline div select {
   float: left;
@@ -5005,7 +5012,7 @@ div.b_ep_inline div input, div.b_ep_inline div span, div.b_ep_inline div select
 
 /* ims cp */
 div.o_module_cp_wrapper a.b_content_download {
-  background: url("images/drive-download.png") no-repeat top left;
+  background: url("../openolat/images/drive-download.png") no-repeat top left;
   padding-left: 20px;
   margin: 3px;
   display: block;
@@ -5038,16 +5045,16 @@ div.o_module_cp_wrapper div span a {
 div.o_module_cp_wrapper div span.b_disabled {
   display: none; }
 div.o_module_cp_wrapper div span a.o_cp_previous_icon {
-  background-image: url("images/arrow_left_big.png");
+  background-image: url("../openolat/images/arrow_left_big.png");
   text-decoration: none; }
 div.o_module_cp_wrapper div span a.o_cp_previous_icon span {
   display: none; }
 div.o_module_cp_wrapper div span a.o_cp_next_icon {
-  background-image: url("images/arrow_right_big.png"); }
+  background-image: url("../openolat/images/arrow_right_big.png"); }
 div.o_module_cp_wrapper div span a.o_cp_next_icon span {
   display: none; }
 div.o_module_cp_wrapper div span a.o_cp_print_icon {
-  background-image: url("images/printer.png"); }
+  background-image: url("../openolat/images/printer.png"); }
 div.o_module_cp_wrapper div span a.o_cp_print_icon span {
   display: none; }
 div.o_module_cp_wrapper div.o_cp_navigation div, div.o_module_cp_wrapper div.o_cp_navigation form {
@@ -5074,22 +5081,22 @@ div.o_module_cp_wrapper div.o_cp_navigation div.b_clearfix:after {
   background-repeat: no-repeat; }
 
 a.o_cpeditor_import {
-  background-image: url("images/docs/document_upload.png"); }
+  background-image: url("../openolat/images/docs/document_upload.png"); }
 
 a.o_cpeditor_new {
-  background-image: url("images/docs/document_add.png"); }
+  background-image: url("../openolat/images/docs/document_add.png"); }
 
 a.o_cpeditor_copy {
-  background-image: url("images/docs/document_copy.png"); }
+  background-image: url("../openolat/images/docs/document_copy.png"); }
 
 a.o_cpeditor_delete {
-  background-image: url("images/docs/document_remove.png"); }
+  background-image: url("../openolat/images/docs/document_remove.png"); }
 
 a.o_cpeditor_edit {
-  background-image: url(images/docs/document_metadata_edit.png); }
+  background-image: url(../openolat/images/docs/document_metadata_edit.png); }
 
 a.o_cpeditor_preview {
-  background-image: url(images/docs/document_preview.png); }
+  background-image: url(../openolat/images/docs/document_preview.png); }
 
 #o_cpeditor_content div.o_cpeditor_message {
   padding: 20px; }
@@ -5106,11 +5113,11 @@ a.o_cpeditor_preview {
   display: inline; }
 
 #o_qti_run.o_qti_survey #o_qti_run_title strong {
-  background: url(images/le_resources/survey.png) no-repeat left 50%;
+  background: url(../openolat/images/le_resources/survey.png) no-repeat left 50%;
   padding-left: 20px; }
 
 #o_qti_run.o_qti_test #o_qti_run_title strong {
-  background: url(images/le_resources/test.png) no-repeat left 50%;
+  background: url(../openolat/images/le_resources/test.png) no-repeat left 50%;
   padding-left: 20px;
   padding-top: 2px;
   padding-bottom: 2px; }
@@ -5189,7 +5196,7 @@ a.o_cpeditor_preview {
 
 /* fixes problem with truncated testresults, see OLAT-3416 */
 #b_main.o_editor_qti_correct {
-  background-image: url(images/qti/correct_bg.png);
+  background-image: url(../openolat/images/qti/correct_bg.png);
   background-position: top left; }
 
 #b_main.o_editor_qti {
@@ -5208,7 +5215,7 @@ a.o_cpeditor_preview {
   background-image: url(../images/olat/lightbulb_hover.png); }
 
 #o_qti_solutions a {
-  background: url(images/magnifier-zoom.png) no-repeat left 50%;
+  background: url(../openolat/images/magnifier-zoom.png) no-repeat left 50%;
   cursor: help;
   padding-left: 20px; }
 
@@ -5337,7 +5344,7 @@ div.o_qti_item_choice_option_autoenum {
   color: silver;
   padding: .2em .4em;
   border: 1px solid transparent;
-  background: url(images/flag.png) center right no-repeat;
+  background: url(../openolat/images/flag.png) center right no-repeat;
   display: block;
   width: 20px;
   height: 12px; }
@@ -5372,7 +5379,7 @@ div.o_qti_item_note_box_title {
 
 div.o_qti_item_itemfeedback, div.o_qti_item_assessfeedback, div.o_qti_item_o_qti_item_sectionfeedback {
   margin: 1em 0;
-  background: url(images/lightning.png) no-repeat left 50%;
+  background: url(../openolat/images/lightning.png) no-repeat left 50%;
   padding-left: 20px; }
 
 div.o_qti_item_objectives {
@@ -5383,40 +5390,40 @@ div.o_qti_item_objectives {
 
 /* qti menu items */
 .o_qti_timelimit_icon {
-  background-image: url(images/qti/time.png); }
+  background-image: url(../openolat/images/qti/time.png); }
 
 .o_qti_attemptslimit_icon {
-  background-image: url(images/qti/tries.png); }
+  background-image: url(../openolat/images/qti/tries.png); }
 
 .o_qti_closed_icon {
-  background-image: url(images/qti/closed.png); }
+  background-image: url(../openolat/images/qti/closed.png); }
 
 .o_mi_qtialientitem {
-  background-image: url(images/docs/document_plain.png); }
+  background-image: url(../openolat/images/docs/document_plain.png); }
 
 .o_mi_qtisc {
-  background-image: url(images/qti/scItem.png); }
+  background-image: url(../openolat/images/qti/scItem.png); }
 
 .o_mi_qtimc {
-  background-image: url(images/qti/mcItem.png); }
+  background-image: url(../openolat/images/qti/mcItem.png); }
 
 .o_mi_qtikprim {
-  background-image: url(images/qti/kprimItem.png); }
+  background-image: url(../openolat/images/qti/kprimItem.png); }
 
 .o_mi_qtifib {
-  background-image: url(images/qti/fibItem.png); }
+  background-image: url(../openolat/images/qti/fibItem.png); }
 
 .o_mi_qtiessay {
-  background-image: url(images/qti/essayItem.png); }
+  background-image: url(../openolat/images/qti/essayItem.png); }
 
 .o_mi_qtisection {
-  background-image: url(images/qti/section.png); }
+  background-image: url(../openolat/images/qti/section.png); }
 
 .o_mi_iqtest {
-  background-image: url(images/le_resources/test.png); }
+  background-image: url(../openolat/images/le_resources/test.png); }
 
 .o_mi_iqsurv {
-  background-image: url(images/le_resources/survey.png); }
+  background-image: url(../openolat/images/le_resources/survey.png); }
 
 /* TRANSLATION TOOL */
 div.b_translation_start div.b_translation_start_body, div.b_translation_edit div.b_translation_edit_body {
@@ -5478,7 +5485,7 @@ div.b_translation_edit div.b_translation_edit_annotation textarea {
   font-style: italic; }
 
 div.b_translation_edit div.b_translation_refKey {
-  background-image: url(images/magnifier-zoom.png);
+  background-image: url(../openolat/images/magnifier-zoom.png);
   vertical-align: middle;
   background-color: #eee;
   border: 1px solid #ACAAAA;
@@ -5505,13 +5512,13 @@ ul.b_translation_status li {
   position: relative; }
 
 .b_translation_package_icon {
-  background-image: url(images/folder_open.png) !important; }
+  background-image: url(../openolat/images/folder_open.png) !important; }
 
 .b_translation_item_icon {
-  background-image: url(images/docs/document-node.png) !important; }
+  background-image: url(../openolat/images/docs/document-node.png) !important; }
 
 .b_translation_search_icon {
-  background-image: url(images/magnifier-zoom.png) !important; }
+  background-image: url(../openolat/images/magnifier-zoom.png) !important; }
 
 /* inline translation tool */
 span.b_translation_i18nitem {
@@ -5524,7 +5531,7 @@ span.b_translation_i18nitem a.b_translation_i18nitem_launcher {
   height: 16px !important;
   top: 0 !important;
   left: 5px !important;
-  background: #eeeeee url(images/docs/document_metadata_edit.png) no-repeat !important;
+  background: #eeeeee url(../openolat/images/docs/document_metadata_edit.png) no-repeat !important;
   border: 1px solid #6e6e6e !important;
   border-radius: 3px;
   -webkit-border-radius: 3px;
@@ -5569,10 +5576,10 @@ div.b_selectiontree {
     div.b_selectiontree div.b_selectiontree_content input.b_radio {
       margin: 0; }
   div.b_selectiontree .b_selectiontree_line {
-    background-image: url(images/tree/dots.gif); }
+    background-image: url(../openolat/images/tree/dots.gif); }
   div.b_selectiontree .b_selectiontree_space {
-    background-image: url(images/tree/dots_spacer.gif); }
+    background-image: url(../openolat/images/tree/dots_spacer.gif); }
   div.b_selectiontree .b_selectiontree_junction {
-    background-image: url(images/tree/dots_nt.gif); }
+    background-image: url(../openolat/images/tree/dots_nt.gif); }
   div.b_selectiontree .b_selectiontree_end {
-    background-image: url(images/tree/dots_nl.gif); }
+    background-image: url(../openolat/images/tree/dots_nl.gif); }
diff --git a/src/main/webapp/static/themes/openolat/layout.scss b/src/main/webapp/static/themes/openolat/layout.scss
index b54fb04e7a6533d365378c651e19309b8e397661..eec802cb4b1dd186b329fbf22d58123d7b86512b 100644
--- a/src/main/webapp/static/themes/openolat/layout.scss
+++ b/src/main/webapp/static/themes/openolat/layout.scss
@@ -2,42 +2,41 @@
 /* use the grey ext theme */
 /*@import url(../../js/ext/resources/css/xtheme-gray.css);*/
 
-
-@import "_license.scss";
+@import "license";
 
 @import url(../../yaml/core/slim_base.css);
 
 /* --------------- */
-@import "all/_mixins.scss";
-@import "all/_definitions.scss";
+@import "mixins";
+@import "definitions";
 
 
 /* --------------- */
-@import "all/_basemod.scss";
-@import "all/_dd.scss";
-@import "all/_icons.scss";
-@import "all/_content.scss";
+@import "basemod";
+@import "dd";
+@import "icons";
+@import "content";
 
 /* ------- print -------- */
-@import "print/_basemod.scss";
-@import "print/_content.scss";
+@import "p_basemod";
+@import "p_content";
 
 /* ------- mobile -------- */
-@import "mobile/_basemod.scss";
+@import "m_basemod";
 
 
 /* -------- modules -------- */
-@import "all/modules/_dialogs.scss";
-@import "all/modules/_portlets_boxes.scss";
-@import "all/modules/_tabpane.scss";
-@import "all/modules/_formsandbuttons.scss";
-@import "all/modules/_tables.scss";
-@import "all/modules/_develdebug.scss";
-@import "all/modules/_briefcase.scss";
-@import "all/modules/_wiki.scss";
-@import "all/modules/_forum.scss";
-@import "all/modules/_eportfolio.scss";
-@import "all/modules/_imscp.scss";
-@import "all/modules/_qti.scss";
-@import "all/modules/_translationtool.scss";
-@import "all/modules/_course.scss";
\ No newline at end of file
+@import "dialogs";
+@import "portlets_boxes";
+@import "tabpane";
+@import "formsandbuttons";
+@import "tables";
+@import "develdebug";
+@import "briefcase";
+@import "wiki";
+@import "forum";
+@import "eportfolio";
+@import "imscp";
+@import "qti";
+@import "translationtool";
+@import "course";
\ No newline at end of file
diff --git a/src/main/webapp/static/themes/openolat/mobile/_basemod.scss b/src/main/webapp/static/themes/openolat/mobile/_m_basemod.scss
similarity index 100%
rename from src/main/webapp/static/themes/openolat/mobile/_basemod.scss
rename to src/main/webapp/static/themes/openolat/mobile/_m_basemod.scss
diff --git a/src/main/webapp/static/themes/openolat/print/_basemod.scss b/src/main/webapp/static/themes/openolat/print/_p_basemod.scss
similarity index 100%
rename from src/main/webapp/static/themes/openolat/print/_basemod.scss
rename to src/main/webapp/static/themes/openolat/print/_p_basemod.scss
diff --git a/src/main/webapp/static/themes/openolat/print/_content.scss b/src/main/webapp/static/themes/openolat/print/_p_content.scss
similarity index 100%
rename from src/main/webapp/static/themes/openolat/print/_content.scss
rename to src/main/webapp/static/themes/openolat/print/_p_content.scss
diff --git a/src/main/webapp/static/themes/openolatexample/_definitions.scss b/src/main/webapp/static/themes/openolatexample/_definitions.scss
new file mode 100644
index 0000000000000000000000000000000000000000..5128cf204b5f6e068d5a0c916f9a2dc47421a290
--- /dev/null
+++ b/src/main/webapp/static/themes/openolatexample/_definitions.scss
@@ -0,0 +1,35 @@
+/*
+*  =================================================
+*   
+*   CONTAINS SOME SASS VARIABLES FOR the EXAMPLE THEME
+*   you can change these and compile the theme :)
+*
+*   @author strentini, sergio.trentini@frentix.com,  www.frentix.com
+*   @date Nov. 2011
+*
+*
+*   also read themes.README!
+*
+*  =================================================
+*/
+
+
+/* the base-color and variations (for openolat-theme this is the openolat-blue) */
+$basecolor: red;
+$basecolor_light : lighten($basecolor, 20%);
+$basecolor_ultra_light : lighten($basecolor, 40%);
+
+/* then we need a base-gray and some variations */
+$basegray: #555;
+$basegray_light: #777;
+$basegray_ultra_light: #eee;
+
+/* here you can define the two small icons used in trees:  + and - */ 
+$ico_plus : '../openolat/images/toggle-small-expand.png' ;
+$ico_minus : '../openolat/images/toggle-small.png' ;
+
+
+/* defines the body-background */
+@mixin bodybg(){
+	@include o-gradient4(yellow,red,blue,green);
+}
\ No newline at end of file
diff --git a/src/main/webapp/static/themes/openolatexample/layout.css b/src/main/webapp/static/themes/openolatexample/layout.css
new file mode 100644
index 0000000000000000000000000000000000000000..34cbe4e69cc30c65826def5123126c896019bf6d
--- /dev/null
+++ b/src/main/webapp/static/themes/openolatexample/layout.css
@@ -0,0 +1,5592 @@
+@charset "UTF-8";
+/*
+ * ========================================================
+ *  <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>
+ *  12.10.2011 by frentix GmbH, http://www.frentix.com
+ *  <p>
+ *
+ *
+ *  @author strentini, sergio.trentini@frentix.com,  www.frentix.com
+ *  @date Nov. 2011
+ * ========================================================
+**/
+@import url(../../yaml/core/slim_base.css);
+/* --------------- */
+/*
+*  =================================================
+*  
+*   sass mixins for OpenOLAT 8
+*   
+*   @author strentini, sergio.trentini@frentix.com,  www.frentix.com
+*   @date Nov. 2011
+*
+*   also read themes.README!
+*   
+*   this file is included in layout.scss
+*   it is not compiled to a separate css-file...  
+*
+*  =================================================
+*/
+/*
+*  =================================================
+*   
+*   CONTAINS SOME SASS VARIABLES FOR the EXAMPLE THEME
+*   you can change these and compile the theme :)
+*
+*   @author strentini, sergio.trentini@frentix.com,  www.frentix.com
+*   @date Nov. 2011
+*
+*
+*   also read themes.README!
+*
+*  =================================================
+*/
+/* the base-color and variations (for openolat-theme this is the openolat-blue) */
+/* then we need a base-gray and some variations */
+/* here you can define the two small icons used in trees:  + and - */
+/* defines the body-background */
+/* --------------- */
+/*
+*  =================================================
+*  
+*   basemod rules for OpenOLAT 8
+*   
+*   @author strentini, sergio.trentini@frentix.com,  www.frentix.com
+*   @date Nov. 2011
+*
+*	also read themes.README!
+*
+*   (as of yaml compliance, contains css rules for
+*   positioning and sizing elements) 
+*   
+*   this file is included in layout.scss
+*   it is not compiled to a separate css-file...  
+*
+*  =================================================
+*/
+@media all {
+  html {
+    min-height: 100%; }
+
+  /** ----------------- MAIN LAYOUT ----------------- **/
+  /** 
+     * (en) Forcing vertical scrollbars in IE8, Firefox, Webkit & Opera 
+     * (de) Erzwingen vertikaler Scrollbalken in IE8, Firefox, Webkit & Opera 
+     *
+     * @workaround
+     * @affected IE8, FF, Webkit, Opera
+     * @css-for all
+     * @valid CSS3
+     */
+  body {
+    min-height: 100%;
+    overflow-y: scroll;
+    background: yellow;
+    background: -moz-linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, yellow), color-stop(33%, red), color-stop(66%, blue), color-stop(100%, green));
+    background: -webkit-linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%);
+    background: -o-linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%);
+    background: -ms-linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%);
+    background: linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%);
+    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='yellow', endColorstr='green',GradientType=0 ); }
+
+  #b_page_margins {
+    min-width: 740px;
+    max-width: 1324px;
+    margin: 0 auto;
+    width: 100%;
+    height: 100%; }
+
+  #b_page_wrapper {
+    border-bottom: 1px solid lightGrey; }
+
+  #b_main {
+    background: #fff;
+    clear: both;
+    moz-box-shadow: 0 0 14px #d3d3d3;
+    -ms-box-shadow: 0 0 14px #d3d3d3;
+    -o-box-shadow: 0 0 14px #d3d3d3;
+    -webkit-box-shadow: 0 0 14px #d3d3d3;
+    box-shadow: 0 0 14px #d3d3d3; }
+
+  #b_page a#b_toplink {
+    position: absolute;
+    bottom: 1em;
+    right: 1em;
+    background: transparent url(../openolat/images/arrow_up.png) 0 50% no-repeat;
+    padding-left: 14px;
+    z-index: 5; }
+
+  #b_header, #b_page, #b_col1_content, #b_col2_content, #b_col3_content, #b_col3_content_inner {
+    position: relative; }
+
+  #b_col1 {
+    overflow: hidden; }
+
+  #b_col1_content {
+    padding: 1em 10px 1em 0px; }
+
+  #b_col3 {
+    border-left: 1px #DDD dotted;
+    border-right: 1px #DDD dotted; }
+
+  #b_col3_content {
+    min-height: 450px;
+    padding: 20px 20px 30px 20px; }
+
+  #b_col2_content {
+    overflow: hidden;
+    padding: 1em 0; }
+
+  .b_hidecol2 #b_col3 {
+    margin-right: 0 !important;
+    border-right: 0; }
+
+  .b_hidecol1 #b_col3 {
+    margin-left: 0 !important;
+    border-left: 0; }
+
+  .b_c15r, .b_c20r, .b_c80r, .b_c85r {
+    float: right;
+    margin-left: -5px; }
+
+  .b_c15l, .b_c15r {
+    width: 15%; }
+
+  .b_c20l, .b_c20r {
+    width: 20%; }
+
+  .b_c80l, .b_c80r {
+    width: 80%; }
+
+  .b_c85l, .b_c85r {
+    width: 85%; }
+
+  .b_subcolumns_oldgecko, .b_c20l, .b_c15l, .b_c80l, .b_c85l {
+    float: left; }
+
+  /* IFRAME */
+  div.b_iframe_wrapper iframe {
+    width: 100%;
+    position: relative;
+    top: 0;
+    left: 0;
+    border: none;
+    margin: 0;
+    padding: 0;
+    background: transparent; }
+
+  /** ----------------- HEADER AND TOP NAVIGATION ----------------- **/
+  #b_header {
+    height: auto;
+    min-height: 30px;
+    position: relative;
+    /* the top-navigation */ }
+    #b_header #b_topnav {
+      position: absolute;
+      right: 0px;
+      top: 0px;
+      padding: 4px 15px 0px 0px; }
+      #b_header #b_topnav ul {
+        margin: 0; }
+      #b_header #b_topnav #o_topnav_search input {
+        line-height: 1.3em;
+        margin: 0;
+        width: 10em; }
+      #b_header #b_topnav #o_topnav_printview a {
+        background: url(../openolat/images/printer.png) no-repeat top right;
+        padding: 2px 20px 2px 0;
+        margin: 0; }
+      #b_header #b_topnav #o_topnav_logout a {
+        background: url("../openolat/images/control/control-power.png") no-repeat top right;
+        padding: 2px 20px 2px 0;
+        margin: 0;
+        font-weight: bold; }
+      #b_header #b_topnav li {
+        float: left;
+        list-style: none; }
+        #b_header #b_topnav li div.b_form_element_wrapper.b_form_horizontal {
+          margin: 0; }
+
+  /** ----------------- MAIN NAVIGATION ( TABS ) ----------------- **/
+  #b_nav_main {
+    float: left; }
+    #b_nav_main ul {
+      padding-left: 40px;
+      margin: 0; }
+      #b_nav_main ul li {
+        float: left;
+        position: relative;
+        list-style: none;
+        margin: 0px;
+        padding: 4px 3px 4px 12px;
+        margin-right: 2px;
+        -webkit-border-top-left-radius: 6px;
+        -webkit-border-top-right-radius: 6px;
+        -webkit-border-bottom-right-radius: 0;
+        -webkit-border-bottom-left-radius: 0;
+        -moz-border-radius-topleft: 6px;
+        -moz-border-radius-topright: 6px;
+        -moz-border-radius-bottomright: 0;
+        -moz-border-radius-bottomleft: 0;
+        border-top-left-radius: 6px;
+        border-top-right-radius: 6px;
+        border-bottom-right-radius: 0;
+        border-bottom-left-radius: 0;
+        background: #fff;
+        background: rgba(255, 255, 255, 0.5);
+        /* -- SITES ( home, users, groups, etc. ) -- */
+        /* -- TABS ( courses, wiki, etc.) -- */
+        /* -- THE SPACER -- */ }
+        #b_nav_main ul li a {
+          /* "bloat" the links (better for touch) */
+          padding: 4px 12px 4px 3px; }
+        #b_nav_main ul li a:hover {
+          text-decoration: none; }
+        #b_nav_main ul li.b_nav_site {
+          /** sites icons **/ }
+          #b_nav_main ul li.b_nav_site.b_nav_active, #b_nav_main ul li.b_nav_site:hover {
+            moz-box-shadow: 0 -4px 8px -1px #d3d3d3;
+            -ms-box-shadow: 0 -4px 8px -1px #d3d3d3;
+            -o-box-shadow: 0 -4px 8px -1px #d3d3d3;
+            -webkit-box-shadow: 0 -4px 8px -1px #d3d3d3;
+            box-shadow: 0 -4px 8px -1px #d3d3d3;
+            background: #fff; }
+            #b_nav_main ul li.b_nav_site.b_nav_active a.b_nav_tab_close, #b_nav_main ul li.b_nav_site:hover a.b_nav_tab_close {
+              background-image: url(../openolat/images/cross_small_trimmed_blue.png); }
+          #b_nav_main ul li.b_nav_site > div {
+            padding-left: 16px;
+            background-repeat: no-repeat;
+            background-position: 0% 50%;
+            background-image: url("../openolat/images/application.png"); }
+          #b_nav_main ul li.b_nav_site.o_site_home > div {
+            background-image: url("../openolat/images/home.png"); }
+          #b_nav_main ul li.b_nav_site.o_site_admin > div {
+            background-image: url("../openolat/images/wrench-screwdriver.png"); }
+          #b_nav_main ul li.b_nav_site.o_site_useradmin > div {
+            background-image: url("../openolat/images/user_conf.png"); }
+          #b_nav_main ul li.b_nav_site.o_site_groupsmanagement > div {
+            background-image: url("../openolat/images/users_conf.png"); }
+          #b_nav_main ul li.b_nav_site.o_site_repository > div {
+            background-image: url("../openolat/images/books-stack.png"); }
+          #b_nav_main ul li.b_nav_site.o_site_groups > div {
+            background-image: url("../openolat/images/users.png"); }
+          #b_nav_main ul li.b_nav_site.site_demo_icon > div {
+            background-image: url("../openolat/images/information-white.png"); }
+          #b_nav_main ul li.b_nav_site.f_site_library > div {
+            background-image: url("../openolat/images/library.png"); }
+          #b_nav_main ul li.b_nav_site.o_site_guidemo div {
+            background-image: url("../openolat/images/light-bulb.png"); }
+          #b_nav_main ul li.b_nav_site.b_resource_GroupInfoMainController div {
+            background-image: url(../openolat/images/users.png); }
+        #b_nav_main ul li.b_nav_tab {
+          margin-right: 4px; }
+          #b_nav_main ul li.b_nav_tab a.b_nav_tab_close {
+            position: absolute;
+            top: 3px;
+            right: 4px;
+            width: 13px;
+            height: 13px;
+            line-height: 0;
+            padding: 0;
+            margin: 0;
+            background: transparent url(../openolat/images/cross_small_trimmed_grey.png) no-repeat right top; }
+          #b_nav_main ul li.b_nav_tab.b_nav_active, #b_nav_main ul li.b_nav_tab:hover {
+            moz-box-shadow: 0 -4px 8px -1px #d3d3d3;
+            -ms-box-shadow: 0 -4px 8px -1px #d3d3d3;
+            -o-box-shadow: 0 -4px 8px -1px #d3d3d3;
+            -webkit-box-shadow: 0 -4px 8px -1px #d3d3d3;
+            box-shadow: 0 -4px 8px -1px #d3d3d3;
+            background: #fff; }
+            #b_nav_main ul li.b_nav_tab.b_nav_active a.b_nav_tab_close, #b_nav_main ul li.b_nav_tab:hover a.b_nav_tab_close {
+              background-image: url(../openolat/images/cross_small_trimmed_blue.png); }
+        #b_nav_main ul li#b_nav_spacer {
+          background: none;
+          border: none;
+          width: 20px;
+          height: 1px; }
+
+  /** ----------------- SUB NAVIGATION (TREE) ----------------- **/
+  /* note:  the markup will be the one from OLATpro, has to be merged yet */
+  div.b_tree {
+    font-size: 100%;
+    padding: 0;
+    /* the open/close node icons */ }
+    div.b_tree ul {
+      position: relative;
+      padding: 0;
+      margin: 0 0 0 1em;
+      list-style: none;
+      white-space: nowrap;
+      /* link to select the item with icon */ }
+      div.b_tree ul li {
+        position: relative;
+        background: transparent;
+        margin-left: 0;
+        padding-left: 0;
+        /* selected, hovered, active <a> tag */
+        /*  icon positioning */
+        /*   decorators in tree (e.g. course-editor ) */ }
+        div.b_tree ul li a.b_tree_icon {
+          padding-left: 20px;
+          padding-top: 2px;
+          position: relative;
+          background-position: 0 50%;
+          background-repeat: no-repeat; }
+        div.b_tree ul li a {
+          color: #555555; }
+        div.b_tree ul li a.b_tree_l1 {
+          padding-left: 16px; }
+        div.b_tree ul li .b_tree_oc_l1 {
+          position: absolute;
+          top: 0px;
+          left: 0px;
+          z-index: 9; }
+        div.b_tree ul li a:focus, div.b_tree ul li a:hover {
+          color: red;
+          background-color: white;
+          text-decoration: underline; }
+        div.b_tree ul li a.b_tree_selected, div.b_tree ul li a:active {
+          color: red;
+          background-color: white;
+          text-decoration: none; }
+        div.b_tree ul li li a.b_tree_selected_parents, div.b_tree ul li a.b_tree_l0, div.b_tree ul li strong {
+          color: red;
+          font-weight: bold; }
+        div.b_tree ul li .b_tree_oc_l1 {
+          position: absolute;
+          top: 0px;
+          left: 1px;
+          z-index: 9; }
+        div.b_tree ul li .b_tree_oc_l2 {
+          position: absolute;
+          top: 0px;
+          left: 11px;
+          z-index: 9; }
+        div.b_tree ul li .b_tree_oc_l3 {
+          position: absolute;
+          top: 0px;
+          left: 21px;
+          z-index: 9; }
+        div.b_tree ul li .b_tree_oc_l4 {
+          position: absolute;
+          top: 0px;
+          left: 31px;
+          z-index: 9; }
+        div.b_tree ul li .b_tree_oc_l5 {
+          position: absolute;
+          top: 0px;
+          left: 41px;
+          z-index: 9; }
+        div.b_tree ul li .b_tree_oc_l6 {
+          position: absolute;
+          top: 0px;
+          left: 51px;
+          z-index: 9; }
+        div.b_tree ul li .b_tree_oc_l7 {
+          position: absolute;
+          top: 0px;
+          left: 61px;
+          z-index: 9; }
+        div.b_tree ul li .b_tree_oc_l8 {
+          position: absolute;
+          top: 0px;
+          left: 71px;
+          z-index: 9; }
+        div.b_tree ul li .b_tree_oc_l9 {
+          position: absolute;
+          top: 0px;
+          left: 81px;
+          z-index: 9; }
+        div.b_tree ul li .b_tree_oc_l10 {
+          position: absolute;
+          top: 0px;
+          left: 91px;
+          z-index: 9; }
+        div.b_tree ul li .b_tree_oc_l11 {
+          position: absolute;
+          top: 0px;
+          left: 101px;
+          z-index: 9; }
+        div.b_tree ul li a.b_tree_l0 {
+          padding-left: 5px; }
+        div.b_tree ul li a.b_tree_l1 {
+          padding-left: 15px; }
+        div.b_tree ul li a.b_tree_l2 {
+          padding-left: 25px; }
+        div.b_tree ul li a.b_tree_l3 {
+          padding-left: 35px; }
+        div.b_tree ul li a.b_tree_l4 {
+          padding-left: 45px; }
+        div.b_tree ul li a.b_tree_l5 {
+          padding-left: 55px; }
+        div.b_tree ul li a.b_tree_l6 {
+          padding-left: 65px; }
+        div.b_tree ul li a.b_tree_l7 {
+          padding-left: 75px; }
+        div.b_tree ul li a.b_tree_l8 {
+          padding-left: 85px; }
+        div.b_tree ul li a.b_tree_l9 {
+          padding-left: 95px; }
+        div.b_tree ul li a.b_tree_l10 {
+          padding-left: 105px; }
+        div.b_tree ul li a.b_tree_l11 {
+          padding-left: 115px; }
+        div.b_tree ul li span.b_tree_icon_decorator {
+          width: 12px;
+          height: 12px;
+          float: right;
+          display: inline;
+          position: static;
+          background-repeat: no-repeat; }
+      div.b_tree ul.b_tree_l0 a.b_tree_icon {
+        padding-left: 20px;
+        background-position: 2px 50%; }
+      div.b_tree ul.b_tree_l1 a.b_tree_icon {
+        padding-left: 30px;
+        background-position: 12px 50%; }
+      div.b_tree ul.b_tree_l2 a.b_tree_icon {
+        padding-left: 40px;
+        background-position: 22px 50%; }
+      div.b_tree ul.b_tree_l3 a.b_tree_icon {
+        padding-left: 50px;
+        background-position: 32px 50%; }
+      div.b_tree ul.b_tree_l4 a.b_tree_icon {
+        padding-left: 60px;
+        background-position: 42px 50%; }
+      div.b_tree ul.b_tree_l5 a.b_tree_icon {
+        padding-left: 70px;
+        background-position: 52px 50%; }
+      div.b_tree ul.b_tree_l6 a.b_tree_icon {
+        padding-left: 80px;
+        background-position: 62px 50%; }
+      div.b_tree ul.b_tree_l7 a.b_tree_icon {
+        padding-left: 90px;
+        background-position: 72px 50%; }
+      div.b_tree ul.b_tree_l8 a.b_tree_icon {
+        padding-left: 100px;
+        background-position: 82px 50%; }
+      div.b_tree ul.b_tree_l9 a.b_tree_icon {
+        padding-left: 110px;
+        background-position: 92px 50%; }
+      div.b_tree ul.b_tree_l10 a.b_tree_icon {
+        padding-left: 120px;
+        background-position: 102px 50%; }
+      div.b_tree ul.b_tree_l11 a.b_tree_icon {
+        padding-left: 130px;
+        background-position: 112px 50%; }
+    div.b_tree a.b_tree_level_close span {
+      background: url("../openolat/images/toggle-small.png") no-repeat 0% 50%;
+      padding-right: 8px; }
+    div.b_tree a.b_tree_level_open span {
+      background: url("../openolat/images/toggle-small-expand.png") no-repeat 0% 50%;
+      padding-right: 8px; }
+    div.b_tree a.b_tree_level_close:hover, div.b_tree a.b_tree_level_open:hover {
+      text-decoration: none; }
+
+  /** ----------------- FOOTER ----------------- **/
+  #b_footer {
+    color: #9D9D9D;
+    padding: 8px 20px;
+    margin-top: 12px; }
+    #b_footer .b_floatbox {
+      padding-top: 8px;
+      border-top: 1px solid #ddd; }
+    #b_footer #b_footer_user {
+      float: left;
+      line-height: 16px; }
+      #b_footer #b_footer_user a.b_ajax {
+        background: url(../openolat/images/ajax.png) no-repeat;
+        width: 20px;
+        height: 16px;
+        display: block;
+        float: left; }
+    #b_footer #b_footer_version {
+      float: right;
+      display: block; }
+    #b_footer #b_footer_powered {
+      text-align: center;
+      width: auto;
+      background: none; }
+      #b_footer #b_footer_powered a {
+        display: inline; }
+
+  /** ------------------ COURSE EDITOR --------------- **/
+  #o_course_editor_errorbox {
+    font-size: 90%;
+    padding: 3px 2px 2px 25px;
+    margin: 0 0 1em 0; }
+
+  div.o_courseeditor_legend {
+    margin-top: 3em; }
+    div.o_courseeditor_legend strong {
+      font-weight: bold; }
+    div.o_courseeditor_legend div {
+      top: 0;
+      left: 0;
+      padding-left: 12px;
+      background-repeat: no-repeat;
+      background-position: 0 50%; }
+
+  /* --------------- MENU TOOLBAR & BREADCRUMBS ------------ **/
+  #b_main.b_menu_toolbar #b_col1_content {
+    padding-top: 0;
+    padding-right: 0; }
+
+  #b_main.b_menu_toolbar #b_col3_content {
+    padding: 0; }
+
+  div.b_menu_toolbar {
+    background: #f9f9f9;
+    background: -moz-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f9f9f9), color-stop(100%, #d0d0d0));
+    background: -webkit-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);
+    background: -o-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);
+    background: -ms-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);
+    background: linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);
+    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#d0d0d0',GradientType=0 );
+    border-bottom: 1px solid #7D7D7D;
+    padding: 5px 5px 2px 0; }
+
+  /* breadcrumbs */
+  div.b_breadcumb_path {
+    padding: 0;
+    margin: 0;
+    float: left;
+    display: inline; }
+    div.b_breadcumb_path ul {
+      padding: 0;
+      margin: 0;
+      list-style: none;
+      float: left;
+      display: inline; }
+      div.b_breadcumb_path ul li {
+        padding: 0 7px 0 14px;
+        margin: 0;
+        list-style: none;
+        float: left;
+        display: inline;
+        background: url(../openolat/images/breadcrumb-separator.png) no-repeat left center; }
+      div.b_breadcumb_path ul li.b_first {
+        background: url(../openolat/images/home.png) no-repeat top left;
+        padding-left: 25px; }
+      div.b_breadcumb_path ul li a {
+        color: #464444; }
+      div.b_breadcumb_path ul li span.b_disabled {
+        color: #000;
+        padding: 0 10px 0 0;
+        margin: 0; }
+
+  div.b_breadcumb_content {
+    clear: both;
+    margin-top: 0.5em;
+    padding-top: 0.5em;
+    border-top: 1px solid #ACAAAA; }
+
+  /* NOTIFICATIONS */
+  div.b_noti {
+    border: 1px solid #E9EAEF;
+    padding: 3px 23px 3px 3px;
+    float: right;
+    display: inline;
+    position: relative;
+    right: 0;
+    font-size: 95%; }
+    div.b_noti a.b_contexthelp {
+      position: absolute;
+      top: 2px;
+      right: 2px; }
+    div.b_noti a.b_noti_unsubscribe_link {
+      background: url(../openolat/images/mail--minus.png) no-repeat left 50%;
+      padding: 1px 0 1px 20px; }
+    div.b_noti a.b_noti_subscribe_link {
+      background: url(../openolat/images/mail--plus.png) no-repeat left 50%;
+      padding: 1px 0 1px 20px; }
+    div.b_noti a.b_noti_markedread_link {
+      background: url(../openolat/images/tick.png) no-repeat left 50%;
+      padding: 1px 0 1px 20px; }
+
+  /* ---------- TITLE Wrapper --------------- */
+  h1.b_titled_wrapper span {
+    padding-right: 4em;
+    font-style: italic; }
+
+  h2.b_titled_wrapper span {
+    padding-right: 4em;
+    font-style: italic; }
+
+  h3.b_titled_wrapper span {
+    padding-right: 4em;
+    font-style: italic; }
+
+  h4.b_titled_wrapper span {
+    padding-right: 3em;
+    font-style: italic; }
+
+  h5.b_titled_wrapper span {
+    padding-right: 3em;
+    font-style: italic; }
+
+  div.b_titled_wrapper div.b_togglebox div.b_togglebox_content {
+    background: #fff;
+    border: 0px;
+    padding: 0px; }
+
+  div.b_titled_wrapper_desc a.b_togglebox_opened {
+    z-index: 10;
+    display: block;
+    width: 16px;
+    height: 16px;
+    position: absolute;
+    top: 5px;
+    left: 5px;
+    background: url(../images/brasato/information.png) no-repeat 0 50%;
+    padding: 0; }
+
+  div.b_titled_wrapper_desc a.b_togglebox_opened:hover {
+    background: url(../images/brasato/information_over.png) no-repeat 0 50%;
+    padding: 0; }
+
+  div.b_titled_wrapper_desc a.b_togglebox_closed {
+    display: block;
+    width: 20px;
+    height: 20px;
+    background: url(../images/brasato/information_discreet.png) no-repeat top left;
+    padding: 0; }
+
+  div.b_titled_wrapper_desc a.b_togglebox_closed:hover {
+    background: url(../images/brasato/information.png) no-repeat top left; }
+
+  div.b_titled_wrapper_desc div.b_togglebox div.b_togglebox_content {
+    position: relative;
+    margin-bottom: 1em; }
+
+  div.b_titled_wrapper_desc a.b_togglebox_hide span {
+    position: absolute;
+    bottom: 0;
+    right: 0;
+    padding: 0 6px 3px 0; }
+
+  div.b_titled_wrapper_desc a.b_togglebox_hide:hover {
+    text-decoration: underline; }
+
+  /* Needed for IE6 */
+  div.b_titled_wrapper div.b_togglebox div.b_togglebox_content div.o_course_run_objectives {
+    position: relative; }
+
+  div.b_titled_wrapper div.b_noti {
+    position: absolute;
+    top: 0;
+    right: 25px; }
+
+  div.o_course_run_dropbox div.b_noti {
+    position: relative;
+    top: 0;
+    right: 25px;
+    border: 1px solid #FFFFFF; }
+
+  div.o_course_run_returnbox div.b_noti {
+    position: relative;
+    top: 0;
+    right: 25px;
+    border: 1px solid #FFFFFF; }
+
+  div.o_course_run_solutionbox div.b_noti {
+    position: relative;
+    top: 0;
+    right: 25px;
+    border: 1px solid #FFFFFF; }
+
+  /** ------------------ CATALOG ------------------------ **/
+  div.o_catalog div.o_catalog_title {
+    display: none; }
+  div.o_catalog div.o_catalog_nav {
+    font-size: 95%;
+    padding: 1px 0 1px 20px;
+    border-bottom: 1px solid #EEE;
+    background: url(../openolat/images/folder_open.png) 0 50% no-repeat; }
+  div.o_catalog div.o_catalog_links {
+    margin-top: 1em;
+    padding-top: 1em;
+    border-top: 1px solid #EEE; }
+
+  /** -------------- TAGGING ---------------- **/
+  /* tagging */
+  .b_tag_list {
+    background: url(../openolat/images/tag-label-yellow.png) 0px 3px no-repeat !important; }
+
+  .b_tag_icon {
+    background-image: url(../openolat/images/tag-label-yellow.png); }
+
+  div.b_tags {
+    margin: 2em 0; }
+    div.b_tags div {
+      padding: 0.5em 0 0 20px; }
+    div.b_tags span.b_tag {
+      font-size: 80%;
+      padding: 5px 2px 5px 2px;
+      line-height: 3em;
+      white-space: nowrap; }
+
+  div.o_ep_toc_editor div.b_subcl {
+    min-height: 35em; }
+
+  div.o_ep_struct_editor div.b_subcr {
+    min-height: 35em;
+    background: #FFF;
+    padding-right: 1em;
+    overflow-x: auto; }
+
+  div.b_struct_edit_btn {
+    float: right;
+    display: inline; }
+
+  div.b_struct_submit_assess_btn {
+    float: right;
+    display: inline; }
+
+  /* TextboxList  */
+  *:first-child + html div.holder {
+    padding-bottom: 2px; }
+
+  * html div.holder {
+    padding-bottom: 2px; }
+
+  /* ie7 and below */
+  .textbox-outer {
+    list-style-type: none;
+    margin-left: 0em; }
+
+  div.holder {
+    font-size: 80%; }
+
+  .textboxlist-auto {
+    position: absolute;
+    width: 300px;
+    overflow: show; }
+
+  /* autocompleter bitbox (item) holder */
+  a.bit-box, span.b_tag {
+    -moz-border-radius: 6px;
+    -webkit-border-radius: 6px;
+    border-radius: 6px;
+    border: 1px solid #CAD8F3;
+    background: #DEE7F8;
+    padding: 1px 5px 2px;
+    padding-right: 15px;
+    position: relative; }
+
+  div.holder {
+    min-width: 200px;
+    width: auto;
+    margin: 0;
+    overflow: hidden;
+    height: auto !important;
+    height: 1%;
+    padding: 0px 0px 0;
+    cursor: text;
+    /* no left/right padding here please */ }
+    div.holder a {
+      float: left;
+      margin: 0 5px 4px 0; }
+    div.holder a.bit {
+      text-decoration: none;
+      color: black; }
+    div.holder a.bit:active, div.holder a.bit:focus {
+      outline: none; }
+    div.holder a.bit-box-focus {
+      border-color: #598BEC;
+      background: #598BEC;
+      color: #fff; }
+    div.holder a.bit-input input {
+      width: 100px;
+      margin: 0;
+      border: none;
+      background: white;
+      outline: 0;
+      padding: 3px 0 2px; }
+    div.holder a.bit-input input.smallinput {
+      width: 20px; }
+    div.holder a.bit-hover {
+      background: #BBCEF1;
+      border: 1px solid #6D95E0; }
+    div.holder a.bit-box-focus {
+      background: #598BEC;
+      color: #fff; }
+    div.holder a.bit-box a.closebutton {
+      position: absolute;
+      right: 0;
+      top: 5px;
+      display: block;
+      width: 7px;
+      height: 7px;
+      font-size: 1px;
+      background: url("../openolat/images/tag_x.gif"); }
+    div.holder a.bit-box a.closebutton:hover {
+      background-position: 7px; }
+    div.holder a.bit-box a.closebutton:active {
+      outline: none; }
+    div.holder a.bit-box-focus a.closebutton, div.holder a.bit-box-focus a.closebutton:hover {
+      background-position: bottom; }
+
+  .b_wizard .textbox-outer {
+    background: url(../openolat/images/tag-label-yellow.png) top left no-repeat; }
+    .b_wizard .textbox-outer li {
+      margin-left: 18px; }
+  .b_wizard div.holder a.bit-input input {
+    background: #f8f8f8;
+    padding: 0.4em; }
+
+  /* Autocompleter for textboxlist */
+  ol.textbox-outer {
+    margin: 0;
+    padding: 0; }
+
+  .textboxlist-auto {
+    display: none;
+    background: #eee; }
+    .textboxlist-auto .default {
+      padding: 5px 7px;
+      border: 1px solid #ccc;
+      border-width: 0 1px 1px; }
+    .textboxlist-auto ul {
+      display: none;
+      margin: 0;
+      padding: 0;
+      overflow: auto; }
+      .textboxlist-auto ul li {
+        padding: 5px 12px;
+        z-index: 1000;
+        cursor: pointer;
+        margin: 0;
+        list-style-type: none;
+        border: 1px solid #ccc;
+        border-width: 0 1px 1px; }
+      .textboxlist-auto ul li.loading-indicator {
+        padding-left: 30px;
+        background-position: 5px center;
+        cursor: defat;
+        font-size: 100.01% !important;
+        line-height: 1.5em; }
+      .textboxlist-auto ul li.more-indicator {
+        cursor: defat;
+        font-style: italic; }
+      .textboxlist-auto ul li em {
+        font-weight: bold;
+        font-style: normal;
+        background: #ccc; }
+      .textboxlist-auto ul li.auto-focus {
+        background: #4173CC;
+        color: #fff; }
+      .textboxlist-auto ul li.auto-focus em {
+        background: none; }
+
+  input.inputMessage {
+    color: #AAA;
+    font-size: 11px; }
+
+  /** ---------------------- EXT JS PATCHES ------------------ **/
+  div.b_ext_elem ol, div.b_ext_elem ul, div.b_ext_elem li {
+    list-style: none;
+    padding: 0;
+    margin: 0; }
+
+  div.b_ext_elem.x-tree .x-panel-body {
+    background: transparent; }
+
+  div.b_ext_tooltip_wrapper {
+    padding: 1px; }
+
+  .x-window-mc {
+    font-size: 100%; }
+
+  /* EXT TREE */
+  div.b_ext_elem .x-tree-lines .x-tree-elbow-minus {
+    background-image: url("../openolat/images/toggle-small-expand.png");
+    background-position: 50% 50%; }
+
+  div.b_ext_elem .x-tree-lines .x-tree-elbow-plus {
+    background-image: url("../openolat/images/toggle-small-expand.png");
+    background-position: 50% 50%; }
+
+  div.b_ext_elem .x-tree-lines .x-tree-elbow-end-minus {
+    background-image: url("../openolat/images/toggle-small-expand.png");
+    background-position: 50% 50%; }
+
+  div.b_ext_elem .x-tree-lines .x-tree-elbow-end-plus {
+    background-image: url("../openolat/images/toggle-small-expand.png");
+    background-position: 50% 50%; }
+
+  div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon {
+    background-image: url(../openolat/images/folder.png); }
+
+  div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon {
+    background-image: url(../openolat/images/folder_open.png); }
+
+  div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon {
+    background-image: url(../openolat/images/docs/document_plain.png); }
+
+  div.b_ext_elem .x-tree-selected a.x-tree-node-anchor {
+    border: 1px dotted #444;
+    text-decoration: none; }
+
+  div.b_ext_elem .x-tree-node .x-tree-selected {
+    background-color: #FFC266; } }
+/*
+*  =================================================
+*  
+*   DRAG and DROP Rules for the OpenOLAT theme
+*   
+*   @author strentini, sergio.trentini@frentix.com,  www.frentix.com
+*   @date Dez. 2011
+*
+*	also read themes.README!
+*
+*
+*  =================================================
+*/
+/*  (in trees ) */
+.b_dd_item {
+  cursor: move;
+  z-index: 1000; }
+
+.b_dd_proxy {
+  opacity: 0.4;
+  -moz-opacity: 0.4;
+  filter: alpha(opacity=40); }
+
+.b_dd_item.b_dd_over {
+  background-color: #ffff60; }
+
+.b_dd_sibling {
+  height: 3px;
+  width: 100%; }
+
+.b_dd_sibling.b_dd_over {
+  background: transparent url(../openolat/images/arrow_dd.png) top left no-repeat; }
+
+div.b_dd_ct div.b_dd_sibling_l1 {
+  margin-left: 0 !important; }
+div.b_dd_ct div.b_dd_sibling_l2 {
+  margin-left: 1em !important; }
+div.b_dd_ct div.b_dd_sibling_l3 {
+  margin-left: 2em !important; }
+div.b_dd_ct div.b_dd_sibling_l4 {
+  margin-left: 3em !important; }
+div.b_dd_ct div.b_dd_sibling_l5 {
+  margin-left: 4em !important; }
+div.b_dd_ct div.b_dd_sibling_l6 {
+  margin-left: 5em !important; }
+div.b_dd_ct div.b_dd_sibling_l7 {
+  margin-left: 6em !important; }
+div.b_dd_ct div.b_dd_sibling_l8 {
+  margin-left: 7em !important; }
+div.b_dd_ct div.b_dd_sibling_l9 {
+  margin-left: 8em !important; }
+div.b_dd_ct div.b_dd_sibling_l10 {
+  margin-left: 9em !important; }
+div.b_dd_ct div.b_dd_sibling_l11 {
+  margin-left: 10em !important; }
+
+/*
+*  =================================================
+*  
+*   ICON Rules for the OpenOLAT theme
+*   
+*   @author strentini, sergio.trentini@frentix.com,  www.frentix.com
+*   @date Dez. 2011
+*
+*	also read themes.README!
+*
+*
+*  =================================================
+*/
+.b_with_small_icon_left {
+  padding: 1px 0 1px 20px;
+  min-height: 16px;
+  background-position: 0 50%;
+  background-repeat: no-repeat; }
+
+option.b_with_small_icon_left {
+  padding: 0 0 0 20px;
+  vertical-align: middle;
+  min-height: 11px;
+  background-position: 0 50%;
+  background-repeat: no-repeat; }
+
+.b_with_small_icon_right {
+  padding: 1px 20px 1px 0px;
+  min-height: 16px;
+  background-position: 100% 50%;
+  background-repeat: no-repeat; }
+
+.b_small_icon {
+  float: left;
+  display: inline;
+  width: 16px;
+  height: 16px;
+  background-position: 0 50%;
+  background-repeat: no-repeat; }
+
+/* ------- misc icons --------- */
+.b_info_icon {
+  background-image: url("../openolat/images/comment.png"); }
+
+.b_warn_icon {
+  background-image: url("../openolat/images/exclamation.png"); }
+
+.b_error_icon {
+  background-image: url("../openolat/images/cross-circle.png"); }
+
+.b_new_icon {
+  background-image: url("../openolat/images/new-text.png"); }
+
+.b_institution_icon {
+  background-image: url("../openolat/images/home.png"); }
+
+.b_group_icon {
+  background-image: url("../openolat/images/users.png"); }
+
+.b_user_icon {
+  background-image: url("../openolat/images/user.png"); }
+
+.b_move_left_icon {
+  background-image: url("../openolat/images/arrow_left_big.png"); }
+
+.b_move_right_icon {
+  background-image: url("../openolat/images/arrow_right_big.png"); }
+
+.b_move_down_icon {
+  background-image: url("../openolat/images/arrow_down_big.png"); }
+
+.b_move_up_icon {
+  background-image: url("../openolat/images/arrow_up_big.png"); }
+
+.b_delete_icon {
+  background-image: url("../openolat/images/cross-script.png"); }
+
+.b_share_icon {
+  background-image: url("../openolat/images/share.png"); }
+
+.b_status_enabled_icon {
+  background-image: url("../openolat/images/tick.png"); }
+
+.b_status_disabled_icon {
+  background-image: url("../openolat/images/cross.png"); }
+
+.b_edit_icon {
+  background-image: url("../openolat/images/docs/document--pencil.png"); }
+
+.b_add_icon {
+  background-image: url("../openolat/images/plus-circle.png"); }
+
+.b_open_icon {
+  background-image: url("../openolat/images/control/control.png"); }
+
+.o_fulltext_search_button {
+  background-image: url("../openolat/images/magnifier-zoom.png"); }
+
+.o_help_icon {
+  background-image: url("../openolat/images/help.png"); }
+
+.o_rss_icon {
+  background-image: url("../openolat/images/feed.png"); }
+
+.o_login_guests {
+  background-image: url("../openolat/images/user_silhouette.png"); }
+
+.o_login_pwd {
+  background-image: url("../openolat/images/user_excl.png"); }
+
+.o_login_register {
+  background-image: url("../openolat/images/user_register.png"); }
+
+.o_news_icon {
+  background-image: url("../images/olat/information.png"); }
+
+.o_course_icon {
+  background-image: url("../openolat/images/le_resources/book-open-text-image.png"); }
+
+.o_chat_icon {
+  background-image: url("../images/olat/chat_icon.png"); }
+
+.o_admin_icon {
+  background-image: url("../openolat/images/wrench-screwdriver.png"); }
+
+.o_calendar_icon {
+  background-image: url("../openolat/images/calendar.png"); }
+
+/** ------- FLAGS ------ **/
+.b_flag_en {
+  background-image: url("../openolat/images/flags/gb.png"); }
+
+.b_flag_de {
+  background-image: url("../openolat/images/flags/de.png"); }
+
+.b_flag_fr {
+  background-image: url("../openolat/images/flags/fr.png"); }
+
+.b_flag_it {
+  background-image: url("../openolat/images/flags/it.png"); }
+
+.b_flag_es {
+  background-image: url("../openolat/images/flags/es.png"); }
+
+.b_flag_da {
+  background-image: url("../openolat/images/flags/dk.png"); }
+
+.b_flag_cs {
+  background-image: url("../openolat/images/flags/cz.png"); }
+
+.b_flag_el {
+  background-image: url("../openolat/images/flags/gr.png"); }
+
+.b_flag_ru {
+  background-image: url("../openolat/images/flags/ru.png"); }
+
+.b_flag_pl {
+  background-image: url("../openolat/images/flags/pl.png"); }
+
+.b_flag_zh_CN {
+  background-image: url("../openolat/images/flags/cn.png"); }
+
+.b_flag_zh_TW {
+  background-image: url("../openolat/images/flags/tw.png"); }
+
+.b_flag_lt {
+  background-image: url("../openolat/images/flags/lt.png"); }
+
+.b_flag_fa {
+  background-image: url("../openolat/images/flags/ir.png"); }
+
+.b_flag_pt_PT {
+  background-image: url("../openolat/images/flags/pt.png"); }
+
+.b_flag_pt_BR {
+  background-image: url("../openolat/images/flags/br.png"); }
+
+.b_flag_tr {
+  background-image: url("../openolat/images/flags/tr.png"); }
+
+.b_flag_hu {
+  background-image: url("../openolat/images/flags/hu.png"); }
+
+.b_flag_sq {
+  background-image: url("../openolat/images/flags/al.png"); }
+
+.b_flag_in {
+  background-image: url("../openolat/images/flags/id.png"); }
+
+.b_flag_ar {
+  background-image: url("../openolat/images/flags/eg.png"); }
+
+.b_flag_rm {
+  background-image: url("../openolat/images/flags/rm.png"); }
+
+.b_flag_af {
+  background-image: url("../openolat/images/flags/za.png"); }
+
+.b_flag_vi {
+  background-image: url("../openolat/images/flags/vn.png"); }
+
+.b_flag_mn {
+  background-image: url("../openolat/images/flags/mn.png"); }
+
+.b_flag_iw {
+  background-image: url("../openolat/images/flags/il.png"); }
+
+.b_flag_ko {
+  background-image: url("../openolat/images/flags/kr.png"); }
+
+.b_flag_nl_NL {
+  background-image: url("../openolat/images/flags/nl.png"); }
+
+.b_flag_jp {
+  background-image: url("../openolat/images/flags/jp.png"); }
+
+.b_flag_nb_NO {
+  background-image: url("../openolat/images/flags/no.png"); }
+
+.b_flag_et_EE {
+  background-image: url("../openolat/images/flags/ee.png"); }
+
+.b_flag_bg {
+  background-image: url("../openolat/images/flags/bg.png"); }
+
+.b_flag_hi_IN_ASIA {
+  background-image: url("../openolat/images/flags/in.png"); }
+
+.b_flag_ar_LB {
+  background-image: url("../openolat/images/flags/lb.png"); }
+
+.b_flag_de_FX_business {
+  background-image: url("../openolat/images/flags/de.png"); }
+
+.b_flag_de_FX_school {
+  background-image: url("../openolat/images/flags/de.png"); }
+
+.b_flag_en_FX_business {
+  background-image: url("../openolat/images/flags/gb.png"); }
+
+.b_flag_en_FX_school {
+  background-image: url("../openolat/images/flags/gb.png"); }
+
+/** ------- FILE TYPES ------- **/
+/* first the default that is used as base class. will be overriden by following classes */
+.b_filetype_file, .b_filetype_ico {
+  background-image: url("../openolat/images/docs/document_plain.png") !important; }
+
+/* filesystem icons, mark important to override ext definitions */
+.b_filetype_avi_icon {
+  background-image: url("../openolat/images/docs/document-film.png") !important; }
+
+.b_filetype_bat_icon {
+  background-image: url("../openolat/images/docs/document-binary.png") !important; }
+
+.b_filetype_bmp {
+  background-image: url("../openolat/images/docs/document-image.png") !important; }
+
+.b_filetype_css {
+  background-image: url("../openolat/images/docs/document_tags.png") !important; }
+
+.b_filetype_doc, .b_filetype_docx {
+  background-image: url("../openolat/images/docs/document-word.png") !important; }
+
+.b_filetype_dvi {
+  background-image: url("../openolat/images/docs/document-film.png") !important; }
+
+.b_filetype_exe {
+  background-image: url("../openolat/images/docs/document-binary.png") !important; }
+
+div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.b_filetype_folder, .b_filetype_folder_open {
+  background-image: url("../openolat/images/folder_open.png") !important; }
+
+.b_filetype_folder {
+  background-image: url("../openolat/images/folder.png") !important; }
+
+.b_filetype_gif {
+  background-image: url("../openolat/images/docs/document-image.png") !important; }
+
+.b_filetype_gz {
+  background-image: url("../openolat/images/docs/document-zipper.png") !important; }
+
+.b_filetype_htm, .b_filetype_html {
+  background-image: url("../openolat/images/docs/document_tags.png") !important; }
+
+.b_filetype_jpeg, .b_filetype_jpg {
+  background-image: url("../openolat/images/docs/document-image.png") !important; }
+
+.b_filetype_js {
+  background-image: url("../openolat/images/docs/document_tags.png") !important; }
+
+.b_filetype_log {
+  background-image: url("../openolat/images/docs/document_plain.png") !important; }
+
+.b_filetype_midi {
+  background-image: url("../openolat/images/docs/document-music.png") !important; }
+
+.b_filetype_mov {
+  background-image: url("../openolat/images/docs/document-film.png") !important; }
+
+.b_filetype_mp3, .b_filetype_m3u {
+  background-image: url("../openolat/images/docs/document-music.png") !important; }
+
+.b_filetype_mpeg, .b_filetype_mpg {
+  background-image: url("../openolat/images/docs/document-film.png") !important; }
+
+.b_filetype_odp {
+  background-image: url("../openolat/images/docs/document-powerpoint.png") !important; }
+
+.b_filetype_ods {
+  background-image: url("../openolat/images/docs/document-excel.png") !important; }
+
+.b_filetype_odt {
+  background-image: url("../openolat/images/docs/document-text.png") !important; }
+
+.b_filetype_odg {
+  background-image: url("../openolat/images/docs/document-image.png") !important; }
+
+.b_filetype_odf {
+  background-image: url("../openolat/images/docs/document_plain.png") !important; }
+
+.b_filetype_pdf {
+  background-image: url("../openolat/images/docs/document-pdf.png") !important; }
+
+.b_filetype_png {
+  background-image: url("../openolat/images/docs/document-image.png") !important; }
+
+.b_filetype_ppt {
+  background-image: url("../openolat/images/docs/document-powerpoint.png") !important; }
+
+.b_filetype_pptx {
+  background-image: url("../openolat/images/docs/document-powerpoint.png") !important; }
+
+.b_filetype_ps {
+  background-image: url("../openolat/images/docs/document-pdf.png") !important; }
+
+.b_filetype_qt, .b_filetype_ra, .b_filetype_ram {
+  background-image: url("../openolat/images/docs/document-film.png") !important; }
+
+.b_filetype_readme, .b_filetype_README {
+  background-image: url("../openolat/images/docs/document-text.png") !important; }
+
+.b_filetype_rtf {
+  background-image: url("../openolat/images/docs/document-word.png") !important; }
+
+.b_filetype_tar, .b_filetype_tgz {
+  background-image: url("../openolat/images/docs/document-zipper.png") !important; }
+
+.b_filetype_tiff {
+  background-image: url("../openolat/images/docs/document-image.png") !important; }
+
+.b_filetype_txt {
+  background-image: url("../openolat/images/docs/document-text.png") !important; }
+
+.b_filetype_wav {
+  background-image: url("../openolat/images/docs/document-music.png") !important; }
+
+.b_filetype_xls, .b_filetype_xlsx {
+  background-image: url("../openolat/images/docs/document-excel.png") !important; }
+
+.b_filetype_xml {
+  background-image: url("../openolat/images/docs/document_tags.png") !important; }
+
+.b_filetype_xsl {
+  background-image: url("../openolat/images/docs/document_tags.png") !important; }
+
+.b_filetype_zip {
+  background-image: url("../openolat/images/docs/document-zipper.png") !important; }
+
+/* tab icons in nav  and in LE-resources table*/
+li.b_nav_site div, li.b_nav_tab div {
+  background: url("../openolat/images/application.png") no-repeat left 50%;
+  padding-left: 18px; }
+
+li.b_resource_BusinessGroup div, .o_BusinessGroup_icon {
+  background-image: url("../openolat/images/users.png"); }
+
+li.b_resource_CourseModule div, .o_CourseModule_icon {
+  background-image: url("../openolat/images/le_resources/book-open-text-image.png"); }
+
+li.b_resource_HOMEPAGECONFIG div, .o_HOMEPAGECONFIG_icon, li.b_resource_Identity div {
+  background-image: url("../images/olat/vcard.png"); }
+
+li.b_resource_FileResource-SHAREDFOLDER div, .o_FileResource-SHAREDFOLDER_icon {
+  background-image: url("../openolat/images/folder_shared.png"); }
+
+li.b_resource_FileResource-WIKI div, .o_FileResource-WIKI_icon {
+  background-image: url("../openolat/images/le_resources/wiki.png"); }
+
+li.b_resource_FileResource-PODCAST div, .o_FileResource-PODCAST_icon {
+  background-image: url("../openolat/images/le_resources/media-player-cast.png"); }
+
+li.b_resource_FileResource-BLOG div, .o_FileResource-BLOG_icon {
+  background-image: url("../openolat/images/le_resources/blog.png"); }
+
+li.b_resource_FileResource-MOVIE div, .o_FileResource-MOVIE_icon {
+  background-image: url("../openolat/images/docs/document-film.png"); }
+
+li.b_resource_FileResource-PDF div, .o_FileResource-PDF_icon {
+  background-image: url("../openolat/images/docs/document-pdf.png"); }
+
+li.b_resource_FileResource-PPT div, .o_FileResource-PPT_icon {
+  background-image: url("../openolat/images/docs/document-powerpoint.png"); }
+
+li.b_resource_FileResource-DOC div, .o_FileResource-DOC_icon {
+  background-image: url("../openolat/images/docs/document-word.png"); }
+
+li.b_resource_FileResource-IMSCP div, .o_FileResource-IMSCP_icon {
+  background-image: url("../openolat/images/le_resources/book-open-text-image-red.png"); }
+
+li.b_resource_FileResource-SCORMCP div, .o_FileResource-SCORMCP_icon {
+  background-image: url("../openolat/images/le_resources/book-open-text-image-s.png"); }
+
+li.b_resource_FileResource-FILE div, .o_FileResource-FILE_icon {
+  background-image: url("../openolat/images/docs/document_plain.png"); }
+
+li.b_resource_FileResource-IMAGE div, .o_FileResource-IMAGE_icon {
+  background-image: url("../openolat/images/docs/document-image.png"); }
+
+li.b_resource_FileResource-SOUND div, .o_FileResource-SOUND_icon {
+  background-image: url("../openolat/images/docs/document-music.png"); }
+
+li.b_resource_FileResource-XLS div, .o_FileResource-XLS_icon {
+  background-image: url("../openolat/images/docs/document-excel.png"); }
+
+li.b_resource_FileResource-ANIM div, .o_FileResource-ANIM_icon {
+  background-image: url("../openolat/images/docs/document-image.png"); }
+
+li.b_resource_FileResource-SURVEY div, .o_FileResource-SURVEY_icon {
+  background-image: url("../openolat/images/le_resources/survey.png"); }
+
+li.b_resource_FileResource-TEST div, .o_FileResource-TEST_icon {
+  background-image: url("../openolat/images/le_resources/test.png"); }
+
+li.b_resource_FileResource-GLOSSARY div, .o_FileResource-GLOSSARY_icon {
+  background-image: url("../openolat/images/le_resources/glossary.png"); }
+
+li.b_resource_org-olat-search-ui-SearchController div, .o_org-olat-search-ui-SearchController_icon {
+  background-image: url("../openolat/images/magnifier-zoom.png"); }
+
+li.b_resource_EPStructuredMapTemplate div {
+  background-image: url("../openolat/images/le_resources/portfolio.png"); }
+
+/* ------ TOOLBOX ICONS -------- */
+li a.o_toolbox_course {
+  background-image: url("../openolat/images/le_resources/book-open-text-image.png"); }
+
+li a.o_toolbox_content {
+  background-image: url("../openolat/images/le_resources/book-open-text-image-red.png"); }
+
+li a.o_toolbox_scorm {
+  background-image: url("../openolat/images/le_resources/book-open-text-image-s.png"); }
+
+li a.o_toolbox_test {
+  background-image: url("../openolat/images/le_resources/test.png"); }
+
+li a.o_toolbox_questionnaire {
+  background-image: url("../openolat/images/le_resources/survey.png"); }
+
+li a.o_toolbox_wiki {
+  background-image: url("../openolat/images/le_resources/wiki.png"); }
+
+li a.o_toolbox_podcast {
+  background-image: url("../openolat/images/le_resources/media-player-cast.png"); }
+
+li a.o_toolbox_blog {
+  background-image: url("../openolat/images/le_resources/blog.png"); }
+
+li a.o_toolbox_glossary {
+  background-image: url("../openolat/images/le_resources/glossary.png"); }
+
+li a.o_toolbox_sharedfolder {
+  background-image: url("../openolat/images/folder_shared.png"); }
+
+li a.o_toolbox_coursefolder {
+  background-image: url("../openolat/images/le_resources/blue-folder.png"); }
+
+li a.o_toolbox_portfolio {
+  background-image: url("../openolat/images/le_resources/portfolio.png"); }
+
+li a.b_toolbox_link {
+  background-image: url("../openolat/images/bullet_black.png"); }
+
+li a.b_toolbox_doc {
+  background-image: url("../openolat/images/docs/document_plain.png"); }
+
+li a.b_toolbox_preview {
+  background-image: url("../openolat/images/docs/document_preview.png"); }
+
+li a.b_toolbox_publish {
+  background-image: url("../openolat/images/docs/document_share.png"); }
+
+li a.b_toolbox_move {
+  background-image: url("../openolat/images/docs/document_move.png"); }
+
+li a.b_toolbox_close {
+  background-image: url("../openolat/images/close.png"); }
+
+li a.b_toolbox_delete {
+  background-image: url("../openolat/images/cross-script.png"); }
+
+li a.b_toolbox_copy, .b_copy_icon {
+  background-image: url("../openolat/images/docs/document-copy.png"); }
+
+/* --------- menu icon decorators -------- */
+.o_midlock {
+  top: 9px;
+  left: 9px;
+  background-image: url("../openolat/images/decorator/deco_condition.png"); }
+
+.o_miderr {
+  top: 8px;
+  left: -2px;
+  background-image: url("../openolat/images/decorator/deco_error.png"); }
+
+.o_midwarn {
+  top: 8px;
+  left: -2px;
+  background-image: url("../openolat/images/decorator/deco_warn.png"); }
+
+.o_midpub {
+  top: -2px;
+  left: 9px;
+  background-image: url("../openolat/images/decorator/deco_ok.png"); }
+
+/* --------- course building block icons ------------------- */
+.o_bc_icon {
+  background-image: url("../openolat/images/folder.png") !important; }
+
+.o_co_icon {
+  background-image: url("../openolat/images/mail.png") !important; }
+
+.o_cp_icon {
+  background-image: url("../openolat/images/le_resources/book-open-text-image-red.png") !important; }
+
+.o_cp_org {
+  background-image: url("../openolat/images/le_resources/book-open-text-image-red.png") !important; }
+
+.o_cp_item {
+  background-image: url("../openolat/images/docs/document-text.png") !important; }
+
+.o_dialog_icon {
+  background-image: url("../openolat/images/docs/document_discuss.png") !important; }
+
+.o_en_icon {
+  background-image: url("../openolat/images/enrol.png") !important; }
+
+.o_fo_icon {
+  background-image: url("../openolat/images/forum/forum.png") !important; }
+
+.o_iqself_icon {
+  background-image: url("../openolat/images/le_resources/selftest.png") !important; }
+
+.o_iqsurv_icon {
+  background-image: url("../openolat/images/le_resources/survey.png") !important; }
+
+.o_iqtest_icon {
+  background-image: url("../openolat/images/le_resources/test.png") !important; }
+
+.o_ms_icon {
+  background-image: url("../openolat/images/le_resources/thumb-up.png") !important; }
+
+.o_scorm_icon, .o_scorm_org {
+  background-image: url("../openolat/images/le_resources/book-open-text-image-s.png") !important; }
+
+.o_scorm_item {
+  background-image: url("../openolat/images/docs/document-text.png") !important; }
+
+.o_scorm_asset {
+  background-image: url("../openolat/images/le_resources/book-open-text-image-s.png") !important; }
+
+.o_sp_icon {
+  background-image: url("../openolat/images/docs/document-text.png") !important; }
+
+.o_st_icon {
+  background-image: url("../openolat/images/node-select-all.png") !important; }
+
+.o_ta_icon {
+  background-image: url("../openolat/images/docs/document-task.png") !important; }
+
+.o_tu_icon {
+  background-image: url("../openolat/images/docs/document-import.png") !important; }
+
+.o_wiki_icon {
+  background-image: url("../openolat/images/le_resources/wiki.png") !important; }
+
+.o_ll_icon {
+  background-image: url("../openolat/images/docs/document_linklist.png") !important; }
+
+.o_cl_icon {
+  background-image: url("../openolat/images/clipboard-task.png") !important; }
+
+.o_den_icon {
+  background-image: url("../openolat/images/clock.png") !important; }
+
+.o_projectbroker_icon {
+  background-image: url("../openolat/images/projectbroker.png") !important; }
+
+.o_podcast_icon {
+  background-image: url("../openolat/images/le_resources/media-player-cast.png") !important; }
+
+.o_blog_icon {
+  background-image: url("../openolat/images/le_resources/blog.png") !important; }
+
+.o_cal_icon {
+  background-image: url("../openolat/images/calendar.png") !important; }
+
+.o_lti_icon {
+  background-image: url("../openolat/images/docs/document-node.png") !important; }
+
+/* <OLATCE-103> */
+.o_vc_icon {
+  background-image: url("../openolat/images/projection-screen.png") !important; }
+
+/* </OLATCE-103> */
+.o_vitero_icon {
+  background-image: url("../openolat/images/vitero.png") !important; }
+
+.o_ep_icon, .o_EPStructuredMapTemplate_icon {
+  background-image: url("../openolat/images/le_resources/portfolio.png") !important; }
+
+.o_infomsg_icon {
+  background-image: url("../openolat/images/information-button.png") !important; }
+
+.o_cmembers_icon {
+  background-image: url("../openolat/images/users.png") !important; }
+
+body#b_body .o_CourseModule_icon_closed {
+  background-image: url("../openolat/images/le_resources/book-open-text-image_locked.png"); }
+
+/*
+*  =================================================
+*  
+*   content rules for OpenOLAT 8
+*   
+*   @author strentini, sergio.trentini@frentix.com,  www.frentix.com
+*   @date Nov. 2011
+*
+*	also read themes.README!
+*
+*   (as of yaml compliance, contains css rules for
+*   styling fonts, colors, font-style, etc. ) 
+*   
+*   this file is included in layout.scss
+*   it is not compiled to a separate css-file...  
+*
+*  =================================================
+*/
+* {
+  font-family: Century Gothic, Apple Gothic, sans-serif; }
+
+textarea, pre, tt, code {
+  font-size: 90%;
+  color: inherit;
+  line-height: inherit;
+  margin: inherit; }
+
+body {
+  font-size: 75%;
+  color: #444; }
+
+/** ----------------- HEADERS ----------------- **/
+h1, h2, h3, h4, h5, h6 {
+  font-weight: bold;
+  margin: 0 0 0.25em 0; }
+
+h1 {
+  font-size: 200%; }
+
+/* 24px */
+h2 {
+  font-size: 166.67%; }
+
+/* 20px */
+h3 {
+  font-size: 150%; }
+
+/* 18px */
+h4 {
+  font-size: 133.33%; }
+
+/* 16px */
+h5 {
+  font-size: 116.67%; }
+
+/* 14px */
+h6 {
+  font-size: 116.67%;
+  font-style: italic; }
+
+/* 14px */
+/** ----------------- LINKS ----------------- **/
+a, a:visited {
+  text-decoration: none;
+  color: red; }
+
+a:hover {
+  text-decoration: underline;
+  color: red; }
+
+a.b_link_extern {
+  background: transparent url("../openolat/images/external_link_trimmed.png") no-repeat right top;
+  padding-right: 13px; }
+
+.b_link_mailto {
+  background: transparent url("../openolat/images/mail_small.png") no-repeat left center;
+  padding-left: 18px; }
+
+hr {
+  color: #fff;
+  background: transparent;
+  margin: 0 0 0.5em 0;
+  padding: 0 0 0.5em 0;
+  border: 0;
+  border-bottom: 1px #eee solid; }
+
+p {
+  margin: 0 0 1em 0; }
+
+/** ----------------- CONTENT CLASSES ----------------- **/
+/* content boxes */
+.b_info {
+  background: #e9eaef url(../openolat/images/information-white.png) no-repeat 5px 5px;
+  padding: 5px 5px 5px 30px;
+  border: 1px solid #C5C4C4;
+  border-radius: 4px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  -o-border-radius: 4px; }
+
+.b_note {
+  background: #E2E2E2;
+  padding: 1em;
+  border: 2px #B5B5B5 solid;
+  border-radius: 4px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  -o-border-radius: 4px; }
+
+.b_important {
+  background: #FFF1A4;
+  padding: 1em;
+  border: 2px #F4D000 solid;
+  border-radius: 4px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  -o-border-radius: 4px; }
+
+.b_warning {
+  background: #FFD5AA;
+  padding: 1em;
+  border: 2px #FF9E3E solid;
+  border-radius: 4px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  -o-border-radius: 4px; }
+
+div.b_note, div.b_important, div.b_warning, div.b_info {
+  margin: 1em 0; }
+
+.b_border_box {
+  border: 1px solid #ACAAAA;
+  padding: 1em; }
+
+/* font  */
+.b_disabled {
+  color: #ACAAAA; }
+
+.b_deleted {
+  text-decoration: line-through; }
+
+.b_selected {
+  font-weight: bold; }
+
+/* font sizes relative to parent object */
+.b_small, small {
+  font-size: 90%; }
+
+.b_xsmall, sup, sub {
+  font-size: 80%; }
+
+.b_large {
+  font-size: 110%; }
+
+.b_xlarge, big {
+  font-size: 120%; }
+
+/* text alignment: normal flow in a LTR language is left, in a RTL language it is right */
+.b_align_normal {
+  text-align: left; }
+
+.b_align_center {
+  text-align: center; }
+
+.b_align_inverse {
+  text-align: right; }
+
+.b_quote_wrapper {
+  position: relative;
+  margin: 20px; }
+
+.b_quote_author {
+  background: url(../images/olat/forum/quote.gif) no-repeat left bottom;
+  padding: 10px 5px 15px 11px;
+  position: relative;
+  top: 1px;
+  font-style: italic;
+  color: #A2A2A2; }
+
+blockquote.b_quote {
+  margin: 0;
+  border: 1px solid #e5e5e5;
+  color: black;
+  padding: 8px 10px 6px;
+  color: #646464; }
+
+.b_border_box {
+  border: 1px solid #ccc;
+  padding: 1em; }
+
+.b_warning {
+  padding: 1em;
+  border: 2px #ffc659 solid;
+  border-radius: 4px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  -o-border-radius: 4px;
+  background: #ffe49c;
+  background: -moz-linear-gradient(top, #ffe49c 0%, #fff4da 100%);
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffe49c), color-stop(100%, #fff4da));
+  background: -webkit-linear-gradient(top, #ffe49c 0%, #fff4da 100%);
+  background: -o-linear-gradient(top, #ffe49c 0%, #fff4da 100%);
+  background: -ms-linear-gradient(top, #ffe49c 0%, #fff4da 100%);
+  background: linear-gradient(top, #ffe49c 0%, #fff4da 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe49c', endColorstr='#fff4da',GradientType=0 ); }
+
+.b_dimmed {
+  -moz-opacity: 0.4;
+  opacity: 0.4;
+  filter: alpha(opacity=40); }
+
+.o_ochre {
+  color: #c8a959; }
+
+/* FLOTING STYLES */
+.b_float_left {
+  float: left;
+  display: inline;
+  margin-right: 1em;
+  margin-bottom: 0.15em; }
+
+.b_float_right {
+  float: right;
+  display: inline;
+  margin-left: 1em;
+  margin-bottom: 0.15em; }
+
+.b_center {
+  text-align: center;
+  margin: 0.5em auto; }
+
+/* CLEAR container: additonal to b_floatbox */
+.b_floatscrollbox {
+  overflow-x: auto;
+  overflow-y: hidden; }
+
+.b_overflowscrollbox {
+  overflow: auto; }
+
+/* =============================================================================== **/
+/* HELP, context sensitive */
+div.b_contexthelp_wrapper {
+  position: relative; }
+
+a.b_contexthelp {
+  display: block;
+  width: 16px;
+  height: 16px;
+  background: url(../openolat/images/help.png) no-repeat;
+  line-height: 0;
+  cursor: help; }
+
+div.b_contexthelp_wrapper a.b_contexthelp {
+  position: absolute;
+  top: 0;
+  right: 0; }
+
+fieldset a.b_contexthelp, fieldset div.b_contexthelp_wrapper a.b_contexthelp {
+  position: absolute;
+  top: -1.5em;
+  right: -0.8em; }
+
+#b_contexthelp_content {
+  padding: 0; }
+
+#b_ch_topnav_search div.b_form_element_wrapper.b_form_horizontal {
+  margin: 2px 0 0 0; }
+
+#b_contexthelp_rating {
+  text-align: center;
+  margin-top: 20px;
+  padding: 10px;
+  border-top: 1px #ACAAAA solid; }
+  #b_contexthelp_rating h4 {
+    font-size: 90%;
+    margin: 0;
+    font-style: italic; }
+  #b_contexthelp_rating table {
+    display: inline-block; }
+    #b_contexthelp_rating table td {
+      width: 50%; }
+
+.b_contexthelp_icon {
+  background-image: url(../openolat/images/help.png); }
+
+/* USER COMMENTS */
+div.b_ratings_and_comments {
+  margin: 4em 0 1.5em 0;
+  padding-bottom: 0.5em;
+  border-bottom: 1px solid #eee;
+  font-size: 0.9em;
+  position: relative; }
+  div.b_ratings_and_comments div.b_rating_wrapper {
+    position: absolute;
+    right: 0;
+    bottom: 0;
+    width: 150px;
+    height: 4em; }
+  div.b_ratings_and_comments div.b_rating {
+    background: none;
+    border: none;
+    padding: 0;
+    margin: 0;
+    position: absolute;
+    left: 0;
+    bottom: 2px;
+    width: 100%; }
+  div.b_ratings_and_comments div.b_rating_personal {
+    background: #fff;
+    z-index: 5; }
+
+div.b_ratings_and_comments a.b_comments, div.b_eportfolio_map a.b_comments {
+  background: url(../openolat/images/comment.png) 3px 50% no-repeat;
+  padding: 3px 0 1px 23px;
+  vertical-align: middle;
+  min-height: 18px; }
+
+div.b_comments {
+  font-size: 0.9em; }
+  div.b_comments div.b_comment_wrapper {
+    border: 1px solid #eee;
+    padding: 10px 10px 5px 10px;
+    margin-bottom: 2em;
+    background: #fbfbfb;
+    border-radius: 4px;
+    -webkit-border-radius: 4px;
+    -moz-border-radius: 4px;
+    -o-border-radius: 4px; }
+    div.b_comments div.b_comment_wrapper div.b_avatar img {
+      border: 1px solid #aaa; }
+    div.b_comments div.b_comment_wrapper h5 {
+      font-size: 1em;
+      background: url(../openolat/images/user.png) 0 50% no-repeat;
+      padding: 1px 0 1px 20px;
+      vertical-align: middle;
+      min-height: 16px; }
+    div.b_comments div.b_comment_wrapper span.b_date {
+      color: #aaaaaa;
+      font-weight: normal;
+      display: block;
+      margin-top: 5px; }
+    div.b_comments div.b_comment_wrapper div.b_comment_wrapper {
+      margin-left: 7px;
+      background: #fff; }
+      div.b_comments div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper {
+        background: #fbfbfb; }
+        div.b_comments div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper {
+          background: #fff; }
+  div.b_comments blockquote.b_comment {
+    padding: 3px 0 0 0px;
+    margin: 0; }
+  div.b_comments div.b_form {
+    padding: 10px;
+    border: 1px solid #eee;
+    margin: 2em 0 2em 0;
+    background: #fbfbfb url(../images/brasato/generic/background_gradient_white.png) repeat-x bottom left;
+    border-radius: 4px;
+    -webkit-border-radius: 4px;
+    -moz-border-radius: 4px;
+    -o-border-radius: 4px; }
+    div.b_comments div.b_form h5 {
+      font-size: 1em;
+      margin-bottom: 0.5em; }
+    div.b_comments div.b_form div.b_button_group {
+      text-align: center; }
+
+.b_comment_icon {
+  background-image: url(../openolat/images/comment.png); }
+
+#b_comment_form_link {
+  font-size: 0.9em;
+  position: relative;
+  top: -15px;
+  left: 23px; }
+
+/* DATE COMPONENT */
+div.b_datecomp {
+  width: 2.5em;
+  height: 3em;
+  position: relative;
+  margin-right: 5px;
+  font-weight: normal;
+  color: white;
+  text-align: center;
+  vertical-align: middle;
+  border: 1px solid #000;
+  font-size: 85%; }
+  div.b_datecomp div {
+    width: 100%;
+    position: absolute;
+    left: 0; }
+  div.b_datecomp div.b_year {
+    height: 1em;
+    top: -1.5em;
+    font-size: 80%;
+    font-weight: normal;
+    color: #000; }
+  div.b_datecomp div.b_month {
+    background: #BE5B5D;
+    height: 40%;
+    top: 0;
+    font-size: 80%;
+    font-weight: normal;
+    color: white; }
+  div.b_datecomp div.b_day {
+    background: #fff;
+    height: 60%;
+    bottom: 0;
+    font-size: 120%;
+    font-weight: bold;
+    color: #000;
+    border-top: 1px solid #000;
+    border-bottom: 1px solid #aaaaaa; }
+
+/* RATING */
+div.b_rating {
+  margin: 10px;
+  padding: 5px;
+  font-size: 80%;
+  white-space: nowrap;
+  text-align: left;
+  background: #EEE;
+  border: 1px solid #ACAAAA;
+  border-radius: 4px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  -o-border-radius: 4px; }
+  div.b_rating div.b_rating_title {
+    font-weight: bold; }
+  div.b_rating div.b_rating_items {
+    vertical-align: middle;
+    line-height: 18px; }
+    div.b_rating div.b_rating_items a {
+      float: left;
+      display: inline;
+      width: 16px;
+      height: 16px;
+      background-repeat: no-repeat;
+      background-position: 0 0;
+      margin: 1px 4px 1px 0; }
+    div.b_rating div.b_rating_items a.b_rating_item_on {
+      background-image: url(../openolat/images/star.png); }
+    div.b_rating div.b_rating_items a.b_rating_item_off {
+      background-image: url(../openolat/images/star_grey.png); }
+    div.b_rating div.b_rating_items a:hover {
+      cursor: default; }
+    div.b_rating div.b_rating_items.b_enabled a:hover {
+      cursor: pointer; }
+    div.b_rating div.b_rating_items.b_enabled a.b_rating_item_off:hover {
+      background-image: url(../openolat/images/star.png); }
+  div.b_rating div.b_rating_explanation {
+    clear: both;
+    font-size: 90%; }
+
+/* AJAX AUTOCOMPLETER only color styles override */
+div.b_form_auto_completer input {
+  border: 1px solid #ACAAAA;
+  background: #F6F6F6;
+  line-height: 1.3em;
+  margin: 0px;
+  padding: 0; }
+
+div.b_form_auto_completer input:focus {
+  border: 1px solid #504D4E;
+  background: #FFF; }
+
+div.b_form_auto_completer_item {
+  background-color: #FFF;
+  text-align: left;
+  padding-top: 2px;
+  padding-bottom: 2px; }
+
+div.b_form_auto_completer_item.x-combo-selected {
+  background-color: #c4d0dc;
+  border-left: 0 !important;
+  border-right: 0 !important; }
+
+div.b_form_auto_completer_item span.b_key {
+  color: #999;
+  margin-right: 2px; }
+
+div.b_form_auto_completer_item.b_error_icon {
+  color: #990000;
+  font-style: italic; }
+
+/* ------- print -------- */
+/*
+*  =================================================
+*  
+*   basemod rules for OpenOLAT 8  (PRINT)
+*   
+*   @author strentini, sergio.trentini@frentix.com,  www.frentix.com
+*   @date Nov. 2011
+*
+*
+*
+*   (as of yaml compliance, contains css rules for
+*   positioning and sizing elements) 
+*   
+*   this file is included in layout.scss
+*   it is not compiled to a separate css-file...  
+*
+*  =================================================
+*/
+@media print {
+  /* (en) change font size unit to [pt] - avoiding problems with [px] unit in Gecko based browsers  */
+  /* (de) Wechsel der der Schriftgrößen-Maßheinheit zu [pt] - Probleme mit Maßeinheit [px] in Gecko-basierten Browsern vermeiden */
+  body {
+    font-size: 10pt; } }
+/*
+*  =================================================
+*  
+*   content rules for OpenOLAT 8  (PRINT)
+*   
+*   @author strentini, sergio.trentini@frentix.com,  www.frentix.com
+*   @date Nov. 2011
+*
+*
+*
+*   (as of yaml compliance, contains css rules for
+*   styling fonts, colors, font-style, etc. ) 
+*   
+*   this file is included in layout.scss
+*   it is not compiled to a separate css-file...  
+*
+*  =================================================
+*/
+/* ------- mobile -------- */
+/*
+*  =================================================
+*  
+*   MOBILE rules for OpenOLAT 8  (MOBILE DEVICES)
+*   
+*   @author strentini, sergio.trentini@frentix.com,  www.frentix.com
+*   @date Nov. 2011
+*
+*   also read themes.README!
+* 
+*
+*  =================================================
+*/
+/* iPad ( and other tablets, some netbooks as well, I guess...) */
+/*  mobile phones */
+/* -------- modules -------- */
+/*
+*  =================================================
+*  
+*   MODAL WINDOWs, DIALOGS, WIZARD Rules for the OpenOLAT theme
+*   
+*   @author strentini, sergio.trentini@frentix.com,  www.frentix.com
+*   @date Dez. 2011
+*
+*	also read themes.README!
+*
+*
+*  =================================================
+*/
+/** adjust modal-size according to b_layer **/
+div.b_layer_1 div.b_modal_area {
+  width: 82%;
+  margin: 9%; }
+
+div.b_layer_2 div.b_modal_area {
+  width: 76%;
+  margin: 12%; }
+
+div.b_layer_3 div.b_modal_area {
+  width: 70%;
+  margin: 15%; }
+
+div.b_layer_5 div.b_modal_area {
+  width: 64%;
+  margin: 18%; }
+
+div.b_modal_area {
+  position: absolute;
+  top: 0px;
+  left: 0px;
+  width: 80%;
+  margin: 10%;
+  moz-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
+  -ms-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
+  -o-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
+  -webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
+  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); }
+
+/* MODAL OVERLAY: transparent background that covers the whole content */
+div.b_modal_overlay {
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  zoom: 1; }
+
+/* modal overlay color */
+div.b_modal_overlay, div.ext-el-mask {
+  background: #fff;
+  -moz-opacity: 0.75;
+  opacity: 0.75;
+  filter: alpha(opacity=75); }
+
+.b_floatscrollbox {
+  overflow-x: hidden;
+  overflow-y: hidden; }
+
+div.b_window {
+  text-align: left;
+  border: 1px solid rgba(0, 0, 0, 0.2);
+  background: #fff; }
+  div.b_window .b_window_header_wrapper {
+    padding: 2px 8px 0px 8px; }
+  div.b_window div.b_window_header {
+    position: relative;
+    border-bottom: 1px solid #eee; }
+  div.b_window div.b_window_header_title {
+    min-height: 18px;
+    line-height: 18px;
+    vertical-align: middle;
+    padding: 2px 5px 2px 5px; }
+    div.b_window div.b_window_header_title a.b_link_close {
+      top: 4px;
+      right: 4px;
+      position: absolute;
+      min-height: 16px;
+      min-width: 16px;
+      background: transparent url("../openolat/images/close.png") no-repeat center center;
+      display: inline-block; }
+    div.b_window div.b_window_header_title a.b_link_close:hover {
+      top: 4px;
+      right: 4px; }
+    div.b_window div.b_window_header_title strong {
+      font-weight: bold; }
+  div.b_window div.b_window_content_wrapper {
+    clear: both;
+    width: auto;
+    padding: 0 4px 0 4px; }
+  div.b_window div.b_window_content {
+    padding: 1em; }
+  div.b_window div.b_window_content_inner {
+    min-height: 200px;
+    position: relative; }
+  div.b_window div.b_window_footer_wrapper {
+    height: 4px; }
+
+/* modal callout windows. Patch min length issue in Ext QuickTip */
+div.b_callout_content {
+  max-width: 60em;
+  overflow: hidden; }
+
+div.x-tip-tc, div.x-tip-bc {
+  background-repeat: repeat !important; }
+
+div.x-tip-body p {
+  margin-bottom: 0px; }
+
+div.x-tip-mc {
+  background: #e9f2ff !important; }
+
+/* ajax busy icon*/
+body.b_ajax_busy {
+  cursor: wait; }
+
+div.b_ajax_busy {
+  background: url(../openolat/images/ajax-loader.gif) no-repeat;
+  position: absolute;
+  left: 50%;
+  top: 10px;
+  width: 28px;
+  height: 28px;
+  z-index: 5001; }
+
+/* DIALOG */
+div.b_msg_dialog {
+  padding: 10px 10px 10px 50px;
+  min-height: 32px;
+  background: url(../openolat/images/icon_question_32.png) no-repeat 10px 10px; }
+  div.b_msg_dialog .b_msg_title {
+    font-weight: bold; }
+
+/* sticky info (admins can create stick-messages that will show for all users) */
+#b_msg_sticky {
+  clear: both;
+  padding: 10px 10px 10px 50px;
+  min-height: 32px;
+  background: #ebcccc url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px;
+  border-bottom: 1px #ccc dotted;
+  border-top: 1px #ccc dotted; }
+
+/* info message ( slide-in, top) */
+div.b_msg-div {
+  left: 35%;
+  position: absolute;
+  top: 10px;
+  width: 30%;
+  z-index: 20000;
+  border: 1px solid #ccc;
+  background: #FAFAFA;
+  border-radius: 4px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  -o-border-radius: 4px;
+  moz-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
+  -ms-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
+  -o-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
+  -webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
+  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); }
+  div.b_msg-div .b_msg_info_winicon {
+    background: transparent url(../openolat/images/icon_info_32.png) no-repeat 10px center; }
+
+div.b_msg_info_content {
+  padding: 10px 10px 10px 50px; }
+
+/* warn message (ext-dialog) */
+div.b_msg_warn_winicon {
+  background: url(../openolat/images/icon_warning_32.png) no-repeat; }
+
+/* error message (ext-dialog) */
+div.b_msg_error_winicon {
+  background: url(../openolat/images/icon_error_32.png) no-repeat; }
+
+/* "info"-page */
+#b_msg_info {
+  padding: 10px 10px 10px 50px;
+  min-height: 32px;
+  background: url(../openolat/images/icon_info_32.png) no-repeat 10px 10px; }
+  #b_msg_info .b_msg_title {
+    font-weight: bold; }
+
+/* "info-message" on login screen */
+.o_infomessage_wrapper {
+  border: 1px solid #ccc;
+  background: #FAFAFA; }
+  .o_infomessage_wrapper .o_infomessage {
+    padding: 10px 10px 10px 50px;
+    text-align: left;
+    background: url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px; }
+
+/* OPEN / CLOSE BOX TOGGLER */
+a.b_togglebox_closed {
+  background: url(../openolat/images/toggle-small-expand.png) no-repeat 0 50%;
+  padding: 1px 0 1px 14px;
+  vertical-align: middle; }
+
+a.b_togglebox_opened {
+  background: url(../openolat/images/toggle-small.png) no-repeat 0 50%;
+  padding: 1px 0 1px 14px;
+  vertical-align: middle; }
+
+div.b_togglebox div.b_togglebox_content {
+  padding: 1em;
+  border: 1px solid #ACAAAA;
+  background: #fff; }
+
+/** ----------------- WIZARD ----------------- **/
+div.b_wizard div.b_wizard_header_wrapper {
+  background: #fff; }
+div.b_wizard div.b_wizard_header {
+  background: #fff;
+  position: relative; }
+div.b_wizard div.b_wizard_header_title {
+  background: #fff;
+  min-height: 18px;
+  line-height: 18px;
+  vertical-align: middle;
+  padding: 2px 5px 2px 5px;
+  color: #4F576A; }
+  div.b_wizard div.b_wizard_header_title a.b_link_close {
+    top: 4px;
+    right: 4px;
+    background: url(../openolat/images/close.png);
+    background-repeat: no-repeat; }
+  div.b_wizard div.b_wizard_header_title strong {
+    font-weight: bold; }
+div.b_wizard div.b_wizard_steps_wrapper {
+  clear: both;
+  width: auto;
+  padding: 0 4px 0 4px;
+  background: #fff; }
+div.b_wizard div.b_wizard_steps_content {
+  background: #fff; }
+div.b_wizard div.b_wizard_steps_list {
+  width: 20em;
+  padding: 0;
+  color: #4F576A; }
+  div.b_wizard div.b_wizard_steps_list ol {
+    list-style-type: decimal;
+    z-index: 14;
+    font-size: 95%;
+    padding: 1em 5px 5px; }
+  div.b_wizard div.b_wizard_steps_list li {
+    line-height: 1.5em;
+    white-space: normal; }
+  div.b_wizard div.b_wizard_steps_list li.b_wizard_steps_current {
+    font-weight: bold; }
+  div.b_wizard div.b_wizard_steps_list li a {
+    color: #4F576A; }
+  div.b_wizard div.b_wizard_steps_list li a:hover {
+    color: #4F576A;
+    background: transparent;
+    text-decoration: underline; }
+  div.b_wizard div.b_wizard_steps_list li .b_disabled {
+    color: #4F576A;
+    border: 0;
+    background: transparent;
+    padding: 0;
+    margin: 0;
+    white-space: normal;
+    font-style: italic; }
+  div.b_wizard div.b_wizard_steps_list li.b_wizard_steps_current .b_disabled {
+    font-style: normal; }
+div.b_wizard div.b_wizard_steps_current {
+  margin-left: 20em;
+  border-left: 1px solid #777; }
+div.b_wizard div.b_wizard_steps_current_inner {
+  border-bottom: 1px solid #fff;
+  padding: 1em; }
+div.b_wizard div.b_wizard_steps_current_content {
+  min-height: 300px;
+  position: relative; }
+div.b_wizard div.b_wizard_footer_wrapper {
+  background: #fff; }
+div.b_wizard div.b_wizard_footer div.b_button_group {
+  text-align: left;
+  padding: 0.5em 1em 0.5em 21em;
+  margin: 0; }
+
+span.b_wizard_button_prev:before, a.b_wizard_button_prev span:before {
+  content: "< "; }
+
+span.b_wizard_button_next:after, a.b_wizard_button_next span:after {
+  content: " >"; }
+
+a.b_wizard_button_finish, span.b_wizard_button_finish {
+  margin-left: 3em; }
+
+a.b_wizard_button_cancel, span.b_wizard_button_cancel {
+  margin-left: 3em; }
+
+.b_wizard_table_changedcell {
+  font-style: italic;
+  font-weight: bold;
+  background: url(../openolat/images/new-text.png) no-repeat;
+  padding-left: 18px; }
+
+/* OLD WIZARD */
+div.b_legacy_wizard_steps {
+  float: right;
+  display: inline; }
+
+/* the following classes are used together with b_legacy_wizard_step_icon */
+.b_legacy_wizard_step_a1 {
+  background-image: url(../openolat/images/wizard/1a.png); }
+
+.b_legacy_wizard_step_a2 {
+  background-image: url(../openolat/images/wizard/2a.png); }
+
+.b_legacy_wizard_step_a3 {
+  background-image: url(../openolat/images/wizard/3a.png); }
+
+.b_legacy_wizard_step_a4 {
+  background-image: url(../openolat/images/wizard/4a.png); }
+
+.b_legacy_wizard_step_a5 {
+  background-image: url(../openolat/images/wizard/5a.png); }
+
+.b_legacy_wizard_step_a6 {
+  background-image: url(../openolat/images/wizard/6a.png); }
+
+.b_legacy_wizard_step_a7 {
+  background-image: url(../openolat/images/wizard/7a.png); }
+
+.b_legacy_wizard_step_a8 {
+  background-image: url(../openolat/images/wizard/8a.png); }
+
+.b_legacy_wizard_step_a9 {
+  background-image: url(../openolat/images/wizard/9a.png); }
+
+.b_legacy_wizard_step_p1 {
+  background-image: url(../openolat/images/wizard/1p.png); }
+
+.b_legacy_wizard_step_p2 {
+  background-image: url(../openolat/images/wizard/2p.png); }
+
+.b_legacy_wizard_step_p3 {
+  background-image: url(../openolat/images/wizard/3p.png); }
+
+.b_legacy_wizard_step_p4 {
+  background-image: url(../openolat/images/wizard/4p.png); }
+
+.b_legacy_wizard_step_p5 {
+  background-image: url(../openolat/images/wizard/5p.png); }
+
+.b_legacy_wizard_step_p6 {
+  background-image: url(../openolat/images/wizard/6p.png); }
+
+.b_legacy_wizard_step_p7 {
+  background-image: url(../openolat/images/wizard/7p.png); }
+
+.b_legacy_wizard_step_p8 {
+  background-image: url(../openolat/images/wizard/8p.png); }
+
+.b_legacy_wizard_step_p9 {
+  background-image: url(../openolat/images/wizard/9p.png); }
+
+/*
+*  =================================================
+*  
+*   PORTAL, PORTLETS, TOOLBOXES Rules for the OpenOLAT theme
+*   
+*   @author strentini, sergio.trentini@frentix.com,  www.frentix.com
+*   @date Dez. 2011
+*
+*	also read themes.README!
+*
+*
+*  =================================================
+*/
+/** ----------------- PORTAL ----------------- **/
+div.o_home_portaleditlink {
+  position: absolute;
+  top: 0;
+  right: 0; }
+
+.o_home_main h4 {
+  text-align: center; }
+
+div.o_home_rsslink {
+  clear: both;
+  float: right;
+  display: inline;
+  margin: 10px 0; }
+
+#o_macartney_open {
+  width: 20px;
+  bottom: 0;
+  left: 0;
+  height: 16px;
+  background: white url(../openolat/images/magnifier-zoom.png) no-repeat 4px 0; }
+
+#o_macartney_large {
+  position: fixed;
+  top: 10%;
+  left: 10%;
+  width: 80%;
+  z-index: 10;
+  border: 1px solid black;
+  background: white;
+  padding: 5px; }
+
+#o_macartney_large img {
+  width: 100%; }
+
+#o_macartney_close {
+  position: absolute;
+  width: 16px;
+  top: 0;
+  right: 0;
+  height: 16px;
+  border-left: 1px solid #000;
+  border-bottom: 1px solid #000;
+  background: white url(../openolat/images/close.png); }
+
+/** ----------------- PORTLETS & BOXES ----------------- **/
+.b_portlet {
+  position: relative;
+  font-size: 95%;
+  margin: 10px;
+  min-height: 13em; }
+  .b_portlet .b_portlet_showall {
+    font-size: 95%;
+    position: absolute;
+    right: 0;
+    top: 0; }
+  .b_portlet .b_portlet_header {
+    border-bottom: 1px solid #ff6666;
+    white-space: nowrap;
+    overflow-y: hidden !important;
+    overflow-x: hidden !important; }
+  .b_portlet .b_portlet_content {
+    position: relative;
+    padding: 1em 0 0 0; }
+
+/* portlets / portal in edit mode */
+div.b_portlet.b_portlet_edit {
+  background: #FFE793;
+  border: 1px solid #FF9E3E;
+  padding: 2px; }
+  div.b_portlet.b_portlet_edit .b_portlet_header {
+    height: 23px; }
+
+/* portlet toolbox (portal edit mode) */
+div.b_portlet_toolbox {
+  position: absolute;
+  top: 0;
+  right: 0;
+  padding: 2px;
+  height: 20px;
+  overflow-y: hidden !important;
+  overflow-x: hidden !important;
+  /* fix problem with brasato component wrapper */
+  /* the toolbox buttons */ }
+  div.b_portlet_toolbox a, div.b_portlet_toolbox span.b_disabled {
+    background-repeat: no-repeat;
+    background-position: 1px 1px;
+    float: right;
+    width: 18px;
+    height: 18px;
+    overflow: hidden; }
+  div.b_portlet_toolbox div {
+    display: inline; }
+  div.b_portlet_toolbox > a, div.b_portlet_toolbox > span {
+    border: 1px solid #888;
+    border-radius: 3px;
+    -webkit-border-radius: 3px;
+    -moz-border-radius: 3px;
+    -o-border-radius: 3px;
+    background: #eee;
+    background-repeat: no-repeat;
+    background-position: center; }
+  div.b_portlet_toolbox a.b_portlet_edit_left {
+    background-image: url(../openolat/images/arrow_left_big.png); }
+  div.b_portlet_toolbox a.b_portlet_edit_right {
+    background-image: url(../openolat/images/arrow_right_big.png); }
+  div.b_portlet_toolbox a.b_portlet_edit_down {
+    background-image: url(../openolat/images/arrow_down_big.png); }
+  div.b_portlet_toolbox a.b_portlet_edit_up {
+    background-image: url(../openolat/images/arrow_up_big.png); }
+  div.b_portlet_toolbox a.b_portlet_edit_delete {
+    background-image: url(../openolat/images/cross-script.png); }
+  div.b_portlet_toolbox a.b_portlet_edit_sort_auto {
+    background-image: url(../openolat/images/table_sort.png); }
+  div.b_portlet_toolbox a.b_portlet_edit_sort_manual {
+    background-image: url(../openolat/images/table_gear.png); }
+  div.b_portlet_toolbox span.b_portlet_edit_left_disabled {
+    background-image: url(../openolat/images/arrow_left_big.png);
+    opacity: 0.2; }
+  div.b_portlet_toolbox span.b_portlet_edit_right_disabled {
+    background-image: url(../openolat/images/arrow_right_big.png);
+    opacity: 0.2; }
+  div.b_portlet_toolbox span.b_portlet_edit_down_disabled {
+    background-image: url(../openolat/images/arrow_down_big.png);
+    opacity: 0.2; }
+  div.b_portlet_toolbox span.b_portlet_edit_up_disabled {
+    background-image: url(../openolat/images/arrow_up_big.png);
+    opacity: 0.2; }
+  div.b_portlet_toolbox span.b_portlet_edit_sort_auto_disabled {
+    background-image: url(../openolat/images/table_sort.png);
+    opacity: 0.2; }
+  div.b_portlet_toolbox span.b_portlet_edit_sort_manual_disabled {
+    background-image: url(../openolat/images/table_gear.png);
+    opacity: 0.2; }
+
+.b_toolboxes {
+  font-size: 95%;
+  padding: 6px; }
+  .b_toolboxes .b_toolbox {
+    margin-bottom: 20px;
+    /* the toolbox head */
+    /* toolbox content */ }
+    .b_toolboxes .b_toolbox .b_toolbox_head_wrapper {
+      border-bottom: 1px solid #ff6666;
+      background: inherit; }
+      .b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head {
+        vertical-align: top; }
+        .b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head strong {
+          font-weight: bold; }
+      .b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head_icon {
+        background: transparent no-repeat 3px 50%;
+        padding-left: 19px;
+        line-height: 1.2em;
+        color: black; }
+    .b_toolboxes .b_toolbox .b_toolbox_content ul {
+      padding: 0 0 0 6px;
+      margin: 0;
+      list-style: none; }
+    .b_toolboxes .b_toolbox .b_toolbox_content li {
+      padding: 0;
+      margin: 0;
+      line-height: 1.5em;
+      white-space: nowrap;
+      /* special */
+      /* disabled toolbox items */ }
+      .b_toolboxes .b_toolbox .b_toolbox_content li a {
+        color: #667;
+        background-repeat: no-repeat;
+        background-position: 0 50%;
+        padding-left: 20px;
+        display: block; }
+      .b_toolboxes .b_toolbox .b_toolbox_content li a:focus, .b_toolboxes .b_toolbox .b_toolbox_content li a:hover, .b_toolboxes .b_toolbox .b_toolbox_content li a:active {
+        color: #504D4E;
+        text-decoration: underline; }
+      .b_toolboxes .b_toolbox .b_toolbox_content li div.b_note, .b_toolboxes .b_toolbox .b_toolbox_content li div.b_important, .b_toolboxes .b_toolbox .b_toolbox_content li div.b_warning {
+        padding: 0 0 0 20px;
+        margin: 0;
+        border-bottom: 0; }
+      .b_toolboxes .b_toolbox .b_toolbox_content li a.b_toolbox_toggle {
+        padding-left: 0;
+        display: inline; }
+      .b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_toggle_wrapper {
+        float: right;
+        font-size: 90%; }
+      .b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_link.b_disabled, .b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_disabled {
+        color: #999;
+        background: no-repeat 0 50% url(../images/brasato/bullet_white.png);
+        padding-left: 18px;
+        display: block; }
+
+/*
+*  =================================================
+*  
+*   TABBED PANE and SEGMENTED VIEW Rules for the OpenOLAT theme
+*   
+*   @author strentini, sergio.trentini@frentix.com,  www.frentix.com
+*   @date Dez. 2011
+*
+*	also read themes.README!
+*
+*
+*  =================================================
+*/
+/** ----------------- TABS / TABBED PANE ----------------- **/
+div.b_tabbedpane_wrapper {
+  /* tabbed pane content area */ }
+  div.b_tabbedpane_wrapper div.b_tabbedpane_tabs {
+    float: left;
+    display: inline-block;
+    margin-bottom: 1em;
+    /* a tabbed pane with only one tab */ }
+    div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul {
+      line-height: 1em;
+      list-style: none;
+      margin: 0;
+      padding: 0;
+      white-space: nowrap;
+      /* active tabs */
+      /* disbled tabs */
+      /* special style for first tab */
+      /* special style for last tab */
+      /* special style for tab at position 3 */ }
+      div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li {
+        border-radius: 2px;
+        -webkit-border-radius: 2px;
+        -moz-border-radius: 2px;
+        -o-border-radius: 2px;
+        white-space: nowrap;
+        cursor: pointer;
+        margin: 0 0.5em 0.5em 0;
+        padding: 0;
+        color: #444;
+        background: transparent;
+        display: inline-block;
+        line-height: 2.2em;
+        vertical-align: middle;
+        text-align: left;
+        border: 1px solid rgba(0, 0, 0, 0.1);
+        background: #f5f5f5;
+        background: -moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+        background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));
+        background: -webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+        background: -o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+        background: -ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+        background: linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f1f1f1',GradientType=0 );
+        -moz-transition: all 0.22s "";
+        -webkit-transition: all 0.22s "";
+        -o-transition: all 0.22s "";
+        transition: all 0.22s "";
+        border-radius: 0;
+        -webkit-border-radius: 0;
+        -moz-border-radius: 0;
+        -o-border-radius: 0;
+        margin: 0;
+        float: left;
+        display: inline;
+        position: relative; }
+      div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a, div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul strong {
+        background: transparent;
+        color: #667;
+        display: block;
+        font-weight: normal;
+        padding: 1px 6px 1px 5px;
+        text-decoration: none;
+        text-transform: none; }
+      div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul > ul a, div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul > ul strong {
+        width: auto; }
+      div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:focus, div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:hover, div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:active {
+        moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+        -ms-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+        -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+        -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+        box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); }
+      div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:focus, div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:hover, div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:active {
+        color: #000;
+        text-decoration: none; }
+      div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active {
+        moz-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1);
+        -ms-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1);
+        -o-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1);
+        -webkit-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1);
+        box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1);
+        background: #eee;
+        border-color: #ccc; }
+        div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active a, div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active strong {
+          color: #000;
+          font-weight: bold; }
+      div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled {
+        background: white !important; }
+        div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled a, div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled strong {
+          color: #8994A9;
+          background: transparent !important;
+          font-weight: normal; }
+        div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled:hover {
+          moz-box-shadow: 0 0 0 white;
+          -ms-box-shadow: 0 0 0 white;
+          -o-box-shadow: 0 0 0 white;
+          -webkit-box-shadow: 0 0 0 white;
+          box-shadow: 0 0 0 white; }
+      div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_first {
+        -webkit-border-top-left-radius: 3px;
+        -webkit-border-top-right-radius: 0px;
+        -webkit-border-bottom-right-radius: 0px;
+        -webkit-border-bottom-left-radius: 3px;
+        -moz-border-radius-topleft: 3px;
+        -moz-border-radius-topright: 0px;
+        -moz-border-radius-bottomright: 0px;
+        -moz-border-radius-bottomleft: 3px;
+        border-top-left-radius: 3px;
+        border-top-right-radius: 0px;
+        border-bottom-right-radius: 0px;
+        border-bottom-left-radius: 3px; }
+      div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_last {
+        -webkit-border-top-left-radius: 0px;
+        -webkit-border-top-right-radius: 3px;
+        -webkit-border-bottom-right-radius: 3px;
+        -webkit-border-bottom-left-radius: 0px;
+        -moz-border-radius-topleft: 0px;
+        -moz-border-radius-topright: 3px;
+        -moz-border-radius-bottomright: 3px;
+        -moz-border-radius-bottomleft: 0px;
+        border-top-left-radius: 0px;
+        border-top-right-radius: 3px;
+        border-bottom-right-radius: 3px;
+        border-bottom-left-radius: 0px; }
+    div.b_tabbedpane_wrapper div.b_tabbedpane_tabs li.b_first.b_last {
+      border: none;
+      background: none;
+      box-shadow: none; }
+  div.b_tabbedpane_wrapper div.b_tabbedpane_content {
+    clear: both;
+    padding: 5px 15px;
+    background: transparent;
+    border: 1px solid #d4d4d4; }
+    div.b_tabbedpane_wrapper div.b_tabbedpane_content div.b_tabbedpane_content_inner {
+      position: relative;
+      min-height: 30em; }
+
+/** ----------------- SEGMENTED VIEW ----------------- **/
+div.b_segments_container {
+  min-height: 25px;
+  padding-top: 8px;
+  position: relative;
+  background: url(../openolat/images/divider.png) center top no-repeat; }
+  div.b_segments_container div.b_segments {
+    clear: both;
+    position: absolute;
+    left: 50%; }
+    div.b_segments_container div.b_segments a:hover {
+      text-decoration: none; }
+    div.b_segments_container div.b_segments ul {
+      position: relative;
+      left: -50%;
+      list-style-type: none;
+      margin: 0; }
+      div.b_segments_container div.b_segments ul li {
+        /* we want button-style */
+        border-radius: 2px;
+        -webkit-border-radius: 2px;
+        -moz-border-radius: 2px;
+        -o-border-radius: 2px;
+        white-space: nowrap;
+        cursor: pointer;
+        margin: 0 0.5em 0.5em 0;
+        padding: 0;
+        color: #444;
+        background: transparent;
+        display: inline-block;
+        line-height: 2.2em;
+        vertical-align: middle;
+        text-align: left;
+        border: 1px solid rgba(0, 0, 0, 0.1);
+        background: #f5f5f5;
+        background: -moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+        background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));
+        background: -webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+        background: -o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+        background: -ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+        background: linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f1f1f1',GradientType=0 );
+        -moz-transition: all 0.22s "";
+        -webkit-transition: all 0.22s "";
+        -o-transition: all 0.22s "";
+        transition: all 0.22s "";
+        border-radius: 0;
+        -webkit-border-radius: 0;
+        -moz-border-radius: 0;
+        -o-border-radius: 0;
+        margin: 0;
+        float: left;
+        display: inline;
+        position: relative; }
+        div.b_segments_container div.b_segments ul li a {
+          background: transparent;
+          color: #667;
+          display: block;
+          font-weight: normal;
+          padding: 1px 6px 1px 5px;
+          text-decoration: none;
+          text-transform: none; }
+        div.b_segments_container div.b_segments ul li a:hover, div.b_segments_container div.b_segments ul li a:active, div.b_segments_container div.b_segments ul li a:focus {
+          text-decoration: none; }
+        div.b_segments_container div.b_segments ul li:hover {
+          moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+          -ms-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+          -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+          -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+          box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); }
+        div.b_segments_container div.b_segments ul li.b_segment_selected {
+          moz-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1);
+          -ms-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1);
+          -o-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1);
+          -webkit-box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1);
+          box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1);
+          background: #eee;
+          border-color: #ccc; }
+          div.b_segments_container div.b_segments ul li.b_segment_selected a, div.b_segments_container div.b_segments ul li.b_segment_selected strong {
+            color: #000;
+            font-weight: bold; }
+        div.b_segments_container div.b_segments ul li.b_segment_first {
+          -webkit-border-top-left-radius: 12px;
+          -webkit-border-top-right-radius: 0px;
+          -webkit-border-bottom-right-radius: 0px;
+          -webkit-border-bottom-left-radius: 12px;
+          -moz-border-radius-topleft: 12px;
+          -moz-border-radius-topright: 0px;
+          -moz-border-radius-bottomright: 0px;
+          -moz-border-radius-bottomleft: 12px;
+          border-top-left-radius: 12px;
+          border-top-right-radius: 0px;
+          border-bottom-right-radius: 0px;
+          border-bottom-left-radius: 12px; }
+        div.b_segments_container div.b_segments ul li.b_segment_last {
+          -webkit-border-top-left-radius: 0px;
+          -webkit-border-top-right-radius: 12px;
+          -webkit-border-bottom-right-radius: 12px;
+          -webkit-border-bottom-left-radius: 0px;
+          -moz-border-radius-topleft: 0px;
+          -moz-border-radius-topright: 12px;
+          -moz-border-radius-bottomright: 12px;
+          -moz-border-radius-bottomleft: 0px;
+          border-top-left-radius: 0px;
+          border-top-right-radius: 12px;
+          border-bottom-right-radius: 12px;
+          border-bottom-left-radius: 0px; }
+  div.b_segments_container div.b_segment_content {
+    margin-top: 50px;
+    clear: both;
+    padding: 5px 15px;
+    background: transparent;
+    border: 1px solid #d4d4d4; }
+
+/** ----------------- BUTTONS  ----------------- **/
+.b_button {
+  border-radius: 2px;
+  -webkit-border-radius: 2px;
+  -moz-border-radius: 2px;
+  -o-border-radius: 2px;
+  white-space: nowrap;
+  cursor: pointer;
+  margin: 0 0.5em 0.5em 0;
+  padding: 0;
+  color: #444;
+  background: transparent;
+  display: inline-block;
+  line-height: 2.2em;
+  vertical-align: middle;
+  text-align: left;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+  background: #f5f5f5;
+  background: -moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));
+  background: -webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+  background: -o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+  background: -ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+  background: linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f1f1f1',GradientType=0 );
+  -moz-transition: all 0.22s "";
+  -webkit-transition: all 0.22s "";
+  -o-transition: all 0.22s "";
+  transition: all 0.22s "";
+  /* focused buttons */ }
+  .b_button, .b_button span {
+    color: #444;
+    font-size: 100%;
+    display: inline-block;
+    padding: 0 0.8em;
+    width: auto;
+    line-height: 1.9em;
+    text-align: center; }
+  .b_button:focus, .b_button:hover {
+    text-decoration: none;
+    border: 1px solid #C6C6C6;
+    moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+    -ms-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+    -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); }
+  .b_button:focus {
+    border-color: red; }
+  .b_button:active {
+    moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
+    -ms-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
+    -o-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
+    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
+    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
+    border-color: red; }
+
+/* dirty button (form with unsaved values ) */
+.b_button_dirty {
+  background: white;
+  background: -moz-linear-gradient(top, white 0%, #fff7e0 100%);
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #fff7e0));
+  background: -webkit-linear-gradient(top, white 0%, #fff7e0 100%);
+  background: -o-linear-gradient(top, white 0%, #fff7e0 100%);
+  background: -ms-linear-gradient(top, white 0%, #fff7e0 100%);
+  background: linear-gradient(top, white 0%, #fff7e0 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='white', endColorstr='#fff7e0',GradientType=0 );
+  border-color: #ff9900; }
+  .b_button_dirty:focus, .b_button_dirty:hover {
+    text-decoration: none;
+    border: 1px solid #ffc20e;
+    background: white;
+    background: -moz-linear-gradient(top, white 0%, #fff7e0 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #fff7e0));
+    background: -webkit-linear-gradient(top, white 0%, #fff7e0 100%);
+    background: -o-linear-gradient(top, white 0%, #fff7e0 100%);
+    background: -ms-linear-gradient(top, white 0%, #fff7e0 100%);
+    background: linear-gradient(top, white 0%, #fff7e0 100%);
+    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='white', endColorstr='#fff7e0',GradientType=0 ); }
+
+/* disabled buttons */
+.b_disabled.b_button {
+  border-radius: 2px;
+  -webkit-border-radius: 2px;
+  -moz-border-radius: 2px;
+  -o-border-radius: 2px;
+  white-space: nowrap;
+  cursor: pointer;
+  margin: 0 0.5em 0.5em 0;
+  padding: 0;
+  color: #444;
+  background: transparent;
+  display: inline-block;
+  line-height: 2.2em;
+  vertical-align: middle;
+  text-align: left;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+  background: #f5f5f5;
+  background: -moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));
+  background: -webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+  background: -o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+  background: -ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+  background: linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f1f1f1',GradientType=0 );
+  -moz-transition: all 0.22s "";
+  -webkit-transition: all 0.22s "";
+  -o-transition: all 0.22s "";
+  transition: all 0.22s "";
+  border: 1px solid #ACAAAA;
+  background: #fff; }
+  .b_disabled.b_button, .b_disabled.b_button span {
+    color: #444;
+    font-size: 100%;
+    display: inline-block;
+    padding: 0 0.8em;
+    width: auto;
+    line-height: 1.9em;
+    text-align: center; }
+  .b_disabled.b_button:focus, .b_disabled.b_button:hover {
+    moz-box-shadow: 0 0 0 transparent;
+    -ms-box-shadow: 0 0 0 transparent;
+    -o-box-shadow: 0 0 0 transparent;
+    -webkit-box-shadow: 0 0 0 transparent;
+    box-shadow: 0 0 0 transparent; }
+
+/* multiple buttons groups below a form */
+div.b_button_group {
+  text-align: center;
+  margin: 2em 0 1em 0; }
+
+div.b_button_group div {
+  display: inline; }
+
+.b_xsmall, sup, sub {
+  font-size: 80%; }
+
+.b_small, small {
+  font-size: 90%; }
+
+/* TOGGLE Buttons */
+a.b_toggle {
+  white-space: nowrap;
+  margin: 0 0.5em 0.2em 0;
+  cursor: default;
+  color: #2C2B2B;
+  border: 1px solid #aaa;
+  -webkit-border-radius: 10px;
+  -moz-border-radius: 10px;
+  border-radius: 10px;
+  display: inline-block;
+  line-height: 1.5em;
+  text-align: center;
+  background: url(../openolat/images/toggle_off.png) top left repeat-x; }
+  a.b_toggle span {
+    padding: 0 0.8em; }
+  a.b_toggle:hover {
+    background: #ddd;
+    text-decoration: none; }
+  a.b_toggle.b_on:hover {
+    background: #747474; }
+  a.b_toggle.b_on, a.b_toggle:active, a.b_toggle.b_on:active {
+    color: white;
+    border: none;
+    padding: 1px;
+    moz-box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.5);
+    -ms-box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.5);
+    -o-box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.5);
+    -webkit-box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.5);
+    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.5);
+    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); }
+  a.b_toggle:focus, a.b_toggle.b_on:focus {
+    text-decoration: none; }
+  a.b_toggle:active, a.b_toggle.b_on:active {
+    background: url(../openolat/images/toggle_active.png) top left repeat-x; }
+  a.b_toggle.b_on {
+    background: url(../openolat/images/toggle_on.png) top left repeat-x; }
+
+span.b_toggle.b_disabled {
+  white-space: nowrap;
+  margin: 0 0.5em 0.2em 0;
+  padding: 0 0.8em;
+  color: #667;
+  border: 1px solid #DDD;
+  border-radius: 10px;
+  -webkit-border-radius: 10px;
+  -moz-border-radius: 10px;
+  -o-border-radius: 10px;
+  display: inline-block;
+  line-height: 1.5em;
+  text-align: center;
+  background: url(../openolat/images/toggle_dis.png) top left repeat-x; }
+
+/* TOGGLE SLIDERS */
+a.b_toggle_slide {
+  background: url(../openolat/images/handle.png) -63px 0px no-repeat;
+  height: 25px;
+  width: 85px;
+  white-space: nowrap;
+  margin: 0 0.2em 0.2em 0.2em;
+  color: #2C2B2B;
+  border: 1px solid #aaa;
+  border-radius: 4px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  -o-border-radius: 4px;
+  display: inline-block;
+  text-align: center;
+  vertical-align: middle;
+  position: relative;
+  /* TOGGLE SLIDERS SMALL */ }
+  a.b_toggle_slide span {
+    position: absolute;
+    top: -25px;
+    left: 0; }
+  a.b_toggle_slide:hover, a.b_toggle_slide:focus, a.b_toggle_slide:active, a.b_toggle_slide.b_on:hover, a.b_toggle_slide.b_on:focus, a.b_toggle_slide.b_on:active {
+    border: 1px solid #868686;
+    text-decoration: none; }
+  a.b_toggle_slide.b_on {
+    background-position: -16px 0px; }
+  a.b_toggle_slide.b_disabled {
+    background: url(../openolat/images/handle_dis.png) -63px 0px no-repeat;
+    height: 25px;
+    width: 85px;
+    white-space: nowrap;
+    margin: 0 0.5em 0.2em 0;
+    color: #2C2B2B;
+    border: 1px solid #aaa;
+    border-radius: 4px;
+    -webkit-border-radius: 4px;
+    -moz-border-radius: 4px;
+    -o-border-radius: 4px;
+    display: inline-block;
+    text-align: center;
+    vertical-align: middle; }
+  a.b_toggle_slide.b_small {
+    background: url(../openolat/images/handle_small.png) -41px 0px no-repeat;
+    height: 16px;
+    width: 55px;
+    border-radius: 2px;
+    -webkit-border-radius: 2px;
+    -moz-border-radius: 2px;
+    -o-border-radius: 2px; }
+  a.b_toggle_slide span {
+    position: absolute;
+    top: -16px; }
+  a.b_toggle_slide.b_small.b_on {
+    background-position: -9px 0px; }
+
+span.b_toggle_slide.b_disabled {
+  background: url(../openolat/images/handle_small_dis.png) -41px 0px no-repeat;
+  height: 16px;
+  width: 55px;
+  white-space: nowrap;
+  margin: 0 0.5em 0.2em 0;
+  color: #2C2B2B;
+  border: 1px solid #aaa;
+  border-radius: 3px;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  -o-border-radius: 3px;
+  display: inline-block;
+  text-align: center;
+  vertical-align: middle; }
+
+span.b_toggle_slide_legend {
+  font-size: 90%; }
+
+/* BACK BUTTON  / LINK **/
+.b_link_back {
+  border-radius: 2px;
+  -webkit-border-radius: 2px;
+  -moz-border-radius: 2px;
+  -o-border-radius: 2px;
+  white-space: nowrap;
+  cursor: pointer;
+  margin: 0 0.5em 0.5em 0;
+  padding: 0;
+  color: #444;
+  background: transparent;
+  display: inline-block;
+  line-height: 2.2em;
+  vertical-align: middle;
+  text-align: left;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+  background: #f5f5f5;
+  background: -moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));
+  background: -webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+  background: -o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+  background: -ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+  background: linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f1f1f1',GradientType=0 );
+  -moz-transition: all 0.22s "";
+  -webkit-transition: all 0.22s "";
+  -o-transition: all 0.22s "";
+  transition: all 0.22s "";
+  /* focused buttons */ }
+  .b_link_back > span {
+    padding: 0px 8px 0px 25px;
+    background: transparent url("../openolat/images/arrow_left_big.png") no-repeat 4px center; }
+  .b_link_back:focus, .b_link_back:hover {
+    text-decoration: none;
+    border: 1px solid #C6C6C6;
+    moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+    -ms-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+    -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); }
+  .b_link_back:focus {
+    border-color: red; }
+  .b_link_back:active {
+    moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
+    -ms-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
+    -o-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
+    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
+    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
+    border-color: red; }
+
+/** ----------------- FORMS + LOGIN  ----------------- **/
+div.o_login_form li {
+  list-style: none; }
+
+div.o_login div.o_login_form fieldset legend {
+  display: none; }
+
+div.b_form div.b_form_desc {
+  padding-bottom: 1em;
+  font-style: italic; }
+
+/* FORM: old school form and flexi form! */
+/* general form elements */
+input, select, textarea {
+  border: 1px solid #ACAAAA;
+  background: #F6F6F6;
+  line-height: 1.3em;
+  margin: 0; }
+
+textarea {
+  font-family: inherit;
+  width: 100%; }
+
+/* FF changes font to monospace otherwhise */
+input:focus, select:focus, textarea:focus {
+  background: #fff;
+  border: 1px solid #504D4E; }
+
+input.b_checkbox, input.b_radio {
+  height: 1em;
+  width: 1em;
+  border: 0;
+  margin: 0 2px 0 0; }
+
+label.b_checkbox_label, label.b_radio_label {
+  padding-left: 0.5em; }
+
+.b_inline_editable {
+  padding: 1px 20px 1px 0;
+  vertical-align: middle;
+  min-height: 16px; }
+
+.b_inline_editable:hover {
+  background-position: 100% 50%;
+  background-repeat: no-repeat;
+  background-image: url(../images/brasato/page_edit_tiny.png); }
+
+span.b_inline_editable:hover {
+  cursor: text !important; }
+
+fieldset {
+  padding: 1em;
+  padding-top: 1.5em;
+  border: none;
+  border-top: 1px solid #ff6666; }
+  fieldset legend {
+    padding: 0 5px;
+    font-size: 120%;
+    font-weight: bold; }
+
+div.b_form {
+  /* form element wrapper: label and element */
+  /* form button groups */
+  /* make buttons aligned left within element */ }
+  div.b_form div.b_form_desc {
+    padding-bottom: 1em;
+    font-style: italic; }
+  div.b_form div.b_form_general_error {
+    padding: 10px 10px 10px 50px;
+    margin-bottom: 20px;
+    text-align: left;
+    background: url(../images/brasato/icon_error.png) no-repeat 10px 10px;
+    min-height: 32px;
+    border: 1px solid #990000;
+    color: #990000;
+    font-style: italic; }
+  div.b_form div.b_form_spacer {
+    margin: 10px 0; }
+  div.b_form hr.b_form_spacer {
+    margin: 10px 0;
+    border-bottom: 1px solid #eee;
+    padding: 0; }
+  div.b_form hr.b_form_spacer.b_form_horizontal {
+    display: inline-block;
+    width: 2em; }
+  div.b_form hr.b_form_spacer.b_form_spacer_noline {
+    margin: 10px 0;
+    border-bottom: 0;
+    padding: 0; }
+  div.b_form div.b_form_element_wrapper {
+    vertical-align: middle;
+    margin: 0.5em 0;
+    /** errors  **/ }
+    div.b_form div.b_form_element_wrapper.b_form_horizontal {
+      vertical-align: middle;
+      margin: 0.5em 1em 0.5em 0;
+      float: left;
+      display: inline; }
+    div.b_form div.b_form_element_wrapper.b_form_vertical {
+      vertical-align: middle;
+      margin: 0.5em 0;
+      float: none;
+      display: block; }
+    div.b_form div.b_form_element_wrapper div.b_form_element_label {
+      width: 20%;
+      float: left;
+      display: inline; }
+      div.b_form div.b_form_element_wrapper div.b_form_element_label label {
+        float: left;
+        display: inline;
+        line-height: 1.3em; }
+      div.b_form div.b_form_element_wrapper div.b_form_element_label span.b_form_mandatory {
+        background: url(../openolat/images/star-small.png) no-repeat;
+        padding-left: 16px;
+        height: 16px; }
+      div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_horizontal {
+        width: auto;
+        float: left;
+        display: inline; }
+      div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_vertical {
+        width: auto;
+        float: none;
+        display: block; }
+    div.b_form div.b_form_element_wrapper div.b_form_element {
+      margin-left: 25%;
+      padding: 0 2px 0 12px;
+      /* keep 2px space for 100% + border of textarea */ }
+      div.b_form div.b_form_element_wrapper div.b_form_element.b_form_horizontal {
+        margin-left: 0;
+        padding-left: 0;
+        float: left;
+        display: inline; }
+        div.b_form div.b_form_element_wrapper div.b_form_element.b_form_horizontal .b_button {
+          float: left;
+          display: inline; }
+      div.b_form div.b_form_element_wrapper div.b_form_element.b_form_vertical {
+        margin-left: 0;
+        margin-top: 0.5em;
+        padding-left: 0;
+        float: none;
+        display: block;
+        clear: both; }
+    div.b_form div.b_form_element_wrapper.b_form_error input, div.b_form div.b_form_element_wrapper.b_form_error select {
+      border: 1px solid #990000;
+      background: #ebcccc; }
+    div.b_form div.b_form_element_wrapper div.b_form_error_msg {
+      clear: both;
+      color: #990000;
+      font-style: italic;
+      display: block; }
+    div.b_form div.b_form_element_wrapper div.b_form_element_wrapper {
+      margin: 0; }
+  div.b_form div.b_button_group {
+    margin-left: 0%;
+    padding-left: 0px;
+    text-align: left; }
+  div.b_form.b_form_vertical div.b_button_group {
+    text-align: left; }
+  div.b_form div.b_form_element div.b_form_example {
+    display: inline;
+    font-size: 80%;
+    color: #504D4E; }
+  div.b_form div.b_form_element {
+    /* date and generic chooser icon*/ }
+    div.b_form div.b_form_element .b_form_disabled {
+      color: #504D4E; }
+    div.b_form div.b_form_element .b_form_element_disabled {
+      color: #9E9C9C;
+      background: #EEEEEE;
+      border: 1px solid #CDCBCB; }
+    div.b_form div.b_form_element span.b_form_datechooser {
+      background: url(../openolat/images/calendar.png) no-repeat;
+      padding-left: 18px;
+      height: 16px;
+      line-height: 16px;
+      margin-left: 2px;
+      padding-top: 2px; }
+    div.b_form div.b_form_element a.b_form_groupchooser {
+      background: url(../openolat/images/users.png) no-repeat;
+      padding-left: 18px;
+      height: 16px;
+      line-height: 16px;
+      margin-left: 2px; }
+    div.b_form div.b_form_element a.b_form_genericchooser {
+      background: url(../openolat/images/users.png) no-repeat;
+      padding-left: 18px;
+      height: 16px;
+      line-height: 16px;
+      margin-left: 2px; }
+    div.b_form div.b_form_element a.b_form_wikitext {
+      background-repeat: no-repeat;
+      padding-left: 12px;
+      line-height: 1.5em;
+      font-style: italic; }
+    div.b_form div.b_form_element a.b_form_wikitext, div.b_form div.b_form_element .b_wiki_icon {
+      background-image: url(../openolat/images/wiki/wiki_small_9px.png); }
+
+div.b_button_group div.b_form_element_wrapper {
+  vertical-align: middle;
+  margin: 0.5em 0;
+  float: none;
+  display: block; }
+div.b_button_group div.b_form_element_wrapper div.b_form_element_label {
+  width: auto;
+  float: none;
+  display: block; }
+div.b_button_group div.b_form_element_wrapper div.b_form_element {
+  margin-left: 0; }
+
+.b_subcolumns {
+  display: table;
+  width: 100%;
+  table-layout: fixed; }
+
+.b_c25l input, .b_c25r input {
+  max-width: 93%; }
+
+div.calendar {
+  z-index: 10000 !important; }
+
+/* form element switches: checkbox left, lable right: override styles from above */
+div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element {
+  margin: 0;
+  float: left; }
+
+div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element_label {
+  float: none;
+  width: auto;
+  display: block;
+  padding-left: 2.5em; }
+
+div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element_label label {
+  float: none; }
+
+div.b_form_subform {
+  padding-left: 2.5em; }
+
+/* selection lists */
+div.b_form_selection_vertical div.b_form_selection_element {
+  vertical-align: middle;
+  line-height: 1.3em;
+  position: relative; }
+
+div.b_form_selection_vertical div.b_form_selection_element input {
+  vertical-align: middle;
+  line-height: 1.3em; }
+
+div.b_form_selection_horizontal div.b_form_selection_element {
+  float: left;
+  display: inline;
+  padding-right: 1em; }
+
+div.b_form_selection_horizontal div.b_form_selection_element input {
+  vertical-align: middle; }
+
+/* toggle on / off */
+div.b_form div.b_form_element div.b_form_togglecheck {
+  font-size: 95%;
+  display: block;
+  vertical-align: middle;
+  line-height: 16px;
+  margin-top: 0.5em; }
+
+div.b_form div.b_form_element div.b_form_togglecheck input {
+  height: 1em;
+  width: 1em; }
+
+/* link list */
+div.o_form_wrapper fieldset {
+  min-width: 60em; }
+
+div.form_shift_left {
+  position: inherit;
+  left: -20%; }
+
+/* FORM RICHTEXT ELEMENT */
+div.mceExternalToolbar {
+  background: #f0f0ee !important;
+  overflow: auto; }
+
+/* CHOICE */
+table.b_choice {
+  padding: 0;
+  margin: 0; }
+  table.b_choice td {
+    padding: 0.1em;
+    margin: 0; }
+    table.b_choice td.b_togglecheck {
+      padding-top: 1em; }
+      table.b_choice td.b_togglecheck div.b_togglecheck {
+        display: inline;
+        border-top: 1px solid #eee; }
+      table.b_choice td.b_togglecheck input {
+        margin: 0 7px 0 2px; }
+
+/* FILE CHOOSER : real file chooser is transparent on layer 2 to hide ugly browser button, below the visible fake file chooser on layer 1 */
+div.b_fileinput {
+  position: relative;
+  /* same as mall icon left */ }
+  div.b_fileinput div.b_fileinput_fakechooser {
+    position: absolute;
+    top: 0px;
+    left: 0px;
+    z-index: 1;
+    display: inline;
+    white-space: nowrap; }
+    div.b_fileinput div.b_fileinput_fakechooser a {
+      margin-left: 5px; }
+  div.b_fileinput span.b_fileinput_maxsize {
+    padding: 1px 0 1px 1em;
+    font-style: italic;
+    min-height: 16px;
+    vertical-align: middle; }
+  div.b_fileinput input.b_fileinput_realchooser {
+    position: relative;
+    top: 0;
+    left: 0;
+    z-index: 2;
+    -moz-opacity: 0;
+    opacity: 0;
+    filter: alpha(opacity=0); }
+  div.b_fileinput div.b_button_group {
+    text-align: left;
+    padding-left: 0;
+    margin-left: 0; }
+
+.b_fileinput_icon {
+  background-image: url(../openolat/images/drive.png); }
+
+/* PROGRESSBAR */
+div.b_progress div.b_progress_bar {
+  height: 12px;
+  border: 1px solid #bfbfbf;
+  background: #ffcccc; }
+
+div.b_progress div.b_progress_bar div {
+  height: 12px;
+  background: #ff6666;
+  background: -moz-linear-gradient(top, #ff6666 0%, red 100%);
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ff6666), color-stop(100%, red));
+  background: -webkit-linear-gradient(top, #ff6666 0%, red 100%);
+  background: -o-linear-gradient(top, #ff6666 0%, red 100%);
+  background: -ms-linear-gradient(top, #ff6666 0%, red 100%);
+  background: linear-gradient(top, #ff6666 0%, red 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff6666', endColorstr='red',GradientType=0 ); }
+
+/* MARK */
+div.b_mark {
+  width: 20px;
+  height: 20px;
+  /* form within mark : no padding , no margin */ }
+  div.b_mark div.b_form_element_wrapper {
+    margin: 0; }
+    div.b_mark div.b_form_element_wrapper div.b_form_element {
+      margin: 0;
+      padding: 0; }
+  div.b_mark a.b_mark_set {
+    background: url(../openolat/images/flag.png) center right no-repeat;
+    display: block;
+    width: 20px;
+    height: 20px; }
+  div.b_mark a.b_mark_not_set {
+    background: url(../openolat/images/flag.png) center right no-repeat;
+    display: block;
+    width: 20px;
+    height: 20px;
+    opacity: 0.4;
+    filter: alpha(opacity=40); }
+  div.b_mark a.b_mark_set span, div.b_mark a.b_mark_not_set span {
+    display: block;
+    width: 19px;
+    height: 19px; }
+
+/** ----------------- TABLES ----------------- **/
+/*  normal default table (inherited from YAML) */
+table {
+  border-collapse: collapse;
+  margin-bottom: 0.5em;
+  border-top: 0px solid white;
+  border-bottom: 0px solid white; }
+  table caption {
+    font-variant: small-caps; }
+  table.b_full {
+    width: 99.5%; }
+  table.fixed {
+    table-layout: fixed; }
+  table th, table td {
+    padding: 0.3em; }
+  table thead th {
+    color: inherit;
+    border-bottom: 1px solid #ccc; }
+  table tbody {
+    /* olat odd rows */ }
+    table tbody tr.b_table_odd td {
+      background: #eee; }
+
+/* tables from OpenOLAT tablecontroller are wrapped in b_table_wrapper */
+div.b_table_wrapper {
+  /* table add-ons */
+  /* bottom-margin to fix IE6 overflow issue */ }
+  div.b_table_wrapper table {
+    width: 99.5%;
+    margin-left: 1px; }
+    div.b_table_wrapper table tbody tr:hover td {
+      background: #ffcccc; }
+  div.b_table_wrapper div.b_table_filter {
+    float: left;
+    display: inline;
+    font-size: 95%;
+    margin: 7px 10px 2px 0; }
+    div.b_table_wrapper div.b_table_filter label {
+      font-style: italic;
+      margin: 5px 0 2px 0; }
+    div.b_table_wrapper div.b_table_filter select {
+      border: 1px solid #ACAAAA; }
+  div.b_table_wrapper div.b_clearfix div.b_floatbox {
+    margin: 5px 0 0 0; }
+  div.b_table_wrapper div.b_table_count {
+    font-size: 95%;
+    float: left;
+    line-height: 16px;
+    vertical-align: bottom;
+    margin: 3px;
+    font-size: 95%; }
+  div.b_table_wrapper a.b_table_prefs, div.b_table_wrapper a.b_table_download {
+    float: right;
+    display: block;
+    background-repeat: no-repeat;
+    background-position: top left;
+    width: 16px;
+    height: 16px;
+    margin: 3px; }
+  div.b_table_wrapper a.b_table_prefs {
+    background-image: url(../openolat/images/table_gear.png); }
+  div.b_table_wrapper a.b_table_download {
+    background-image: url(../openolat/images/table_download.png); }
+  div.b_table_wrapper div.b_table_buttons {
+    text-align: center;
+    margin: 1.5em 0 1em 0; }
+
+/* table paging */
+div.b_table_page {
+  font-size: 95%;
+  text-align: center; }
+  div.b_table_page a {
+    margin: 0;
+    padding: 2px; }
+  div.b_table_page a.b_table_page_active {
+    font-weight: bold;
+    color: #000; }
+  div.b_table_page a.b_table_backward {
+    background: url(../openolat/images/arrow_left.png) no-repeat center left;
+    padding-left: 16px; }
+  div.b_table_page a.b_table_forward {
+    background: url(../openolat/images/arrow_right.png) no-repeat center right;
+    padding-right: 16px; }
+  div.b_table_page a.b_table_first_page {
+    background: url(../openolat/images/home.png) no-repeat center left;
+    padding-left: 18px; }
+
+div.b_table_page_all {
+  font-size: 95%;
+  text-align: center; }
+
+/** -------------------- DEVELOPMENT TOOL / DEBUG ---------------- **/
+a.b_dev {
+  position: absolute;
+  left: 0;
+  top: 0;
+  z-index: 4000;
+  background: red url("../openolat/images/bug.png") no-repeat;
+  width: 16px;
+  height: 16px;
+  border: 1px solid #000; }
+
+#b_devcon_main {
+  background-color: #ccddff;
+  position: absolute;
+  z-index: 4000;
+  top: 10px;
+  left: 5%;
+  width: 90%;
+  text-align: left;
+  border: 1px solid #000; }
+
+#b_devcon_handle {
+  cursor: move;
+  background: blue url(../openolat/images/bug.png) no-repeat 4px 50%;
+  line-height: 2em;
+  padding-left: 24px;
+  color: white; }
+
+a#b_devcon_handle_collapse {
+  cursor: pointer;
+  background: url("../openolat/images/toggle-small.png") no-repeat;
+  width: 15px;
+  height: 15px;
+  float: right;
+  margin: 3px; }
+
+a#b_devcon_handle_expand {
+  cursor: pointer;
+  background: url("../openolat/images/toggle-small-expand.png") no-repeat;
+  width: 15px;
+  height: 15px;
+  float: right;
+  margin: 3px; }
+
+a.b_devcon_handle_close {
+  cursor: pointer;
+  background: url(../openolat/images/close.png) no-repeat;
+  width: 15px;
+  height: 15px;
+  float: right;
+  margin: 3px; }
+
+#b_devcon_content {
+  font-size: 90%;
+  padding: 5px;
+  border-top: 0px solid #000;
+  background: transparent; }
+  #b_devcon_content ul {
+    float: left;
+    margin: 0;
+    padding: 0;
+    list-style: none;
+    white-space: nowrap; }
+  #b_devcon_content li {
+    margin: 0;
+    padding: 0 10px 0 0;
+    float: left; }
+  #b_devcon_content fieldset {
+    border-top: 1px solid #ccc;
+    margin: 0;
+    padding: 8px; }
+
+#b_devcon_mode {
+  width: 1em;
+  height: 1em;
+  float: left;
+  border: 1px solid #000;
+  margin-right: 5px; }
+
+/* bgcolor defined programatically */
+#b_js_log textarea#o_debug_cons {
+  width: 99%;
+  height: 15em;
+  font-family: monospace;
+  font-size: 110%;
+  margin: 5px 0 5px 0; }
+
+iframe.o_debug_json {
+  position: fixed;
+  width: 90%;
+  margin-left: 5%;
+  bottom: 4px;
+  height: 300px;
+  background: white;
+  border: 2px solid #ccd8e7;
+  z-index: 90000; }
+
+/* BRIEFCASE */
+div.b_briefcase div.b_briefcase_foldercomp {
+  margin-top: 0.5em;
+  border-top: 1px solid #bbb; }
+
+div.b_briefcase_foldercomp div.b_briefcase_createactions {
+  margin: 0.5em 0; }
+
+div.b_briefcase_foldercomp div.b_briefcase_createactions ul {
+  list-style: none;
+  margin: 0;
+  padding: 0;
+  white-space: nowrap;
+  font-size: 95%; }
+
+div.b_briefcase_foldercomp div.b_briefcase_createactions ul li {
+  float: right;
+  display: inline;
+  margin: 0 0 0 1em;
+  padding: 0 0 0 3px;
+  position: relative; }
+
+div.b_briefcase_foldercomp div.b_briefcase_createactions ul li a {
+  background-position: 0 50%;
+  background-repeat: no-repeat;
+  padding: 2px 0 2px 20px; }
+
+div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_upload {
+  background-image: url(../openolat/images/docs/document_upload.png); }
+
+div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfolder {
+  background-image: url(../openolat/images/folder_new.png); }
+
+div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfile {
+  background-image: url(../openolat/images/docs/document_add.png); }
+
+div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_deletedfiles {
+  background-image: url(../openolat/images/docs/document_remove.png); }
+
+div.b_briefcase_foldercomp div.b_briefcase_breadcrumb {
+  clear: both;
+  padding: 1px 0 1px 20px;
+  margin: 0.5em 0 0 0;
+  border-bottom: 1px solid #bbb;
+  background: url(../openolat/images/folder_open.png) no-repeat 0 50%; }
+
+div.b_briefcase_foldercomp div.b_briefcase_empty {
+  clear: both;
+  margin-top: 0.5em;
+  font-style: italic; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable {
+  clear: both;
+  border-collapse: collapse;
+  margin-bottom: 0.5em;
+  border-bottom: 1px solid #4F576A;
+  background: #fff;
+  width: 99.9%; }
+
+/* 99.9% width fix for FF border overflow issue*/
+div.b_briefcase_foldercomp table.b_briefcase_filetable thead {
+  color: #000;
+  background: #E0E2E8;
+  border-bottom: 1px solid #8F99AD; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable thead a, div.b_briefcase_foldercomp table.b_briefcase_filetable thead span {
+  color: #4F576A;
+  font-weight: bold; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable thead a:hover,
+div.b_briefcase_foldercomp table.b_briefcase_filetable thead a:focus {
+  color: #000000;
+  text-decoration: none;
+  background-color: transparent; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable tbody tr.b_table_odd {
+  background: #F3F4F5; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable tbody tr:hover, div.b_briefcase_foldercomp table.b_briefcase_filetable tbody tr:focus {
+  background: #E0E2E8; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable th, div.b_briefcase_foldercomp table.b_briefcase_filetable td {
+  white-space: nowrap;
+  text-align: right;
+  padding-right: 1em; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable th.b_last_child, div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_last_child {
+  padding-right: 0; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable th.b_first_child, div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_first_child {
+  width: 60%;
+  text-align: left; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable td input.b_checkbox {
+  margin: 0 4px 0 0; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable td a:hover, div.b_briefcase_foldercomp table.b_briefcase_filetable td a:focus {
+  background-color: transparent; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_last_child {
+  padding-left: 0; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions {
+  border: 0;
+  padding: 0;
+  margin: 0; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions td {
+  border: 0;
+  padding: 0 0 0 3px;
+  margin: 0; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions tr {
+  border: 0;
+  padding: 0;
+  margin: 0; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_file_icon {
+  background-image: url(../openolat/images/docs/document--pencil.png); }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_meta_icon {
+  background-image: url(../openolat/images/docs/document_metadata_edit.png); }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_edit_meta_dis_icon {
+  background-image: url(../openolat/images/docs/document_metadata_edit.png);
+  opacity: 0.2; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_versions_icon {
+  background-image: url(../images/brasato/versions.png); }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_versions_dis_icon {
+  background-image: url(../images/brasato/versions_dis.png);
+  opacity: 0.2; }
+
+div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_locked_file_icon {
+  background-image: url(../images/brasato/locked.png); }
+
+div.b_briefcase_preview {
+  background-color: white;
+  width: 200px;
+  height: 200px;
+  border: 1px solid #8EAACE;
+  margin-top: 2px; }
+
+div.b_briefcase div.b_briefcase_searchcomp {
+  float: left;
+  display: inline;
+  margin: 0.5em 0;
+  width: 14em; }
+
+div.b_briefcase div.b_briefcase_searchcomp input {
+  width: 10em; }
+
+div.b_briefcase div.b_briefcase_searchcomp div.b_form_element_wrapper.b_form_horizontal {
+  margin: 0; }
+
+div.b_briefcase div.b_briefcase_commandbuttons {
+  margin: 1em 0; }
+
+div.b_briefcase div.b_briefcase_webdav {
+  margin: 0.5em 0; }
+
+div.b_briefcase div.b_briefcase_quota {
+  clear: both;
+  margin-top: 1em;
+  padding-top: 1em;
+  border-top: 1px solid #000; }
+
+div.b_briefcase_meta {
+  size: 0.8em; }
+
+div.b_briefcase_meta p {
+  font-style: italic;
+  margin: 0;
+  padding-top: 2px; }
+
+div.b_send_documents ol.textbox-outer {
+  margin-left: 0;
+  border: 1px solid #ACAAAA;
+  background: #F6F6F6;
+  line-height: 1.3em; }
+
+div.b_send_documents ol li {
+  margin-left: 0; }
+
+div.b_send_documents textarea {
+  overflow: auto;
+  resize: none; }
+
+/*
+*  =================================================
+*  
+*   wiki styles for OpenOLAT 8
+*   
+*   @author strentini, sergio.trentini@frentix.com,  www.frentix.com
+*   @date Nov. 2011
+*
+*
+*  =================================================
+*/
+@media all {
+  /* wrapper container for the wiki tabbed pane */
+  div.o_wiki_wrapper {
+    clear: both;
+    /* wiki edit helper buttons */ }
+    div.o_wiki_wrapper div.o_wikimod_btn {
+      position: relative; }
+      div.o_wiki_wrapper div.o_wikimod_btn a {
+        margin-bottom: 9px;
+        background-repeat: no-repeat;
+        background-position: center center;
+        width: 20px;
+        height: 19px;
+        float: left;
+        display: inline;
+        padding-left: 2px;
+        border: 1px solid #ccc;
+        background-color: #eee;
+        border-radius: 4px;
+        -webkit-border-radius: 4px;
+        -moz-border-radius: 4px;
+        -o-border-radius: 4px;
+        margin-right: 2px; }
+      div.o_wiki_wrapper div.o_wikimod_btn a:hover {
+        border: 1px solid red; }
+    div.o_wiki_wrapper div.o_wikimod_btn div.b_contexthelp_wrapper a.b_contexthelp {
+      position: absolute;
+      top: 0;
+      right: 0; }
+    div.o_wiki_wrapper a.o_wikimod_btn_bold {
+      background-image: url(../openolat/images/wiki/edit-bold.png); }
+    div.o_wiki_wrapper a.o_wikimod_btn_italic {
+      background-image: url(../openolat/images/wiki/edit-italic.png); }
+    div.o_wiki_wrapper a.o_wikimod_btn_link {
+      background: url(../openolat/images/wiki/chain.png); }
+    div.o_wiki_wrapper a.o_wikimod_btn_extlink {
+      background: url(../openolat/images/wiki/chain--arrow.png); }
+    div.o_wiki_wrapper a.o_wikimod_btn_headline {
+      background: url(../openolat/images/wiki/edit-heading.png); }
+    div.o_wiki_wrapper a.o_wikimod_btn_image {
+      background: url(../openolat/images/wiki/image-medium.png); }
+    div.o_wiki_wrapper a.o_wikimod_btn_media {
+      background: url(../openolat/images/music-beam.png); }
+    div.o_wiki_wrapper a.o_wikimod_btn_math {
+      background: url(../openolat/images/wiki/edit-math.png); }
+    div.o_wiki_wrapper a.o_wikimod_btn_nowiki {
+      background: url(../openolat/images/wiki/edit-nowiki.png); }
+    div.o_wiki_wrapper a.o_wikimod_btn_hr {
+      background: url(../openolat/images/wiki/edit-hr.png); }
+    div.o_wiki_wrapper a.o_wikimod_btn_list {
+      background: url(../openolat/images/wiki/edit-list.png); }
+    div.o_wiki_wrapper a.o_wikimod_btn_numlist {
+      background: url(../openolat/images/wiki/edit-list-order.png); }
+
+  /* portfolio */
+  div.o_wiki_wrapper .b_eportfolio_add, div.o_wiki_wrapper .b_eportfolio_add_again {
+    position: absolute;
+    top: 28px;
+    right: 3px;
+    z-index: 99; }
+
+  /* override default styles to have smaller title and header on wiki pages */
+  div.o_wiki_wrapper h1 {
+    font-size: 1.0em; }
+
+  div.o_wiki_wrapper h2 {
+    font-size: 1.0em; }
+
+  div.o_wiki_wrapper h3 {
+    font-size: 1.0em; }
+
+  /* wiki chooser for file and links */
+  div.o_wikimod_linkchooser {
+    clear: both;
+    float: left;
+    display: inline; }
+
+  div.o_wikimod_filechooser {
+    margin: 0 2em;
+    float: left;
+    display: inline; }
+
+  /* wiki left side navigation */
+  div.o_wikimod_nav {
+    font-size: 90%;
+    padding-top: 1.5em; }
+
+  div.o_wikimod_nav legend {
+    font-size: 95%; }
+
+  div.o_wikimod_nav fieldset {
+    padding: 0.5em; }
+
+  div.o_wikimod_nav input {
+    width: 99%; }
+
+  div.o_wikimod_nav ul {
+    margin: 0;
+    padding: 0; }
+
+  div.o_wikimod_nav div.b_button_group {
+    margin: 0.5em 0;
+    text-align: left; }
+
+  div.o_wikimod_nav div.b_form div.b_form_element_wrapper.b_form_horizontal {
+    margin: 0; }
+
+  div.o_wikimod_nav .b_form_element_wrapper .b_form_element {
+    padding: 0; }
+
+  div.o_wikimod_nav div.b_form_element_wrapper div.b_form_element.b_form_horizontal .b_button {
+    padding: 0.5em 0; }
+
+  /* wiki edit form */
+  div.o_wikimod_editform_wrapper {
+    clear: both;
+    padding: 0.5em 0 0 0; }
+
+  div.o_wikimod_editform_wrapper div.b_form div.b_form_element_wrapper div.b_form_element_label {
+    display: none; }
+
+  div.o_wikimod_editform_wrapper div.b_form div.b_form_element_wrapper div.b_form_element {
+    clear: both;
+    margin-left: 0;
+    padding: 0 5px 0 0; }
+
+  div.o_wikimod_editform_wrapper div.b_form div.b_button_group {
+    margin-left: 0;
+    text-align: center; }
+
+  /* wiki run view of article */
+  h1.o_wikimod_heading, h3.o_wikimod_heading {
+    margin: 0 0 1em 0;
+    padding: .5em 0 .17em 0;
+    border-bottom: 1px solid #BFBFBF; }
+
+  #o_wikimod_uploader {
+    margin: 1em 0 0 0; }
+
+  .o_wikimod_version {
+    border: 1px solid #BFBFBF;
+    padding: 4px;
+    margin-top: 5px; }
+
+  .o_wikimod_diff {
+    border: 1px solid #BFBFBF;
+    padding: 4px;
+    margin: 0px; }
+
+  .o_wikimod_warn {
+    color: #DF9719; }
+
+  .o_wiki_error {
+    background-color: #DF9719; }
+
+  .o_wikimod_ins {
+    background-color: #A4DCA4; }
+
+  .o_wikimod_old {
+    background-color: #FFCCCC; }
+
+  .o_wikimod_new {
+    background-color: #A4DCA4; }
+
+  .o_wikimod_del {
+    background-color: #FFCCCC; }
+
+  .wiki-image {
+    float: right;
+    padding: 10px;
+    clear: right; }
+
+  .wiki-file-deleted {
+    text-decoration: line-through; } }
+/* FORUM */
+div.o_forum div.o_forum_switch {
+  border: 1px solid #8F99AD;
+  padding: 3px;
+  font-size: 95%; }
+div.o_forum div.o_forum_message {
+  margin: 1em 0 1em 0;
+  padding: 0.5em;
+  border: 1px solid #777777;
+  border-radius: 4px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  -o-border-radius: 4px;
+  background: #eeeeee; }
+div.o_forum div.o_forum_message_header_wrapper {
+  min-height: 24px; }
+  div.o_forum div.o_forum_message_header_wrapper div.o_forum_message_header {
+    min-height: 24px; }
+div.o_forum div.o_forum_message_title {
+  vertical-align: middle;
+  padding: 2px 5px 2px 5px;
+  min-height: 24px; }
+  div.o_forum div.o_forum_message_title strong {
+    font-weight: bold; }
+div.o_forum div.o_forum_message_new div.o_forum_message_title strong {
+  background: url(../openolat/images/new-text.png) no-repeat top right;
+  padding-right: 20px; }
+div.o_forum div.o_forum_message_creator {
+  width: 100px;
+  padding: 0.5em 0px 0px 0px;
+  font-size: 95%;
+  color: #4F576A; }
+  div.o_forum div.o_forum_message_creator strong {
+    font-weight: normal; }
+  div.o_forum div.o_forum_message_creator img {
+    border: 1px solid #4F576A; }
+div.o_forum div.o_forum_message_body {
+  padding: 0.5em;
+  margin-left: 100px;
+  background: #fff;
+  margin-right: 3px; }
+div.o_forum div.o_forum_message_attachments {
+  margin: 2em 0 0.5em 0;
+  border-top: 1px solid #555555;
+  font-size: 95%; }
+  div.o_forum div.o_forum_message_attachments strong {
+    display: block;
+    margin: 0.5em 0;
+    font-weight: normal;
+    font-style: italic; }
+  div.o_forum div.o_forum_message_attachments ul {
+    list-style: none;
+    margin: 0;
+    padding: 0; }
+  div.o_forum div.o_forum_message_attachments li {
+    margin: 0;
+    padding: 0; }
+  div.o_forum div.o_forum_message_attachments a {
+    background-repeat: no-repeat;
+    background-position: 0 50%;
+    padding-left: 20px;
+    padding-top: 2px;
+    padding-bottom: 2px; }
+div.o_forum div.o_forum_message_modified {
+  clear: both;
+  border-top: 1px solid #506D90;
+  padding: 0.5em 0 0 0;
+  font-size: 95%;
+  font-style: italic;
+  text-align: center;
+  color: #98221F; }
+div.o_forum div.o_forum_message_actions {
+  text-align: center;
+  padding: 0.2em 1em;
+  padding-top: 0.8em; }
+
+span.o_forum_thread_sticky {
+  font-weight: bold; }
+
+span.o_forum_status_thread_icon {
+  background-image: url(../openolat/images/forum/forum.png); }
+
+span.o_forum_status_sticky_closed_icon {
+  background-image: url(../openolat/images/forum/sticky-note-pin_locked.png); }
+
+span.o_forum_status_sticky_icon {
+  background-image: url(../openolat/images/forum/sticky-note-pin.png); }
+
+span.o_forum_status_closed_icon {
+  background-image: url(../openolat/images/forum/forum_locked.png); }
+
+div.o_forum_peekview {
+  margin: 1em 0 1em 0; }
+  div.o_forum_peekview h5 {
+    font-size: 1em;
+    position: relative;
+    left: -20px; }
+  div.o_forum_peekview div.o_forum_peekview_message {
+    padding-left: 20px;
+    padding-bottom: 15px; }
+  div.o_forum_peekview div.b_quote_wrapper {
+    display: none; }
+
+.o_forum_message_icon {
+  background-image: url(../openolat/images/forum/balloon-white-left.png); }
+
+div.o_forum_toolbar {
+  float: left;
+  display: inline;
+  width: 75%; }
+
+div#o_forum_fulltextsearch {
+  float: right;
+  display: inline; }
+  div#o_forum_fulltextsearch input {
+    width: 10em; }
+  div#o_forum_fulltextsearch div.b_form_element_wrapper.b_form_horizontal {
+    margin: 0; }
+
+/* ePortfolio */
+div.b_struct_edit_btn {
+  float: right;
+  display: inline; }
+
+div.o_ep_struct_editor div.b_subcr {
+  min-height: 35em;
+  background: white;
+  padding-right: 1em;
+  overflow-x: auto; }
+
+.b_artefact {
+  margin: 5px;
+  border: 1px solid #ddd;
+  padding: 1em;
+  border-radius: 5px;
+  -webkit-border-radius: 5px;
+  -moz-border-radius: 5px;
+  -o-border-radius: 5px;
+  moz-box-shadow: 0 1px 2px lightGrey;
+  -ms-box-shadow: 0 1px 2px lightGrey;
+  -o-box-shadow: 0 1px 2px lightGrey;
+  -webkit-box-shadow: 0 1px 2px lightGrey;
+  box-shadow: 0 1px 2px lightGrey;
+  background: #ebebeb url(../openolat/images/portfolio/artefaktbg.png) top left repeat-x; }
+
+.b_artefact div.b_actions {
+  margin-top: 2em; }
+
+.b_artefact div.b_desc {
+  font-style: italic;
+  margin: 1em 0; }
+
+.b_ep_artAttribLink {
+  background-image: url(../openolat/images/table_gear.png); }
+
+div.b_artefact_closed {
+  font-size: 25px;
+  float: right;
+  background: url(../images/brasato/locked.png) top right no-repeat; }
+
+div.b_eportfolio_preview_c100l .b_artefact {
+  margin: 3px; }
+
+div.b_eportfolio_preview_c33l .b_artefact {
+  font-size: 85%;
+  margin: 3px; }
+
+.b_ep_nolink {
+  color: #000000; }
+
+.b_ep_nolink:hover {
+  color: #000000;
+  text-decoration: none; }
+
+.b_ep_multiartefacts div.b_ep_add_message_with_arrow {
+  position: relative;
+  top: -50px; }
+
+.b_ep_multiartefacts div.b_artefact_count {
+  margin: 1em 0 1em 0; }
+
+a.b_ep_options {
+  background: url(../openolat/images/gear.png) top left no-repeat;
+  width: 16px;
+  height: 16px;
+  display: block; }
+
+.b_ep_liveblog_icon {
+  background-image: url(../openolat/images/portfolio/ep_liveblog_icon.png); }
+
+div.b_portfolio_toc ul {
+  margin: 0; }
+
+div.b_portfolio_toc li {
+  list-style-type: none; }
+
+div.b_portfolio_toc li.level1 {
+  font-size: 1.2em;
+  margin: 1.2em 0 0.2em 0;
+  border-bottom: 1px solid #ddd; }
+
+div.b_portfolio_toc li.level2 {
+  padding-left: 20px;
+  font-size: 1.1em;
+  border-bottom: 1px dotted #ddd; }
+
+div.b_portfolio_toc li.level3 {
+  padding-left: 40px; }
+
+div.b_portfolio_toc li a {
+  font-size: 0.8em;
+  text-decoration: none; }
+
+div.b_portfolio_toc .link {
+  float: right;
+  margin-right: 0px; }
+
+div.b_portfolio_toc .commentlink {
+  float: right;
+  margin-right: 10%; }
+
+div.b_portfolio_toc .type_artefact {
+  font-style: italic; }
+
+.b_portfolio_toc .type_map, .b_portfolio_toc .type_page, .b_portfolio_toc .type_struct, .b_portfolio_toc .type_artefact {
+  background-position: center left;
+  background-repeat: no-repeat;
+  padding-left: 20px; }
+
+a.b_eportfolio_add {
+  background: url(../openolat/images/portfolio/ep_add_icon.png) top left no-repeat;
+  display: block;
+  width: 16px;
+  height: 16px; }
+
+td a.b_eportfolio_add {
+  float: right;
+  padding-right: 2px; }
+
+a.b_eportfolio_add_again, span.b_eportfolio_add_again {
+  background: url(../openolat/images/portfolio/ep_add_again_icon.png) top left no-repeat;
+  display: block;
+  width: 16px;
+  height: 16px; }
+
+.o_efficiencystatement a.b_eportfolio_add_again {
+  float: right; }
+
+a.b_eportfolio_link {
+  background: url(../openolat/images/portfolio/ep_link_icon.png) top left no-repeat;
+  display: block;
+  width: 16px;
+  height: 16px; }
+
+ul.b_eportfolio_maps {
+  margin: 0;
+  padding: 0; }
+
+ul.b_eportfolio_maps li {
+  display: block;
+  float: left;
+  position: relative;
+  width: 195px;
+  height: 320px;
+  padding: 60px 60px 40px 65px;
+  margin: 0.5em;
+  background: url(../openolat/images/portfolio/eportfolio_map_default.png) top left no-repeat;
+  -moz-border-radius: 4px 14px 14px 4px;
+  -webkit-border-radius: 4px 10px 10px 4px;
+  -o-border-radius: 4px 14px 14px 4px;
+  border-radius: 4px 14px 14px 4px;
+  -webkit-box-shadow: 0 1px 3px lightGray;
+  -moz-box-shadow: 0 1px 3px lightGray;
+  -o-box-shadow: 0 1px 3px lightGray;
+  box-shadow: 0 1px 3px lightGray; }
+
+ul.b_eportfolio_maps li .b_map_info {
+  position: absolute;
+  bottom: 40px;
+  width: inherit;
+  font-size: 0.9em; }
+
+li.default .b_map_info p {
+  color: #bbb; }
+
+li.comic .b_map_info p {
+  color: #88a5c4; }
+
+li.leather .b_map_info p {
+  color: #C2A074; }
+
+ul.b_eportfolio_maps li .b_map_info a.b_open_icon {
+  font-size: 1.2em;
+  position: absolute;
+  bottom: 170px;
+  right: -10px; }
+
+ul.b_eportfolio_maps li.leather {
+  background: url(../openolat/images/portfolio/eportfolio_map_leather.png) top left no-repeat;
+  border: none; }
+
+ul.b_eportfolio_maps li.leather a {
+  color: #fad9a4; }
+
+ul.b_eportfolio_maps li.comic {
+  background: url(../openolat/images/portfolio/eportfolio_map_comic.png) top left no-repeat;
+  border: none; }
+
+ul.b_eportfolio_maps li.template.default {
+  background-image: url(../openolat/images/portfolio/eportfolio_map_default_template.png); }
+
+ul.b_eportfolio_maps li.template.comic {
+  background-image: url(../openolat/images/portfolio/eportfolio_map_comic_template.png); }
+
+ul.b_eportfolio_maps li.template.leather {
+  background-image: url(../openolat/images/portfolio/eportfolio_map_leather_template.png); }
+
+.b_map_page {
+  text-align: center;
+  clear: left; }
+
+.b_map_page_all {
+  text-align: center; }
+
+.b_map_page > span {
+  padding-right: 3px; }
+
+.b_map_page a.b_map_page_forward {
+  background: url(../images/brasato/resultset_next.png) no-repeat center right;
+  padding-right: 16px; }
+
+.b_eportfolio_map {
+  background: white;
+  padding: 1.5em;
+  min-height: 30em; }
+
+.b_eportfolio_map .b_ep_relative {
+  position: relative; }
+
+.b_eportfolio_toolbar div {
+  display: inline; }
+
+.b_eportfolio_toolbar {
+  text-align: right;
+  width: 100%;
+  border-bottom: 1px solid #acaaaa;
+  padding: 1px 2px 4px 2px;
+  margin-bottom: 6px; }
+
+.b_eportfolio_map a.b_eportfolio_add_link, .b_eportfolio_map a.b_eportfolio_del_link {
+  float: right;
+  display: inline;
+  background-repeat: no-repeat;
+  margin-left: 0.5em;
+  width: 16px;
+  height: 16px;
+  text-decoration: none; }
+
+.b_eportfolio_toolbar a.b_eportfolio_add_link, .b_eportfolio_map a.b_eportfolio_del_link {
+  float: none;
+  display: inline-block;
+  background-repeat: no-repeat;
+  margin-left: 0;
+  margin-right: 0.5em;
+  width: 16px;
+  height: 16px;
+  text-decoration: none; }
+
+.b_eportfolio_map div.b_eportfolio_add_link {
+  float: left;
+  display: inline;
+  margin-top: 2px; }
+
+.o_ep_toc_editor .b_eportfolio_add_link {
+  float: left; }
+
+.b_eportfolio_map .b_eportfolio_add_link:hover {
+  text-decoration: none; }
+
+.b_eportfolio_map .b_eportfolio_comment_link {
+  float: right;
+  display: inline;
+  margin-right: 5px; }
+
+.b_ep_tag_cloud {
+  padding: 1em 0 1em 0;
+  border-bottom: 1px solid #ccc; }
+
+.default div.b_ep_actualpage {
+  width: 100%;
+  margin-top: 0;
+  clear: both; }
+
+.default div.b_pagination {
+  float: none;
+  position: static;
+  width: 100%; }
+
+.default div.b_pagination ul {
+  margin: 0; }
+
+.default div.b_pagination li {
+  float: left;
+  display: inline;
+  width: auto;
+  margin: 2px 2px 2px 0;
+  padding: 0;
+  background: #FAFAFA;
+  -webkit-border-radius: 7px 7px 0 0;
+  -moz-border-radius: 7px 7px 0 0;
+  -o-border-radius: 7px 7px 0 0;
+  border-radius: 7px 7px 0 0; }
+
+.default div.b_pagination li span, .default div.b_pagination li a, .default div.b_pagination li {
+  display: block;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  -o-text-overflow: ellipsis; }
+
+.default div.b_pagination li.b_disabled {
+  padding-bottom: 2px;
+  margin-bottom: 0;
+  background: #f4f4f4; }
+
+.default div.b_pagination li .b_disabled {
+  color: black;
+  font-weight: normal;
+  padding: 5px 8px; }
+
+.default div.b_pagination li a {
+  padding: 1em;
+  padding: 5px 8px; }
+
+.default div.b_eportfolio_page, .default div.b_portfolio_toc, .default div.b_eportfolio_edit {
+  background-image: none; }
+
+.comic {
+  font-family: 'Comic Sans MS', 'Comic Sans', fantasy; }
+
+.b_eportfolio_map.comic {
+  background: #a2c3e8 none;
+  padding: 30px;
+  -webkit-border-top-right-radius: 10px;
+  -moz-border-radius-topright: 10px;
+  border-top-right-radius: 10px; }
+
+.comic div.b_pagination {
+  position: absolute;
+  right: 0;
+  width: 16%;
+  max-height: 100%;
+  overflow-x: hidden;
+  overflow-y: auto;
+  z-index: 100; }
+
+.comic .b_ep_relative > div:last-child {
+  position: relative; }
+
+.comic div.b_ep_actualpage {
+  width: 85%;
+  margin-top: 1em; }
+
+.comic div.b_pagination ul {
+  margin-top: 30px;
+  margin-left: 0px;
+  z-index: 1; }
+
+.comic div.b_pagination li {
+  width: 87%;
+  background: url(../openolat/images/portfolio/postit.png) center right;
+  padding: 0;
+  margin-bottom: 1em;
+  margin-left: 8%;
+  list-style-type: none; }
+
+.comic div.b_pagination li span.b_disabled, .comic div.b_pagination li a span {
+  display: block;
+  padding: 20px 15px 20px 10px;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  -o-text-overflow: ellipsis; }
+
+.comic div.b_pagination li span, .comic div.b_pagination li a, .comic div.b_pagination li {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  -o-text-overflow: ellipsis; }
+
+.comic div.b_pagination li.b_disabled {
+  z-index: 101;
+  margin-left: 0;
+  width: 100%; }
+
+.comic div.b_pagination li .b_disabled {
+  color: black;
+  font-weight: bold; }
+
+.comic div.b_pagination li.b_toc {
+  background-image: url(../openolat/images/portfolio/postit_pink.png); }
+
+.b_eportfolio_page, .b_portfolio_toc, .b_eportfolio_edit {
+  min-height: 40em;
+  background: #f4f4f4 url(../openolat/images/portfolio/eportfolio_page_corner.png) top right no-repeat;
+  padding: 1em;
+  -webkit-box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
+  -moz-box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
+  -o-box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
+  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2); }
+
+.b_eportfolio_page .b_eportfolio_structure > h5 {
+  border-bottom: 1px solid #ddd;
+  margin-top: 1.2em; }
+
+.b_eportfolio_edit {
+  margin-top: 1.5em; }
+
+.leather {
+  font-family: Palatino, Georgia, serif; }
+
+.b_eportfolio_map.leather {
+  background: url(../openolat/images/portfolio/light-leather-tile.jpg); }
+
+.leather div.b_ep_actualpage {
+  width: 100%;
+  margin-top: 0;
+  clear: both; }
+
+.leather .b_map_header h4, .leather .b_map_header p, .leather .b_map_header a.b_eportfolio_add_link, .leather .b_map_header a.b_eportfolio_comment_link {
+  color: white; }
+
+.leather div.b_pagination {
+  float: none;
+  position: static;
+  width: 100%; }
+
+.leather div.b_pagination ul {
+  margin: 0; }
+
+.leather div.b_pagination li {
+  float: left;
+  display: inline;
+  width: auto;
+  margin: 0 2px 0 0;
+  padding: 0;
+  background: #ddd;
+  -webkit-border-radius: 7px 7px 0 0;
+  -moz-border-radius: 7px 7px 0 0;
+  -o-border-radius: 7px 7px 0 0;
+  border-radius: 7px 7px 0 0; }
+
+.leather div.b_pagination li span, .leather div.b_pagination li a, .leather div.b_pagination li {
+  display: block;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  -o-text-overflow: ellipsis; }
+
+.leather div.b_pagination li.b_disabled {
+  padding: 0;
+  background: #f4f4f4; }
+
+.leather div.b_pagination li .b_disabled {
+  color: black;
+  font-weight: normal;
+  padding: 5px 8px; }
+
+.leather div.b_pagination li a {
+  padding: 1em;
+  padding: 5px 8px; }
+
+.leather div.b_eportfolio_page, .leather div.b_portfolio_toc, .leather div.b_eportfolio_edit {
+  background-image: none; }
+
+.b_eportfolio.b_artefacts hr.b_ep_filter_spacer {
+  height: 10px;
+  background: url(../openolat/images/portfolio/divider-arrow-down.png) 25px -12px no-repeat;
+  border: none;
+  border-top: 1px solid #ccc;
+  margin: 2em 0 1em; }
+
+.b_eportfolio.b_artefacts .b_ep_content {
+  background: white;
+  padding: 0 1em 1em 1em;
+  margin-top: 1.5em; }
+
+.b_eportfolio.b_artefacts .b_ep_content .b_ep_filter {
+  padding: 0;
+  width: 80%; }
+
+.b_ep_filter {
+  float: left; }
+
+.b_ep_viewmode {
+  float: right;
+  width: 15%; }
+
+.b_ep_add_artefact {
+  float: right; }
+
+.b_ep_content div.b_ep_viewmode div.b_form_element_label {
+  width: auto; }
+
+.b_eportfolio.b_artefacts div.b_segments_container {
+  top: -20px;
+  margin-bottom: -20px; }
+
+.b_ep_tagbrowser {
+  width: 30%;
+  margin-right: 0px; }
+
+.b_ep_tagbrowser_view {
+  width: 68%;
+  margin-left: 0px; }
+
+.b_ep_collection_icon {
+  background-image: url(../images/brasato/eportfolio/ep_collection.png) !important; }
+
+.b_ep_map_icon, .b_portfolio_toc .type_map {
+  background-image: url(../openolat/images/portfolio/briefcase.png) !important; }
+
+.b_ep_page_icon, .b_portfolio_toc .type_page {
+  background-image: url(../openolat/images/portfolio/ep_page.png) !important; }
+
+.b_ep_page_icon.b_eportfolio_add_link {
+  background-image: url(../openolat/images/portfolio/ep_page_add.png) !important; }
+
+.b_ep_struct_icon, .b_portfolio_toc .type_struct {
+  background-image: url(../openolat/images/portfolio/ep_struct.png) !important; }
+
+.b_ep_struct_icon.b_eportfolio_add_link {
+  background-image: url(../openolat/images/portfolio/ep_struct_add.png) !important; }
+
+.type_artefact {
+  background-image: url(../openolat/images/le_resources/portfolio.png) !important; }
+
+div.b_eportfolio_collect_restriction {
+  margin-top: 5px; }
+
+div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_el {
+  float: left;
+  margin-right: 5px; }
+
+div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link {
+  float: left;
+  margin-right: 5px; }
+
+div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link a {
+  padding-left: 0px;
+  text-decoration: none; }
+
+div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link a:hover {
+  text-decoration: none; }
+
+div.b_eportfolio_restriction_wrapper a.b_togglebox_opened {
+  z-index: 10;
+  display: block;
+  width: 9px;
+  height: 9px;
+  padding: 0;
+  margin-left: 12px; }
+
+div.b_eportfolio_restriction_wrapper a.b_togglebox_closed {
+  display: block;
+  width: 9px;
+  height: 9px;
+  padding: 0;
+  margin-left: 12px; }
+
+div.b_eportfolio_restriction_wrapper p {
+  padding: 0 0 0 15px;
+  margin: 0; }
+
+div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content {
+  padding: 3px 3px 3px 3px;
+  margin: 0;
+  border: 1px solid red;
+  background-image: none;
+  background-color: transparent;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px; }
+
+div.b_eportfolio_restriction_error div.b_tooglebox_opened div.b_togglebox_content {
+  border: 1px solid #FF9900 !important;
+  background: #fff5cc url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 2px !important; }
+
+div.b_eportfolio_restriction_passed div.b_tooglebox_opened div.b_togglebox_content {
+  border: 1px solid #F0F0F0 !important;
+  background: #fcfcfc url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 2px !important; }
+
+div.b_eportfolio_restriction_error div.b_togglebox_closed {
+  background: transparent url(../openolat/images/decorator/deco_warn.png) no-repeat top left !important; }
+
+div.b_eportfolio_restriction_passed div.b_togglebox_closed {
+  background: transparent url(../openolat/images/decorator/deco_ok.png) no-repeat top left !important; }
+
+div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content .b_togglebox_hide {
+  display: none; }
+
+.b_eportfolio_deadline_callout {
+  width: 300px; }
+
+.b_ep_multiartefacts .b_c50l {
+  clear: both; }
+
+.b_eportfolio_fulltextsearch {
+  float: left; }
+
+.b_eportfolio_share_policy_wrapper {
+  margin: 5px;
+  border: 1px solid #ddd;
+  padding: 1em;
+  -webkit-border-radius: 5px;
+  -moz-border-radius: 5px;
+  border-radius: 5px;
+  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
+  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
+  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
+  background: #ebebeb url(../images/brasato/eportfolio/artefaktbg.png) top left repeat-x; }
+
+.b_eportfolio_share_policy_wrapper .b_float_right {
+  text-align: right; }
+
+.b_eportfolio_share_policy_wrapper a.bit-input {
+  text-decoration: none; }
+
+.b_eportfolio_share_policy div input, .b_eportfolio_share_policy div span, .b_eportfolio_share_policy div select {
+  float: left;
+  margin-right: 5px;
+  padding-right: 5px; }
+
+.b_eportfolio_share_policy div span.b_form_datechooser {
+  background: url(../openolat/images/calendar.png) no-repeat;
+  padding-left: 18px;
+  height: 16px;
+  line-height: 16px;
+  margin-left: 2px; }
+
+.b_eportfolio_share_policy .b_ep_share_date span {
+  float: left; }
+
+.b_eportfolio_share_policy_wrapper .b_eportfolio_share_policy {
+  padding-left: 20px;
+  background: url(../openolat/images/user.png) top left no-repeat; }
+
+.b_eportfolio_share_policy_wrapper.policytype_group .b_eportfolio_share_policy {
+  background-image: url(../openolat/images/users.png); }
+
+.b_eportfolio_share_policy_wrapper.policytype_invitation .b_eportfolio_share_policy {
+  background-image: url(../openolat/images/share.png); }
+
+.b_eportfolio_share_policy_wrapper.policytype_allusers .b_eportfolio_share_policy {
+  background-image: url(../openolat/images/users.png); }
+
+div.b_ep_inline div input, div.b_ep_inline div span, div.b_ep_inline div select {
+  float: left;
+  margin-right: 5px;
+  padding-right: 5px; }
+
+/* ims cp */
+div.o_module_cp_wrapper a.b_content_download {
+  background: url("../openolat/images/drive-download.png") no-repeat top left;
+  padding-left: 20px;
+  margin: 3px;
+  display: block;
+  min-height: 16px; }
+div.o_module_cp_wrapper div#o_local_fulltextsearch {
+  position: absolute;
+  top: 0;
+  right: 0;
+  z-index: 10; }
+div.o_module_cp_wrapper div#o_local_fulltextsearch div.b_form_element_wrapper.b_form_horizontal {
+  margin: 0; }
+div.o_module_cp_wrapper div.o_cp_navigation {
+  float: right;
+  display: inline;
+  padding: 3px 0 3px 3px;
+  background: #ebebeb;
+  border: 1px solid #ddd;
+  white-space: nowrap;
+  border-radius: 3px;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  -o-border-radius: 3px;
+  moz-box-shadow: 0 1px 2px lightGrey;
+  -ms-box-shadow: 0 1px 2px lightGrey;
+  -o-box-shadow: 0 1px 2px lightGrey;
+  -webkit-box-shadow: 0 1px 2px lightGrey;
+  box-shadow: 0 1px 2px lightGrey; }
+div.o_module_cp_wrapper div span a {
+  margin: 0 2px; }
+div.o_module_cp_wrapper div span.b_disabled {
+  display: none; }
+div.o_module_cp_wrapper div span a.o_cp_previous_icon {
+  background-image: url("../openolat/images/arrow_left_big.png");
+  text-decoration: none; }
+div.o_module_cp_wrapper div span a.o_cp_previous_icon span {
+  display: none; }
+div.o_module_cp_wrapper div span a.o_cp_next_icon {
+  background-image: url("../openolat/images/arrow_right_big.png"); }
+div.o_module_cp_wrapper div span a.o_cp_next_icon span {
+  display: none; }
+div.o_module_cp_wrapper div span a.o_cp_print_icon {
+  background-image: url("../openolat/images/printer.png"); }
+div.o_module_cp_wrapper div span a.o_cp_print_icon span {
+  display: none; }
+div.o_module_cp_wrapper div.o_cp_navigation div, div.o_module_cp_wrapper div.o_cp_navigation form {
+  display: inline; }
+div.o_module_cp_wrapper div.o_cp_navigation div.b_clearfix {
+  display: inline;
+  clear: none; }
+div.o_module_cp_wrapper div.o_cp_navigation div.b_clearfix:after {
+  display: inline;
+  height: 0;
+  clear: none;
+  visibility: hidden; }
+
+/* IMS CP Editor */
+#o_cpeditor_menu div.o_cpeditor_menu_tree {
+  padding: 10px 0 0 0; }
+
+#b_col1 div.b_menu_toolbar a, #b_col3 div.b_menu_toolbar a {
+  width: 16px;
+  height: 16px;
+  margin: 3px;
+  float: right;
+  display: inline;
+  background-repeat: no-repeat; }
+
+a.o_cpeditor_import {
+  background-image: url("../openolat/images/docs/document_upload.png"); }
+
+a.o_cpeditor_new {
+  background-image: url("../openolat/images/docs/document_add.png"); }
+
+a.o_cpeditor_copy {
+  background-image: url("../openolat/images/docs/document_copy.png"); }
+
+a.o_cpeditor_delete {
+  background-image: url("../openolat/images/docs/document_remove.png"); }
+
+a.o_cpeditor_edit {
+  background-image: url(../openolat/images/docs/document_metadata_edit.png); }
+
+a.o_cpeditor_preview {
+  background-image: url(../openolat/images/docs/document_preview.png); }
+
+#o_cpeditor_content div.o_cpeditor_message {
+  padding: 20px; }
+
+/* QTI legacy styles */
+#o_qti_run div.b_button_group {
+  text-align: left; }
+
+#o_qti_run_title {
+  text-align: right; }
+
+#o_qti_run_title strong {
+  float: left;
+  display: inline; }
+
+#o_qti_run.o_qti_survey #o_qti_run_title strong {
+  background: url(../openolat/images/le_resources/survey.png) no-repeat left 50%;
+  padding-left: 20px; }
+
+#o_qti_run.o_qti_test #o_qti_run_title strong {
+  background: url(../openolat/images/le_resources/test.png) no-repeat left 50%;
+  padding-left: 20px;
+  padding-top: 2px;
+  padding-bottom: 2px; }
+
+#o_qti_scoreinfo {
+  float: left;
+  display: inline;
+  padding: .3em;
+  border: 1px solid silver;
+  margin-right: 1em; }
+
+#o_qti_run_score {
+  clear: both;
+  margin: 1em 0;
+  padding: 0 0 1.5em 0;
+  font-size: 90%; }
+
+#o_qti_run_scoreinfo {
+  float: left;
+  display: inline; }
+
+#o_qti_run_scoreprogress {
+  float: left;
+  display: inline;
+  margin-left: 1em; }
+
+#o_qti_questioninfo {
+  float: left;
+  display: inline;
+  padding: .3em;
+  border: 1px solid silver; }
+
+#o_qti_run_questioninfo {
+  float: left;
+  display: inline;
+  margin-left: 1em; }
+
+#o_qti_run_questionprogress {
+  float: left;
+  display: inline;
+  margin-left: 1em; }
+
+#o_qti_run_status {
+  clear: both; }
+
+#o_qti_run_main {
+  clear: both;
+  border-top: 1px solid #504D4E;
+  margin: 0.5em 0;
+  padding: 1em 0; }
+
+#o_qti_run_menu_inner h4 {
+  font-size: 100%; }
+
+#o_qti_run_menu_inner ul {
+  padding: 0;
+  margin: 0;
+  list-style: none; }
+
+#o_qti_run_menu_inner li {
+  clear: both;
+  padding: 0;
+  margin: 0;
+  white-space: normal; }
+
+#o_qti_run_menu_inner li.o_qti_menu_section {
+  padding: 1em 0; }
+
+#o_qti_run_menu_inner li div.o_qti_menu_item, #o_qti_run_menu li div.o_qti_menu_section {
+  float: left;
+  display: inline;
+  margin-right: 10px; }
+
+#o_qti_results td {
+  padding: 0; }
+
+/* fixes problem with truncated testresults, see OLAT-3416 */
+#b_main.o_editor_qti_correct {
+  background-image: url(../openolat/images/qti/correct_bg.png);
+  background-position: top left; }
+
+#b_main.o_editor_qti {
+  background-image: url(../images/olat/editor/edit_bg.png);
+  background-position: top left; }
+
+#o_qti_hints, #o_qti_solutions {
+  margin: 1em 0; }
+
+#o_qti_hints a {
+  background: url(../images/olat/lightbulb.png) no-repeat left 50%;
+  cursor: help;
+  padding-left: 20px; }
+
+#o_qti_hints a:focus, #o_qti_hints a:hover {
+  background-image: url(../images/olat/lightbulb_hover.png); }
+
+#o_qti_solutions a {
+  background: url(../openolat/images/magnifier-zoom.png) no-repeat left 50%;
+  cursor: help;
+  padding-left: 20px; }
+
+.qti_response_level_feedback_label {
+  margin-top: 1em;
+  font-style: italic; }
+
+.qti_edit_layout {
+  position: relative;
+  padding-right: 30px;
+  margin-bottom: 0.6em; }
+
+.qti_edit_layout .edit_link {
+  position: absolute;
+  top: 10px;
+  right: 0px; }
+
+/* QTI item styles */
+div.o_qti_item {
+  margin-bottom: 2em;
+  margin-top: 2em;
+  line-height: 2em; }
+
+div.o_qti_item input.b_radio, div.o_qti_item input.b_checkbox {
+  margin-left: 1em; }
+
+div.o_qti_item textarea {
+  width: 99%; }
+
+/* prevent scrollbars */
+img.o_qti_item_matimage {
+  vertical-align: middle; }
+
+div.o_qti_item_choice {
+  display: table;
+  margin: 1em 0; }
+
+div.o_qti_item_choice_option {
+  display: table;
+  padding: .5em;
+  border: 1px solid transparent; }
+
+div.o_qti_item_choice_option_flow {
+  display: table-cell;
+  padding: .5em;
+  border: 1px solid transparent; }
+
+div.o_qti_item_choice_option:hover {
+  border: 1px solid silver; }
+
+div.o_qti_item_choice_option_flow:hover {
+  border: 1px solid silver; }
+
+div.o_qti_item_choice_option_input {
+  display: table-cell;
+  vertical-align: middle;
+  padding-right: .5em; }
+
+div.o_qti_item_choice_option_input input {
+  vertical-align: middle; }
+
+div.o_qti_item_choice_option_value {
+  display: table-cell; }
+
+div.o_qti_item_choice_option_value span {
+  line-height: 1.5em;
+  margin-right: 1em; }
+
+div.o_qti_item_choice_option_autoenum {
+  display: table-cell;
+  line-height: 1.5em;
+  width: 1em;
+  overflow: hidden;
+  vertical-align: middle;
+  color: silver;
+  border: 0;
+  padding: 0;
+  margin: 0; }
+
+#o_qti_menu a {
+  text-decoration: none; }
+
+.o_qti_menu_section {
+  padding: .3em; }
+
+.o_qti_menu_section_clickable {
+  padding: .3em;
+  border: 1px solid transparent;
+  display: inline-block; }
+
+.o_qti_menu_section_clickable:hover {
+  padding: .3em;
+  border: 1px solid silver;
+  display: inline-block; }
+
+.o_qti_menu_section_active {
+  padding: .3em;
+  border: 1px dashed silver;
+  display: inline-block; }
+
+.o_qti_menu_item {
+  padding: .3em;
+  border: 1px solid transparent;
+  display: inline-block; }
+
+.o_qti_menu_item_active {
+  padding: .3em;
+  border: 1px dashed silver;
+  display: inline-block; }
+
+.o_qti_menu_item_active:hover {
+  border: 1px solid silver; }
+
+.o_qti_menu_item_inactive {
+  padding: .3em;
+  border: 1px solid transparent; }
+
+.o_qti_menu_item:hover {
+  border: 1px solid silver; }
+
+.o_qti_menu_item_closed {
+  padding: .3em;
+  border: 1px solid transparent; }
+
+.o_qti_menu_item_attempts_marked, .o_qti_menu_item_attempts {
+  color: silver;
+  padding: .2em .4em;
+  border: 1px solid transparent;
+  background: url(../openolat/images/flag.png) center right no-repeat;
+  display: block;
+  width: 20px;
+  height: 12px; }
+
+.o_qti_menu_item_attempts {
+  opacity: 0.4;
+  filter: alpha(opacity=40); }
+
+.o_qti_menu_item_attempts:hover, .o_qti_menu_item_attempts_marked:hover {
+  color: silver;
+  border: 1px solid silver;
+  cursor: pointer; }
+
+#o_qti_item_note {
+  padding: 0;
+  margin: 0;
+  border: 0;
+  color: silver;
+  font-family: inherit;
+  font-size: 1em;
+  background: inherit;
+  overflow: hidden; }
+
+.o_qti_item_note_box {
+  border: 1px dashed silver;
+  padding: .1em;
+  margin: 0;
+  padding-left: .5em; }
+
+div.o_qti_item_note_box_title {
+  color: silver; }
+
+div.o_qti_item_itemfeedback, div.o_qti_item_assessfeedback, div.o_qti_item_o_qti_item_sectionfeedback {
+  margin: 1em 0;
+  background: url(../openolat/images/lightning.png) no-repeat left 50%;
+  padding-left: 20px; }
+
+div.o_qti_item_objectives {
+  margin: 1em 0;
+  background: url(../images/brasato/information.png) no-repeat left 50%;
+  padding-left: 20px;
+  line-height: 2em; }
+
+/* qti menu items */
+.o_qti_timelimit_icon {
+  background-image: url(../openolat/images/qti/time.png); }
+
+.o_qti_attemptslimit_icon {
+  background-image: url(../openolat/images/qti/tries.png); }
+
+.o_qti_closed_icon {
+  background-image: url(../openolat/images/qti/closed.png); }
+
+.o_mi_qtialientitem {
+  background-image: url(../openolat/images/docs/document_plain.png); }
+
+.o_mi_qtisc {
+  background-image: url(../openolat/images/qti/scItem.png); }
+
+.o_mi_qtimc {
+  background-image: url(../openolat/images/qti/mcItem.png); }
+
+.o_mi_qtikprim {
+  background-image: url(../openolat/images/qti/kprimItem.png); }
+
+.o_mi_qtifib {
+  background-image: url(../openolat/images/qti/fibItem.png); }
+
+.o_mi_qtiessay {
+  background-image: url(../openolat/images/qti/essayItem.png); }
+
+.o_mi_qtisection {
+  background-image: url(../openolat/images/qti/section.png); }
+
+.o_mi_iqtest {
+  background-image: url(../openolat/images/le_resources/test.png); }
+
+.o_mi_iqsurv {
+  background-image: url(../openolat/images/le_resources/survey.png); }
+
+/* TRANSLATION TOOL */
+div.b_translation_start div.b_translation_start_body, div.b_translation_edit div.b_translation_edit_body {
+  margin-top: 0.5em;
+  padding-top: 0.5em;
+  border-top: 1px solid #ACAAAA; }
+
+div.b_translation_list div.b_translation_list_package {
+  margin-bottom: 0.5em;
+  padding: 1em 0 0.5em 0;
+  border-bottom: 1px solid #ACAAAA; }
+
+div.b_translation_list div.b_translation_list_package div.b_translation_package_icon {
+  margin-bottom: 0.5em;
+  border-bottom: 1px solid #ACAAAA; }
+
+div.b_translation_edit div.b_button_group {
+  text-align: center;
+  margin: 1em 0 0 0; }
+
+div.b_translation_edit div.b_translation_edit_head div.b_progress div.b_progress_bar {
+  float: left;
+  display: inline; }
+
+div.b_translation_edit div.b_translation_edit_head div.b_progress div.b_progress_label {
+  float: left;
+  display: inline;
+  padding: 0 0 0 1em;
+  font-size: 90%;
+  font-style: italic; }
+
+div.b_translation_edit div.b_translation_edit_body textarea {
+  width: 99%; }
+
+div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_annotation {
+  margin-top: 1em; }
+
+div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_compare {
+  margin-top: 1em;
+  padding-top: 0.5em;
+  border-top: 1px solid #ACAAAA; }
+
+div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_target {
+  margin-top: 1em;
+  padding-top: 0.5em;
+  border-top: 1px solid #ACAAAA; }
+
+div.b_translation_edit div.b_form_element textarea.b_form_element_disabled {
+  color: #000;
+  background: #EEEEEE;
+  border: 1px solid #CDCBCB; }
+
+div.b_translation_edit div.b_translation_edit_annotation h5 {
+  font-weight: normal;
+  font-size: 100%;
+  font-style: italic; }
+
+div.b_translation_edit div.b_translation_edit_annotation textarea {
+  font-style: italic; }
+
+div.b_translation_edit div.b_translation_refKey {
+  background-image: url(../openolat/images/magnifier-zoom.png);
+  vertical-align: middle;
+  background-color: #eee;
+  border: 1px solid #ACAAAA;
+  margin-right: 1%; }
+
+div.b_translation_edit div.b_translation_refKey code {
+  line-height: 1em;
+  vertical-align: middle; }
+
+div.b_translation_edit div.b_translation_refKey span {
+  line-height: 1em;
+  font-style: italic; }
+
+div.b_translation_config span.b_translation_status, ul.b_translation_status span.b_translation_status {
+  position: absolute;
+  right: 1em; }
+
+ul.b_translation_status {
+  column-count: 2;
+  -moz-column-count: 2;
+  list-style: none; }
+
+ul.b_translation_status li {
+  position: relative; }
+
+.b_translation_package_icon {
+  background-image: url(../openolat/images/folder_open.png) !important; }
+
+.b_translation_item_icon {
+  background-image: url(../openolat/images/docs/document-node.png) !important; }
+
+.b_translation_search_icon {
+  background-image: url(../openolat/images/magnifier-zoom.png) !important; }
+
+/* inline translation tool */
+span.b_translation_i18nitem {
+  position: relative !important; }
+
+span.b_translation_i18nitem a.b_translation_i18nitem_launcher {
+  position: absolute !important;
+  z-index: 100 !important;
+  width: 16px !important;
+  height: 16px !important;
+  top: 0 !important;
+  left: 5px !important;
+  background: #eeeeee url(../openolat/images/docs/document_metadata_edit.png) no-repeat !important;
+  border: 1px solid #6e6e6e !important;
+  border-radius: 3px;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  -o-border-radius: 3px;
+  padding: 0 !important; }
+
+/* lang selector: make sure you match the country flag, not always the same as the lang code */
+/* SELECTION TREE  (when you insert a BuildingBlock into a course) */
+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); }
diff --git a/src/main/webapp/static/themes/openolatexample/layout.scss b/src/main/webapp/static/themes/openolatexample/layout.scss
new file mode 100644
index 0000000000000000000000000000000000000000..928e117a534f9cda592f2f693f3118224314b49f
--- /dev/null
+++ b/src/main/webapp/static/themes/openolatexample/layout.scss
@@ -0,0 +1,41 @@
+@charset "UTF-8";
+
+
+@import "license";
+
+@import url(../../yaml/core/slim_base.css);
+
+/* --------------- */
+@import "mixins";
+@import "definitions";
+
+
+/* --------------- */
+@import "basemod";
+@import "dd";
+@import "icons";
+@import "content";
+
+/* ------- print -------- */
+@import "p_basemod";
+@import "p_content";
+
+/* ------- mobile -------- */
+@import "m_basemod";
+
+
+/* -------- modules -------- */
+@import "dialogs";
+@import "portlets_boxes";
+@import "tabpane";
+@import "formsandbuttons";
+@import "tables";
+@import "develdebug";
+@import "briefcase";
+@import "wiki";
+@import "forum";
+@import "eportfolio";
+@import "imscp";
+@import "qti";
+@import "translationtool";
+@import "course";
\ No newline at end of file