diff --git a/src/main/java/org/olat/bookmark/AddAndEditBookmarkController.java b/src/main/java/org/olat/bookmark/AddAndEditBookmarkController.java deleted file mode 100644 index facf01b84503ff17209485cc4bd2e8c4df990364..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/AddAndEditBookmarkController.java +++ /dev/null @@ -1,161 +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.bookmark; - -import org.olat.core.gui.UserRequest; -import org.olat.core.gui.components.Component; -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.id.OLATResourceable; - -/** - * <!--**************--> - * <h3>Responsability:</h3> - * Offers the possibility to save a new bookmark with a title and a description, - * or edit an existing one. - * <p> - * <!--**************--> - * <h3>Events fired:</h3> - * <ul> - * <li><i>{@link org.olat.core.gui.control.Event#DONE_EVENT DONE_EVENT}</i>:<br> - * Only if the changed, added bookmark was successfully saved.</li> - * <li><i>{@link org.olat.core.gui.control.Event#CANCELLED_EVENT CANCELLED_EVENT}</i>:<br> - * If the workflow is canceled by the user.</li> - * </ul> - * <p> - * <!--**************--> - * <h3>Workflow:</h3> - * <ul> - * <li><i>Mainflow:</i><br> - * ask for a title and description.<br> - * update or save the bookmark.</li> - * <li><i>Cancel:</i><br> - * cancel entering bookmark.<br> - * </li> - * </ul> - * <p> - * <!--**************--> - * <h3>Hints:</h3> - * empty <code>doDispose()</code>. - * <p> - * - * @author Sabina Jeger - * - */ -public class AddAndEditBookmarkController extends BasicController { - - private Bookmark myBook; - private VelocityContainer myContent; - private BookmarkForm bmForm; - private boolean updateMode; - - /** - * Constructor of controller for adding a bookmark - * - * @param ureq - * @param wControl - * @param proposedTitle max 255 chars - * @param detailData max 255 chars - * @param olatres - * @param displayResourceableType - */ - public AddAndEditBookmarkController(UserRequest ureq, WindowControl wControl, String proposedTitle, String detailData, - OLATResourceable olatres, String displayResourceableType) { - super(ureq, wControl); - Bookmark mb = new BookmarkImpl(displayResourceableType, olatres.getResourceableTypeName(), olatres.getResourceableId(), proposedTitle, - detailData, ureq.getIdentity()); - init(ureq, wControl, mb, false); - } - - /** - * Constructor of controller for editing a bookmark - * - * @param ureq - * @param wControl - * @param bm bookmark to be edited - */ - public AddAndEditBookmarkController(UserRequest ureq, WindowControl wControl, Bookmark bm) { - super(ureq, wControl); - - init(ureq, wControl, bm, true); - } - - /** - * Internal helper to initialize the controller. Should be called only once - * - * @param bm - * @param aupdateMode - */ - private void init(UserRequest ureq, WindowControl wControl, Bookmark bm, boolean aupdateMode) { - - this.myBook = bm; - this.updateMode = aupdateMode; - - myContent = createVelocityContainer("addbookmark"); - - bmForm = new BookmarkForm(ureq, wControl, myBook); - listenTo(bmForm); - myContent.put(BookmarkForm.FORMNAME, bmForm.getInitialComponent()); - - putInitialPanel(myContent); - } - - public void event(UserRequest ureq, Component source, Event event) { - // - } - - public void event(UserRequest ureq, Controller source, Event event) { - - - if (source == bmForm && event == Event.DONE_EVENT) { - - String newTitle = bmForm.bmtitle.getValue(); - String newDesc = bmForm.bmdescription.getValue(); - - myBook.setTitle(newTitle); - myBook.setDescription(newDesc); - BookmarkManager bm = BookmarkManager.getInstance(); - if (updateMode) { - bm.updateBookmark(myBook); - showInfo("bookmark.update.successful"); - } else { - bm.createAndPersistBookmark(myBook); - showInfo("bookmark.create.successful"); - } - fireEvent(ureq, Event.DONE_EVENT); - } - } - - /** - * @see org.olat.core.gui.control.DefaultController#doDispose(boolean) - */ - protected void doDispose() { - // nothing to do here - } -} diff --git a/src/main/java/org/olat/bookmark/Bookmark.java b/src/main/java/org/olat/bookmark/Bookmark.java deleted file mode 100644 index fd325f1f4984647f5b6ff932708fa6a4e90da505..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/Bookmark.java +++ /dev/null @@ -1,119 +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.bookmark; - -import org.olat.core.id.CreateInfo; -import org.olat.core.id.Identity; -import org.olat.core.id.Persistable; - -/** - * Description: - * - * @author Sabina Jeger - */ -public interface Bookmark extends CreateInfo, Persistable { - - /** - * returns the description of the bookmark - * - * @return description - */ - public String getDescription(); - - /** - * returns the internal reference (url) of the bookmark - * - * @return internal reference - */ - public String getDetaildata(); - - /** - * returns the resource key of the bookmark - * - * @return resource key - */ - public Long getOlatreskey(); - - /** - * @return the resource type (course, forum etc.) of the bookmark - */ - public String getOlatrestype(); - - /** - * @return the resource type to display to the user - */ - public String getDisplayrestype(); - - /** - * @return the owner of the bookmark - */ - public Identity getOwner(); - - /** - * @return title of the bookmark - */ - public String getTitle(); - - /** - * @param description the description of the bookmark - */ - public void setDescription(String description); - - /** - * set the internal reference of the bookmark - * - * @param intref - */ - public void setDetaildata(String intref); - - /** - * set the olat resource key of the bookmark - * - * @param olatreskey resource key - */ - public void setOlatreskey(Long olatreskey); - - /** - * set the olat resource type of the bookmark - * - * @param olatrestype resource type - */ - public void setOlatrestype(String olatrestype); - - /** - * set the owner of the bookmark - * - * @param ident - */ - public void setOwner(Identity ident); - - /** - * set the title of the bookmark - * - * @param string - */ - public void setTitle(String string); -} \ No newline at end of file diff --git a/src/main/java/org/olat/bookmark/BookmarkEvent.java b/src/main/java/org/olat/bookmark/BookmarkEvent.java deleted file mode 100644 index 83ecf7e363a5ea5cbdcf5959eae7cd8cc464b042..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/BookmarkEvent.java +++ /dev/null @@ -1,74 +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.bookmark; - -import org.olat.core.util.event.MultiUserEvent; - -/** - * - * Description:<br> - * Any add/modified/delete bookmark event. <p> - * The event could be targeted at a specific user or at all users. - * - * <P> - * Initial Date: 23.09.2008 <br> - * @author Lavinia Dumitrescu - */ -public class BookmarkEvent extends MultiUserEvent { - - private static final String ALL_USERS = "all"; - private final String username; - - /** - * - * @param username - */ - public BookmarkEvent(String username) { - super("bookmark_event"); - this.username = username; - } - - /** - * No argument constructor - this event concerns all users. - * - */ - public BookmarkEvent() { - this(ALL_USERS); - } - - public String getUsername() { - return username; - } - - /** - * - * @return true if the event is intended for all users, else false - */ - public boolean isAllUsersEvent() { - return ALL_USERS.equals(getUsername()); - } - -} diff --git a/src/main/java/org/olat/bookmark/BookmarkForm.java b/src/main/java/org/olat/bookmark/BookmarkForm.java deleted file mode 100644 index dc1fd548448679bd8f5d60a8a4306aa53a3af613..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/BookmarkForm.java +++ /dev/null @@ -1,89 +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.bookmark; - -import org.olat.ControllerFactory; -import org.olat.core.gui.UserRequest; - -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.control.Controller; -import org.olat.core.gui.control.Event; -import org.olat.core.gui.control.WindowControl; - -/** - * Initial Date: Jul 14, 2003 - * - * @author jeger Comment: Form for creating and changing the bookmark. - */ -public class BookmarkForm extends FormBasicController { - - private Bookmark bm; - - protected static final String FORMNAME = "bookmarkform"; - protected static final String BM_TYPE = "bookmarktype"; - protected static final String BM_TITLE = "bookmarktitle"; - protected static final String BM_DESCRIPTION = "bookmarkdesc"; - - private TextElement bmtype; - protected TextElement bmtitle; - protected TextElement bmdescription; - - /** - * @param name - * @param locale - * @param bm - */ - public BookmarkForm(UserRequest ureq, WindowControl wControl, Bookmark bm) { - super(ureq, wControl); - this.bm = bm; - initForm(ureq); - } - - @Override - protected void formOK(UserRequest ureq) { - fireEvent(ureq, Event.DONE_EVENT); - } - - @Override - protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { - bmtype = uifactory.addTextElement(BM_TYPE, "form.bmtype", 128, ControllerFactory.translateResourceableTypeName(bm.getDisplayrestype(),getLocale()), formLayout); - bmtype.setEnabled(false); - - bmtitle = uifactory.addTextElement(BM_TITLE, "form.bmtitle", 255, bm.getTitle(), formLayout); - bmtitle.setMandatory(true); - bmtitle.setNotEmptyCheck("error.title.empty"); - bmdescription = uifactory.addTextElement(BM_DESCRIPTION,"form.bmdescription", 255, bm.getDescription(),formLayout); - - uifactory.addFormSubmitButton("save", "save", formLayout); - } - - @Override - protected void doDispose() { - // - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/bookmark/BookmarkHandler.java b/src/main/java/org/olat/bookmark/BookmarkHandler.java deleted file mode 100644 index b8c77a9b5a293d6b48b5e06a2bb22483c85c463b..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/BookmarkHandler.java +++ /dev/null @@ -1,65 +0,0 @@ -/** - * <a href="http://www.openolat.org"> - * OpenOLAT - Online Learning and Training</a><br> - * <p> - * Licensed under the Apache License, Version 2.0 (the "License"); <br> - * you may not use this file except in compliance with the License.<br> - * You may obtain a copy of the License at the - * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> - * <p> - * Unless required by applicable law or agreed to in writing,<br> - * software distributed under the License is distributed on an "AS IS" BASIS, <br> - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> - * See the License for the specific language governing permissions and <br> - * limitations under the License. - * <p> - * Initial code contributed and copyrighted by<br> - * frentix GmbH, http://www.frentix.com - * <p> - */ -package org.olat.bookmark; - -import org.olat.core.gui.UserRequest; -import org.olat.core.gui.control.WindowControl; - -/** - * Description:<br> - * The bookmark launch handler implements the launching code of a bookmark. The - * handler must check if the given bookmark must be handled by this handler. It - * must only launch bookmarks that are launchable by this handler. - * <P> - * The handlers must be added to the appropriate spring config file. See the - * RepoBookmarkHandler for an example - * <P> - * When you create a new bookmark handler, you should usually also implement a - * JumpInHandlerFactory for this type of bookmark! - * <P> - * Initial Date: 28.05.2008 <br> - * - * @author gnaegi - */ -public interface BookmarkHandler { - - /** - * Try to launch the given OLAT resource - * - * @param bookmark The bookmark to be launched - * @param ureq. The current user request - * @param wControl The current window control - * @return TRUE: this handler was responsible for launching this bookmark. - * Note that the launching process could have failed e.g. because the - * bookmark resource does not exist anymore. FALSE: this handler is - * not responsible for this bookmark, another handler should try it. - */ - public boolean tryToLaunch(Bookmark bookmark, UserRequest ureq, WindowControl wControl); - - /** - * Create a fully qualified URL that can be used to launch this bookmark e.g. - * from a browser bookmark or an RSS feed document - * - * @param bookmark - * @return URL or NULL if not successful - */ - public String createJumpInURL(Bookmark bookmark); - -} diff --git a/src/main/java/org/olat/bookmark/BookmarkListMiniModel.java b/src/main/java/org/olat/bookmark/BookmarkListMiniModel.java deleted file mode 100644 index e10f62a48d36e2bdd4d44c68e4fc2c8289c73a8f..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/BookmarkListMiniModel.java +++ /dev/null @@ -1,89 +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.bookmark; - -import java.util.List; - -import org.apache.commons.lang.StringEscapeUtils; -import org.olat.ControllerFactory; -import org.olat.core.gui.components.table.DefaultTableDataModel; -import org.olat.core.gui.components.table.TableDataModel; -import org.olat.core.gui.translator.Translator; - -/** - * Description:<br> - * TODO: gnaegi Class Description for BookmarkListMiniModel - * - * <P> - * Initial Date: 03.08.2005 <br> - * @author gnaegi - */ -public class BookmarkListMiniModel extends DefaultTableDataModel implements TableDataModel { - private Translator trans; - - /** - * @param list of bookmarks - * @param trans - */ - public BookmarkListMiniModel(List bookmarks, Translator trans) { - super(bookmarks); - this.trans = trans; - } - - /** - * @see org.olat.core.gui.components.table.TableDataModel#getColumnCount() - */ - public int getColumnCount() { - return 2; - } - - /** - * @see org.olat.core.gui.components.table.TableDataModel#getValueAt(int, int) - */ - public Object getValueAt(int row, int col) { - Bookmark bookmark = (Bookmark) objects.get(row); - switch (col) { - case 0: - String name = bookmark.getTitle(); - name = StringEscapeUtils.escapeHtml(name).toString(); - return name; - case 1: - String resType = bookmark.getDisplayrestype(); - return ControllerFactory.translateResourceableTypeName(resType, trans.getLocale()); - default: - return "ERROR"; - } - } - - /** - * @param row - * @return the bookmark at the given row - */ - public Bookmark getBookmarkAt(int row) { - return (Bookmark) objects.get(row); - } - -} \ No newline at end of file diff --git a/src/main/java/org/olat/bookmark/BookmarkManager.java b/src/main/java/org/olat/bookmark/BookmarkManager.java deleted file mode 100644 index 4df68948153e930eb5d8dd268b82e00059cb3e56..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/BookmarkManager.java +++ /dev/null @@ -1,134 +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.bookmark; - -import java.util.List; - -import org.olat.core.gui.UserRequest; -import org.olat.core.gui.control.WindowControl; -import org.olat.core.id.Identity; -import org.olat.core.id.OLATResourceable; -import org.olat.core.manager.BasicManager; - -public abstract class BookmarkManager extends BasicManager { - - protected static BookmarkManager INSTANCE; - /** - * The getInstance Method loads the real implementation via spring and returns - * it as a singleton. This is a convinience method. - * - * @return Singleton. - */ - public static final synchronized BookmarkManager getInstance() { - return INSTANCE; - } - - /** - * @param newBookmark - */ - public abstract void createAndPersistBookmark(Bookmark newBookmark); - - /** - * @param identity - * @return a List of found bookmarks of given subject - */ - public abstract List<Bookmark> findBookmarksByIdentity(Identity identity); - - /** - * Finds bookmarks of a specific type for an identity - * - * @param identity - * @param type - * @return list of bookmarks for this identity - */ - public abstract List<Bookmark> findBookmarksByIdentity(Identity identity, String type); - - /** - * @param changedBookmark - * @return true if saved successfully - */ - public abstract void updateBookmark(Bookmark changedBookmark); - - /** - * @param deletableBookmark - * @return true if success - */ - public abstract void deleteBookmark(Bookmark deletableBookmark); - - /** - * calculates the URL for launching a bookmark - * - * @param chosenBm - * @return resourceablea instance - */ - public abstract OLATResourceable getLaunchOlatResourceable(Bookmark chosenBm); - - /** - * Delete all bookmarks pointing to the given resourceable. - * - * @param res - */ - public abstract void deleteAllBookmarksFor(OLATResourceable res); - - /** - * @param identity - * @param res - * @return true if resourceable is bookmarked - */ - public abstract boolean isResourceableBookmarked(Identity identity, OLATResourceable res); - - /** - * Delete all bookmarks for certain identity. - * @see org.olat.user.UserDataDeletable#deleteUserData(org.olat.core.id.Identity) - */ - public abstract void deleteUserData(Identity identity, String newDeletedUserName); - - /** - * Launch the given bookmark - * @param bookmark - * @param ureq - * @param wControl - * @return TRUE: launch successful; FALSE: no launcher found (unknonwn bookmark type) - */ - public abstract boolean launchBookmark(Bookmark bookmark, UserRequest ureq, WindowControl wControl); - - /** - * Create a fully qualified URL that can be used to launch this bookmark e.g. - * from a browser bookmark or an RSS feed document - * - * @param bookmark - * @return URL or NULL if not successful - */ - public abstract String createJumpInURL(Bookmark bookmark); - - /** - * Spring setter method - * @param newBookmarkHanlders - */ - public abstract void setBookmarkHandlers(List<BookmarkHandler> newBookmarkHanlders); - - - -} \ No newline at end of file diff --git a/src/main/java/org/olat/bookmark/BookmarkManagerImpl.java b/src/main/java/org/olat/bookmark/BookmarkManagerImpl.java deleted file mode 100644 index 5284a5560950e097336a51aabddde17b4420e126..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/BookmarkManagerImpl.java +++ /dev/null @@ -1,238 +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.bookmark; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.hibernate.type.StandardBasicTypes; -import org.hibernate.type.Type; -import org.olat.admin.user.delete.service.UserDeletionManager; -import org.olat.core.commons.persistence.DB; -import org.olat.core.commons.persistence.DBFactory; -import org.olat.core.gui.UserRequest; -import org.olat.core.gui.control.WindowControl; -import org.olat.core.id.Identity; -import org.olat.core.id.OLATResourceable; -import org.olat.core.logging.OLog; -import org.olat.core.logging.Tracing; -import org.olat.core.util.coordinate.CoordinatorManager; -import org.olat.core.util.resource.OresHelper; -import org.olat.user.UserDataDeletable; - -/** - * Description: - * This bookmark manager persists the bookmarks in the database. - * - * @author Sabina Jeger - */ -public class BookmarkManagerImpl extends BookmarkManager implements UserDataDeletable { - private static List<BookmarkHandler> bookmarkHandlers = new ArrayList<BookmarkHandler>(); - private static OLog log = Tracing.createLoggerFor(BookmarkManagerImpl.class); - - /** - * Do not use this method to access the bookmark manager! Use the - * BookmakrManager.getInstance() method instead to access the spring loaded - * bookmark manager - */ - public BookmarkManagerImpl(UserDeletionManager userDeletionManager) { - userDeletionManager.registerDeletableUserData(this); - INSTANCE = this; - } - - /** - * @param newBookmark - */ - public void createAndPersistBookmark(Bookmark newBookmark) { - DB db = DBFactory.getInstance(); - db.saveObject(newBookmark); - if (log.isDebug()){ - log.debug("Bookmark has been created: " + newBookmark.getTitle()); - } - fireBookmarkEvent(newBookmark.getOwner()); - } - - /** - * @param identity - * @return a List of found bookmarks of given subject - */ - public List<Bookmark> findBookmarksByIdentity(Identity identity) { - String query = "from org.olat.bookmark.BookmarkImpl as b where b.owner = ?"; - return DBFactory.getInstance().find(query, identity.getKey(), StandardBasicTypes.LONG); - } - - /** - * Finds bookmarks of a specific type for an identity - * - * @param identity - * @param type - * @return list of bookmarks for this identity - */ - public List<Bookmark> findBookmarksByIdentity(Identity identity, String type) { - String query = "from org.olat.bookmark.BookmarkImpl as b where b.owner = ? and b.displayrestype = ?"; - List<Bookmark> found = DBFactory.getInstance().find(query, new Object[] { identity.getKey(), type }, new Type[] { StandardBasicTypes.LONG, StandardBasicTypes.STRING }); - return found; - } - - /** - * @param changedBookmark - * @return true if saved successfully - */ - public void updateBookmark(Bookmark changedBookmark) { - DBFactory.getInstance().updateObject(changedBookmark); - fireBookmarkEvent(changedBookmark.getOwner()); - } - - /** - * @param deletableBookmark - * @return true if success - */ - public void deleteBookmark(Bookmark deletableBookmark) { - DBFactory.getInstance().deleteObject(deletableBookmark); - fireBookmarkEvent(deletableBookmark.getOwner()); - } - - /** - * calculates the URL for launching a bookmark - * - * @param chosenBm - * @return resourceablea instance - */ - public OLATResourceable getLaunchOlatResourceable(Bookmark chosenBm) { - final String finalType = chosenBm.getOlatrestype(); - final Long finalKey = chosenBm.getOlatreskey(); - OLATResourceable res = OresHelper.createOLATResourceableInstance(finalType, finalKey); - return res; - } - - /** - * Delete all bookmarks pointing to the given resourceable. - * - * @param res - */ - public void deleteAllBookmarksFor(OLATResourceable res) { - String query = "from org.olat.bookmark.BookmarkImpl as b where b.olatrestype = ? and b.olatreskey = ?"; - DBFactory.getInstance().delete(query, new Object[] { res.getResourceableTypeName(), res.getResourceableId() }, - new Type[] { StandardBasicTypes.STRING, StandardBasicTypes.LONG }); - fireBookmarkEvent(null); - } - - /** - * @param identity - * @param res - * @return true if resourceable is bookmarked - */ - public boolean isResourceableBookmarked(Identity identity, OLATResourceable res) { - String query = "from org.olat.bookmark.BookmarkImpl as b where b.olatrestype = ? and b.olatreskey = ? and b.owner.key = ?"; - - List results = DBFactory.getInstance().find(query, new Object[] { res.getResourceableTypeName(), res.getResourceableId(), identity.getKey() }, - new Type[] { StandardBasicTypes.STRING, StandardBasicTypes.LONG, StandardBasicTypes.LONG }); - return results.size() != 0; - } - - /** - * Delete all bookmarks for certain identity. - * @see org.olat.user.UserDataDeletable#deleteUserData(org.olat.core.id.Identity) - */ - public void deleteUserData(Identity identity, String newDeletedUserName) { - List bookmarks = findBookmarksByIdentity(identity); - for (Iterator iter = bookmarks.iterator(); iter.hasNext();) { - deleteBookmark( (Bookmark) iter.next() ); - } - log.debug("All bookmarks deleted for identity=" + identity); - //no need to fire BookmarkEvent - the user was deleted - } - - /** - * Launch the given bookmark - * @param bookmark - * @param ureq - * @param wControl - * @return TRUE: launch successful; FALSE: no launcher found (unknonwn bookmark type) - */ - public boolean launchBookmark(Bookmark bookmark, UserRequest ureq, WindowControl wControl) { - for (BookmarkHandler handler : bookmarkHandlers) { - boolean success = handler.tryToLaunch(bookmark, ureq, wControl); - if (log.isDebug()) { - log.debug("Tried to launch bookmark::" + bookmark + " with handler::" + handler + " with result::" + success); - } - if (success) return true; - } - // no handler found that could launch the given bookmark - log.warn("Could not find a launcher for bookmark::" + bookmark + " with displayType::" + bookmark.getDisplayrestype()); - return false; - } - - /** - * Create a fully qualified URL that can be used to launch this bookmark e.g. - * from a browser bookmark or an RSS feed document - * - * @param bookmark - * @return URL or NULL if not successful - */ - public String createJumpInURL(Bookmark bookmark) { - for (BookmarkHandler handler : bookmarkHandlers) { - // try it with this handler, will return an URL or null if it was the wrong handler - String url = handler.createJumpInURL(bookmark); - if (log.isDebug()) { - log.debug("Tried to create jump in URL for bookmark::" + bookmark + " with handler::" + handler + " with result::" + url); - } - if (url != null) return url; - } - // no handler found that could launch the given bookmark - log.warn("Could not create a jump in URL for bookmark::" + bookmark + " with displayType::" + bookmark.getDisplayrestype()); - return null; - } - - /** - * Spring setter method - * @param newBookmarkHanlders - */ - public void setBookmarkHandlers(List<BookmarkHandler> newBookmarkHanlders) { - bookmarkHandlers = newBookmarkHanlders; - } - - /** - * Fire MultiUserEvent - BookmarkEvent - after add/modify/delete bookmark. - * <p> - * If the input identity not null the event is intended only for one user, else for all users. - * @param bookmark - */ - private void fireBookmarkEvent(Identity identity) { - //event for all users - BookmarkEvent bookmarkEvent = new BookmarkEvent(); - OLATResourceable eventBusOres = OresHelper.createOLATResourceableType(Identity.class); - if(identity!=null) { - //event for the specified user - bookmarkEvent = new BookmarkEvent(identity.getName()); - eventBusOres = OresHelper.createOLATResourceableInstance(Identity.class, identity.getKey()); - } - //TODO: LD: use this: //UserSession.getSingleUserEventCenter().fireEventToListenersOf(bookmarkEvent, eventBusOres); - CoordinatorManager.getInstance().getCoordinator().getEventBus().fireEventToListenersOf(bookmarkEvent, eventBusOres); - } - -} diff --git a/src/main/java/org/olat/bookmark/BookmarksPortlet.java b/src/main/java/org/olat/bookmark/BookmarksPortlet.java deleted file mode 100644 index 3a3d46804901414cf45f38eff201195827263b52..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/BookmarksPortlet.java +++ /dev/null @@ -1,115 +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.bookmark; - -import java.util.Map; - -import org.olat.core.gui.UserRequest; -import org.olat.core.gui.components.Component; -import org.olat.core.gui.control.WindowControl; -import org.olat.core.gui.control.generic.portal.AbstractPortlet; -import org.olat.core.gui.control.generic.portal.Portlet; -import org.olat.core.gui.control.generic.portal.PortletToolController; -import org.olat.core.gui.translator.Translator; -import org.olat.core.util.Util; -/** - * Description:<br> - * Displays the list of most used bookmarks - * <P> - * Initial Date: 08.07.2005 <br> - * @author gnaegi - */ -public class BookmarksPortlet extends AbstractPortlet { - - private BookmarksPortletRunController runCtr; - - /** - * @see org.olat.gui.control.generic.portal.AbstractPortlet#createInstance(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, java.util.Map) - */ - public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> configuration) { - Translator translator = Util.createPackageTranslator(BookmarksPortlet.class, ureq.getLocale()); - Portlet p = new BookmarksPortlet(); - p.setName(this.getName()); - p.setConfiguration(configuration); - p.setTranslator(translator); - return p; - } - - /** - * @see org.olat.gui.control.generic.portal.Portlet#getTitle() - */ - public String getTitle() { - return getTranslator().translate("bookmarksPortlet.title"); - } - - /** - * @see org.olat.gui.control.generic.portal.Portlet#getDescription() - */ - public String getDescription() { - return getTranslator().translate("bookmarksPortlet.description"); - } - - /** - * @see org.olat.gui.control.generic.portal.Portlet#getInitialRunComponent(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest) - */ - public Component getInitialRunComponent(WindowControl wControl, UserRequest ureq) { - if(this.runCtr != null) runCtr.dispose(); - this.runCtr = new BookmarksPortletRunController(wControl, ureq, getTranslator(), this.getName()); - return this.runCtr.getInitialComponent(); - } - - /** - * @see org.olat.core.gui.control.Disposable#dispose(boolean) - */ - public void dispose() { - disposeRunComponent(); - } - - /** - * @see org.olat.gui.control.generic.portal.Portlet#getCssClass() - */ - public String getCssClass() { - return "o_portlet_bookmark"; - } - - /** - * @see org.olat.gui.control.generic.portal.Portlet#disposeRunComponent(boolean) - */ - public void disposeRunComponent() { - if (this.runCtr != null) { - this.runCtr.dispose(); - this.runCtr = null; - } - } - - public PortletToolController<Bookmark> getTools(UserRequest ureq, WindowControl wControl) { - if (runCtr == null ) { - this.runCtr = new BookmarksPortletRunController(wControl, ureq, getTranslator(), this.getName()); - } - return runCtr.createSortingTool(ureq, wControl); - } - -} diff --git a/src/main/java/org/olat/bookmark/BookmarksPortletRunController.java b/src/main/java/org/olat/bookmark/BookmarksPortletRunController.java deleted file mode 100644 index 4e7f815152681a031cee908393bbe7b4827e58cb..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/BookmarksPortletRunController.java +++ /dev/null @@ -1,447 +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.bookmark; - -import java.util.ArrayList; -import java.util.Comparator; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; - -import org.apache.commons.lang.StringEscapeUtils; -import org.olat.ControllerFactory; -import org.olat.NewControllerFactory; -import org.olat.core.gui.UserRequest; -import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.link.Link; -import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.table.ColumnDescriptor; -import org.olat.core.gui.components.table.DefaultColumnDescriptor; -import org.olat.core.gui.components.table.Table; -import org.olat.core.gui.components.table.TableController; -import org.olat.core.gui.components.table.TableEvent; -import org.olat.core.gui.components.table.TableGuiConfiguration; -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.generic.portal.AbstractPortletRunController; -import org.olat.core.gui.control.generic.portal.PortletDefaultTableDataModel; -import org.olat.core.gui.control.generic.portal.PortletEntry; -import org.olat.core.gui.control.generic.portal.PortletToolSortingControllerImpl; -import org.olat.core.gui.control.generic.portal.SortingCriteria; -import org.olat.core.gui.translator.PackageTranslator; -import org.olat.core.gui.translator.Translator; -import org.olat.core.id.Identity; -import org.olat.core.id.OLATResourceable; -import org.olat.core.id.context.BusinessControl; -import org.olat.core.id.context.BusinessControlFactory; -import org.olat.core.util.coordinate.CoordinatorManager; -import org.olat.core.util.event.GenericEventListener; -import org.olat.core.util.resource.OresHelper; -import org.olat.repository.RepositoryEntry; -import org.olat.repository.RepositoryEntryStatus; -import org.olat.repository.RepositoryManager; - -/** - * Description:<br> - * Run view controller for the groups list portlet - * <P> - * Initial Date: 11.07.2005 <br> - * @author gnaegi - */ -public class BookmarksPortletRunController extends AbstractPortletRunController<Bookmark> implements GenericEventListener { - - private static final String CMD_LAUNCH = "cmd.launch"; - - private TableController tableCtr; - private BookmarkPortletTableDataModel bookmarkListModel; - private VelocityContainer bookmarksVC; - private Link showAllLink; - private final OLATResourceable eventBusAllIdentitiesOres; - private final OLATResourceable eventBusThisIdentityOres; - private final Locale locale; - - private final RepositoryManager repositoryManager; - - /** - * Constructor - * @param ureq - * @param component - */ - public BookmarksPortletRunController(WindowControl wControl, UserRequest ureq, Translator trans, String portletName) { - super(wControl, ureq, trans, portletName); - this.locale = ureq.getLocale(); - this.sortingTermsList.add(SortingCriteria.TYPE_SORTING); - this.sortingTermsList.add(SortingCriteria.ALPHABETICAL_SORTING); - this.sortingTermsList.add(SortingCriteria.DATE_SORTING); - this.repositoryManager = RepositoryManager.getInstance(); - - this.bookmarksVC = this.createVelocityContainer("bookmarksPortlet"); - showAllLink = LinkFactory.createLink("bookmarksPortlet.showAll", bookmarksVC, this); - - TableGuiConfiguration tableConfig = new TableGuiConfiguration(); - tableConfig.setTableEmptyMessage(trans.translate("bookmarksPortlet.nobookmarks")); - tableConfig.setDisplayTableHeader(false); - tableConfig.setCustomCssClass("b_portlet_table"); - tableConfig.setDisplayRowCount(false); - tableConfig.setPageingEnabled(false); - tableConfig.setDownloadOffered(false); - //disable the default sorting for this table - tableConfig.setSortingEnabled(false); - tableCtr = new TableController(tableConfig, ureq, getWindowControl(), trans); - listenTo(tableCtr); - // dummy header key, won't be used since setDisplayTableHeader is set to false - tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("bookmarksPortlet.bgname", 0, CMD_LAUNCH, trans.getLocale())); - tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("bookmarksPortlet.type", 1, null, trans.getLocale(), ColumnDescriptor.ALIGNMENT_RIGHT)); - - this.sortingCriteria = getPersistentSortingConfiguration(ureq); - reloadModel(sortingCriteria); - - this.bookmarksVC.put("table", tableCtr.getInitialComponent()); - putInitialPanel(bookmarksVC); - - //register for events targeted at this Identity - eventBusThisIdentityOres = OresHelper.createOLATResourceableInstance(Identity.class, getIdentity().getKey()); - //TODO: LD: use this: //ureq.getUserSession().getSingleUserEventCenter().registerFor(this, ureq.getIdentity(), eventBusOres); - CoordinatorManager.getInstance().getCoordinator().getEventBus().registerFor(this, getIdentity(), eventBusThisIdentityOres); - - //register for events targeted at all Identities (e.g. delete bookmark for a course if a course is deleted) - eventBusAllIdentitiesOres = OresHelper.createOLATResourceableType(Identity.class); - CoordinatorManager.getInstance().getCoordinator().getEventBus().registerFor(this, getIdentity(),eventBusAllIdentitiesOres); - } - - /** - * Gets all bookmarks for this identity and converts the list into an PortletEntry list. - * @param ureq - * @return - */ - private List<PortletEntry<Bookmark>> getAllPortletEntries() { - BookmarkManager mb = BookmarkManager.getInstance(); - List<Bookmark> bookmarkList = mb.findBookmarksByIdentity(getIdentity()); - return convertBookmarkToPortletEntryList(bookmarkList); - } - - /** - * Converts list. - * @param items - * @return - */ - private List<PortletEntry<Bookmark>> convertBookmarkToPortletEntryList(List<Bookmark> items) { - List<PortletEntry<Bookmark>> convertedList = new ArrayList<PortletEntry<Bookmark>>(); - - List<Long> reKeys = new ArrayList<Long>(); - for(Bookmark bookmark:items) { - reKeys.add(bookmark.getOlatreskey()); - } - List<RepositoryEntry> repositoryEntries = repositoryManager.lookupRepositoryEntries(reKeys); - Map<Long,RepositoryEntry> keyToRepositoryEntryMap = new HashMap<Long,RepositoryEntry>(); - for(RepositoryEntry repositoryEntry:repositoryEntries) { - keyToRepositoryEntryMap.put(repositoryEntry.getKey(), repositoryEntry); - } - - for(Bookmark bookmark:items) { - RepositoryEntry repositoryEntry = keyToRepositoryEntryMap.get(bookmark.getOlatreskey()); - convertedList.add(new BookmarkPortletEntry(bookmark, repositoryEntry)); - } - return convertedList; - } - - /** - * Reloads the bookmarks table model according with the input SortingCriteria. - * It first evaluate the sortingCriteria type; if auto get bookmarks from BookmarkManager - * and sort the item list according with the sortingCriteria. - * Else get the manually sorted list. - * @param identity - * @param sortingCriteria - */ - protected void reloadModel(SortingCriteria sortingCriteria) { - if (sortingCriteria.getSortingType() == SortingCriteria.AUTO_SORTING) { - BookmarkManager mb = BookmarkManager.getInstance(); - List<Bookmark> bookmarkList = mb.findBookmarksByIdentity(getIdentity()); - - bookmarkList = getSortedList(bookmarkList, sortingCriteria ); - - List<PortletEntry<Bookmark>> entries = convertBookmarkToPortletEntryList(bookmarkList); - bookmarkListModel = new BookmarkPortletTableDataModel(entries, getLocale()); - tableCtr.setTableDataModel(bookmarkListModel); - } else { - reloadModel(this.getPersistentManuallySortedItems()); - } - } - - /** - * Sets the table model if the sorted items list is already available. - * @param ureq - * @param sortedItems - */ - protected void reloadModel(List<PortletEntry<Bookmark>> sortedItems) { - bookmarkListModel = new BookmarkPortletTableDataModel(sortedItems, this.locale); - tableCtr.setTableDataModel(bookmarkListModel); - } - - - - public void event(Event event) { - if(event instanceof BookmarkEvent) { - if(((BookmarkEvent)event).getUsername().equals(getIdentity().getName()) || ((BookmarkEvent)event).isAllUsersEvent()) { - reloadModel(sortingCriteria); - } - } - } - - /** - * @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) - */ - public void event(UserRequest ureq, Component source, Event event) { - if (source == showAllLink){ - // activate homes tab in top navigation and active bookmarks menu item - String resourceUrl = "[HomeSite:" + ureq.getIdentity().getKey() + "][bookmarks:0]"; - BusinessControl bc = BusinessControlFactory.getInstance().createFromString(resourceUrl); - WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(bc, getWindowControl()); - NewControllerFactory.getInstance().launch(ureq, bwControl); - } - } - - /** - * @see org.olat.core.gui.control.ControllerEventListener#dispatchEvent(org.olat.core.gui.UserRequest, org.olat.core.gui.control.Controller, org.olat.core.gui.control.Event) - */ - public void event(UserRequest ureq, Controller source, Event event) { - super.event(ureq, source, event); - if (source == tableCtr) { - if (event.getCommand().equals(Table.COMMANDLINK_ROWACTION_CLICKED)) { - TableEvent te = (TableEvent) event; - String actionid = te.getActionId(); - if (actionid.equals(CMD_LAUNCH)) { - int rowid = te.getRowId(); - Bookmark bookmark = bookmarkListModel.getBookmarkAt(rowid); - BookmarkManager.getInstance().launchBookmark(bookmark, ureq, getWindowControl()); - } - } - } - } - - - /** - * Retrieve the persistent manually sorted items for the current portlet. - * @param ureq - * @return - */ - private List<PortletEntry<Bookmark>> getPersistentManuallySortedItems() { - List<PortletEntry<Bookmark>> entries = getAllPortletEntries(); - return getPersistentManuallySortedItems(entries); - } - - /** - * @see org.olat.core.gui.control.DefaultController#doDispose(boolean) - */ - protected void doDispose() { - CoordinatorManager.getInstance().getCoordinator().getEventBus().deregisterFor(this, eventBusThisIdentityOres); - CoordinatorManager.getInstance().getCoordinator().getEventBus().deregisterFor(this, eventBusAllIdentitiesOres); - super.doDispose(); - } - - /** - * Retrieves the persistent sortingCriteria and the persistent manually sorted, if any, - * creates the table model for the manual sorting, and instantiates the PortletToolSortingControllerImpl. - * @param ureq - * @param wControl - * @return a PortletToolSortingControllerImpl istance. - */ - protected PortletToolSortingControllerImpl<Bookmark> createSortingTool(UserRequest ureq, WindowControl wControl) { - if(portletToolsController==null) { - List<PortletEntry<Bookmark>> entries = getAllPortletEntries(); - PortletDefaultTableDataModel<Bookmark> tableDataModel = new BookmarkManualSortingTableDataModel(entries, ureq.getLocale()); - - List<PortletEntry<Bookmark>> sortedItems = getPersistentManuallySortedItems(); - - portletToolsController = new PortletToolSortingControllerImpl<Bookmark>(ureq, wControl, getTranslator(), sortingCriteria, tableDataModel, sortedItems); - listenTo(portletToolsController); - portletToolsController.setConfigManualSorting(true); - portletToolsController.setConfigAutoSorting(true); - } - return portletToolsController; - } - - /** - * Comparator implementation used for sorting bookmarks entries according with the - * input sortingCriteria. - * <p> - * @param sortingCriteria - * @return a Comparator for the input sortingCriteria - */ - protected Comparator<Bookmark> getComparator(final SortingCriteria sortingCriteria) { - return new Comparator<Bookmark>(){ - public int compare(final Bookmark bookmark1, final Bookmark bookmark2) { - int comparisonResult = 0; - if(sortingCriteria.getSortingTerm()==SortingCriteria.ALPHABETICAL_SORTING) { - comparisonResult = collator.compare(bookmark1.getTitle(), bookmark2.getTitle()); - } else if(sortingCriteria.getSortingTerm()==SortingCriteria.DATE_SORTING) { - comparisonResult = bookmark1.getCreationDate().compareTo(bookmark2.getCreationDate()); - } else if(sortingCriteria.getSortingTerm()==SortingCriteria.TYPE_SORTING) { - comparisonResult = bookmark1.getDisplayrestype().compareTo(bookmark2.getDisplayrestype()); - } - if(!sortingCriteria.isAscending()) { - //if not isAscending return (-comparisonResult) - return -comparisonResult; - } - return comparisonResult; - }}; - } - - /** - * - * PortletDefaultTableDataModel implementation for the current portlet. - * - * <P> - * Initial Date: 10.12.2007 <br> - * @author Lavinia Dumitrescu - */ - class BookmarkPortletTableDataModel extends PortletDefaultTableDataModel<Bookmark> { - private Locale locale; - - public BookmarkPortletTableDataModel(List<PortletEntry<Bookmark>> objects, Locale locale) { - super(objects, 2); - this.locale = locale; - } - - public Object getValueAt(int row, int col) { - BookmarkPortletEntry entry = (BookmarkPortletEntry)getObject(row); - Bookmark bookmark = entry.getValue(); - switch (col) { - case 0: - String name = getBookmarkTitle(bookmark, entry.getEntry()); - name = StringEscapeUtils.escapeHtml(name).toString(); - return name; - case 1: - String resType = bookmark.getDisplayrestype(); - return ControllerFactory.translateResourceableTypeName(resType, getTranslator().getLocale()); - default: - return "ERROR"; - } - } - - public Bookmark getBookmarkAt(int row) { - return (Bookmark) getObject(row).getValue(); - } - - /** - * Get displayname of a bookmark entry. If bookmark entry a RepositoryEntry - * and is this RepositoryEntry closed then add a prefix to the title. - */ - private String getBookmarkTitle(Bookmark bookmark, RepositoryEntry repositoryEntry) { - String title = bookmark.getTitle(); - if (repositoryEntry != null && repositoryManager.createRepositoryEntryStatus(repositoryEntry.getStatusCode()).isClosed()) { - PackageTranslator pT = new PackageTranslator(RepositoryEntryStatus.class.getPackage().getName(), locale); - title = "[" + pT.translate("title.prefix.closed") + "] ".concat(title); - } - return title; - } - } - - - /** - * - * Description:<br> - * TableDataModel implementation for the bookmark manual sorting. - * - * <P> - * Initial Date: 23.11.2007 <br> - * @author Lavinia Dumitrescu - */ - class BookmarkManualSortingTableDataModel extends PortletDefaultTableDataModel<Bookmark> { - private Locale locale; - - /** - * @param objects - * @param locale - */ - public BookmarkManualSortingTableDataModel(List<PortletEntry<Bookmark>> objects, Locale locale) { - super(objects, 4); - this.locale = locale; - } - - /** - * @see org.olat.core.gui.components.table.TableDataModel#getValueAt(int, int) - */ - public final Object getValueAt(int row, int col) { - PortletEntry<Bookmark> entry = getObject(row); - Bookmark bm = (BookmarkImpl) entry.getValue(); - switch (col) { - case 0: - return bm.getTitle(); - case 1: - String desc = bm.getDescription(); - return (desc == null ? "n/a" : desc); - case 2: - String resType = bm.getDisplayrestype(); - return (resType == null ? "n/a" : ControllerFactory.translateResourceableTypeName(resType, locale)); - case 3: - Date date = bm.getCreationDate(); - //return DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, getTranslator().getLocale()).format(date); - //return date else the sorting doesn't work properly - return date; - default: - return "error"; - } - } - } - - /** - * - * PortletEntry impl for Bookmark values. - * - * <P> - * Initial Date: 10.12.2007 <br> - * @author Lavinia Dumitrescu - */ - class BookmarkPortletEntry implements PortletEntry<Bookmark> { - private final Bookmark bookmark; - private final RepositoryEntry entry; - private final Long key; - - public BookmarkPortletEntry(Bookmark bookmark, RepositoryEntry entry) { - this.bookmark = bookmark; - this.entry = entry; - key = bookmark.getKey(); - } - - public Long getKey() { - return key; - } - - public Bookmark getValue() { - return bookmark; - } - - public RepositoryEntry getEntry() { - return entry; - } - } - -} diff --git a/src/main/java/org/olat/bookmark/LocalStrings.properties b/src/main/java/org/olat/bookmark/LocalStrings.properties deleted file mode 100644 index f74a1095c5e475c471cb023480278c948a29ead0..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/LocalStrings.properties +++ /dev/null @@ -1,29 +0,0 @@ -create.form.title=Create new project group - -dialog.modal.bg.delete.text=Deleting the project group "{0}" will result in deleting all associated resources. All people involved in this group will receive an e-mail stating that you deleted the project group "{0}".<p> -dialog.modal.bg.leave.text=You will no longer have access to the project group "{0}" if you leave this project group now.<p> - -group.type=Project group - -index.header=Project groups -index.intro=Welcome to the project groups! -index.table.ownergroup.header=You are owner of the following groups -index.table.partipgroup.header=You participate in the following groups -index.table.ownergroup.nogroup=You are not registered as owner of any project group. -index.table.partipgroup.nogroup=You are not registered as participant of any project group. - -msg.atleastone=There must be at least one owner in the project group. - -menu.index=Project groups -menu.index.alt=Work with your personal project groups -menu.my=My project groups -menu.my.alt=Work with your personal project groups - -tools.add.header=Create -tools.add.buddygroup=Project group - -table.header.bgname=Name -table.header.description=Description -table.header.delete=Delete -table.header.leave=Leave -table.header.edit=Edit diff --git a/src/main/java/org/olat/bookmark/ManageBookmarkController.java b/src/main/java/org/olat/bookmark/ManageBookmarkController.java deleted file mode 100644 index 32ba21bb1f6526986b7daf8e037b8fdd1aea4672..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/ManageBookmarkController.java +++ /dev/null @@ -1,261 +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.bookmark; - -import java.util.List; -import java.util.Locale; - -import org.olat.ControllerFactory; -import org.olat.core.gui.UserRequest; -import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.panel.Panel; -import org.olat.core.gui.components.table.DefaultColumnDescriptor; -import org.olat.core.gui.components.table.DefaultTableDataModel; -import org.olat.core.gui.components.table.StaticColumnDescriptor; -import org.olat.core.gui.components.table.Table; -import org.olat.core.gui.components.table.TableController; -import org.olat.core.gui.components.table.TableEvent; -import org.olat.core.gui.components.table.TableGuiConfiguration; -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.gui.control.generic.closablewrapper.CloseableModalController; -import org.olat.core.gui.control.generic.modal.DialogBoxController; -import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory; -import org.olat.core.gui.translator.PackageTranslator; -import org.olat.core.id.Identity; -import org.olat.repository.RepositoryEntry; -import org.olat.repository.RepositoryEntryStatus; -import org.olat.repository.RepositoryManager; - -/** - * Description: - * - * @author Sabina Jeger - */ -public class ManageBookmarkController extends BasicController { - - private BmTableDataModel tdm; - private BookmarkImpl chosenBm = null; - private BookmarkManager bm = BookmarkManager.getInstance(); - private VelocityContainer myContent; - - private Panel bmarea; - private String searchType; // can be set to a bookmark.olatrestype to - // restrict the bookmark searches - private TableController tableCtr; - private AddAndEditBookmarkController abc; - private DialogBoxController dc; - private CloseableModalController cmc; - - /** constructor constant to search for all repository entry types * */ - public static final String SEARCH_TYPE_ALL = "all"; - - /** - * Constructor for bookmark list and manage controller. The controller can be - * configured using the allowEdit flag in the constructor and restrict the - * search to specific repository entry types using the type attribute. - * - * @param ureq The user request - * @param wControl The window controller - * @param allowEdit true: table allows edit and delete of bookmarks, false: - * only launch possible - * @param type Type of repository entries to be displayed or SEARCH_TYPE_ALL - * to display all bookmarks - */ - public ManageBookmarkController(UserRequest ureq, WindowControl wControl, boolean allowEdit, String type) { - super(ureq, wControl); - - myContent = createVelocityContainer("bookmarks"); - bmarea = new Panel("bmarea"); - myContent.put("bmarea", bmarea); - - TableGuiConfiguration tableConfig = new TableGuiConfiguration(); - tableConfig.setDownloadOffered(false); - tableConfig.setTableEmptyMessage(translate("bookmarks.nobookmarks")); - tableCtr = new TableController(tableConfig, ureq, getWindowControl(), getTranslator()); - tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.bm.title", 0, "choose", ureq.getLocale())); - tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.bm.resource", 1, null, ureq.getLocale())); - tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.bm.description", 2, null, ureq.getLocale())); - listenTo(tableCtr); - - if (allowEdit) { - tableCtr.addColumnDescriptor(new StaticColumnDescriptor("edit", "table.header.edit", myContent.getTranslator().translate( - "action.edit"))); - tableCtr.addColumnDescriptor(new StaticColumnDescriptor("delete", "table.header.delete", myContent.getTranslator().translate( - "action.delete"))); - } - // Set default search type to search for all bookmarks - searchType = type; - - populateBmTable(ureq.getIdentity(), ureq.getLocale()); - bmarea.setContent(tableCtr.getInitialComponent()); - - putInitialPanel(myContent); - } - - /** - * @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) - */ - public void event(UserRequest ureq, Component source, Event event) { - // no events - } - - /** - * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, - * org.olat.core.gui.control.Controller, org.olat.core.gui.control.Event) - */ - public void event(UserRequest ureq, Controller source, Event event) { - // if row has been cklicked - if (source == tableCtr) { - if (event.getCommand().equals(Table.COMMANDLINK_ROWACTION_CLICKED)) { - TableEvent te = (TableEvent) event; - String actionid = te.getActionId(); - int rowid = te.getRowId(); - this.chosenBm = (BookmarkImpl) tdm.getObject(rowid); - if (actionid.equals("choose")) { - // launch bookmark - BookmarkManager.getInstance().launchBookmark(chosenBm, ureq, getWindowControl()); - return; - } else if (actionid.equals("edit")) { - if (abc != null) abc.dispose(); - abc = new AddAndEditBookmarkController(ureq, getWindowControl(), chosenBm); - listenTo(abc); - cmc = new CloseableModalController(getWindowControl(), "close", abc.getInitialComponent()); - cmc.insertHeaderCss(); - cmc.activate(); - } else if (actionid.equals("delete")) { - dc = activateYesNoDialog(ureq, null, translate("bookmark.delete.willyou"), dc); - return; - } - } - } else if (source == abc){ - cmc.deactivate(); - chosenBm = null; - if (event.getCommand().equals("done")) { - // edit was done - populateBmTable(ureq.getIdentity(), ureq.getLocale()); - } - } else if (source == dc){ - if (DialogBoxUIFactory.isYesEvent(event)) { - bm.deleteBookmark(chosenBm); - showInfo("bookmark.delete.successfull"); - populateBmTable(ureq.getIdentity(), ureq.getLocale()); - } - chosenBm = null; - } - } - - private void populateBmTable(Identity ident, Locale locale) { - List l; - if (searchType.equals(SEARCH_TYPE_ALL)) { - l = bm.findBookmarksByIdentity(ident); - } else { - // in all other cases the sql query has a where clause that uses this type - l = bm.findBookmarksByIdentity(ident, searchType); - } - tdm = new BmTableDataModel(l, locale); - tableCtr.setTableDataModel(tdm); - } - - /** - * @see org.olat.core.gui.control.DefaultController#doDispose(boolean) - */ - protected void doDispose() { - // disposed by BasicController - } - -} - -/** - * <pre> - * - * Initial Date: Jul 29, 2003 - * - * @author jeger - * - * Comment: - * The bookmark table data model. - * - * </pre> - */ - -class BmTableDataModel extends DefaultTableDataModel { - - private Locale locale; - - /** - * @param objects - * @param locale - */ - public BmTableDataModel(List objects, Locale locale) { - super(objects); - this.locale = locale; - } - - /** - * @see org.olat.core.gui.components.table.TableDataModel#getValueAt(int, int) - */ - public final Object getValueAt(int row, int col) { - Bookmark bm = (BookmarkImpl) getObject(row); - switch (col) { - case 0: - return getBookmarkTitle(bm); - case 1: - String resType = bm.getDisplayrestype(); - return (resType == null ? "n/a" : ControllerFactory.translateResourceableTypeName(resType, locale)); - case 2: - String desc = bm.getDescription(); - return (desc == null ? "n/a" : desc); - default: - return "error"; - } - } - - /** - * @see org.olat.core.gui.components.table.TableDataModel#getColumnCount() - */ - public int getColumnCount() { - return 3; - } - - /** - * Get displayname of a bookmark entry. If bookmark entry a RepositoryEntry - * and is this RepositoryEntry closed then add a prefix to the title. - */ - private String getBookmarkTitle(Bookmark bookmark) { - String title = bookmark.getTitle(); - RepositoryEntry repositoryEntry = RepositoryManager.getInstance().lookupRepositoryEntry(bookmark.getOlatreskey()); - if (repositoryEntry != null && RepositoryManager.getInstance().createRepositoryEntryStatus(repositoryEntry.getStatusCode()).isClosed()) { - PackageTranslator pT = new PackageTranslator(RepositoryEntryStatus.class.getPackage().getName(), locale); - title = "[" + pT.translate("title.prefix.closed") + "] ".concat(title); - } - return title; - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/bookmark/_content/addbookmark.html b/src/main/java/org/olat/bookmark/_content/addbookmark.html deleted file mode 100644 index aed4aa0795e3784acfe64bd60cd0c8dc5c387b6a..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_content/addbookmark.html +++ /dev/null @@ -1,7 +0,0 @@ -<fieldset> - <legend>$r.translate("bookmark.create.title")</legend> - <p> - $r.translate("form.please.enter.textanddesc") - </p> - $r.render("bookmarkform") -</fieldset> \ No newline at end of file diff --git a/src/main/java/org/olat/bookmark/_content/bookmarks.html b/src/main/java/org/olat/bookmark/_content/bookmarks.html deleted file mode 100644 index 3ded526f0f81f51dce4ff189fa8aafbe36b029e6..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_content/bookmarks.html +++ /dev/null @@ -1 +0,0 @@ -$r.render("bmarea") diff --git a/src/main/java/org/olat/bookmark/_content/bookmarksPortlet.html b/src/main/java/org/olat/bookmark/_content/bookmarksPortlet.html deleted file mode 100644 index 1a3c570f5982fe5ee3f34865cadc01c387bddcd6..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_content/bookmarksPortlet.html +++ /dev/null @@ -1,4 +0,0 @@ -<div class="b_portlet_showall"> - $r.render("bookmarksPortlet.showAll") -</div> -$r.render("table") diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_ar.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_ar.properties deleted file mode 100644 index 40d2d9a6ae765df7ee3fa32d27468052009f6a5a..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_ar.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Wed Feb 24 11:14:37 CET 2010 -action.choose=\u0627\u062E\u062A\u064A\u0627\u0631 -action.delete=\u062D\u0630\u0641 -action.edit=\u062A\u0639\u062F\u064A\u0644 -bookmark.create.successful=\u062A\u0645 \u062D\u0641\u0638 \u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0645\u0641\u0636\u0644. -bookmark.create.title=\u0625\u0646\u0634\u0627\u0621 \u0645\u0641\u0636\u0644\u0629 -bookmark.delete.no=\u0644\u0627 -bookmark.delete.successfull=\u062A\u0645 \u062D\u0630\u0641 \u0627\u0644\u0645\u0641\u0636\u0644\u0629. -bookmark.delete.unsuccessfull=\u0644\u0627 \u064A\u0645\u0643\u0646 \u062D\u0630\u0641 \u0627\u0644\u0645\u0641\u0636\u0644\u0629. -bookmark.delete.willyou=\u0647\u0644 \u062A\u0631\u064A\u062F \u062D\u0630\u0641 \u0647\u0630\u0647 \u0627\u0644\u0645\u0641\u0636\u0644\u0629\u061F -bookmark.delete.yes=\u0646\u0639\u0645 -bookmark.update.successful=\u062A\u0645 \u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0645\u0641\u0636\u0644. -bookmark.update.unsuccessful=\u0644\u0627 \u064A\u0645\u0643\u0646 \u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0645\u0641\u0636\u0644. -bookmarks.nobookmarks=\u0644\u0645 \u064A\u062A\u0645 \u062D\u0641\u0638 \u0623\u0649 \u0645\u0648\u0627\u0642\u0639 \u0645\u0641\u0636\u0644\u0629 \u0634\u062E\u0635\u064A\u0629. -bookmarks.title=\u0627\u0644\u0645\u0641\u0636\u0644\u0627\u062A \u0627\u0644\u062E\u0627\u0635\u0629 \u0628\u0649 -bookmarksPortlet.auto.sorting.title=\u062A\u0631\u062A\u064A\u0628 \u062A\u0644\u0642\u0627\u0626\u0649 \u0644\u0644\u0645\u0648\u0627\u0642\u0639 \u0627\u0644\u0645\u0641\u0636\u0644\u0629 -bookmarksPortlet.description=\u062F\u062E\u0648\u0644 \u0633\u0631\u064A\u0639 \u0625\u0644\u0649 \u0627\u0644\u0645\u0648\u0627\u0642\u0639 \u0627\u0644\u0645\u0641\u0636\u0644\u0629 \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645\u0629 \u0628\u0627\u0633\u062A\u0645\u0631\u0627\u0631. -bookmarksPortlet.manual.sorting.title=\u062A\u0631\u062A\u064A\u0628 \u0627\u0644\u0645\u0648\u0627\u0642\u0639 \u0627\u0644\u0645\u0641\u0636\u0644\u0629 \u064A\u062F\u0648\u064A\u0627\u064B -bookmarksPortlet.nobookmarks=\u0644\u0627 \u062A\u0648\u062C\u062F \u0644\u062F\u064A\u0643 \u0645\u0648\u0627\u0642\u0639 \u0645\u0641\u0636\u0644\u0629. -bookmarksPortlet.showAll=\u0639\u0631\u0636 \u0627\u0644\u0643\u0644 -bookmarksPortlet.title=\u0627\u0644\u0645\u0648\u0627\u0642\u0639 \u0627\u0644\u0645\u0641\u0636\u0644\u0629 \u0627\u0644\u062E\u0627\u0635\u0629 \u0628\u0649 -error.title.empty=\u064A\u0631\u062C\u0649 \u0625\u062F\u062E\u0627\u0644 \u0627\u0644\u0639\u0646\u0648\u0627\u0646. -firstrun.later=\u0644\u0627\u062D\u0642\u0627\u064B -firstrun.message=\u0647\u0644 \u062A\u0631\u064A\u062F \u0625\u0636\u0627\u0641\u062A\u0647 \u0627\u0644\u0622\u0646\u061F<br><br> \u064A\u0645\u0643\u0646\u0643 \u0625\u0636\u0627\u0641\u0629 \u0647\u0630\u0627 \u0627\u0644\u0645\u0635\u062F\u0631 \u0641\u0649 \u0627\u0644\u0645\u0648\u0627\u0642\u0639 \u0627\u0644\u0645\u0641\u0636\u0644\u0629 \u0645\u0646 \u0623\u062C\u0644 \u0627\u0644\u0648\u0635\u0648\u0644 \u0627\u0644\u0633\u0631\u064A\u0639 \u0644\u0647\u0627 -firstrun.no=\u0644\u0627 -firstrun.yes=\u0646\u0639\u0645 -form.bmdescription=\u0627\u0644\u0648\u0635\u0641 -form.bmtitle=\u0627\u0644\u0639\u0646\u0648\u0627\u0646 -form.bmtype=\u0645\u0635\u062F\u0631 \u0623\u0648\u0644\u0627\u062A -form.please.enter.textanddesc=\u064A\u0631\u062C\u0649 \u0625\u062F\u062E\u0627\u0644 \u0627\u0644\u0639\u0646\u0648\u0627\u0646 \u0648\u0627\u0644\u0648\u0635\u0641 \u0644\u0647\u0630\u0647 \u0627\u0644\u0645\u0641\u0636\u0644\u0629. -table.bm.description=\u0627\u0644\u0648\u0635\u0641 -table.bm.resource=\u0646\u0648\u0639 \u0627\u0644\u0645\u0635\u062F\u0631 -table.bm.title=\u0627\u0644\u0639\u0646\u0648\u0627\u0646 -table.header.delete=\u062D\u0630\u0641 -table.header.edit=\u062A\u0639\u062F\u064A\u0644 -table.manual.sorting.date=\u0627\u0644\u062A\u0627\u0631\u064A\u062E -table.manual.sorting.description=\u0627\u0644\u0648\u0635\u0641 -table.manual.sorting.title=\u0627\u0644\u0639\u0646\u0648\u0627\u0646 -table.manual.sorting.type=\u0627\u0644\u0646\u0648\u0639 -warn.cantlaunch=\u0644\u0627 \u064A\u0645\u0643\u0646 \u0639\u0631\u0636 \u0647\u0630\u0627 \u0627\u0644\u0645\u0635\u062F\u0631\u060C \u0641\u0625\u0645\u0627 \u0623\u0646 \u0647\u0630\u0647 \u0627\u0644\u0645\u0641\u0636\u0644\u0629 \u0644\u0645 \u062A\u0639\u062F \u0635\u0627\u0644\u062D\u0629 \u0623\u0648 \u0623\u0646\u0643 \u0644\u064A\u0633 \u0644\u062F\u064A\u0643 \u0635\u0644\u0627\u062D\u064A\u0629 \u0627\u0633\u062A\u0639\u0631\u0627\u0636 \u0627\u0644\u0645\u0635\u062F\u0631 \u0630\u0649 \u0627\u0644\u0635\u0644\u0629. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_bg.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_bg.properties deleted file mode 100644 index 7ee81e451cddbbf6e9eb86af8f8a811fd06e8038..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_bg.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Wed Jun 03 20:15:25 CEST 2009 -action.choose=\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 -action.delete=\u0418\u0437\u0442\u0440\u0438\u0439\u0442\u0435 -action.edit=\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439\u0442\u0435 -bookmark.create.successful=\u041B\u044E\u0431\u0438\u043C\u0430\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0435 \u0437\u0430\u043F\u0430\u0437\u0435\u043D\u0430. -bookmark.create.title=\u041E\u0442\u0431\u0435\u043B\u0435\u0436\u0435\u0442\u0435 \u043B\u044E\u0431\u0438\u043C\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 -bookmark.delete.no=\u041D\u0435 -bookmark.delete.successfull=\u041B\u044E\u0431\u0438\u043C\u0430\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0435 \u0438\u0437\u0442\u0440\u0438\u0442\u0430. -bookmark.delete.unsuccessfull=\u041B\u044E\u0431\u0438\u043C\u0430\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0438\u0437\u0442\u0440\u0438\u0442\u0430. -bookmark.delete.willyou=\u041D\u0430\u0438\u0441\u0442\u0438\u043D\u0430 \u043B\u0438 \u0438\u0441\u043A\u0430\u0442\u0435 \u0434\u0430 \u0438\u0437\u0442\u0440\u0438\u0435\u0442\u0435 \u0442\u0430\u0437\u0438 \u043B\u044E\u0431\u0438\u043C\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430? -bookmark.delete.yes=\u0414\u0430 -bookmark.update.successful=\u041B\u044E\u0431\u0438\u043C\u0430\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0435 \u043F\u0440\u043E\u043C\u0435\u043D\u0435\u043D\u0430. -bookmark.update.unsuccessful=\u041B\u044E\u0431\u0438\u043C\u0430\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u0440\u043E\u043C\u0435\u043D\u0435\u043D\u0430. -bookmarks.nobookmarks=\u0412\u0438\u0435 \u043D\u044F\u043C\u0430\u0442\u0435 \u0437\u0430\u043F\u0430\u0437\u0435\u043D\u0438 \u043B\u044E\u0431\u0438\u043C\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438. -bookmarks.title=\u041C\u043E\u0438\u0442\u0435 \u043B\u044E\u0431\u0438\u043C\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438 -bookmarksPortlet.auto.sorting.title=\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u0441\u043E\u0440\u0442\u0438\u0440\u0430\u043D\u0435 \u043D\u0430 \u043B\u044E\u0431\u0438\u043C\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438 -bookmarksPortlet.description=\u0411\u044A\u0440\u0437 \u0434\u043E\u0441\u0442\u044A\u043F \u0434\u043E \u0447\u0435\u0441\u0442\u043E \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u043D\u0438 \u043B\u044E\u0431\u0438\u043C\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438. -bookmarksPortlet.manual.sorting.title=\u0420\u044A\u0447\u043D\u043E \u0441\u043E\u0440\u0442\u0438\u0440\u0430\u043D\u0435 \u043D\u0430 \u043B\u044E\u0431\u0438\u043C\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438 -bookmarksPortlet.nobookmarks=\u041D\u044F\u043C\u0430\u0442\u0435 \u043B\u044E\u0431\u0438\u043C\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438 -bookmarksPortlet.showAll=\u041F\u043E\u043A\u0430\u0436\u0435\u0442\u0435 \u0432\u0441\u0438\u0447\u043A\u0438 -bookmarksPortlet.title=\u041C\u043E\u0438\u0442\u0435 \u043B\u044E\u0431\u0438\u043C\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438 -error.title.empty=\u041C\u043E\u043B\u044F, \u043D\u0430\u043F\u0438\u0448\u0435\u0442\u0435 \u0437\u0430\u0433\u043B\u0430\u0432\u0438\u0435. -firstrun.later=\u041F\u043E-\u043A\u044A\u0441\u043D\u043E -firstrun.message=\u0412\u0438\u0435 \u0438\u043C\u0430\u0442\u0435 \u0432\u044A\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442 \u0434\u0430 \u043F\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u0435 \u043B\u044E\u0431\u0438\u043C\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0437\u0430 \u043F\u043E-\u0431\u044A\u0440\u0437 \u0434\u043E\u0441\u0442\u044A\u043F \u0434\u043E \u0442\u043E\u0437\u0438 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B. <br><br>\u0418\u0441\u043A\u0430\u0442\u0435 \u043B\u0438 \u0434\u0430 \u044F \u043F\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u0435 \u0441\u0435\u0433\u0430? -firstrun.no=\u041D\u0435 -firstrun.yes=\u0414\u0430 -form.bmdescription=\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 -form.bmtitle=\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435 -form.bmtype=\u0421\u0438\u0441\u0442\u0435\u043C\u0435\u043D \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B -form.please.enter.textanddesc=\u041C\u043E\u043B\u044F, \u043D\u0430\u043F\u0438\u0448\u0435\u0442\u0435 \u0437\u0430\u0433\u043B\u0430\u0432\u0438\u0435 \u0438 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043D\u0430 \u043B\u044E\u0431\u0438\u043C\u0430\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430. -table.bm.description=\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 -table.bm.resource=\u041C\u0430\u0442\u0435\u0440\u0438\u0430\u043B -table.bm.title=\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435 -table.header.delete=\u0418\u0437\u0442\u0440\u0438\u0439\u0442\u0435 -table.header.edit=\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439\u0442\u0435 -table.manual.sorting.date=\u0414\u0430\u0442\u0430 -table.manual.sorting.description=\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 -table.manual.sorting.title=\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435 -table.manual.sorting.type=\u0412\u0438\u0434 -warn.cantlaunch=\u0422\u043E\u0437\u0438 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u043E\u043A\u0430\u0437\u0430\u043D. \u0418\u043B\u0438 \u0432\u0435\u0447\u0435 \u0435 \u043D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0438\u043B\u0438 \u0432\u0438\u0435 \u043D\u044F\u043C\u0430\u0442\u0435 \u043F\u0440\u0430\u0432\u043E \u0434\u0430 \u043E\u0442\u0432\u0430\u0440\u044F\u0442\u0435 \u0441\u044A\u043E\u0442\u0432\u0435\u0442\u043D\u0438\u044F \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_cs.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_cs.properties deleted file mode 100644 index 7e90848bf8a0b766115d5f0d06c9a002862d8e71..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_cs.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Mon Mar 02 09:54:13 CET 2009 -action.choose=Vybrat -action.delete=Smazat -action.edit=Upravit -bookmark.create.successful=Z\u00E1lo\u017Eka byla ulo\u017Eena -bookmark.create.title=Vytvo\u0159it z\u00E1lo\u017Eku -bookmark.delete.no=Ano -bookmark.delete.successfull=Z\u00E1lo\u017Eka byla smaz\u00E1na -bookmark.delete.unsuccessfull=Z\u00E1lo\u017Eka nem\u016F\u017Ee b\u00FDt smaz\u00E1na -bookmark.delete.willyou=Opravdu chcete smazat tuto z\u00E1lo\u017Eku? -bookmark.delete.yes=Ne -bookmark.update.successful=Z\u00E1lo\u017Eka byla zm\u011Bn\u011Bna -bookmark.update.unsuccessful=Z\u00E1lo\u017Eka nem\u016F\u017Ee b\u00FDt zm\u011Bn\u011Bna -bookmarks.nobookmarks=Nem\u00E1te zat\u00EDm \u017E\u00E1dn\u00E9 vlastn\u00ED z\u00E1lo\u017Eky -bookmarks.title=M\u00E9 z\u00E1lo\u017Eky -bookmarksPortlet.auto.sorting.title=Automatick\u00E9 \u0159azen\u00ED z\u00E1lo\u017Eek -bookmarksPortlet.description=Rychl\u00ED p\u0159\u00EDstup k nejpou\u017E\u00EDvan\u011Bj\u0161\u00EDm z\u00E1lo\u017Ek\u00E1m -bookmarksPortlet.manual.sorting.title=Ru\u010Dn\u00ED \u0159azen\u00ED z\u00E1lo\u017Eek -bookmarksPortlet.nobookmarks=Nem\u00E1te z\u00E1lo\u017Eky -bookmarksPortlet.showAll=Zobrazit v\u0161e -bookmarksPortlet.title=Moje z\u00E1lo\u017Eky -error.title.empty=Pros\u00EDm vlo\u017Ete n\u00E1zev -firstrun.later=Pozd\u011Bji -firstrun.message=Pro snadn\u011Bj\u0161\u00ED p\u0159\u00EDstup m\u00E1te mo\u017Enost vlo\u017Eit z\u00E1lo\u017Eku k tomuto zdroji. <br><br>Chcete ji vlo\u017Eit nyn\u00ED? -firstrun.no=Ne -firstrun.yes=Ano -form.bmdescription=Popis -form.bmtitle=N\u00E1zev -form.bmtype=Zdroje OLATu -form.please.enter.textanddesc=Pros\u00EDm vlo\u017Ete n\u00E1zev a popis z\u00E1lo\u017Eky -table.bm.description=Popis -table.bm.resource=Zdroj -table.bm.title=N\u00E1zev -table.header.delete=Smazat -table.header.edit=Upravit -table.manual.sorting.date=Datum -table.manual.sorting.description=Popis -table.manual.sorting.title=N\u00E1zev -table.manual.sorting.type=Typ -warn.cantlaunch=Zdroj nem\u016F\u017Ee b\u00FDt zobrazen. Z\u00E1lo\u017Eka u\u017E nen\u00ED aktu\u00E1ln\u00ED nebo nem\u00E1te nastavena p\u0159\u00EDstupov\u00E1 pr\u00E1va k tomuto zdroji. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_da.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_da.properties deleted file mode 100644 index 139a343fe04b02eb419a7aeeb42a23ff48053e55..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_da.properties +++ /dev/null @@ -1,34 +0,0 @@ -#Mon Mar 02 09:54:08 CET 2009 -action.choose=V\u00E6lg -action.delete=Slet -action.edit=Rediger -bookmark.create.successful=Bogm\u00E6rket blev gemt -bookmark.create.title=Opret bogm\u00E6rke -bookmark.delete.no=Nej -bookmark.delete.successfull=Bogm\u00E6rket blev slettet -bookmark.delete.unsuccessfull=Bogm\u00E6rket kunne ikke slettes -bookmark.delete.willyou=Vil du virkelig slette dette bogm\u00E6rke -bookmark.delete.yes=Ja -bookmark.update.successful=Bogm\u00E6rket blev opdateret -bookmark.update.unsuccessful=Bogm\u00E6rket kunne ikke opdateres -bookmarks.nobookmarks=Du har ikke oprettet nogle bogm\u00E6rker -bookmarks.title=Mine bogm\u00E6rker -bookmarksPortlet.description=Hurtig adgang til de bogm\u00E6rker, du bruger mest -bookmarksPortlet.nobookmarks=Du har ingen bogm\u00E6rker -bookmarksPortlet.showAll=Vis alle -bookmarksPortlet.title=Mine bogm\u00E6rker -error.title.empty=Indtast venligst en titel -firstrun.later=Senere -firstrun.message=Du kan tilf\u00F8je et bogm\u00E6rke for at f\u00E5 hurtigere adgang i fremtiden. <br/<br/>Vil du tilf\u00F8je et bogm\u00E6rke nu? -firstrun.no=Nej -firstrun.yes=Ja -form.bmdescription=Beskrivelse -form.bmtitle=OLAT-ressource -form.bmtype=Titel -form.please.enter.textanddesc=Indtast venligst bogm\u00E6rkets titel samt en beskrivelse -table.bm.description=Beskrivelse -table.bm.resource=Ressource -table.bm.title=Titel -table.header.delete=Slet -table.header.edit=Rediger -warn.cantlaunch=Ressourcen kunne ikke vises. Enten er bogm\u00E6rket ikke gyldigt l\u00E6ngere, eller ogs\u00E5 har du ikke rettigheder til at tilg\u00E5 denne ressource. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_de.properties deleted file mode 100644 index 3c5fbe5abd084528ada11ed0e3b43802f9e26f89..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_de.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Mon Mar 02 09:54:04 CET 2009 -action.choose=W\u00E4hlen -action.delete=L\u00F6schen -action.edit=Bearbeiten -bookmark.create.successful=Das Bookmark wurde gespeichert. -bookmark.create.title=Bookmark erstellen -bookmark.delete.no=Nein -bookmark.delete.successfull=Das Bookmark wurde gel\u00F6scht. -bookmark.delete.unsuccessfull=Das Bookmark konnte nicht gel\u00F6scht werden. -bookmark.delete.willyou=Wollen Sie dieses Bookmark wirklich l\u00F6schen? -bookmark.delete.yes=Ja -bookmark.update.successful=Das Bookmark wurde bearbeitet. -bookmark.update.unsuccessful=Das Bookmark konnte nicht bearbeitet werden. -bookmarks.nobookmarks=Sie haben keine pers\u00F6nlichen Bookmarks angelegt. -bookmarks.title=Meine Bookmarks -bookmarksPortlet.auto.sorting.title=Bookmarks automatisch sortieren -bookmarksPortlet.description=Schnellzugriff zu Ihren meistbenutzten Bookmarks -bookmarksPortlet.manual.sorting.title=Bookmarks manuell sortieren -bookmarksPortlet.nobookmarks=Sie haben keine Bookmarks erstellt. -bookmarksPortlet.showAll=Alle anzeigen -bookmarksPortlet.title=Meine Bookmarks -error.title.empty=Bitte geben Sie einen Titel an. -firstrun.later=Sp\u00E4ter -firstrun.message=F\u00FCr einen schnelleren Einstieg k\u00F6nnen Sie ein Bookmark auf dieses Objekt setzen.<br><br>M\u00F6chten Sie jetzt ein Bookmark anlegen? -firstrun.no=Nein -firstrun.yes=Ja -form.bmdescription=Beschreibung -form.bmtitle=Titel -form.bmtype=OLAT-Ressource -form.please.enter.textanddesc=Bitte geben Sie Titel und Beschreibung des Bookmarks an. -table.bm.description=Beschreibung -table.bm.resource=Ressource -table.bm.title=Titel -table.header.delete=L\u00F6schen -table.header.edit=Bearbeiten -table.manual.sorting.date=Date -table.manual.sorting.description=Beschreibung -table.manual.sorting.title=Titel -table.manual.sorting.type=Typ -warn.cantlaunch=Die Ressource kann nicht angezeigt werden. Entweder ist das Bookmark nicht mehr g\u00FCltig, oder Sie haben nicht gen\u00FCgend Rechte, um das Bookmark auszuf\u00FChren. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_el.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_el.properties deleted file mode 100644 index 635567a39ee84af5a38864c55595e624fd63fcb0..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_el.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Mon Mar 02 09:54:15 CET 2009 -action.choose=\u0395\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE -action.delete=\u0394\u03B9\u03B1\u03B3\u03C1\u03B1\u03C6\u03AE -action.edit=\u0395\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1 -bookmark.create.successful=\u039F \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B7\u03C2 \u03B1\u03C0\u03BF\u03B8\u03B7\u03BA\u03B5\u03CD\u03C4\u03B7\u03BA\u03B5 -bookmark.create.title=\u0394\u03B7\u03BC\u03B9\u03BF\u03C5\u03C1\u03B3\u03AF\u03B1 \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B7 -bookmark.delete.no=\u038C\u03C7\u03B9 -bookmark.delete.successfull=\u039F \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B7\u03C2 \u03B4\u03B9\u03B1\u03B3\u03C1\u03AC\u03C6\u03B7\u03BA\u03B5 -bookmark.delete.unsuccessfull=\u039F \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B7\u03C2 \u03B4\u03B5\u03BD \u03B4\u03B9\u03B1\u03B3\u03C1\u03AC\u03C6\u03B7\u03BA\u03B5 -bookmark.delete.willyou=\u0395\u03AF\u03C3\u03C4\u03B5 \u03C3\u03AF\u03B3\u03BF\u03C5\u03C1\u03BF\u03B9 \u03CC\u03C4\u03B9 \u03B8\u03AD\u03BB\u03B5\u03C4\u03B5 \u03BD\u03B1 \u03B4\u03B9\u03B1\u03B3\u03C1\u03AC\u03C8\u03B5\u03C4\u03B5 \u03C4\u03BF \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B7? -bookmark.delete.yes=\u039D\u03B1\u03B9 -bookmark.update.successful=\u039F \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B7\u03C2 \u03C4\u03C1\u03BF\u03C0\u03BF\u03C0\u03BF\u03B9\u03AE\u03B8\u03B7\u03BA\u03B5 -bookmark.update.unsuccessful=\u039F \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B7\u03C2 \u03B4\u03B5\u03BD \u03C4\u03C1\u03BF\u03C0\u03BF\u03C0\u03BF\u03B9\u03AE\u03B8\u03B7\u03BA\u03B5 -bookmarks.nobookmarks=\u0394\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03B1\u03C0\u03BF\u03B8\u03B7\u03BA\u03B5\u03CD\u03C3\u03B5\u03B9 \u03BA\u03AC\u03C0\u03BF\u03B9\u03BF \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B7 \u03BC\u03AD\u03C7\u03C1\u03B9 \u03C3\u03C4\u03B9\u03B3\u03BC\u03AE\u03C2. -bookmarks.title=\u03A4\u03B1 \u03B1\u03B3\u03B1\u03C0\u03B7\u03BC\u03AD\u03BD\u03B1 \u03BC\u03BF\u03C5 -bookmarksPortlet.auto.sorting.title=\u0391\u03C5\u03C4\u03CC\u03BC\u03B1\u03C4\u03B7 \u03C4\u03B1\u03BE\u03B9\u03BD\u03CC\u03BC\u03B7\u03C3\u03B7 \u03C4\u03C9\u03BD \u0391\u03B3\u03B1\u03C0\u03B7\u03BC\u03AD\u03BD\u03C9\u03BD \u03BC\u03BF\u03C5 -bookmarksPortlet.description=\u0393\u03C1\u03AE\u03B3\u03BF\u03C1\u03B7 \u03C0\u03C1\u03CC\u03C3\u03B2\u03B1\u03C3\u03B7 \u03C3\u03C4\u03BF\u03C5\u03C2 \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B5\u03C2 \u03C0\u03BF\u03C5 \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03B5\u03AF\u03C4\u03B5 \u03C3\u03C5\u03C7\u03BD\u03CC\u03C4\u03B5\u03C1\u03B1 -bookmarksPortlet.manual.sorting.title=\u03A7\u03B5\u03B9\u03C1\u03BF\u03BA\u03AF\u03BD\u03B7\u03C4\u03B7 \u03C4\u03B1\u03BE\u03B9\u03BD\u03CC\u03BC\u03B7\u03C3\u03B7 \u03C4\u03C9\u03BD \u0391\u03B3\u03B1\u03C0\u03B7\u03BC\u03AD\u03BD\u03C9\u03BD \u03BC\u03BF\u03C5 -bookmarksPortlet.nobookmarks=\u0394\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B5\u03C2 -bookmarksPortlet.showAll=\u03A0\u03C1\u03BF\u03B2\u03BF\u03BB\u03AE \u03CC\u03BB\u03C9\u03BD -bookmarksPortlet.title=\u03A4\u03B1 \u03B1\u03B3\u03B1\u03C0\u03B7\u03BC\u03AD\u03BD\u03B1 \u03BC\u03BF\u03C5 -error.title.empty=\u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03BF\u03CD\u03BC\u03B5 \u03B5\u03B9\u03C3\u03AC\u03B3\u03B5\u03C4\u03B5 \u03C4\u03AF\u03C4\u03BB\u03BF -firstrun.later=\u0391\u03C1\u03B3\u03CC\u03C4\u03B5\u03C1\u03B1 -firstrun.message=\u0388\u03C7\u03B5\u03C4\u03B5 \u03C4\u03B7 \u03B4\u03C5\u03BD\u03B1\u03C4\u03CC\u03C4\u03B7\u03C4\u03B1 \u03BD\u03B1 \u03C0\u03C1\u03BF\u03C3\u03B8\u03AD\u03C3\u03B5\u03C4\u03B5 \u03AD\u03BD\u03B1 \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B7 \u03B3\u03B9\u03B1 \u03C4\u03BF \u03C3\u03C5\u03B3\u03BA\u03B5\u03BA\u03C1\u03B9\u03BC\u03AD\u03BD\u03BF \u03C0\u03CC\u03C1\u03BF \u03B3\u03B9\u03B1 \u03B3\u03C1\u03AE\u03B3\u03BF\u03C1\u03B7 \u03C0\u03C1\u03CC\u03C3\u03B2\u03B1\u03C3\u03B7. <br><br>\u0398\u03AD\u03BB\u03B5\u03C4\u03B5 \u03BD\u03B1 \u03C4\u03BF\u03BD \u03C0\u03C1\u03BF\u03C3\u03B8\u03AD\u03C3\u03B5\u03C4\u03B5 \u03C4\u03CE\u03C1\u03B1? -firstrun.no=\u038C\u03C7\u03B9 -firstrun.yes=\u039D\u03B1\u03B9 -form.bmdescription=\u03A0\u03B5\u03C1\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE -form.bmtitle=\u03A0\u03CC\u03C1\u03BF\u03C2 OLAT -form.bmtype=\u03A4\u03AF\u03C4\u03BB\u03BF\u03C2 -form.please.enter.textanddesc=\u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03BF\u03CD\u03BC\u03B5 \u03B5\u03B9\u03C3\u03AC\u03B3\u03B5\u03C4\u03B5 \u03C4\u03BF\u03BD \u03C4\u03AF\u03C4\u03BB\u03BF \u03BA\u03B1\u03B9 \u03C4\u03B7\u03BD \u03C0\u03B5\u03C1\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE \u03C4\u03BF\u03C5 \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B7 -table.bm.description=\u03A0\u03B5\u03C1\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE -table.bm.resource=\u03A0\u03CC\u03C1\u03BF\u03C2 -table.bm.title=\u03A4\u03AF\u03C4\u03BB\u03BF\u03C2 -table.header.delete=\u0394\u03B9\u03B1\u03B3\u03C1\u03B1\u03C6\u03AE -table.header.edit=\u0395\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1 -table.manual.sorting.date=\u0397\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1 -table.manual.sorting.description=\u03A0\u03B5\u03C1\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE -table.manual.sorting.title=\u03A4\u03AF\u03C4\u03BB\u03BF\u03C2 -table.manual.sorting.type=\u03A4\u03CD\u03C0\u03BF\u03C2 -warn.cantlaunch=\u039F \u03C0\u03CC\u03C1\u03BF\u03C2 \u03B4\u03B5\u03BD \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF \u03BD\u03B1 \u03C0\u03C1\u03BF\u03B2\u03BB\u03B7\u03B8\u03B5\u03AF. \u0395\u03AF\u03C4\u03B5 \u03BF \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B7\u03C2 \u03B4\u03B5\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2, \u03B5\u03AF\u03C4\u03B5 \u03B4\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03B4\u03B9\u03BA\u03B1\u03B9\u03CE\u03BC\u03B1\u03C4\u03B1 \u03B5\u03BA\u03C4\u03AD\u03BB\u03B5\u03C3\u03B7\u03C2 \u03C4\u03BF\u03C5 \u03C3\u03C7\u03B5\u03C4\u03B9\u03BA\u03BF\u03CD \u03C0\u03CC\u03C1\u03BF\u03C5. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_en.properties deleted file mode 100644 index 1e8e89adf9811e0ebb0f57b7fc251c70784214e9..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_en.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Sun Jan 31 17:32:55 CET 2010 -action.choose=Select -action.delete=Delete -action.edit=Edit -bookmark.create.successful=Bookmark was saved. -bookmark.create.title=Create bookmark -bookmark.delete.no=No -bookmark.delete.successfull=Bookmark was deleted. -bookmark.delete.unsuccessfull=Bookmark could not be deleted. -bookmark.delete.willyou=Do you really want to delete this bookmark? -bookmark.delete.yes=Yes -bookmark.update.successful=Bookmark was modified. -bookmark.update.unsuccessful=Bookmark could not be modified. -bookmarks.nobookmarks=You have no personal bookmarks saved so far. -bookmarks.title=My bookmarks -bookmarksPortlet.auto.sorting.title=Automatic sorting of bookmarks -bookmarksPortlet.description=Fast access to bookmarks used frequently. -bookmarksPortlet.manual.sorting.title=Manual sorting of bookmarks -bookmarksPortlet.nobookmarks=You have no bookmarks. -bookmarksPortlet.showAll=Show all -bookmarksPortlet.title=My bookmarks -error.title.empty=Please enter a title. -firstrun.later=Later -firstrun.message=You have the possibility to add a bookmark for this resource to get faster access. <br><br>Do you want to add it now? -firstrun.no=No -firstrun.yes=Yes -form.bmdescription=Description -form.bmtitle=Title -form.bmtype=OLAT resource -form.please.enter.textanddesc=Please enter title and description of this bookmark. -table.bm.description=Description -table.bm.resource=Resource -table.bm.title=Title -table.header.delete=Delete -table.header.edit=Edit -table.manual.sorting.date=Date -table.manual.sorting.description=Description -table.manual.sorting.title=Title -table.manual.sorting.type=Type -warn.cantlaunch=This resource cannot be displayed. Either this bookmark is not valid anymore or you do not have the right to launch the relevant resource. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_es.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_es.properties deleted file mode 100644 index 5bf0bdc312f3d111af47aa8bd71b7ec23cf103b4..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_es.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Mon Mar 09 04:29:03 CET 2009 -action.choose=Seleccionar -action.delete=Eliminar -action.edit=Modificar -bookmark.create.successful=El marcador ha sido guardado -bookmark.create.title=Crear marcador -bookmark.delete.no=No -bookmark.delete.successfull=El marcador ha sido eliminado -bookmark.delete.unsuccessfull=El marcador no se puede eliminar -bookmark.delete.willyou=\u00BFEst\u00E1s seguro de que deseas eliminar esta marcador? -bookmark.delete.yes=S\u00ED -bookmark.update.successful=El marcador ha sido modificado -bookmark.update.unsuccessful=El marcador no puede ser modificado -bookmarks.nobookmarks=No has guardado ningun marcador personal hasta ahora. -bookmarks.title=Mis marcadores -bookmarksPortlet.auto.sorting.title=Ordenar marcadores autom\u00E1ticamente -bookmarksPortlet.description=Acceso r\u00E1pido a tus marcadores m\u00E1s utilizados -bookmarksPortlet.manual.sorting.title=Ordenar marcadores manualmente -bookmarksPortlet.nobookmarks=No tienes marcadores -bookmarksPortlet.showAll=Mostar todos -bookmarksPortlet.title=Mis marcadores -error.title.empty=Por favor introduce un t\u00EDtulo -firstrun.later=Despu\u00E9s -firstrun.message=Puedes agregar este recurso a marcadores para tener un acceso m\u00E1s r\u00E1pido. <br><br>\u00BFDeseas agregarlo ahora? -firstrun.no=No -firstrun.yes=S\u00ED -form.bmdescription=Descripci\u00F3n -form.bmtitle=T\u00EDtulo -form.bmtype=Recurso OLAT -form.please.enter.textanddesc=Por favor, introduce t\u00EDtulo y descripci\u00F3n del nuevo marcador -table.bm.description=Descripci\u00F3n -table.bm.resource=Recurso -table.bm.title=T\u00EDtulo -table.header.delete=Eliminar -table.header.edit=Modificar -table.manual.sorting.date=Fecha -table.manual.sorting.description=Descripci\u00F3n -table.manual.sorting.title=T\u00EDtulo -table.manual.sorting.type=Tipo -warn.cantlaunch=El recurso no puede ser mostrado. Puede que este marcador ya no sea v\u00E1lido o que no tengas permiso para lanzar el recurso solicitado. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_et_EE.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_et_EE.properties deleted file mode 100644 index 1b93565a6a1be62abcaac36ffdee1f1a3aa812f0..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_et_EE.properties +++ /dev/null @@ -1,9 +0,0 @@ -#Sat May 30 00:01:48 CEST 2009 -bookmarksPortlet.showAll=N\u00E4ita k\u00F5iki -firstrun.later=Hiljem -firstrun.no=Ei -firstrun.yes=Jah -form.bmdescription=Kirjeldus -table.header.delete=Kustuta -table.manual.sorting.date=Kuup\u00E4ev -table.manual.sorting.description=Kirjeldus diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_fa.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_fa.properties deleted file mode 100644 index 2a43d344c806d9043257c4819adc5421fc35b165..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_fa.properties +++ /dev/null @@ -1,34 +0,0 @@ -#Mon Mar 02 09:54:12 CET 2009 -action.choose=\u0627\u0646\u062A\u062E\u0627\u0628 -action.delete=\u062D\u0630\u0641 -action.edit=\u0648\u06CC\u0631\u0627\u06CC\u0634 -bookmark.create.successful=\u0641\u0647\u0631\u0633\u062A \u0630\u062E\u06CC\u0631\u0647 \u0634\u062F -bookmark.create.title=\u0627\u06CC\u062C\u0627\u062F \u0641\u0647\u0631\u0633\u062A \u062C\u062F\u06CC\u062F -bookmark.delete.no=\u062E\u06CC\u0631 -bookmark.delete.successfull=\u0641\u0647\u0631\u0633\u062A \u062D\u0630\u0641 \u0634\u062F -bookmark.delete.unsuccessfull=\u0627\u0645\u06A9\u0627\u0646 \u062D\u0630\u0641 \u0641\u0647\u0631\u0633\u062A \u0648\u062C\u0648\u062F \u0646\u062F\u0627\u0631\u062F -bookmark.delete.willyou=\u0622\u06CC\u0627 \u0648\u0627\u0642\u0639\u0627 \u0642\u0635\u062F \u062D\u0630\u0641 \u0627\u06CC\u0646 \u0641\u0647\u0631\u0633\u062A \u0631\u0627 \u062F\u0627\u0631\u06CC\u062F\u061F -bookmark.delete.yes=\u0628\u0644\u0647 -bookmark.update.successful=\u0641\u0647\u0631\u0633\u062A \u0627\u0635\u0644\u0627\u062D \u0634\u062F -bookmark.update.unsuccessful=\u0627\u0645\u06A9\u0627\u0646 \u0627\u0635\u0644\u0627\u062D \u0641\u0647\u0631\u0633\u062A \u0648\u062C\u0648\u062F \u0646\u062F\u0627\u0631\u062F -bookmarks.nobookmarks=\u062A\u0627 \u06A9\u0646\u0648\u0646 \u0647\u06CC\u0686 \u0641\u0647\u0631\u0633\u062A \u0634\u062E\u0635\u06CC \u0630\u062E\u06CC\u0631\u0647 \u0646\u0634\u062F\u0647 \u0627\u0633\u062A -bookmarks.title=\u0641\u0647\u0631\u0633\u062A \u0634\u062E\u0635\u06CC -bookmarksPortlet.description=\u062F\u0633\u062A\u0631\u0633\u06CC \u0633\u0631\u06CC\u0639 \u0628\u0647 \u0641\u0647\u0631\u0633\u062A \u0647\u0627\u06CC\u06CC \u06A9\u0647 \u0628\u06CC\u0634\u062A\u0631 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0634\u062F\u0647 -bookmarksPortlet.nobookmarks=\u0634\u0645\u0627 \u0641\u0647\u0631\u0633\u062A\u06CC \u0646\u062F\u0627\u0631\u06CC\u062F -bookmarksPortlet.showAll=\u0646\u0645\u0627\u06CC\u0634 \u0647\u0645\u0647 -bookmarksPortlet.title=\u0641\u0647\u0631\u0633\u062A \u0647\u0627\u06CC \u0634\u062E\u0635\u06CC -error.title.empty=\u0644\u0637\u0641\u0627 \u06CC\u06A9 \u0639\u0646\u0648\u0627\u0646 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F -firstrun.later=\u062F\u0631 \u0622\u06CC\u0646\u062F\u0647 -firstrun.message=\u0627\u06CC\u0646 \u0627\u0645\u06A9\u0627\u0646 \u0628\u0631\u0627\u06CC \u0634\u0645\u0627 \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F \u06A9\u0647 \u06CC\u06A9 \u0641\u0647\u0631\u0633\u062A \u0628\u0631\u0627\u06CC \u0627\u06CC\u0646 \u0645\u0646\u0628\u0639 \u0627\u06CC\u062C\u0627\u062F \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u0622\u0646 \u0628\u0627\u0639\u062B \u062F\u0633\u062A\u0631\u0633\u06CC \u0633\u0631\u06CC\u0639 \u0628\u0647 \u0645\u0646\u0628\u0639 \u0645\u06CC\u0634\u0648\u062F.\u0622\u06CC\u0627 \u0645\u0627\u06CC\u0644 \u0628\u0647 \u0627\u06CC\u062C\u0627\u062F \u0622\u0646 \u0647\u0633\u062A\u06CC\u062F\u061F -firstrun.no=\u062E\u06CC\u0631 -firstrun.yes=\u0628\u0644\u0647 -form.bmdescription=\u0634\u0631\u062D -form.bmtitle=\u0645\u0646\u0627\u0628\u0639 \u0633\u06CC\u0633\u062A\u0645 -form.bmtype=\u0639\u0646\u0648\u0627\u0646 -form.please.enter.textanddesc=\u0644\u0637\u0641\u0627 \u0639\u0646\u0648\u0627\u0646 \u0648 \u0634\u0631\u062D \u0641\u0647\u0631\u0633\u062A \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F -table.bm.description=\u0634\u0631\u062D -table.bm.resource=\u0645\u0646\u0627\u0628\u0639 -table.bm.title=\u0639\u0646\u0648\u0627\u0646 -table.header.delete=\u062D\u0630\u0641 -table.header.edit=\u0648\u06CC\u0631\u0627\u06CC\u0634 -warn.cantlaunch=\u0645\u0646\u0628\u0639 \u0642\u0627\u0628\u0644 \u0646\u0645\u0627\u06CC\u0634 \u0646\u0645\u06CC \u0628\u0627\u0634\u062F.\u06CC\u0627 \u0627\u06CC\u0646 \u0641\u0647\u0631\u0633\u062A \u0645\u0639\u062A\u0628\u0631 \u0646\u0645\u06CC \u0628\u0627\u0634\u062F \u0648 \u06CC\u0627 \u0634\u0645\u0627 \u0635\u0644\u0627\u062D\u06CC\u062A \u0627\u062C\u0631\u0627\u06CC \u0645\u0646\u0628\u0639 \u0645\u0631\u0628\u0648\u0637 \u0631\u0627 \u0646\u062F\u0627\u0631\u06CC\u062F diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_fr.properties deleted file mode 100644 index cfe3b0cdd847f93226cd5c676d7ce51d30af792c..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_fr.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Sun Sep 05 16:11:43 CEST 2010 -action.choose=S\u00E9lectionner -action.delete=Supprimer -action.edit=Editer -bookmark.create.successful=Le favori a \u00E9t\u00E9 enregistr\u00E9 -bookmark.create.title=Cr\u00E9er un favori -bookmark.delete.no=Non -bookmark.delete.successfull=Ce favori a \u00E9t\u00E9 supprim\u00E9 avec succ\u00E8s -bookmark.delete.unsuccessfull=Ce favori n'a pas pu \u00EAtre supprim\u00E9 -bookmark.delete.willyou=Voulez-vous vraiment supprimer ce favori? -bookmark.delete.yes=Oui -bookmark.update.successful=Le favori a \u00E9t\u00E9 modifi\u00E9 avec succ\u00E8s -bookmark.update.unsuccessful=Le favori n'a pas pu \u00EAtre modifi\u00E9 -bookmarks.nobookmarks=Vous n'avez enregistr\u00E9 aucun favori personnel. -bookmarks.title=Mes favoris -bookmarksPortlet.auto.sorting.title=Trier les favoris automatiquement -bookmarksPortlet.description=Raccouci vers vos favoris les plus utilis\u00E9s -bookmarksPortlet.manual.sorting.title=Trier les favoris manuellement -bookmarksPortlet.nobookmarks=Vous n'avez pas cr\u00E9\u00E9 de favoris. -bookmarksPortlet.showAll=Afficher tous -bookmarksPortlet.title=Mes favoris -error.title.empty=Veuillez donner un titre SVP -firstrun.later=Plus tard -firstrun.message=Vous pouvez cr\u00E9er un favori qui vous permettra de revenir ici tr\u00E8s facilement. <br><br>Voulez-vous ins\u00E9rer un favori maintenant? -firstrun.no=Non -firstrun.yes=Oui -form.bmdescription=Description -form.bmtitle=Titre -form.bmtype=Ressource OLAT -form.please.enter.textanddesc=Veuillez donner un titre et une description au favori s.v.p. -table.bm.description=Description -table.bm.resource=Ressource -table.bm.title=Titre -table.header.delete=Supprimer -table.header.edit=Editer -table.manual.sorting.date=Date -table.manual.sorting.description=Description -table.manual.sorting.title=Titre -table.manual.sorting.type=Type -warn.cantlaunch=La ressource ne peut pas \u00EAtre affich\u00E9e. Soit le favori n'est plus valable, soit vous ne disposez pas assez de droits pour ex\u00E9cuter le favori. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_it.properties deleted file mode 100644 index 08597b2291032dbdcffbce62be6ef705f08cec25..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_it.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Tue Jun 22 18:33:22 CEST 2010 -action.choose=Seleziona -action.delete=Eliminare -action.edit=Editare -bookmark.create.successful=Il segnalibro \u00E8 stato creato. -bookmark.create.title=Creazione di un segnalibro -bookmark.delete.no=No -bookmark.delete.successfull=Il segnalibro \u00E8 stato eliminato. -bookmark.delete.unsuccessfull=Non \u00E8 stato possibile eliminare il segnalibro. -bookmark.delete.willyou=Vuole veramente eliminare questo segnalibro? -bookmark.delete.yes=S\u00EC -bookmark.update.successful=Il segnalibro \u00E8 stato modificato. -bookmark.update.unsuccessful=Non \u00E8 stato possibile modificare il segnalibro. -bookmarks.nobookmarks=Non ha creato alcun segnalibro personale. -bookmarks.title=I miei segnalibri -bookmarksPortlet.auto.sorting.title=Ordinare i segnalibri automaticamente -bookmarksPortlet.description=Accesso rapido ai Suoi segnalibri pi\u00F9 utilizzati -bookmarksPortlet.manual.sorting.title=Ordinare i segnalibri manualmente -bookmarksPortlet.nobookmarks=Non ha creato alcun segnalibro -bookmarksPortlet.showAll=Mostrare tutti -bookmarksPortlet.title=I miei segnalibri -error.title.empty=Inserisca un titolo, p.f. -firstrun.later=Pi\u00F9 tardi -firstrun.message=Ha la possibilit\u00E0 di creare un segnalibro che Le permetter\u00E0 di ritornare alla pagina con facilit\u00E0.<br><br>Desidera creare un segnalibro ora? -firstrun.no=No -firstrun.yes=S\u00EC -form.bmdescription=Descrizione -form.bmtitle=Titolo -form.bmtype=Risorsa OLAT -form.please.enter.textanddesc=Indichi un titolo e descriva il segnalibro, p.f. -table.bm.description=Descrizione -table.bm.resource=Risorsa -table.bm.title=Titolo -table.header.delete=Eliminazione -table.header.edit=Editazione -table.manual.sorting.date=Data -table.manual.sorting.description=Descrizione -table.manual.sorting.title=Titolo -table.manual.sorting.type=Tipo -warn.cantlaunch=La risorsa non pu\u00F2 essere mostrata\: il segnalibro non \u00E8 pi\u00F9 valido, oppure Lei non possiede sufficienti diritti per utilizzarlo. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_jp.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_jp.properties deleted file mode 100644 index 5e906acfff0784d7e16b40d5da05fda075d2e3f1..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_jp.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Sun Dec 20 08:51:30 CET 2009 -action.choose=\u9078\u629E -action.delete=\u524A\u9664 -action.edit=\u7DE8\u96C6 -bookmark.create.successful=\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u304C\u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F\u3002 -bookmark.create.title=\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u3092\u4F5C\u6210\u3059\u308B -bookmark.delete.no=No -bookmark.delete.successfull=\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u304C\u524A\u9664\u3055\u308C\u307E\u3057\u305F\u3002 -bookmark.delete.unsuccessfull=\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u3092\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002 -bookmark.delete.willyou=\u672C\u5F53\u306B\u3053\u306E\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -bookmark.delete.yes=Yes -bookmark.update.successful=\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u304C\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F\u3002 -bookmark.update.unsuccessful=\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u3092\u66F4\u65B0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002 -bookmarks.nobookmarks=\u73FE\u5728\u306E\u3068\u3053\u308D\u3001\u3042\u306A\u305F\u306E\u30D1\u30FC\u30BD\u30CA\u30EB\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u306F\u3042\u308A\u307E\u305B\u3093\u3002 -bookmarks.title=\u30DE\u30A4\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF -bookmarksPortlet.auto.sorting.title=\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u306E\u81EA\u52D5\u4E26\u3073\u66FF\u3048 -bookmarksPortlet.description=\u983B\u7E41\u306B\u4F7F\u7528\u3059\u308B\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u306B\u9AD8\u901F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u308B\u3088\u3046\u306B\u3057\u307E\u3059\u3002 -bookmarksPortlet.manual.sorting.title=\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u306E\u624B\u52D5\u4E26\u3073\u66FF\u3048 -bookmarksPortlet.nobookmarks=\u3042\u306A\u305F\u306E\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u306F\u3042\u308A\u307E\u305B\u3093\u3002 -bookmarksPortlet.showAll=\u3059\u3079\u3066\u3092\u8868\u793A\u3059\u308B -bookmarksPortlet.title=\u30DE\u30A4\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF -error.title.empty=\u30BF\u30A4\u30C8\u30EB\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -firstrun.later=\u5F8C\u3067 -firstrun.message=\u7D20\u65E9\u304F\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u305F\u3081\u3001\u3042\u306A\u305F\u306F\u3053\u306E\u30EA\u30BD\u30FC\u30B9\u306B\u95A2\u3059\u308B\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u3092\u8FFD\u52A0\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002<br /><br />\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u3092\u8FFD\u52A0\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? -firstrun.no=No -firstrun.yes=Yes -form.bmdescription=\u8AAC\u660E -form.bmtitle=\u30BF\u30A4\u30C8\u30EB -form.bmtype=OLAT\u30EA\u30BD\u30FC\u30B9 -form.please.enter.textanddesc=\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u306E\u30BF\u30A4\u30C8\u30EB\u304A\u3088\u3073\u8AAC\u660E\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -table.bm.description=\u8AAC\u660E -table.bm.resource=\u30EA\u30BD\u30FC\u30B9 -table.bm.title=\u30BF\u30A4\u30C8\u30EB -table.header.delete=\u524A\u9664 -table.header.edit=\u7DE8\u96C6 -table.manual.sorting.date=\u65E5\u4ED8 -table.manual.sorting.description=\u8AAC\u660E -table.manual.sorting.title=\u30BF\u30A4\u30C8\u30EB -table.manual.sorting.type=\u30BF\u30A4\u30D7 -warn.cantlaunch=\u3053\u306E\u30EA\u30BD\u30FC\u30B9\u3092\u8868\u793A\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3002\u30EA\u30BD\u30FC\u30B9\u304C\u6709\u52B9\u3067\u306F\u306A\u3044\u304B\u3001\u3042\u306A\u305F\u306B\u95A2\u9023\u30EA\u30BD\u30FC\u30B9\u3078\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002 diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_lt.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_lt.properties deleted file mode 100644 index 099a0ee8623fa9c646eb2ef01e975d9d0674a7e7..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_lt.properties +++ /dev/null @@ -1,33 +0,0 @@ -#Mon Mar 02 09:54:01 CET 2009 -action.choose=Pasirinkti -action.delete=I\u0161trinti -action.edit=Redaguoti -bookmark.create.successful=\u017Dymeklis i\u0161saugotas -bookmark.delete.no=Ne -bookmark.delete.successfull=\u017Dymeklis i\u0161trintas -bookmark.delete.unsuccessfull=\u017Dymeklis negali b\u016Bti i\u0161trintas -bookmark.delete.willyou=Ar j\u016Bs tikrai norite i\u0161trinti \u0161\u012F \u017Eymekl\u012F? -bookmark.delete.yes=Taip -bookmark.update.successful=\u017Dymeklis modifikuotas -bookmark.update.unsuccessful=\u017Dymeklis negali b\u016Bti pakeistas. -bookmarks.nobookmarks=J\u016Bs neturite iki \u0161iol i\u0161saugot\u0173 savo asmenini\u0173 \u017Eymekli\u0173. -bookmarks.title=Mano \u017Eymekliai -bookmarksPortlet.description=Greitas pri\u0117jimas prie \u017Eymekli\u0173, kuriuos da\u017Eniausiai naudojate -bookmarksPortlet.nobookmarks=J\u016Bs neturite \u017Eymekli\u0173 -bookmarksPortlet.showAll=Rodyti visus -bookmarksPortlet.title=Mano \u017Eymekliai -error.title.empty=Pra\u0161ome \u012Fvesti pavadinim\u0105 -firstrun.later=V\u0117liau -firstrun.message=J\u016Bs turite galimyb\u0119 prid\u0117ti \u017Eymekl\u012F \u0161iam resursui, kad grei\u010Diau pasiektum\u0117te. <br><br>Ar j\u016Bs norite prid\u0117ti dabar? -firstrun.no=Ne -firstrun.yes=Taip -form.bmdescription=Apib\u016Bdinimas -form.bmtitle=OLAT resursai -form.bmtype=Pavadinimas -form.please.enter.textanddesc=Pra\u0161ome \u012Fra\u0161yti pavadinim\u0105 ir apib\u016Bdinim\u0105 \u0161io \u017Eymeklio. -table.bm.description=Apib\u016Bdinimas -table.bm.resource=Resursai -table.bm.title=Pavadinimas -table.header.delete=I\u0161trinti -table.header.edit=Redaguoti -warn.cantlaunch=Resursai negali b\u016Bti parodyti. Arba \u0161is \u017Eymeklis yra negaliojantis arba j\u016Bs neturite teis\u0117s paleisti atatinkamus resursus. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_nl_NL.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_nl_NL.properties deleted file mode 100644 index b170b555b3a76ca41e058d5f8ed9ffee46f515da..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_nl_NL.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Thu Jun 03 11:33:14 CEST 2010 -action.choose=Selecteren -action.delete=Verwijderen -action.edit=Bewerken -bookmark.create.successful=Bladwijzer is opgeslagen. -bookmark.create.title=Maak bladwijzer -bookmark.delete.no=Nee -bookmark.delete.successfull=Bladwijzer is verwijderd. -bookmark.delete.unsuccessfull=Bladwijzer kon niet worden verwijderd. -bookmark.delete.willyou=Bent u zeker dat u deze bladwijzer wil verwijderen? -bookmark.delete.yes=Ja -bookmark.update.successful=Bladwijzer is gewijzigd. -bookmark.update.unsuccessful=Bladwijzer kon niet worden gewijzigd. -bookmarks.nobookmarks=U hebt nog geen persoonlijke bladwijzers opgeslagen -bookmarks.title=Mijn bladwijzers -bookmarksPortlet.auto.sorting.title=Automatische sortering van de bladwijzers -bookmarksPortlet.description=Snelle toegang tot veel gebruikte bladwijzers -bookmarksPortlet.manual.sorting.title=Handmatige sortering van de bladwijzers -bookmarksPortlet.nobookmarks=Je hebt geen bladwijzers. -bookmarksPortlet.showAll=Toon alles -bookmarksPortlet.title=Mijn bladwijzers -error.title.empty=Voer een titel in. -firstrun.later=Later -firstrun.message=U hebt de mogelijkheid om een bladwijzer voor deze bron toe te voegen om snellere toegang te krijgen. <br><br>Wil u dit nu toevoegen? -firstrun.no=Nee -firstrun.yes=Ja -form.bmdescription=Beschrijving -form.bmtitle=Titel -form.bmtype=OLAT-bron -form.please.enter.textanddesc=Voer de titel en de beschrijving van de bladwijzer in. -table.bm.description=\ Beschrijving -table.bm.resource=Bron -table.bm.title=Titel -table.header.delete=Verwijderen -table.header.edit=Bewerken -table.manual.sorting.date=Datum -table.manual.sorting.description=Beschrijving -table.manual.sorting.title=Titel -table.manual.sorting.type=Type -warn.cantlaunch=Deze bron kan niet worden weergegeven. De bron is ofwel niet langer geldig of u heeft geen rechten om de betreffende bron te openen. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_pl.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_pl.properties deleted file mode 100644 index b07d6c523586156120ebfda96edd370adcb4ad08..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_pl.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Tue Sep 07 13:48:15 CEST 2010 -action.choose=Wybierz -action.delete=Usu\u0144 -action.edit=Edytuj -bookmark.create.successful=Zapisano zak\u0142adk\u0119. -bookmark.create.title=Utw\u00F3rz zak\u0142adk\u0119 -bookmark.delete.no=Nie -bookmark.delete.successfull=Usuni\u0119to zak\u0142adk\u0119. -bookmark.delete.unsuccessfull=Nie uda\u0142o si\u0119 usun\u0105\u0107 zak\u0142adki. -bookmark.delete.willyou=Czy na pewno chcesz usun\u0105\u0107 zak\u0142adk\u0119? -bookmark.delete.yes=Tak -bookmark.update.successful=Zmodyfikowano zak\u0142adk\u0119. -bookmark.update.unsuccessful=Nie uda\u0142o si\u0119 zmodyfikowa\u0107 zak\u0142adki. -bookmarks.nobookmarks=Nie masz \u017Cadnych zak\u0142adek. -bookmarks.title=Moje zak\u0142adki -bookmarksPortlet.auto.sorting.title=Automatyczne sortowanie zak\u0142adek. -bookmarksPortlet.description=Szybki dost\u0119p do Twoich najcz\u0119\u015Bciej u\u017Cywanych zak\u0142adek. -bookmarksPortlet.manual.sorting.title=R\u0119czne sortowanie zak\u0142adek. -bookmarksPortlet.nobookmarks=Nie masz zak\u0142adek -bookmarksPortlet.showAll=Poka\u017C wszystko -bookmarksPortlet.title=Moje zak\u0142adki -error.title.empty=Podaj tytu\u0142 -firstrun.later=P\u00F3\u017Aniej -firstrun.message=Mo\u017Cesz doda\u0107 zak\u0142adk\u0119, aby uzyska\u0107 szybszy dost\u0119p do zasobu.<br><br>Chcesz zrobi\u0107 to teraz? -firstrun.no=Nie -firstrun.yes=Tak -form.bmdescription=Opis -form.bmtitle=Nazwa -form.bmtype=Zas\u00F3b OLAT -form.please.enter.textanddesc=Podaj tytu\u0142 i opis zak\u0142adki -table.bm.description=Opis -table.bm.resource=Zas\u00F3b -table.bm.title=Tytu\u0142 -table.header.delete=Usu\u0144 -table.header.edit=Edytuj -table.manual.sorting.date=Data -table.manual.sorting.description=Opis -table.manual.sorting.title=Nazwa -table.manual.sorting.type=Rodzaj -warn.cantlaunch=Nie mo\u017Cna wy\u015Bwietli\u0107 zasobu. Zak\u0142adka jest niewa\u017Cna, lub nie masz praw do uruchomienia tego zasobu. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_pt_BR.properties deleted file mode 100644 index 0e987c81b7450bc261b40189c13ae0fabba0a4d5..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_pt_BR.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Mon Mar 02 09:53:59 CET 2009 -action.choose=Selecionar -action.delete=Apagar -action.edit=Editar -bookmark.create.successful=O favorito foi salvo -bookmark.create.title=Criar favorito -bookmark.delete.no=N\u00E3o -bookmark.delete.successfull=O favorito foi apagado -bookmark.delete.unsuccessfull=O favorito n\u00E3o p\u00F4de ser apagado -bookmark.delete.willyou=Voc\u00EA realmente quer apagar este favorito? -bookmark.delete.yes=Sim -bookmark.update.successful=O favorito foi modificado -bookmark.update.unsuccessful=O favorito n\u00E3o p\u00F4de ser modificado -bookmarks.nobookmarks=Voc\u00EA n\u00E3o tem lista pessoal de favoritos salva at\u00E9 agora. -bookmarks.title=Meus favoritos -bookmarksPortlet.auto.sorting.title=Classifica\u00E7\u00E3o autom\u00E1tica de favoritos -bookmarksPortlet.description=Acesso r\u00E1pido aos seus favoritos. -bookmarksPortlet.manual.sorting.title=Classifica\u00E7\u00E3o manual de favoritos -bookmarksPortlet.nobookmarks=Voc\u00EA n\u00E3o tem favoritos -bookmarksPortlet.showAll=Exibir tudo -bookmarksPortlet.title=Meus favoritos -error.title.empty=Favor inserir um t\u00EDtulo -firstrun.later=Mais tarde -firstrun.message=Voc\u00EA tem a possibilidade de marcar este recurso como favorito para obter um acesso r\u00E1pido. <br><br>Voc\u00EA quer marca-lo agora? -firstrun.no=N\u00E3o -firstrun.yes=Sim -form.bmdescription=Descri\u00E7\u00E3o -form.bmtitle=T\u00EDtulo -form.bmtype=Recurso OLAT -form.please.enter.textanddesc=Favor inserir o t\u00EDtulo e descri\u00E7\u00E3o no favorito. -table.bm.description=Descri\u00E7\u00E3o -table.bm.resource=Recurso -table.bm.title=T\u00EDtulo -table.header.delete=Apagar -table.header.edit=Editar -table.manual.sorting.date=Data -table.manual.sorting.description=Descri\u00E7\u00E3o -table.manual.sorting.title=T\u00EDtulo -table.manual.sorting.type=Tipo -warn.cantlaunch=O recurso n\u00E3o pode ser mostrado. Ou n\u00E3o \u00E9 mais v\u00E1lido, ou voc\u00EA n\u00E3o possui o direito de acessar este recurso. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_pt_PT.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_pt_PT.properties deleted file mode 100644 index 16c087548c66e74342c620783b8b6e29a7511e5a..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_pt_PT.properties +++ /dev/null @@ -1,34 +0,0 @@ -#Mon Mar 02 09:54:04 CET 2009 -action.choose=Selecionar -action.delete=Apagar -action.edit=Editar -bookmark.create.successful=O favorito foi salvo -bookmark.create.title=Criar favorito -bookmark.delete.no=N\u00E3o -bookmark.delete.successfull=O favorito foi apagado -bookmark.delete.unsuccessfull=O favorito n\u00E3o p\u00F4de ser apagado -bookmark.delete.willyou=Voc\u00EA realmente quer apagar este favorito? -bookmark.delete.yes=Sim -bookmark.update.successful=O favorito foi modificado -bookmark.update.unsuccessful=O favorito n\u00E3o p\u00F4de ser modificado -bookmarks.nobookmarks=Voc\u00EA n\u00E3o tem lista pessoal de favoritos salva at\u00E9 agora. -bookmarks.title=Meus favoritos -bookmarksPortlet.description=Acesso r\u00E1pido aos seus favoritos. -bookmarksPortlet.nobookmarks=Voc\u00EA n\u00E3o tem favoritos -bookmarksPortlet.showAll=Exibir tudo -bookmarksPortlet.title=Meus favoritos -error.title.empty=Favor inserir um t\u00EDtulo -firstrun.later=Mais tarde -firstrun.message=Voc\u00EA tem a possibilidade de marcar este recurso como favorito para obter um acesso r\u00E1pido. <br><br>Voc\u00EA quer marca-lo agora? -firstrun.no=N\u00E3o -firstrun.yes=Sim -form.bmdescription=Descri\u00E7\u00E3o -form.bmtitle=T\u00EDtulo -form.bmtype=Recurso OLAT -form.please.enter.textanddesc=Favor inserir o t\u00EDtulo e descri\u00E7\u00E3o no favorito. -table.bm.description=Descri\u00E7\u00E3o -table.bm.resource=Recurso -table.bm.title=T\u00EDtulo -table.header.delete=Apagar -table.header.edit=Editar -warn.cantlaunch=O recurso n\u00E3o pode ser mostrado. Ou n\u00E3o \u00E9 mais v\u00E1lido, ou voc\u00EA n\u00E3o possui o direito de acessar este recurso. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_ru.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_ru.properties deleted file mode 100644 index 40bf9a93ae18ff7eb0913e5c3cb08850bb7b3f8a..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_ru.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Wed Sep 23 23:18:10 CEST 2009 -action.choose=\u0412\u044B\u0431\u0440\u0430\u0442\u044C -action.delete=\u0423\u0434\u0430\u043B\u0438\u0442\u044C -action.edit=\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C -bookmark.create.successful=\u0417\u0430\u043A\u043B\u0430\u0434\u043A\u0430 \u0431\u044B\u043B\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0430 -bookmark.create.title=\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0443 -bookmark.delete.no=\u041D\u0435\u0442 -bookmark.delete.successfull=\u0417\u0430\u043A\u043B\u0430\u0434\u043A\u0430 \u0431\u044B\u043B\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0430 -bookmark.delete.unsuccessfull=\u0417\u0430\u043A\u043B\u0430\u0434\u043A\u0443 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0431\u044B\u043B\u043E \u0443\u0434\u0430\u043B\u0438\u0442\u044C -bookmark.delete.willyou=\u0412\u044B \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0434\u0430\u043D\u043D\u0443\u044E \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0443? -bookmark.delete.yes=\u0414\u0430 -bookmark.update.successful=\u0417\u0430\u043A\u043B\u0430\u0434\u043A\u0430 \u0431\u044B\u043B\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0430 -bookmark.update.unsuccessful=\u0417\u0430\u043A\u043B\u0430\u0434\u043A\u0443 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0431\u044B\u043B\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C -bookmarks.nobookmarks=\u041F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0437\u0430\u043A\u043B\u0430\u0434\u043E\u043A \u043D\u0435 \u0431\u044B\u043B\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E. -bookmarks.title=\u041C\u043E\u0438 \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0438 -bookmarksPortlet.auto.sorting.title=\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0438 -bookmarksPortlet.description=\u0411\u044B\u0441\u0442\u0440\u044B\u0439 \u0434\u043E\u0441\u0442\u0443\u043F \u043A \u0447\u0430\u0441\u0442\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u043C \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0430\u043C -bookmarksPortlet.manual.sorting.title=\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0438 \u0432\u0440\u0443\u0447\u043D\u0443\u044E -bookmarksPortlet.nobookmarks=\u0417\u0430\u043A\u043B\u0430\u0434\u043E\u043A \u043D\u0435 \u0431\u044B\u043B\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E. -bookmarksPortlet.showAll=\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435 -bookmarksPortlet.title=\u041C\u043E\u0438 \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0438 -error.title.empty=\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043C\u044F, \u043F\u043E\u0436\u0430\u0439\u043B\u0443\u0441\u0442\u0430 -firstrun.later=\u041F\u043E\u0437\u0436\u0435 -firstrun.message=\u0414\u043B\u044F \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u0432\u0445\u043E\u0434\u0430, \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0443 \u043D\u0430 \u0434\u0430\u043D\u043D\u044B\u0439 \u043E\u0431\u044A\u0435\u043A\u0442. <br><br> \u0425\u043E\u0442\u0438\u0442\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0443 \u0441\u0435\u0439\u0447\u0430\u0441? -firstrun.no=\u041D\u0435\u0442 -firstrun.yes=\u0414\u0430 -form.bmdescription=\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 -form.bmtitle=\u0418\u043C\u044F -form.bmtype=OLAT \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B -form.please.enter.textanddesc=\u041F\u043E\u0436\u0430\u0439\u043B\u0443\u0441\u0442\u0430, \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043C\u044F \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0438 \u0438 \u043E\u043F\u0438\u0448\u0438\u0442\u0435 \u0435\u0451 -table.bm.description=\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 -table.bm.resource=\u041C\u0430\u0442\u0435\u0440\u0438\u0430\u043B -table.bm.title=\u0418\u043C\u044F -table.header.delete=\u0423\u0434\u0430\u043B\u0438\u0442\u044C -table.header.edit=\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C -table.manual.sorting.date=\u0414\u0430\u0442\u0430 -table.manual.sorting.description=\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 -table.manual.sorting.title=\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 -table.manual.sorting.type=\u0422\u0438\u043F -warn.cantlaunch=\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B. \u0418\u043B\u0438 \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0430 \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u0430, \u0438\u043B\u0438 \u0443 \u0412\u0430\u0441 \u043D\u0435\u0434\u043E\u0441\u0442\u0430\u0442\u043E\u0447\u043D\u043E \u043F\u0440\u0430\u0432, \u0447\u0442\u043E\u0431\u044B \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0434\u0430\u043D\u043D\u0443\u044E \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0443. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_sq.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_sq.properties deleted file mode 100644 index 3caa53def4b26503a99357a4e16a86ae457a991a..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_sq.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Mon Mar 02 09:54:11 CET 2009 -action.choose=P\u00EBrzgjedh -action.delete=Fshij -action.edit=Redakto -bookmark.create.successful=Referenca u ruaj -bookmark.create.title=Krijo referenc\u00EB -bookmark.delete.no=Jo -bookmark.delete.successfull=Referenca u fshi -bookmark.delete.unsuccessfull=Referenca nuk mund t\u00EB fshihet -bookmark.delete.willyou=A doni ta fshini k\u00EBt\u00EB referenc\u00EB? -bookmark.delete.yes=Po -bookmark.update.successful=Referenca u ndryshua -bookmark.update.unsuccessful=Referenca nuk mund t\u00EB ndryshohet -bookmarks.nobookmarks=Deri m\u00EB tani ju nuk keni ndonj\u00EB referenc\u00EB t\u00EB ruajtur. -bookmarks.title=Referencat e mia -bookmarksPortlet.auto.sorting.title=Rendit automatikisht referencat -bookmarksPortlet.description=Qasje e shpejt\u00EB e referencave t\u00EB p\u00EBrdorura s\u00EB fundi -bookmarksPortlet.manual.sorting.title=Rendit manualisht referencat -bookmarksPortlet.nobookmarks=Ju nuk keni ndonj\u00EB referenc\u00EB -bookmarksPortlet.showAll=Shfaqi t\u00EB gjitha -bookmarksPortlet.title=Referenca e mia -error.title.empty=Ju lutem shkruani nj\u00EB titull -firstrun.later=M\u00EB von\u00EB -firstrun.message=Ju keni mund\u00EBsi t\u00EB shtoni nj\u00EB referenc\u00EB p\u00EBr t\u00EB burim p\u00EBr qasje m\u00EB t\u00EB shpejt\u00EB. <br><br>A doni ta shtoni tani? -firstrun.no=Jo -firstrun.yes=Po -form.bmdescription=P\u00EBrshkrimi -form.bmtitle=Titulli -form.bmtype=Burime t\u00EB OLATit -form.please.enter.textanddesc=Ju lutem shkruani titullin dhe p\u00EBrshkrimin e referenc\u00EBs -table.bm.description=P\u00EBrshkrimi -table.bm.resource=Burimi -table.bm.title=Titulli -table.header.delete=Fshij -table.header.edit=Redakto -table.manual.sorting.date=Data -table.manual.sorting.description=P\u00EBrshkrimi -table.manual.sorting.title=Titulli -table.manual.sorting.type=Lloji -warn.cantlaunch=Burimet nuk mund t\u00EB shfaqen. Ose referenca nuk \u00EBsht\u00EB m\u00EB e vlefshme, ose ju nuk keni t\u00EB drejt\u00EB p\u00EBr t\u00EB nisur nj\u00EB burim relevant. diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_zh_CN.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_zh_CN.properties deleted file mode 100644 index 99fb1eccdaf1fb043328565d738f8ad7c1c41769..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_zh_CN.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Sat Feb 20 14:04:23 CET 2010 -action.choose=\u9009\u62E9 -action.delete=\u5220\u9664 -action.edit=\u7F16\u8F91 -bookmark.create.successful=\u8BE5\u4E66\u7B7E\u5DF2\u4FDD\u5B58 -bookmark.create.title=\u521B\u5EFA\u4E66\u7B7E -bookmark.delete.no=\u5426 -bookmark.delete.successfull=\u8BE5\u4E66\u7B7E\u5DF2\u5220\u9664 -bookmark.delete.unsuccessfull=\u8BE5\u4E66\u7B7E\u65E0\u6CD5\u5220\u9664 -bookmark.delete.willyou=\u4F60\u662F\u5426\u8981\u5220\u9664\u8BE5\u4E66\u7B7E\uFF1F -bookmark.delete.yes=\u662F -bookmark.update.successful=\u8BE5\u4E66\u7B7E\u5DF2\u4FEE\u6539 -bookmark.update.unsuccessful=\u8BE5\u4E66\u7B7E\u65E0\u6CD5\u4FEE\u6539 -bookmarks.nobookmarks=\u4F60\u76EE\u524D\u8FD8\u672A\u4FDD\u5B58\u4EFB\u4F55\u4E66\u7B7E\u3002 -bookmarks.title=\u6211\u7684\u4E66\u7B7E -bookmarksPortlet.auto.sorting.title=\u4E66\u7B7E\u81EA\u52A8\u6392\u5E8F -bookmarksPortlet.description=\u5FEB\u901F\u8BBF\u95EE\u4F60\u6700\u5E38\u4F7F\u7528\u7684\u4E66\u7B7E -bookmarksPortlet.manual.sorting.title=\u4E66\u7B7E\u4EBA\u5DE5\u6392\u5E8F -bookmarksPortlet.nobookmarks=\u60A8\u8FD8\u6CA1\u6709\u4E66\u7B7E -bookmarksPortlet.showAll=\u5168\u90E8\u663E\u793A -bookmarksPortlet.title=\u6211\u7684\u4E66\u7B7E -error.title.empty=\u8BF7\u8F93\u5165\u6807\u9898 -firstrun.later=\u7A0D\u540E -firstrun.message=\u4F60\u53EF\u4EE5\u4E3A\u8BE5\u8D44\u6E90\u6DFB\u52A0\u4E66\u7B7E\u4EE5\u4FBF\u5FEB\u901F\u8BBF\u95EE\u3002<br><br>\u662F\u5426\u73B0\u5728\u6DFB\u52A0\uFF1F -firstrun.no=\u5426 -firstrun.yes=\u662F -form.bmdescription=\u8BF4\u660E -form.bmtitle=\u6807\u9898 -form.bmtype=OLAT\u8D44\u6E90 -form.please.enter.textanddesc=\u8BF7\u8F93\u5165\u4E66\u7B7E\u7684\u6807\u9898\u548C\u8BF4\u660E -table.bm.description=\u8BF4\u660E -table.bm.resource=\u8D44\u6E90 -table.bm.title=\u6807\u9898 -table.header.delete=\u5220\u9664 -table.header.edit=\u7F16\u8F91 -table.manual.sorting.date=\u65E5\u671F -table.manual.sorting.description=\u63CF\u8FF0 -table.manual.sorting.title=\u6807\u9898 -table.manual.sorting.type=\u7C7B\u578B -warn.cantlaunch=\u65E0\u6CD5\u663E\u793A\u3002\u8BE5\u4E66\u7B7E\u65E0\u6548\uFF0C\u6216\u8005\u4F60\u6743\u9650\u4E0D\u591F\u3002 diff --git a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_zh_TW.properties b/src/main/java/org/olat/bookmark/_i18n/LocalStrings_zh_TW.properties deleted file mode 100644 index 6e12f763f189d2112937a1b77d299b85fc5471e5..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/LocalStrings_zh_TW.properties +++ /dev/null @@ -1,40 +0,0 @@ -#Mon Sep 21 15:33:07 CEST 2009 -action.choose=\u9078\u64C7 -action.delete=\u522A\u9664 -action.edit=\u7DE8\u8F2F -bookmark.create.successful=\u66F8\u7C64\u5DF2\u5132\u5B58\u3002 -bookmark.create.title=\u5EFA\u7ACB\u66F8\u7C64 -bookmark.delete.no=\u5426 -bookmark.delete.successfull=\u66F8\u7C64\u5DF2\u522A\u9664\u3002 -bookmark.delete.unsuccessfull=\u66F8\u7C64\u7121\u6CD5\u522A\u9664\u3002 -bookmark.delete.willyou=\u60A8\u771F\u7684\u8981\u522A\u9664\u9019\u500B\u66F8\u7C64\u55CE\uFF1F -bookmark.delete.yes=\u662F -bookmark.update.successful=\u66F8\u7C64\u5DF2\u4FEE\u6539\u3002 -bookmark.update.unsuccessful=\u66F8\u7C64\u7121\u6CD5\u4FEE\u6539\u3002 -bookmarks.nobookmarks=\u5230\u76EE\u524D\u70BA\u6B62\u60A8\u9084\u6C92\u6709\u5132\u5B58\u4EFB\u4F55\u500B\u4EBA\u66F8\u7C64\u3002 -bookmarks.title=\u6211\u7684\u66F8\u7C64 -bookmarksPortlet.auto.sorting.title=\u81EA\u52D5\u6392\u5E8F\u66F8\u7C64 -bookmarksPortlet.description=\u5FEB\u901F\u5B58\u53D6\u60A8\u6700\u5E38\u4F7F\u7528\u7684\u66F8\u7C64\u3002 -bookmarksPortlet.manual.sorting.title=\u624B\u52D5\u6392\u5E8F\u66F8\u7C64 -bookmarksPortlet.nobookmarks=\u60A8\u6C92\u6709\u66F8\u7C64\u3002 -bookmarksPortlet.showAll=\u986F\u793A\u5168\u90E8 -bookmarksPortlet.title=\u6211\u7684\u66F8\u7C64 -error.title.empty=\u8ACB\u8F38\u5165\u6A19\u984C\u3002 -firstrun.later=\u7A0D\u5F8C -firstrun.message=\u60A8\u53EF\u4EE5\u5C07\u8A72\u8CC7\u6E90\u52A0\u5165\u66F8\u7C64\u4EE5\u4FBF\u5FEB\u901F\u5B58\u53D6\u3002<br><br>\u662F\u5426\u73FE\u5728\u65B0\u589E\uFF1F -firstrun.no=\u5426 -firstrun.yes=\u662F -form.bmdescription=\u8AAA\u660E -form.bmtitle=\u6A19\u984C -form.bmtype=OLAT \u8CC7\u6E90 -form.please.enter.textanddesc=\u8ACB\u8F38\u5165\u66F8\u7C64\u7684\u6A19\u984C\u548C\u8AAA\u660E\u3002 -table.bm.description=\u8AAA\u660E -table.bm.resource=\u8CC7\u6E90 -table.bm.title=\u6A19\u984C -table.header.delete=\u522A\u9664 -table.header.edit=\u7DE8\u8F2F -table.manual.sorting.date=\u65E5\u671F -table.manual.sorting.description=\u8AAA\u660E -table.manual.sorting.title=\u6A19\u984C -table.manual.sorting.type=\u985E\u578B -warn.cantlaunch=\u9019\u500B\u8CC7\u6E90\u7121\u6CD5\u986F\u793A\u3002\u4E0D\u662F\u8A72\u66F8\u7C64\u7121\u6548\uFF0C\u5C31\u662F\u60A8\u6B0A\u9650\u4E0D\u5920\u3002 diff --git a/src/main/java/org/olat/bookmark/_i18n/i18nBundleMetadata.properties b/src/main/java/org/olat/bookmark/_i18n/i18nBundleMetadata.properties deleted file mode 100644 index 9270f58a2a59848fda8b23b7f3f669c524aad075..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_i18n/i18nBundleMetadata.properties +++ /dev/null @@ -1,2 +0,0 @@ -#Tue Feb 10 18:52:47 CET 2009 -bundle.priority=500 diff --git a/src/main/java/org/olat/bookmark/_spring/bookmarkContext.xml b/src/main/java/org/olat/bookmark/_spring/bookmarkContext.xml deleted file mode 100644 index 1989e7628499e91a2595694e49a4648aa20af1c1..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/bookmark/_spring/bookmarkContext.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation=" - http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> - -<bean id="org.olat.bookmark.BookmarkManager" class="org.olat.bookmark.BookmarkManagerImpl" > - <constructor-arg ref="userDeletionManager"></constructor-arg> - <property name="bookmarkHandlers"> - <!-- list of bookmark handlers: must implement the interface org.olat.bookmark.BookmarkHandler --> - <list> - <bean class="org.olat.catalog.CatalogBookmarkHandler" /> - <bean class="org.olat.repository.RepoBookmarkHandler" /> - </list> - </property> -</bean> - -</beans> \ No newline at end of file diff --git a/src/main/java/org/olat/catalog/CatalogBookmarkHandler.java b/src/main/java/org/olat/catalog/CatalogBookmarkHandler.java deleted file mode 100644 index e9af0d117af92f5a2a17867ffcbeb25cbe4cbff0..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/catalog/CatalogBookmarkHandler.java +++ /dev/null @@ -1,76 +0,0 @@ -/** - * <a href="http://www.openolat.org"> - * OpenOLAT - Online Learning and Training</a><br> - * <p> - * Licensed under the Apache License, Version 2.0 (the "License"); <br> - * you may not use this file except in compliance with the License.<br> - * You may obtain a copy of the License at the - * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> - * <p> - * Unless required by applicable law or agreed to in writing,<br> - * software distributed under the License is distributed on an "AS IS" BASIS, <br> - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> - * See the License for the specific language governing permissions and <br> - * limitations under the License. - * <p> - * Initial code contributed and copyrighted by<br> - * frentix GmbH, http://www.frentix.com - * <p> - */ -package org.olat.catalog; - -import java.util.Collections; - -import org.olat.NewControllerFactory; -import org.olat.bookmark.Bookmark; -import org.olat.bookmark.BookmarkHandler; -import org.olat.bookmark.BookmarkManager; -import org.olat.core.gui.UserRequest; -import org.olat.core.gui.control.WindowControl; -import org.olat.core.id.OLATResourceable; -import org.olat.core.id.context.BusinessControlFactory; -import org.olat.core.id.context.ContextEntry; -import org.olat.core.util.resource.OresHelper; - -/** - * Description:<br> - * Bookmark handler for catalog bookmarks: activates the repository entry site, - * activates the catalog menu and then activates the catalog item with the given - * id - * - * <P> - * Initial Date: 28.05.2008 <br> - * - * @author gnaegi - */ -public class CatalogBookmarkHandler implements BookmarkHandler { - - /** - * @see org.olat.bookmark.BookmarkHandler#tryToLaunch(org.olat.bookmark.Bookmark, org.olat.core.gui.UserRequest, org.olat.core.gui.control.WindowControl) - */ - public boolean tryToLaunch(Bookmark bookmark, UserRequest ureq, WindowControl wControl) { - OLATResourceable reores = BookmarkManager.getInstance().getLaunchOlatResourceable(bookmark); - // only launch bookmarks of type catalog entry - if(reores.getResourceableTypeName().equals(CatalogManager.CATALOGENTRY)){ - String businessPath = "[CatalogEntry:" + bookmark.getOlatreskey() + "]"; - NewControllerFactory.getInstance().launch(businessPath, ureq, wControl); - return true; - } - return false; - } - - /** - * @see org.olat.bookmark.handler.BookmarkHandler#createJumpInURL(org.olat.bookmark.Bookmark) - */ - public String createJumpInURL(Bookmark bookmark) { - OLATResourceable reores = BookmarkManager.getInstance().getLaunchOlatResourceable(bookmark); - // only create jump in urls for bookmarks of type catalog entry - if(reores.getResourceableTypeName().equals(CatalogManager.CATALOGENTRY)){ - OLATResourceable ores = OresHelper.createOLATResourceableInstance(CatalogManager.CATALOGENTRY, bookmark.getOlatreskey()); - ContextEntry ce = BusinessControlFactory.getInstance().createContextEntry(ores); - return BusinessControlFactory.getInstance().getAsURIString(Collections.singletonList(ce), false); - } - return null; - } - -} diff --git a/src/main/java/org/olat/catalog/CatalogManager.java b/src/main/java/org/olat/catalog/CatalogManager.java index df5589ef049359fd95715fdda2ade7f691f0e0af..3abe36a976a196d8ee61e874c5e73275e04bb622 100644 --- a/src/main/java/org/olat/catalog/CatalogManager.java +++ b/src/main/java/org/olat/catalog/CatalogManager.java @@ -34,7 +34,6 @@ import org.olat.basesecurity.BaseSecurity; import org.olat.basesecurity.BaseSecurityManager; import org.olat.basesecurity.Constants; import org.olat.basesecurity.SecurityGroup; -import org.olat.bookmark.BookmarkManager; import org.olat.core.commons.persistence.DB; import org.olat.core.commons.persistence.DBFactory; import org.olat.core.commons.persistence.DBQuery; @@ -320,8 +319,8 @@ public class CatalogManager extends BasicManager implements UserDataDeletable, I private void deleteCatalogSubtree(CatalogEntry ce, List secGroupsToBeDeleted) { DB db = DBFactory.getInstance(); - List children = getChildrenOf(ce); - Iterator iter = children.iterator(); + List<CatalogEntry> children = getChildrenOf(ce); + Iterator<CatalogEntry> iter = children.iterator(); while (iter.hasNext()) { CatalogEntry nextCe = (CatalogEntry) iter.next(); deleteCatalogSubtree(nextCe,secGroupsToBeDeleted); @@ -332,7 +331,7 @@ public class CatalogManager extends BasicManager implements UserDataDeletable, I if (owner != null) secGroupsToBeDeleted.add(owner); // delete user bookmarks OLATResourceable ores = createOLATResouceableFor(ce); - BookmarkManager.getInstance().deleteAllBookmarksFor(ores); + //TODO bookmark BookmarkManager.getInstance().deleteAllBookmarksFor(ores); // delete catalog entry itself db.deleteObject(ce); } diff --git a/src/main/java/org/olat/catalog/ui/CatalogController.java b/src/main/java/org/olat/catalog/ui/CatalogController.java index a0915b608003b9f3f7658096de0e8706172b049b..32b411d95d7048e406ed1e3669797e468f640712 100644 --- a/src/main/java/org/olat/catalog/ui/CatalogController.java +++ b/src/main/java/org/olat/catalog/ui/CatalogController.java @@ -41,12 +41,11 @@ import org.olat.admin.securitygroup.gui.IdentitiesRemoveEvent; import org.olat.basesecurity.BaseSecurity; import org.olat.basesecurity.BaseSecurityManager; import org.olat.basesecurity.SecurityGroup; -import org.olat.bookmark.AddAndEditBookmarkController; -import org.olat.bookmark.BookmarkManager; import org.olat.catalog.CatalogEntry; import org.olat.catalog.CatalogManager; import org.olat.core.CoreSpringFactory; import org.olat.core.commons.persistence.DBFactory; +import org.olat.core.commons.services.mark.MarkManager; import org.olat.core.dispatcher.DispatcherAction; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; @@ -223,7 +222,6 @@ public class CatalogController extends BasicController implements Activateable2 private boolean isGuest; private Link loginLink; private CloseableModalController cmc; - private AddAndEditBookmarkController bookmarkController; private boolean canBookmark=true; private Controller catEntryMoveController; private RepositoryEditDescriptionController repositoryEditDescriptionController; @@ -235,6 +233,8 @@ public class CatalogController extends BasicController implements Activateable2 // key also needed by BookmarksPortletRunController to identify type of bookmark private static final String TOOL_BOOKMARK = "tool_bookmark"; + private final MarkManager markManager; + /** * Init with catalog root * @@ -247,8 +247,8 @@ public class CatalogController extends BasicController implements Activateable2 super(ureq, wControl, Util.createPackageTranslator(RepositoryManager.class, ureq.getLocale())); cm = CatalogManager.getInstance(); - //fxdiff VCRP-1,2: access control of resources acService = CoreSpringFactory.getImpl(ACService.class); + markManager = CoreSpringFactory.getImpl(MarkManager.class); repositoryManager = CoreSpringFactory.getImpl(RepositoryManager.class); List<CatalogEntry> rootNodes = cm.getRootCatalogEntries(); @@ -587,22 +587,10 @@ public class CatalogController extends BasicController implements Activateable2 listenTo(cmc); cmc.activate(); - } - - /* - * add bookmark - */ - - else if (event.getCommand().equals(ACTION_ADD_BOOKMARK)){ - removeAsListenerAndDispose(bookmarkController); - CatalogManager cm = CatalogManager.getInstance(); + } else if (ACTION_ADD_BOOKMARK.equals(event.getCommand())) { + String businessPath = "[CatalogEntry:" + currentCatalogEntry.getKey() + "]"; OLATResourceable ores = cm.createOLATResouceableFor(currentCatalogEntry); - bookmarkController = new AddAndEditBookmarkController(ureq, getWindowControl(), currentCatalogEntry.getName(), "", ores, CatalogManager.CATALOGENTRY); - listenTo(bookmarkController); - removeAsListenerAndDispose(cmc); - cmc = new CloseableModalController(getWindowControl(), "close", bookmarkController.getInitialComponent()); - listenTo(cmc); - cmc.activate(); + markManager.setMark(ores, getIdentity(), null, businessPath); } /* * move catalogentry @@ -749,22 +737,7 @@ public class CatalogController extends BasicController implements Activateable2 BaseSecurityManager.getInstance().removeIdentityFromSecurityGroup(identity, currentCatalogEntry.getOwnerGroup()); } } - } - - else if(source == bookmarkController ){ - // remove modal dialog - cmc.deactivate(); - if(event.equals(Event.DONE_EVENT)){ - // Add bookmark workflow did successfully save the bookmark, nothing to - // do here - // User did set a bookmark - bookmarking no longer enabled and disable - // it in toolbox - canBookmark = false; - catalogToolC.setEnabled(TOOL_BOOKMARK, canBookmark); - } - } - - else if(source == catEntryMoveController){ + } else if(source == catEntryMoveController){ cmc.deactivate(); if(event.equals(Event.DONE_EVENT)){ //linkMarkedToBeEdited is the catalog entry - "leaf" - which is moved @@ -1142,7 +1115,8 @@ public class CatalogController extends BasicController implements Activateable2 // 1) check if user has already a bookmark for this level final CatalogEntry tmp=ce; OLATResourceable catEntryOres = CatalogManager.getInstance().createOLATResouceableFor(ce); - if (tmp != null && BookmarkManager.getInstance().isResourceableBookmarked(ureq.getIdentity(), catEntryOres)){ + //TODO bookmark + if (tmp != null/* && BookmarkManager.getInstance().isResourceableBookmarked(ureq.getIdentity(), catEntryOres)*/){ canBookmark = false; if(catalogToolC != null){ catalogToolC.setEnabled(TOOL_BOOKMARK, canBookmark); diff --git a/src/main/java/org/olat/core/commons/persistence/_spring/core_persistence.xml b/src/main/java/org/olat/core/commons/persistence/_spring/core_persistence.xml index 6106aeea5cf2db0c2d27d511b6afc8d06d57d481..7f249a09cbce3d85ace038a7c634afd8a1fa6146 100644 --- a/src/main/java/org/olat/core/commons/persistence/_spring/core_persistence.xml +++ b/src/main/java/org/olat/core/commons/persistence/_spring/core_persistence.xml @@ -54,7 +54,7 @@ <mapping-file>org/olat/modules/fo/ReadMessage.hbm.xml</mapping-file> <mapping-file>org/olat/properties/Property.hbm.xml</mapping-file> <mapping-file>org/olat/catalog/CatalogEntryImpl.hbm.xml</mapping-file> - <mapping-file>org/olat/bookmark/BookmarkImpl.hbm.xml</mapping-file> + <mapping-file>org/olat/upgrade/model/BookmarkImpl.hbm.xml</mapping-file> <mapping-file>org/olat/notifications/PublisherImpl.hbm.xml</mapping-file> <mapping-file>org/olat/notifications/SubscriberImpl.hbm.xml</mapping-file> <mapping-file>org/olat/registration/TemporaryKeyImpl.hbm.xml</mapping-file> @@ -73,6 +73,7 @@ <mapping-file>org/olat/core/commons/services/tagging/model/TagImpl.hbm.xml</mapping-file> <mapping-file>org/olat/core/logging/activity/LoggingObject.hbm.xml</mapping-file> <mapping-file>org/olat/course/db/impl/CourseDBEntryImpl.hbm.xml</mapping-file> + <mapping-file>org/olat/modules/coach/model/EfficiencyStatementStatEntry.hbm.xml</mapping-file> <properties> <property name="hibernate.generate_statistics" value="true"/> <property name="hibernate.archive.autodetection" value=""/> diff --git a/src/main/java/org/olat/core/commons/services/mark/MarkManager.java b/src/main/java/org/olat/core/commons/services/mark/MarkManager.java index 8c6ba71849558149deb59db1ea462e8cb0837121..5b94de540feafb12ff515dcc939ec39154b714f7 100644 --- a/src/main/java/org/olat/core/commons/services/mark/MarkManager.java +++ b/src/main/java/org/olat/core/commons/services/mark/MarkManager.java @@ -25,7 +25,6 @@ import java.util.List; import org.olat.core.id.Identity; import org.olat.core.id.OLATResourceable; -import org.olat.core.manager.BasicManager; /** * @@ -36,33 +35,29 @@ import org.olat.core.manager.BasicManager; * Initial Date: 9 mars 2010 <br> * @author srosse, stephane.rosse@frentix.com */ -public abstract class MarkManager extends BasicManager { +public interface MarkManager { - protected static MarkManager INSTANCE; - - public static MarkManager getInstance() { - return INSTANCE; - } - - public abstract List<Mark> getMarks(OLATResourceable ores, Identity identity, Collection<String> subPaths); + public List<Mark> getMarks(OLATResourceable ores, Identity identity, Collection<String> subPaths); + + public List<Mark> getMarks(Identity identity, String resourceTypeName, Collection<String> subPaths); - public abstract List<Mark> getMarks(Identity identity, String resourceTypeName, Collection<String> subPaths); + public List<Mark> getMarks(Identity identity, Collection<String> resourceTypeNames); - public abstract void filterMarks(Identity identity, String resourceTypeName, Collection<Long> resIds); + public void filterMarks(Identity identity, String resourceTypeName, Collection<Long> resIds); - public abstract boolean isMarked(OLATResourceable ores, Identity identity, String subPath); + public boolean isMarked(OLATResourceable ores, Identity identity, String subPath); - public abstract Mark setMark(OLATResourceable ores, Identity identity, String subPath, String businessPath); + public Mark setMark(OLATResourceable ores, Identity identity, String subPath, String businessPath); - public abstract void moveMarks(OLATResourceable ores, String oldSubPath, String newSubPath); + public void moveMarks(OLATResourceable ores, String oldSubPath, String newSubPath); - public abstract void removeMark(OLATResourceable ores, Identity identity, String subPath); + public void removeMark(OLATResourceable ores, Identity identity, String subPath); - public abstract void removeMark(Mark mark); + public void removeMark(Mark mark); - public abstract void deleteMark(OLATResourceable ores); + public void deleteMark(OLATResourceable ores); - public abstract void deleteMark(OLATResourceable ores, String subPath); + public void deleteMark(OLATResourceable ores, String subPath); - public abstract List<MarkResourceStat> getStats(OLATResourceable ores, List<String> subPaths, Identity identity); + public List<MarkResourceStat> getStats(OLATResourceable ores, List<String> subPaths, Identity identity); } diff --git a/src/main/java/org/olat/core/commons/services/mark/impl/MarkManagerImpl.java b/src/main/java/org/olat/core/commons/services/mark/impl/MarkManagerImpl.java index 3c00e7b693c6cf5f04a55fccd46743fd7d348e45..fa77f084739e39193069d1a7739dd7e9f41f20a7 100644 --- a/src/main/java/org/olat/core/commons/services/mark/impl/MarkManagerImpl.java +++ b/src/main/java/org/olat/core/commons/services/mark/impl/MarkManagerImpl.java @@ -24,11 +24,12 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; +import javax.persistence.FlushModeType; +import javax.persistence.Query; import javax.persistence.TypedQuery; import org.hibernate.FlushMode; import org.olat.core.commons.persistence.DB; -import org.olat.core.commons.persistence.DBFactory; import org.olat.core.commons.persistence.DBQuery; import org.olat.core.commons.services.mark.Mark; import org.olat.core.commons.services.mark.MarkManager; @@ -47,17 +48,12 @@ import org.springframework.stereotype.Service; * @author srosse, stephane.rosse@frentix.com */ @Service -public class MarkManagerImpl extends MarkManager { +public class MarkManagerImpl implements MarkManager { @Autowired private DB dbInstance; - /** - * [spring] - */ - private MarkManagerImpl() { - INSTANCE = this; - } + @@ -70,7 +66,7 @@ public class MarkManagerImpl extends MarkManager { sb.append(" and mark.resSubPath in (:resSubPaths)"); } - DBQuery query = DBFactory.getInstance().createQuery(sb.toString()); + DBQuery query = dbInstance.createQuery(sb.toString()); query.setString("resName", ores.getResourceableTypeName()); query.setLong("resId", ores.getResourceableId()); query.setEntity("creator", identity); @@ -102,6 +98,26 @@ public class MarkManagerImpl extends MarkManager { return results; } + @Override + public List<Mark> getMarks(Identity identity, Collection<String> resourceTypeName) { + StringBuilder sb = new StringBuilder(); + sb.append("select mark from ").append(MarkImpl.class.getName()).append(" mark where ") + .append("mark.creator=:creator "); + if(resourceTypeName != null && !resourceTypeName.isEmpty()) { + sb.append("and mark.resName not in(:resName)"); + } + + + TypedQuery<Mark> query = dbInstance.getCurrentEntityManager().createQuery(sb.toString(), Mark.class) + .setParameter("creator", identity); + if(resourceTypeName != null && !resourceTypeName.isEmpty()) { + query.setParameter("resName", resourceTypeName); + } + + List<Mark> results = query.getResultList(); + return results; + } + @Override public void filterMarks(Identity identity, String resourceTypeName, Collection<Long> resIds) { if(resIds == null || resIds.isEmpty()) return; @@ -138,7 +154,7 @@ public class MarkManagerImpl extends MarkManager { mark.setResSubPath(subPath); mark.setBusinessPath(businessPath); mark.setCreator(identity); - DBFactory.getInstance().saveObject(mark); + dbInstance.saveObject(mark); } return mark; } @@ -151,7 +167,7 @@ public class MarkManagerImpl extends MarkManager { sb.append("update ").append(MarkImpl.class.getName()).append(" mark set mark.resSubPath=:newSubPath ") .append("where mark.resId=:resId and mark.resName=:resName and mark.resSubPath=:oldSubPath"); - DBQuery query = DBFactory.getInstance().createQuery(sb.toString()); + DBQuery query = dbInstance.createQuery(sb.toString()); query.setString("resName", ores.getResourceableTypeName()); query.setLong("resId", ores.getResourceableId()); query.setString("oldSubPath", oldSubPath); @@ -163,7 +179,7 @@ public class MarkManagerImpl extends MarkManager { public void removeMark(OLATResourceable ores, Identity identity, String subPath) { MarkImpl mark = loadMark(ores, identity, subPath); if(mark != null) { - DBFactory.getInstance().deleteObject(mark); + dbInstance.deleteObject(mark); } } @@ -180,7 +196,7 @@ public class MarkManagerImpl extends MarkManager { sb.append(" and mark.resSubPath=:resSubPath"); } - DBQuery query = DBFactory.getInstance().createQuery(sb.toString()); + DBQuery query = dbInstance.createQuery(sb.toString()); query.setString("resName", ores.getResourceableTypeName()); query.setLong("resId", ores.getResourceableId()); query.setEntity("creator", identity); @@ -201,23 +217,34 @@ public class MarkManagerImpl extends MarkManager { sb.append("delete from ").append(MarkImpl.class.getName()).append(" mark where ") .append("mark.resId=:resId and mark.resName=:resName"); - DBQuery query = DBFactory.getInstance().createQuery(sb.toString()); + DBQuery query = dbInstance.createQuery(sb.toString()); query.setString("resName", ores.getResourceableTypeName()); query.setLong("resId", ores.getResourceableId()); query.executeUpdate(FlushMode.AUTO); } + /** + * Exact match + */ @Override public void deleteMark(OLATResourceable ores, String subPath) { StringBuilder sb = new StringBuilder(); sb.append("delete from ").append(MarkImpl.class.getName()).append(" mark where ") - .append("mark.resId=:resId and mark.resName=:resName and mark.resSubPath=:resSubPath"); + .append("mark.resId=:resId and mark.resName=:resName"); + if(subPath == null) { + sb.append(" and mark.resSubPath is null"); + } else { + sb.append(" and mark.resSubPath=:resSubPath"); + } - DBQuery query = DBFactory.getInstance().createQuery(sb.toString()); - query.setString("resName", ores.getResourceableTypeName()); - query.setLong("resId", ores.getResourceableId()); - query.setString("resSubPath", subPath); - query.executeUpdate(FlushMode.AUTO); + Query query = dbInstance.getCurrentEntityManager().createQuery(sb.toString()) + .setParameter("resName", ores.getResourceableTypeName()) + .setParameter("resId", ores.getResourceableId()); + if(subPath != null) { + query.setParameter("resSubPath", subPath); + } + query.setFlushMode(FlushModeType.AUTO) + .executeUpdate(); } @Override @@ -238,7 +265,7 @@ public class MarkManagerImpl extends MarkManager { } sb.append(" group by mark.resSubPath"); - DBQuery query = DBFactory.getInstance().createQuery(sb.toString()); + DBQuery query = dbInstance.createQuery(sb.toString()); query.setString("resName", ores.getResourceableTypeName()); query.setLong("resId", ores.getResourceableId()); query.setParameterList("resSubPath", subPaths); @@ -262,7 +289,7 @@ public class MarkManagerImpl extends MarkManager { .append("mark.resId=:resId and mark.resName=:resName") .append(" group by mark.resSubPath"); - DBQuery query = DBFactory.getInstance().createQuery(sb.toString()); + DBQuery query = dbInstance.createQuery(sb.toString()); query.setString("resName", ores.getResourceableTypeName()); query.setLong("resId", ores.getResourceableId()); @@ -281,7 +308,7 @@ public class MarkManagerImpl extends MarkManager { .append("mark.resId=:resId and mark.resName=:resName") .append(" and mark.creator=:creator"); - DBQuery query = DBFactory.getInstance().createQuery(sb.toString()); + DBQuery query = dbInstance.createQuery(sb.toString()); query.setString("resName", ores.getResourceableTypeName()); query.setLong("resId", ores.getResourceableId()); query.setEntity("creator", identity); diff --git a/src/main/java/org/olat/core/gui/control/generic/tool/ToolController.java b/src/main/java/org/olat/core/gui/control/generic/tool/ToolController.java index f05271aea588e78a6f59dc42e4a1ad6a0dbbb490..123ab1024d5125772e2b5de1475a865f835dccc5 100644 --- a/src/main/java/org/olat/core/gui/control/generic/tool/ToolController.java +++ b/src/main/java/org/olat/core/gui/control/generic/tool/ToolController.java @@ -155,6 +155,8 @@ public interface ToolController extends Controller { * @param ident An ident to reference this entry */ public void addComponent(Component component, String ident); + + public void setCssClass(String ident, String cssClass); /** * Remove tool entry with given ident diff --git a/src/main/java/org/olat/core/gui/control/generic/tool/ToolControllerImpl.java b/src/main/java/org/olat/core/gui/control/generic/tool/ToolControllerImpl.java index 7112ce0bc7a6494ad2673614380d9762b535d452..ce035127a45060b00a34bfca77b4c158cac4c22f 100644 --- a/src/main/java/org/olat/core/gui/control/generic/tool/ToolControllerImpl.java +++ b/src/main/java/org/olat/core/gui/control/generic/tool/ToolControllerImpl.java @@ -171,6 +171,18 @@ class ToolControllerImpl extends DefaultController implements ToolController { // add as child of container so it can be rendered content.put(internalCompName, component); entries.add(new ToolEntry(ident, internalCompName, component)); + } + + @Override + public void setCssClass(String ident, String cssClass) { + int pos = getToolEntryPosition(ident); + if(pos >= 0 && pos < entries.size()) { + ToolEntry entry = entries.get(pos); + if(entry != null) { + entry.setCssClass(cssClass); + content.setDirty(true); + } + } } /** diff --git a/src/main/java/org/olat/core/gui/control/generic/tool/ToolEntry.java b/src/main/java/org/olat/core/gui/control/generic/tool/ToolEntry.java index b8e42923dfe642d276d3229f2416ee2c25c16ea1..03683815c30ca4b4f40d176baaf015512cf2718a 100644 --- a/src/main/java/org/olat/core/gui/control/generic/tool/ToolEntry.java +++ b/src/main/java/org/olat/core/gui/control/generic/tool/ToolEntry.java @@ -173,6 +173,10 @@ public class ToolEntry { public String getCssClass() { return cssClass; } + + public void setCssClass(String cssClass) { + this.cssClass = cssClass; + } /** * @return The element CSS class used for Selenium tests. diff --git a/src/main/java/org/olat/core/id/context/BusinessControlFactory.java b/src/main/java/org/olat/core/id/context/BusinessControlFactory.java index 2ffb82315e1158b3bfe42838e3a2d48498c630e6..d999293c283b0eeaf83cea38d1094a640b3b91ad 100644 --- a/src/main/java/org/olat/core/id/context/BusinessControlFactory.java +++ b/src/main/java/org/olat/core/id/context/BusinessControlFactory.java @@ -49,6 +49,7 @@ import org.olat.core.logging.AssertException; import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; import org.olat.core.util.StringHelper; +import org.olat.core.util.WebappHelper; import org.olat.core.util.resource.OresHelper; import org.olat.core.util.servlets.URLEncoder; @@ -480,6 +481,23 @@ public class BusinessControlFactory { } } + public String getRelativeURLFromBusinessPathString(String bPathString){ + if(!StringHelper.containsNonWhitespace(bPathString)) { + return null; + } + + try { + BusinessControlFactory bCF = BusinessControlFactory.getInstance(); + List<ContextEntry> ceList = bCF.createCEListFromString(bPathString); + String busPath = getBusinessPathAsURIFromCEList(ceList); + + return WebappHelper.getServletContextPath() +"/url/"+busPath; + } catch(Exception e) { + log.error("Error with business path: " + bPathString, e); + return null; + } + } + public String formatFromURI(String restPart) { try { restPart = URLDecoder.decode(restPart, "UTF8"); diff --git a/src/main/java/org/olat/core/util/Formatter.java b/src/main/java/org/olat/core/util/Formatter.java index 3f2de97a9852c7a7578982de97d3ab238dd8e102..b463bba57dc68abbf24abf4fa5a59acaa9feb6f1 100644 --- a/src/main/java/org/olat/core/util/Formatter.java +++ b/src/main/java/org/olat/core/util/Formatter.java @@ -30,17 +30,19 @@ import java.io.UnsupportedEncodingException; import java.math.BigDecimal; import java.net.URLEncoder; import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; +import java.util.HashMap; import java.util.Locale; +import java.util.Map; import java.util.StringTokenizer; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.olat.core.commons.chiefcontrollers.BaseChiefController; import org.olat.core.helpers.Settings; -import org.olat.core.logging.LogDelegator; /** * enclosing_type Description: <br> @@ -48,15 +50,32 @@ import org.olat.core.logging.LogDelegator; * * @author Felix Jost */ -public class Formatter extends LogDelegator { +public class Formatter { - private Locale locale; + private static final DateFormat formatterDatetimeFilesystem = new SimpleDateFormat("yyyy-MM-dd'T'HH-mm-ss_SSS"); + private static final DateFormat formatDateTime = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); + + private static final Map<Locale,Formatter> localToFormatterMap = new HashMap<Locale,Formatter>(); + + private final Locale locale; + private final DateFormat shortDateFormat; + private final DateFormat shortDateTimeFormat; + private final DateFormat shortTimeFormat; + private final DateFormat mediumTimeFormat; /** * Constructor for Formatter. */ private Formatter(Locale locale) { this.locale = locale; + shortDateFormat = DateFormat.getDateInstance(DateFormat.SHORT, locale); + shortDateFormat.setLenient(false); + mediumTimeFormat = DateFormat.getTimeInstance(DateFormat.MEDIUM, locale); + mediumTimeFormat.setLenient(false); + shortDateTimeFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, locale); + shortDateTimeFormat.setLenient(false); + shortTimeFormat = DateFormat.getTimeInstance(DateFormat.SHORT, locale); + shortTimeFormat.setLenient(false); } /** @@ -66,7 +85,13 @@ public class Formatter extends LogDelegator { * @return the instance of the Formatter */ public static Formatter getInstance(Locale locale) { - return new Formatter(locale); + Formatter formatter; + if(localToFormatterMap.containsKey(locale)) { + formatter = localToFormatterMap.get(locale); + } else { + formatter = localToFormatterMap.put(locale, new Formatter(locale)); + } + return formatter; } /** @@ -76,10 +101,9 @@ public class Formatter extends LogDelegator { * @return a String with the formatted date */ public String formatDate(Date d) { - DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale); - df.setLenient(false); - String da = df.format(d); - return da; + synchronized (shortDateFormat) { + return shortDateFormat.format(d); + } } /** @@ -89,10 +113,9 @@ public class Formatter extends LogDelegator { * @return a String with the formatted time */ public String formatTime(Date d) { - DateFormat df = DateFormat.getTimeInstance(DateFormat.MEDIUM, locale); - df.setLenient(false); - String da = df.format(d); - return da; + synchronized (mediumTimeFormat) { + return mediumTimeFormat.format(d); + } } /** @@ -103,10 +126,9 @@ public class Formatter extends LogDelegator { */ public String formatDateAndTime(Date d) { if (d == null) return null; - DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, locale); - df.setLenient(false); - String da = df.format(d); - return da; + synchronized (shortDateTimeFormat) { + return shortDateTimeFormat.format(d); + } } /** @@ -166,8 +188,9 @@ public class Formatter extends LogDelegator { * @return a String with the formatted date and time */ public static String formatDatetime(Date d) { - java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); - return formatter.format(d); + synchronized (formatDateTime) { + return formatDateTime.format(d); + } } /** @@ -178,8 +201,9 @@ public class Formatter extends LogDelegator { * @return a String with the formatted date and time */ public static String formatDatetimeFilesystemSave(Date d) { - java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH-mm-ss_SSS"); - return formatter.format(d); + synchronized (formatterDatetimeFilesystem) { + return formatterDatetimeFilesystem.format(d); + } } /** @@ -189,10 +213,9 @@ public class Formatter extends LogDelegator { * @return a String with the formatted time */ public String formatTimeShort(Date d) { - DateFormat df = DateFormat.getTimeInstance(DateFormat.SHORT, locale); - df.setLenient(false); - String da = df.format(d); - return da; + synchronized (shortTimeFormat) { + return shortTimeFormat.format(d); + } } /** diff --git a/src/main/java/org/olat/course/assessment/UserCourseInformations.java b/src/main/java/org/olat/course/assessment/UserCourseInformations.java index 4f9e4a8c1f586c72e14f45d64e43d5fe4aeadacf..f06ea56d3259547ac99b361c8fd6d2556342bcfe 100644 --- a/src/main/java/org/olat/course/assessment/UserCourseInformations.java +++ b/src/main/java/org/olat/course/assessment/UserCourseInformations.java @@ -22,6 +22,7 @@ package org.olat.course.assessment; import java.util.Date; import org.olat.core.id.Identity; +import org.olat.resource.OLATResource; /** * Some statistical datas about a user visiting a course @@ -42,5 +43,7 @@ public interface UserCourseInformations { public long getTimeSpend(); public Identity getIdentity(); + + public OLATResource getResource(); } diff --git a/src/main/java/org/olat/course/assessment/manager/UserCourseInformationsManager.java b/src/main/java/org/olat/course/assessment/manager/UserCourseInformationsManager.java index d8a98ea12c76b6a035c6d54f8a677d418a4c8dcc..83574966dbaedc398a493e92acfa607394715667 100644 --- a/src/main/java/org/olat/course/assessment/manager/UserCourseInformationsManager.java +++ b/src/main/java/org/olat/course/assessment/manager/UserCourseInformationsManager.java @@ -26,6 +26,7 @@ import java.util.Map; import org.olat.core.id.Identity; import org.olat.course.assessment.UserCourseInformations; import org.olat.repository.RepositoryEntry; +import org.olat.resource.OLATResource; /** * @@ -34,6 +35,9 @@ import org.olat.repository.RepositoryEntry; public interface UserCourseInformationsManager { public UserCourseInformations getUserCourseInformations(Long courseResourceId, Identity identity); + + public List<UserCourseInformations> getUserCourseInformations(Identity identity, List<OLATResource> resources); + public UserCourseInformations updateUserCourseInformations(Long courseResId, Identity identity); diff --git a/src/main/java/org/olat/course/assessment/manager/UserCourseInformationsManagerImpl.java b/src/main/java/org/olat/course/assessment/manager/UserCourseInformationsManagerImpl.java index d18db1933da71f534cbb10568452d39adb0b599b..82751929b42ba0660679eb50c0e8daab736ddeb4 100644 --- a/src/main/java/org/olat/course/assessment/manager/UserCourseInformationsManagerImpl.java +++ b/src/main/java/org/olat/course/assessment/manager/UserCourseInformationsManagerImpl.java @@ -26,9 +26,12 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.persistence.TypedQuery; + import org.hibernate.FlushMode; import org.olat.core.commons.persistence.DB; import org.olat.core.commons.persistence.DBQuery; +import org.olat.core.commons.persistence.PersistenceHelper; import org.olat.core.id.Identity; import org.olat.core.manager.BasicManager; import org.olat.course.assessment.UserCourseInformations; @@ -88,6 +91,33 @@ public class UserCourseInformationsManagerImpl extends BasicManager implements U } } + @Override + public List<UserCourseInformations> getUserCourseInformations(Identity identity, List<OLATResource> resources) { + if(resources == null || resources.isEmpty()) { + return Collections.emptyList(); + } + + try { + StringBuilder sb = new StringBuilder(); + sb.append("select infos from ").append(UserCourseInfosImpl.class.getName()).append(" as infos ") + .append(" inner join fetch infos.resource as resource") + .append(" inner join fetch infos.identity as identity") + .append(" where identity.key=:identityKey and resource.key in (:resKeys)"); + + List<Long> resourceKeys = PersistenceHelper.toKeys(resources); + TypedQuery<UserCourseInformations> query = dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), UserCourseInformations.class) + .setParameter("identityKey", identity.getKey()) + .setParameter("resKeys", resourceKeys); + + List<UserCourseInformations> infoList = query.getResultList(); + return infoList; + } catch (Exception e) { + logError("Cannot retrieve course informations for: " + identity + " from " + identity, e); + return null; + } + } + /** * Update (or create if not exists) the course informations for a user * @param userCourseEnv diff --git a/src/main/java/org/olat/course/run/RunMainController.java b/src/main/java/org/olat/course/run/RunMainController.java index 6a141c7ac4b04f239eefac05c1f8f6ad83192451..d5d77e92229afa60625e8721a88205a270d7638f 100644 --- a/src/main/java/org/olat/course/run/RunMainController.java +++ b/src/main/java/org/olat/course/run/RunMainController.java @@ -31,12 +31,11 @@ import java.util.Locale; import java.util.Map; import org.olat.NewControllerFactory; -import org.olat.bookmark.AddAndEditBookmarkController; -import org.olat.bookmark.BookmarkManager; import org.olat.core.CoreSpringFactory; import org.olat.core.commons.fullWebApp.LayoutMain3ColsController; import org.olat.core.commons.fullWebApp.popup.BaseFullWebappPopupLayoutFactory; import org.olat.core.commons.persistence.PersistenceHelper; +import org.olat.core.commons.services.mark.MarkManager; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.htmlsite.OlatCmdEvent; @@ -161,7 +160,6 @@ public class RunMainController extends MainLayoutBasicController implements Gene private Controller currentToolCtr; private ToolController toolC; private Controller currentNodeController; // the currently open node config - private AddAndEditBookmarkController bookmarkController; private boolean isInEditor = false; @@ -190,6 +188,7 @@ public class RunMainController extends MainLayoutBasicController implements Gene private Link currentUserCountLink; private int currentUserCount; + private final MarkManager markManager; private final BusinessGroupService businessGroupService; /** @@ -211,6 +210,7 @@ public class RunMainController extends MainLayoutBasicController implements Gene super(ureq, wControl); businessGroupService = CoreSpringFactory.getImpl(BusinessGroupService.class); + markManager = CoreSpringFactory.getImpl(MarkManager.class); this.course = course; addLoggingResourceable(LoggingResourceable.wrap(course)); @@ -451,8 +451,6 @@ public class RunMainController extends MainLayoutBasicController implements Gene String selNodeId = nclr.getSelectedNodeId(); luTree.setSelectedNodeId(selNodeId); luTree.setOpenNodeIds(nclr.getOpenNodeIds()); - CourseNode courseNode = nclr.getCalledCourseNode(); - updateState(courseNode); // get new run controller. currentNodeController = nclr.getRunController(); @@ -474,11 +472,6 @@ public class RunMainController extends MainLayoutBasicController implements Gene return true; } - private void updateState(CourseNode courseNode) { - // TODO: fj : describe when the course node can be null - if (courseNode == null) return; - - } /** * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, @@ -529,7 +522,6 @@ public class RunMainController extends MainLayoutBasicController implements Gene luTree.setSelectedNodeId(nodeId); luTree.setOpenNodeIds(nclr.getOpenNodeIds()); currentCourseNode = nclr.getCalledCourseNode(); - updateState(currentCourseNode); // get new run controller. Dispose only if not already disposed in navHandler.evaluateJumpToTreeNode() if (currentNodeController != null && !currentNodeController.isDisposed()) currentNodeController.dispose(); @@ -661,13 +653,6 @@ public class RunMainController extends MainLayoutBasicController implements Gene String cmd = event.getCommand(); doHandleToolEvents(ureq, cmd); - } else if (source == bookmarkController) { - if (event.equals(Event.DONE_EVENT)) { - toolC.setEnabled(TOOL_BOOKMARK, false); - } else if (event.equals(Event.CANCELLED_EVENT)) { - toolC.setEnabled(TOOL_BOOKMARK, true); - } - updateTreeAndContent(ureq, currentCourseNode, null); } else if (source == glossaryToolCtr) { //fire info to IFrameDisplayController Long courseID = course.getResourceableId(); @@ -819,11 +804,15 @@ public class RunMainController extends MainLayoutBasicController implements Gene String businessPath = "[RepositorySite:0][RepositoryEntry:" + courseRepositoryEntry.getKey() + "]"; NewControllerFactory.getInstance().launch(businessPath, ureq, getWindowControl()); } else if (cmd.equals(ACTION_BOOKMARK)) { // add bookmark - RepositoryEntry re = RepositoryManager.getInstance().lookupRepositoryEntry(course, true); - bookmarkController = new AddAndEditBookmarkController(ureq, getWindowControl(), re.getDisplayname(), "", re, re.getOlatResource() - .getResourceableTypeName()); - listenTo(bookmarkController); - contentP.pushContent(bookmarkController.getInitialComponent()); + boolean marked = markManager.isMarked(courseRepositoryEntry, getIdentity(), null); + if(marked) { + markManager.deleteMark(course, null); + } else { + String businessPath = "[RepositoryEntry:" + courseRepositoryEntry.getKey() + "]"; + markManager.setMark(courseRepositoryEntry, getIdentity(), null, businessPath); + } + String css = marked ? "b_mark_not_set" : "b_mark_set"; + toolC.setCssClass(TOOL_BOOKMARK, css); } else if (cmd.equals(ACTION_CALENDAR)) { // popup calendar ControllerCreator ctrlCreator = new ControllerCreator() { public Controller createController(UserRequest lureq, WindowControl lwControl) { @@ -1013,7 +1002,15 @@ public class RunMainController extends MainLayoutBasicController implements Gene } dispose(); } + + private void reloadToolController(UserRequest ureq) { + removeAsListenerAndDispose(toolC); + toolC = initToolController(getIdentity(), ureq); + listenTo(toolC); + Component toolComp = (toolC == null ? null : toolC.getInitialComponent()); + columnLayoutCtr.setCol2(toolComp); + } /** * Initializes the course tools according to the users rights (repository @@ -1102,10 +1099,9 @@ public class RunMainController extends MainLayoutBasicController implements Gene myTool.addPopUpLink("personalnote", translate("command.personalnote"), null, null, "750", "550", false); } if (offerBookmark && !isGuest) { - myTool.addLink(ACTION_BOOKMARK, translate("command.bookmark"), TOOL_BOOKMARK, null); - BookmarkManager bm = BookmarkManager.getInstance(); - if (bm.isResourceableBookmarked(identity, courseRepositoryEntry)) myTool.setEnabled(TOOL_BOOKMARK, false); - + boolean marked = markManager.isMarked(courseRepositoryEntry, getIdentity(), null); + String css = marked ? "b_mark_set" : "b_mark_not_set"; + myTool.addLink(ACTION_BOOKMARK, translate("command.bookmark"), TOOL_BOOKMARK, css); } if (cc.isEfficencyStatementEnabled() && course.hasAssessableNodes() && !isGuest) { // link to efficiency statements should diff --git a/src/main/java/org/olat/home/CourseMainController.java b/src/main/java/org/olat/home/CourseMainController.java new file mode 100644 index 0000000000000000000000000000000000000000..56a8458e15e77e5db87c66027a74adbf5e2657c3 --- /dev/null +++ b/src/main/java/org/olat/home/CourseMainController.java @@ -0,0 +1,45 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.home; + +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.control.WindowControl; +import org.olat.repository.SearchRepositoryEntryParameters; +import org.olat.repository.ui.AbstractRepositoryEntryListController; + +/** + * + * Initial date: 19.11.2012<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CourseMainController extends AbstractRepositoryEntryListController { + + private SearchRepositoryEntryParameters searchParams; + + public CourseMainController(UserRequest ureq, WindowControl wContorl) { + super(ureq, wContorl); + + searchParams = new SearchRepositoryEntryParameters(getIdentity(), ureq.getUserSession().getRoles(), "CourseModule"); + searchParams.setOnlyExplicitMember(true); + + updateModel(searchParams, false); + } +} diff --git a/src/main/java/org/olat/home/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/home/_i18n/LocalStrings_de.properties index 44ff8fe24990ef57db8bdbddcdcbae0715660fc1..518a67b3206f1dd6bf7de5dca72486a187d3ac22 100644 --- a/src/main/java/org/olat/home/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/home/_i18n/LocalStrings_de.properties @@ -20,6 +20,15 @@ chelp.selfInfo=Wenn Sie selbst nach Produkten suchen m\u00F6chten, empfehlen wir chelp.windows=Windows command.portal.back=Konfiguration beenden command.portal.edit=Seite konfigurieren +course.favorit=Favoriten +course.participating=Teilnehmend +course.coached=Betreuend +course.closed=Abgeschlossen +course.nofavorit=Sie haben noch keinen Favoriten. +table.header.ac=$org.olat.repository\:table.header.ac +table.header.mark=Favorit + + email.disabled=Ihre derzeit in OpenOLAT eingetragene E-Mail-Adresse wurde von einem OpenOLAT-Benutzerverwalter gesperrt. Ihnen k\u00F6nnen somit derzeit keine Nachrichten \u00FCber OpenOLAT zugestellt werden. Um diese Sperre aufzuheben, \u00E4ndern Sie bitte Ihre E-Mail-Adresse im Bereich Home -> Einstellungen -> Profil. guestinfo.header=Informationen guestinfo.message=Der Gastzugang gew\u00E4hrt Ihnen einen Einblick in OpenOLAT mit eingeschr\u00E4nkter Funktionalit\u00E4t.<br><br>Sie haben nur Zugang zu Lerninhalten, die ausdr\u00FCcklich f\u00FCr G\u00E4ste freigegeben sind.<br><br>Um Zugang zu weiteren Lernmaterialien zu erhalten, m\u00FCssen Sie sich registrieren. @@ -36,6 +45,8 @@ menu.bookmarks=Bookmarks menu.bookmarks.alt=Meine Bookmarks starten und editieren menu.calendar=Kalender menu.calendar.alt=Mein pers\u00F6nlicher Kalender +menu.course=Kurs +menu.course.alt=Kurs menu.efficiencyStatements=Leistungsnachweise menu.efficiencyStatements.alt=Alle Leistungsnachweise menu.fulltextsearch=Volltextsuche diff --git a/src/main/java/org/olat/home/_spring/homeContext.xml b/src/main/java/org/olat/home/_spring/homeContext.xml index 547edd99b3d8fb27782c94a857fabd8dadefd908..3fca8c5bdc68ed4458abf62ebf381d03228709eb 100644 --- a/src/main/java/org/olat/home/_spring/homeContext.xml +++ b/src/main/java/org/olat/home/_spring/homeContext.xml @@ -84,26 +84,7 @@ <value>org.olat.home.HomeMainController</value> </list> </property> - </bean> - - <!-- bookmarks --> - <bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints"> - <property name="order" value="104" /> - <property name="enabled" value="${minimalhome.ext.bookmarks}"></property> - <property name="navigationKey" value="bookmarks" /> - <property name="actionController"> - <bean class="org.olat.home.controllerCreators.ManageBookmarkControllerCreator" scope="prototype"/> - </property> - <property name="securityCallbackClassName" value="org.olat.core.extensions.security.UserOnlyExtensionSecurityCallback" /> - <property name="translationPackage" value="org.olat.home" /> - <property name="i18nActionKey" value="menu.bookmarks"/> - <property name="i18nDescriptionKey" value="menu.bookmarks.alt"/> - <property name="extensionPoints"> - <list> - <value>org.olat.home.HomeMainController</value> - </list> - </property> - </bean> + </bean> <!-- the users personal folder --> <bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints"> @@ -169,6 +150,26 @@ </property> </bean> + <!-- the other users aka Usersearch --> + <bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints"> + <property name="order" value="109" /> + <property name="enabled" value="true"/> + <property name="actionController"> + <bean class="org.olat.core.gui.control.creator.AutoCreator" scope="prototype"> + <property name="className" value="org.olat.home.CourseMainController"/> + </bean> + </property> + <property name="securityCallbackClassName" value="org.olat.core.extensions.security.UserOnlyExtensionSecurityCallback" /> + <property name="translationPackage" value="org.olat.home" /> + <property name="i18nActionKey" value="menu.course"/> + <property name="i18nDescriptionKey" value="menu.course.alt"/> + <property name="extensionPoints"> + <list> + <value>org.olat.home.HomeMainController</value> + </list> + </property> + </bean> + <!-- the other users aka Usersearch --> <bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints"> <property name="order" value="110" /> diff --git a/src/main/java/org/olat/home/controllerCreators/ManageBookmarkControllerCreator.java b/src/main/java/org/olat/home/controllerCreators/ManageBookmarkControllerCreator.java deleted file mode 100644 index ee21b34168dc64bb32a073eb214569121a537098..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/home/controllerCreators/ManageBookmarkControllerCreator.java +++ /dev/null @@ -1,59 +0,0 @@ -/** - * <a href="http://www.openolat.org"> - * OpenOLAT - Online Learning and Training</a><br> - * <p> - * Licensed under the Apache License, Version 2.0 (the "License"); <br> - * you may not use this file except in compliance with the License.<br> - * You may obtain a copy of the License at the - * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> - * <p> - * Unless required by applicable law or agreed to in writing,<br> - * software distributed under the License is distributed on an "AS IS" BASIS, <br> - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> - * See the License for the specific language governing permissions and <br> - * limitations under the License. - * <p> - * Initial code contributed and copyrighted by<br> - * frentix GmbH, http://www.frentix.com - * <p> - */ -package org.olat.home.controllerCreators; - -import org.olat.bookmark.ManageBookmarkController; -import org.olat.core.gui.UserRequest; -import org.olat.core.gui.control.Controller; -import org.olat.core.gui.control.WindowControl; -import org.olat.core.gui.control.creator.AutoCreator; - -/** - * - * <h3>Description:</h3> - * Wrapper to create the bookmarks in home - * <p> - * Initial Date: 29 nov. 2010 <br> - * @author srosse, srosse@frentix.com, www.frentix.com - */ -public class ManageBookmarkControllerCreator extends AutoCreator { - - /** - * @see org.olat.core.gui.control.creator.AutoCreator#getClassName() - */ - @Override - public String getClassName() { - return this.getClass().getCanonicalName(); - } - - public ManageBookmarkControllerCreator() { - super(); - } - - /** - * @see org.olat.core.gui.control.creator.ControllerCreator#createController(org.olat.core.gui.UserRequest, - * org.olat.core.gui.control.WindowControl) - */ - @Override - public Controller createController(UserRequest ureq, WindowControl lwControl) { - return new ManageBookmarkController(ureq, lwControl, true, ManageBookmarkController.SEARCH_TYPE_ALL); - } - -} diff --git a/src/main/java/org/olat/modules/coach/_spring/coachContext.xml b/src/main/java/org/olat/modules/coach/_spring/coachContext.xml new file mode 100644 index 0000000000000000000000000000000000000000..98b168363c413e25cdb79d0f572c17c9a73fa49f --- /dev/null +++ b/src/main/java/org/olat/modules/coach/_spring/coachContext.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:context="http://www.springframework.org/schema/context" + xsi:schemaLocation="http://www.springframework.org/schema/beans + http://www.springframework.org/schema/beans/spring-beans-3.0.xsd + http://www.springframework.org/schema/context + http://www.springframework.org/schema/context/spring-context-3.0.xsd"> + + <context:component-scan base-package="com.frentix.olat.coach" /> + +</beans> + \ No newline at end of file diff --git a/src/main/java/org/olat/modules/coach/manager/CoachingManager.java b/src/main/java/org/olat/modules/coach/manager/CoachingManager.java new file mode 100644 index 0000000000000000000000000000000000000000..069283cd99c7f7862d9b0457cab4b809746f1032 --- /dev/null +++ b/src/main/java/org/olat/modules/coach/manager/CoachingManager.java @@ -0,0 +1,61 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.coach.manager; + +import java.util.List; + +import org.olat.basesecurity.IdentityShort; +import org.olat.core.id.Identity; +import org.olat.course.assessment.UserEfficiencyStatement; +import org.olat.modules.coach.model.CourseStatEntry; +import org.olat.modules.coach.model.EfficiencyStatementEntry; +import org.olat.modules.coach.model.GroupStatEntry; +import org.olat.modules.coach.model.StudentStatEntry; +import org.olat.repository.RepositoryEntry; + +/** + * + * Description:<br> + * + * <P> + * Initial Date: 8 févr. 2012 <br> + * + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +public interface CoachingManager { + + public boolean isCoach(Identity coach); + + public List<GroupStatEntry> getGroupsStatistics(Identity coach); + + public List<CourseStatEntry> getCoursesStatistics(Identity coach); + + public List<StudentStatEntry> getStudentsStatistics(Identity coach); + + public List<UserEfficiencyStatement> getEfficencyStatementEntries(Identity student); + + public EfficiencyStatementEntry getEfficencyStatementEntry(UserEfficiencyStatement statement); + + public List<EfficiencyStatementEntry> getEfficencyStatementEntries(List<IdentityShort> students, List<RepositoryEntry> courses); + + public List<Long> getStudents(Identity coach, RepositoryEntry entry, int firstResult, int maxResults); + + public List<RepositoryEntry> getStudentsCourses(Identity coach, Identity student, int firstResult, int maxResults); +} diff --git a/src/main/java/org/olat/modules/coach/manager/CoachingManagerImpl.java b/src/main/java/org/olat/modules/coach/manager/CoachingManagerImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..158c6ac792624de7ac9b1c2746515173ebe602cc --- /dev/null +++ b/src/main/java/org/olat/modules/coach/manager/CoachingManagerImpl.java @@ -0,0 +1,394 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.coach.manager; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.persistence.Query; +import javax.persistence.TypedQuery; + +import org.olat.basesecurity.IdentityShort; +import org.olat.basesecurity.SecurityGroupMembershipImpl; +import org.olat.core.commons.persistence.DB; +import org.olat.core.id.Identity; +import org.olat.core.manager.BasicManager; +import org.olat.course.assessment.UserEfficiencyStatement; +import org.olat.course.assessment.model.UserEfficiencyStatementLight; +import org.olat.modules.coach.model.CourseStatEntry; +import org.olat.modules.coach.model.EfficiencyStatementEntry; +import org.olat.modules.coach.model.EfficiencyStatementGroupGroupedStatEntry; +import org.olat.modules.coach.model.EfficiencyStatementGroupStatEntry; +import org.olat.modules.coach.model.EfficiencyStatementMemberStatEntry; +import org.olat.modules.coach.model.GroupStatEntry; +import org.olat.modules.coach.model.StudentStatEntry; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryManager; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * + * Description:<br> + * + * <P> + * Initial Date: 8 févr. 2012 <br> + * + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +@Service +public class CoachingManagerImpl extends BasicManager implements CoachingManager { + + @Autowired + private DB dbInstance; + @Autowired + private RepositoryManager repositoryManager; + + @Override + public boolean isCoach(Identity coach) { + try { + StringBuilder query = new StringBuilder(); + query.append("select count(re) from ").append(RepositoryEntry.class.getName()).append(" as re ") + .append(" inner join re.tutorGroup as tutorSecGroup ") + .append(" where tutorSecGroup in (") + .append(" select tutorSgmi.securityGroup from ").append(SecurityGroupMembershipImpl.class.getName()).append(" as tutorSgmi ") + .append(" where tutorSgmi.identity.key=:coachKey") + .append(" )"); + + TypedQuery<Number> dbQuery = dbInstance.getCurrentEntityManager().createQuery(query.toString(), Number.class); + dbQuery.setParameter("coachKey", coach.getKey()); + Number entries = (Number)dbQuery.getSingleResult(); + return entries.intValue() > 0; + } catch (Exception e) { + logError("isCoach: ", e); + return false; + } + } + + @Override + public EfficiencyStatementEntry getEfficencyStatementEntry(UserEfficiencyStatement statement) { + RepositoryEntry re = repositoryManager.lookupRepositoryEntry(statement.getCourseRepoKey(), false); + Identity identity = statement.getIdentity(); + EfficiencyStatementEntry entry = new EfficiencyStatementEntry(identity, re, statement); + return entry; + } + + @Override + public List<EfficiencyStatementEntry> getEfficencyStatementEntries(List<IdentityShort> students, List<RepositoryEntry> courses) { + if(students.isEmpty() || courses.isEmpty()) { + return Collections.emptyList(); + } + + List<Long> studentsKey = new ArrayList<Long>(); + for(IdentityShort student:students) { + studentsKey.add(student.getKey()); + } + + List<UserEfficiencyStatement> statements = getEfficiencyStatementByStudentKeys(studentsKey, courses); + List<EfficiencyStatementEntry> entries = new ArrayList<EfficiencyStatementEntry>(students.size() * courses.size()); + for(RepositoryEntry course:courses) { + for(IdentityShort student:students) { + UserEfficiencyStatement statement = getUserEfficiencyStatementFor(student.getKey(), course, statements); + EfficiencyStatementEntry entry = new EfficiencyStatementEntry(student, course, statement); + entries.add(entry); + } + } + return entries; + } + + @Override + public List<UserEfficiencyStatement> getEfficencyStatementEntries(Identity student) { + StringBuilder sb = new StringBuilder(); + sb.append("select statement from ").append(UserEfficiencyStatementLight.class.getName()).append(" as statement ") + .append(" where statement.identity.key=:studentKey"); + + TypedQuery<UserEfficiencyStatement> dbQuery = dbInstance.getCurrentEntityManager().createQuery(sb.toString(), UserEfficiencyStatement.class); + dbQuery.setParameter("studentKey", student.getKey()); + List<UserEfficiencyStatement> props = dbQuery.getResultList(); + return props; + } + + private UserEfficiencyStatement getUserEfficiencyStatementFor(Long studentKey, RepositoryEntry course, List<UserEfficiencyStatement> statements) { + for(UserEfficiencyStatement statement:statements) { + if(studentKey.equals(statement.getIdentity().getKey()) && course.getKey().equals(statement.getCourseRepoKey())) { + return statement; + } + } + return null; + } + + private List<UserEfficiencyStatement> getEfficiencyStatementByStudentKeys(List<Long> studentKeys, List<RepositoryEntry> courses) { + if(studentKeys == null || studentKeys.isEmpty() || courses == null || courses.isEmpty()) { + return Collections.emptyList(); + } + + StringBuilder sb = new StringBuilder(); + sb.append("select statement from ").append(UserEfficiencyStatementLight.class.getName()).append(" as statement ") + .append(" where statement.identity.key in (:studentsKey) and statement.resource.key in (:courseResourcesKey)"); + + TypedQuery<UserEfficiencyStatement> dbQuery = dbInstance.getCurrentEntityManager().createQuery(sb.toString(), UserEfficiencyStatement.class); + + List<Long> coursesKey = new ArrayList<Long>(); + for(RepositoryEntry course:courses) { + coursesKey.add(course.getOlatResource().getKey()); + } + dbQuery.setParameter("courseResourcesKey",coursesKey); + dbQuery.setParameter("studentsKey", studentKeys); + + List<UserEfficiencyStatement> props = dbQuery.getResultList(); + return props; + } + + @Override + public List<GroupStatEntry> getGroupsStatistics(Identity coach) { + try { + StringBuilder query = new StringBuilder(); + query.append("select s.groupKey, s.groupName, count(distinct s.repoKey), count(distinct s.studentKey), count(s.studentKey),") + .append("sum(s.passed), sum(s.failed), sum(s.notAttempted), avg(s.score), count(s.initialLaunchKey) ") + .append(" from ").append(EfficiencyStatementGroupStatEntry.class.getName()).append(" as s ") + .append(" where s.tutorKey=:coachKey") + .append(" group by s.groupKey, s.groupName"); + + Query dbQuery = dbInstance.getCurrentEntityManager().createQuery(query.toString()); + dbQuery.setParameter("coachKey", coach.getKey()); + + @SuppressWarnings("unchecked") + List<Object[]> rawStats = dbQuery.getResultList(); + List<GroupStatEntry> stats = new ArrayList<GroupStatEntry>(); + for(Object[] rawStat:rawStats) { + GroupStatEntry entry = new GroupStatEntry(); + entry.setGroupKey((Long)rawStat[0]); + entry.setGroupName((String)rawStat[1]); + entry.setCountCourses(((Number)rawStat[2]).intValue()); + entry.setCountStudents(((Number)rawStat[3]).intValue()); + entry.setCountStudents(((Number)rawStat[4]).intValue()); + entry.setCountPassed(((Number)rawStat[5]).intValue()); + entry.setCountFailed(((Number)rawStat[6]).intValue()); + entry.setCountNotAttempted(((Number)rawStat[7]).intValue()); + if(rawStat[8] != null) { + entry.setAverageScore(((Number)rawStat[8]).floatValue()); + } + entry.setInitialLaunch(((Number)rawStat[9]).intValue()); + stats.add(entry); + } + return stats; + } catch (Exception e) { + logError("getGroupsStatistics takes (ms): ", e); + return Collections.emptyList(); + } + } + + @Override + public List<CourseStatEntry> getCoursesStatistics(Identity coach) { + //course has members or groups but not both, we can add without check + List<CourseStatEntry> groupStats = getCoursesStatisticsPart(coach, false); + List<CourseStatEntry> repoStats = getCoursesStatisticsPart(coach, true); + + List<CourseStatEntry> stats = new ArrayList<CourseStatEntry>(groupStats.size() + repoStats.size()); + stats.addAll(groupStats); + Map<Long,CourseStatEntry> courseMaps = new HashMap<Long,CourseStatEntry>(); + for(CourseStatEntry stat:groupStats) { + courseMaps.put(stat.getRepoKey(), stat); + } + + for(CourseStatEntry stat:repoStats) { + if(courseMaps.containsKey(stat.getRepoKey())) { + CourseStatEntry currentStat = courseMaps.get(stat.getRepoKey()); + currentStat.add(stat); + } else { + stats.add(stat); + } + } + return stats; + } + + private List<CourseStatEntry> getCoursesStatisticsPart(Identity coach, boolean members) { + try { + StringBuilder query = new StringBuilder(); + + String target = (members ? EfficiencyStatementMemberStatEntry.class.getName() + : EfficiencyStatementGroupGroupedStatEntry.class.getName()); + + // 0 1 2 3 + query.append("select s.repoKey, s.repoDisplayName, count(distinct s.studentKey), count(s.studentKey),") + // 4 5 6 7 8 + .append(" sum(s.passed), sum(s.failed), sum(s.notAttempted), avg(s.score), count(s.initialLaunchKey) ") + .append(" from ").append(target).append(" as s ") + .append(" where s.tutorKey=:tutorKey") + .append(" group by s.repoKey, s.repoDisplayName"); + + Query dbQuery = dbInstance.getCurrentEntityManager().createQuery(query.toString()); + dbQuery.setParameter("tutorKey", coach.getKey()); + + @SuppressWarnings("unchecked") + List<Object[]> rawStats = dbQuery.getResultList(); + List<CourseStatEntry> stats = new ArrayList<CourseStatEntry>(); + for(Object[] rawStat:rawStats) { + CourseStatEntry entry = new CourseStatEntry(); + entry.setRepoKey((Long)rawStat[0]); + entry.setRepoDisplayName((String)rawStat[1]); + entry.setCountStudents(((Number)rawStat[2]).intValue()); + entry.setCountDistinctStudents(((Number)rawStat[3]).intValue()); + entry.setCountPassed(((Number)rawStat[4]).intValue()); + entry.setCountFailed(((Number)rawStat[5]).intValue()); + entry.setCountNotAttempted(((Number)rawStat[6]).intValue()); + if(rawStat[7] != null) { + entry.setAverageScore(((Number)rawStat[7]).floatValue()); + } + if(rawStat[8] != null) { + entry.setInitialLaunch(((Number)rawStat[8]).intValue()); + } else { + entry.setInitialLaunch(0); + } + stats.add(entry); + } + return stats; + } catch (Exception e) { + logError("getCourseStatistics " + (members ? "members" : "groups") + " takes (ms): ", e); + return Collections.emptyList(); + } + } + + @Override + public List<StudentStatEntry> getStudentsStatistics(Identity coach) { + List<StudentStatEntry> studentsInGroups = getStudentsStatisticsPart(coach, false); + Map<Long,StudentStatEntry> studentsMap = new HashMap<Long,StudentStatEntry>((studentsInGroups.size() * 2) + 1); + for(StudentStatEntry studentInGroups:studentsInGroups) { + studentsMap.put(studentInGroups.getStudentKey(), studentInGroups); + } + + List<StudentStatEntry> studentsMembers = getStudentsStatisticsPart(coach, true); + for(StudentStatEntry studentsMember:studentsMembers) { + if(studentsMap.containsKey(studentsMember.getStudentKey())) { + StudentStatEntry current = studentsMap.get(studentsMember.getStudentKey()); + current.add(studentsMember); + } else { + studentsInGroups.add(studentsMember); + } + } + return studentsInGroups; + } + + private List<StudentStatEntry> getStudentsStatisticsPart(Identity coach, boolean members) { + try { + + String target = (members ? EfficiencyStatementMemberStatEntry.class.getName() + : EfficiencyStatementGroupGroupedStatEntry.class.getName()); + + StringBuilder query = new StringBuilder(); + // 0 1 2 3 4 5 6 + query.append("select s.studentKey, count(s.repoKey), sum(s.passed), sum(s.failed), sum(s.notAttempted), avg(s.score), count(s.initialLaunchKey)") + .append(" from ").append(target).append(" as s ") + .append(" where s.tutorKey=:coachKey") + .append(" group by s.studentKey"); + + Query dbQuery = dbInstance.getCurrentEntityManager().createQuery(query.toString()); + dbQuery.setParameter("coachKey", coach.getKey()); + + @SuppressWarnings("unchecked") + List<Object[]> rawStats = dbQuery.getResultList(); + List<StudentStatEntry> stats = new ArrayList<StudentStatEntry>(); + for(Object[] rawStat:rawStats) { + StudentStatEntry entry = new StudentStatEntry(); + entry.setStudentKey((Long)rawStat[0]); + entry.setCountRepo(((Number)rawStat[1]).intValue()); + entry.setCountPassed(((Number)rawStat[2]).intValue()); + entry.setCountFailed(((Number)rawStat[3]).intValue()); + entry.setCountNotAttempted(((Number)rawStat[4]).intValue()); + //6 + entry.setInitialLaunch(((Number)rawStat[6]).intValue()); + stats.add(entry); + } + return stats; + } catch (Exception e) { + logError("getStudentsStatisticsPart " + (members ? "members" : "groups") + " takes (ms): ", e); + return Collections.emptyList(); + } + } + + @Override + public List<Long> getStudents(Identity coach, RepositoryEntry entry, int firstResult, int maxResults) { + try { + StringBuilder queryG = new StringBuilder(); + queryG.append("select distinct(s.studentKey) from ").append(EfficiencyStatementGroupStatEntry.class.getName()).append(" as s ") + .append(" where s.tutorKey=:coachKey and s.repoKey=:repoKey"); + + StringBuilder queryM = new StringBuilder(); + queryM.append("select distinct(s.studentKey) from ").append(EfficiencyStatementMemberStatEntry.class.getName()).append(" as s ") + .append(" where s.tutorKey=:coachKey and s.repoKey=:repoKey"); + + TypedQuery<Long> dbQueryG = dbInstance.getCurrentEntityManager().createQuery(queryG.toString(), Long.class); + dbQueryG.setParameter("coachKey", coach.getKey()); + dbQueryG.setParameter("repoKey", entry.getKey()); + List<Long> studentKeyGs = dbQueryG.getResultList(); + + TypedQuery<Long> dbQueryM = dbInstance.getCurrentEntityManager().createQuery(queryM.toString(), Long.class); + dbQueryM.setParameter("coachKey", coach.getKey()); + dbQueryM.setParameter("repoKey", entry.getKey()); + List<Long> studentKeyMs = dbQueryM.getResultList(); + + Set<Long> distinctStudentKeys = new HashSet<Long>(((studentKeyGs.size() + studentKeyMs.size()) * 2) + 1); + distinctStudentKeys.addAll(studentKeyGs); + distinctStudentKeys.addAll(studentKeyMs); + + List<Long> distinctStudentKeyList = new ArrayList<Long>(distinctStudentKeys); + return distinctStudentKeyList; + } catch (Exception e) { + logError("getStudents: ", e); + return Collections.emptyList(); + } + } + + @Override + public List<RepositoryEntry> getStudentsCourses(Identity coach, Identity student, int firstResult, int maxResults) { + try { + StringBuilder query = new StringBuilder(); + query.append("select distinct(re) from ").append(RepositoryEntry.class.getName()).append(" as re ") + .append(" where re.key in ( ") + .append(" select s.repoKey from ").append(EfficiencyStatementGroupStatEntry.class.getName()).append(" as s ") + .append(" where s.tutorKey=:coachKey and s.studentKey=:studentKey") + .append(" ) or re.key in ( ") + .append(" select s.repoKey from ").append(EfficiencyStatementMemberStatEntry.class.getName()).append(" as s ") + .append(" where s.tutorKey=:coachKey and s.studentKey=:studentKey") + .append(" )"); + + TypedQuery<RepositoryEntry> dbQuery = dbInstance.getCurrentEntityManager().createQuery(query.toString(), RepositoryEntry.class); + dbQuery.setParameter("coachKey", coach.getKey()); + dbQuery.setParameter("studentKey", student.getKey()); + if(firstResult >= 0) { + dbQuery.setFirstResult(firstResult); + } + if(maxResults > 0) { + dbQuery.setMaxResults(maxResults); + } + + List<RepositoryEntry> courses = dbQuery.getResultList(); + return courses; + } catch (Exception e) { + logError("getCourseStatistics: ", e); + return Collections.emptyList(); + } + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/modules/coach/manager/CoachingService.java b/src/main/java/org/olat/modules/coach/manager/CoachingService.java new file mode 100644 index 0000000000000000000000000000000000000000..82bd73e80d18162c3904ca0a073970fc92a6c290 --- /dev/null +++ b/src/main/java/org/olat/modules/coach/manager/CoachingService.java @@ -0,0 +1,122 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.coach.manager; + +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.olat.basesecurity.BaseSecurity; +import org.olat.basesecurity.IdentityShort; +import org.olat.basesecurity.SecurityGroup; +import org.olat.core.id.Identity; +import org.olat.core.manager.BasicManager; +import org.olat.course.assessment.UserEfficiencyStatement; +import org.olat.group.BusinessGroup; +import org.olat.group.BusinessGroupService; +import org.olat.modules.coach.model.CourseStatEntry; +import org.olat.modules.coach.model.EfficiencyStatementEntry; +import org.olat.modules.coach.model.GroupStatEntry; +import org.olat.modules.coach.model.StudentStatEntry; +import org.olat.repository.RepositoryEntry; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * + * Description:<br> + * + * <P> + * Initial Date: 8 févr. 2012 <br> + * + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +@Service +public class CoachingService extends BasicManager { + + @Autowired + private CoachingManager coachingManager; + @Autowired + private BaseSecurity securityManager; + @Autowired + private BusinessGroupService businessGroupService; + + + public boolean isCoach(Identity coach) { + return coachingManager.isCoach(coach); + } + + public Map<Long, String> getIdentities(Collection<Long> identityNames) { + Map<Long,String> identityMap = new HashMap<Long,String>(); + + List<IdentityShort> identities = securityManager.findShortIdentitiesByKey(identityNames); + for(IdentityShort identity:identities) { + String fullName = identity.getFirstName() + " " + identity.getLastName(); + identityMap.put(identity.getKey(), fullName); + } + return identityMap; + } + + public List<RepositoryEntry> getStudentsCourses(Identity coach, Identity student, int firstResult, int maxResults) { + return coachingManager.getStudentsCourses(coach, student, firstResult, maxResults); + } + + public List<StudentStatEntry> getStudentsStatistics(Identity coach) { + return coachingManager.getStudentsStatistics(coach); + } + + public List<CourseStatEntry> getCoursesStatistics(Identity coach) { + return coachingManager.getCoursesStatistics(coach); + } + + public List<GroupStatEntry> getGroupsStatistics(Identity coach) { + return coachingManager.getGroupsStatistics(coach); + } + + public List<EfficiencyStatementEntry> getGroup(BusinessGroup group) { + List<SecurityGroup> secGroups = Collections.singletonList(group.getPartipiciantGroup()); + List<IdentityShort> students = securityManager.getIdentitiesShortOfSecurityGroups(secGroups, 0 , -1); + List<RepositoryEntry> courses = businessGroupService.findRepositoryEntries(Collections.singletonList(group), 0, -1); + return coachingManager.getEfficencyStatementEntries(students, courses); + } + + public List<EfficiencyStatementEntry> getCourse(Identity coach, RepositoryEntry entry, int firstResult, int maxResults) { + List<Long> studentKeys = coachingManager.getStudents(coach, entry, firstResult, maxResults); + List<IdentityShort> students = securityManager.findShortIdentitiesByKey(studentKeys); + return coachingManager.getEfficencyStatementEntries(students, Collections.singletonList(entry)); + } + + public EfficiencyStatementEntry getEfficencyStatement(UserEfficiencyStatement statement) { + return coachingManager.getEfficencyStatementEntry(statement); + } + + public List<EfficiencyStatementEntry> getEfficencyStatements(Identity student, List<RepositoryEntry> courses) { + IdentityShort identity = securityManager.loadIdentityShortByKey(student.getKey()); + List<IdentityShort> students = Collections.singletonList(identity); + return coachingManager.getEfficencyStatementEntries(students, courses); + } + + public List<UserEfficiencyStatement> getEfficencyStatements(Identity student) { + return coachingManager.getEfficencyStatementEntries(student); + } + +} diff --git a/src/main/java/org/olat/modules/coach/model/CourseStatEntry.java b/src/main/java/org/olat/modules/coach/model/CourseStatEntry.java new file mode 100644 index 0000000000000000000000000000000000000000..a7aaf67c0da8715c791d5d97bb4d40b64218db31 --- /dev/null +++ b/src/main/java/org/olat/modules/coach/model/CourseStatEntry.java @@ -0,0 +1,130 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.coach.model; + +/** + * + * Dummy bean to transport statistic values about course + * + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +public class CourseStatEntry { + // s.repoKey, + private Long repoKey; + private String repoDisplayName; + private int countStudents; + private int countDistinctStudents; + private int countPassed; + private int countFailed; + private int countNotAttempted; + private Float averageScore; + private int initialLaunch; + + public Long getRepoKey() { + return repoKey; + } + + public void setRepoKey(Long repoKey) { + this.repoKey = repoKey; + } + + public String getRepoDisplayName() { + return repoDisplayName; + } + + public void setRepoDisplayName(String repoDisplayName) { + this.repoDisplayName = repoDisplayName; + } + + public int getCountStudents() { + return countStudents; + } + + public void setCountStudents(int countStudents) { + this.countStudents = countStudents; + } + + public int getCountDistinctStudents() { + return countDistinctStudents; + } + + public void setCountDistinctStudents(int countDistinctStudents) { + this.countDistinctStudents = countDistinctStudents; + } + + public int getCountPassed() { + return countPassed; + } + + public void setCountPassed(int countPassed) { + this.countPassed = countPassed; + } + + public int getCountFailed() { + return countFailed; + } + + public void setCountFailed(int countFailed) { + this.countFailed = countFailed; + } + + public int getCountNotAttempted() { + return countNotAttempted; + } + + public void setCountNotAttempted(int countNotAttempted) { + this.countNotAttempted = countNotAttempted; + } + + public Float getAverageScore() { + return averageScore; + } + + public void setAverageScore(Float averageScore) { + this.averageScore = averageScore; + } + + public int getInitialLaunch() { + return initialLaunch; + } + + public void setInitialLaunch(int initialLaunch) { + this.initialLaunch = initialLaunch; + } + + public void add(CourseStatEntry entry) { + countStudents += entry.getCountStudents(); + countDistinctStudents += entry.getCountDistinctStudents(); + + float score1 = averageScore == null ? 0.0f : (averageScore * (float)(countPassed + countFailed)); + float score2 = entry.averageScore == null ? 0.0f : (entry.averageScore * (float)(entry.countPassed + entry.countFailed)); + float scores = (score1 + score2); + if(scores <= 0.0f) { + averageScore = null; + } else { + averageScore = scores / (float)(countPassed + countFailed + entry.countPassed + entry.countFailed); + } + + countPassed += entry.getCountPassed(); + countFailed += entry.getCountFailed(); + countNotAttempted += entry.getCountNotAttempted(); + initialLaunch += entry.getInitialLaunch(); + } +} diff --git a/src/main/java/org/olat/modules/coach/model/EfficiencyStatementEntry.java b/src/main/java/org/olat/modules/coach/model/EfficiencyStatementEntry.java new file mode 100644 index 0000000000000000000000000000000000000000..aba019b97bc6982fe33b11f97780cebcfadf9df6 --- /dev/null +++ b/src/main/java/org/olat/modules/coach/model/EfficiencyStatementEntry.java @@ -0,0 +1,95 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.coach.model; + +import org.olat.basesecurity.IdentityShort; +import org.olat.core.id.Identity; +import org.olat.core.id.UserConstants; +import org.olat.course.assessment.UserEfficiencyStatement; +import org.olat.repository.RepositoryEntry; + +/** + * + * Description:<br> + * + * <P> + * Initial Date: 9 févr. 2012 <br> + * + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +public class EfficiencyStatementEntry { + + private final Long studentKey; + private final String studentFullName; + private final RepositoryEntry course; + private final UserEfficiencyStatement efficencyStatement; + + public EfficiencyStatementEntry(IdentityShort student, RepositoryEntry course, UserEfficiencyStatement efficencyStatement) { + this.course = course; + this.efficencyStatement = efficencyStatement; + this.studentKey = student.getKey(); + this.studentFullName = getFullName(student); + } + + public EfficiencyStatementEntry(Identity student, RepositoryEntry course, UserEfficiencyStatement efficencyStatement) { + this.course = course; + this.efficencyStatement = efficencyStatement; + this.studentKey = student.getKey(); + this.studentFullName = getFullName(student); + } + + private String getFullName(IdentityShort student) { + if(student == null) { + return ""; + } + return student.getFirstName() + " " + student.getLastName(); + } + + private String getFullName(Identity student) { + if(student == null) { + return ""; + } + return student.getUser().getProperty(UserConstants.FIRSTNAME, null) + " " + student.getUser().getProperty(UserConstants.LASTNAME, null); + } + + public Long getStudentKey() { + return studentKey; + } + + public String getStudentFullName() { + return studentFullName; + } + + public String getCourseDisplayName() { + return null; + } + + public RepositoryEntry getCourse() { + return course; + } + + /** + * Can return null + * @return + */ + public UserEfficiencyStatement getUserEfficencyStatement() { + return efficencyStatement; + } +} diff --git a/src/main/java/org/olat/modules/coach/model/EfficiencyStatementGroupGroupedStatEntry.java b/src/main/java/org/olat/modules/coach/model/EfficiencyStatementGroupGroupedStatEntry.java new file mode 100644 index 0000000000000000000000000000000000000000..8ea3091b977c0c1f31a33853aabd3744e4e3c90b --- /dev/null +++ b/src/main/java/org/olat/modules/coach/model/EfficiencyStatementGroupGroupedStatEntry.java @@ -0,0 +1,211 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.coach.model; + +import java.util.Date; + +import org.olat.core.commons.persistence.PersistentObject; + +/** + * The object is immutable. It's like EfficiencyStatementGroupStatEntry + * but with a group by to melt the different groups. + * + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +public class EfficiencyStatementGroupGroupedStatEntry extends PersistentObject { + + private static final long serialVersionUID = -5632894869497135693L; + + private Long repoKey; + private Long statementKey; + private Long tutorKey; + private Long studentKey; + + private String repoDisplayName; + private Long repoResourceId; + private int repoAccess; + private int repoStatusCode; + + private String tutorName; + private String studentName; + + private Float score; + private int passed; + private int failed; + private int notAttempted; + private Date lastModified; + + private Long initialLaunchKey; + + public Long getRepoKey() { + return repoKey; + } + + public void setRepoKey(Long repoKey) { + this.repoKey = repoKey; + } + + + public Long getStatementKey() { + return statementKey; + } + + public void setStatementKey(Long statementKey) { + this.statementKey = statementKey; + } + + public Long getTutorKey() { + return tutorKey; + } + + public void setTutorKey(Long tutorKey) { + this.tutorKey = tutorKey; + } + + public Long getStudentKey() { + return studentKey; + } + + public void setStudentKey(Long studentKey) { + this.studentKey = studentKey; + } + + public String getRepoDisplayName() { + return repoDisplayName; + } + + public void setRepoDisplayName(String repoDisplayName) { + this.repoDisplayName = repoDisplayName; + } + + public Long getRepoResourceId() { + return repoResourceId; + } + + public void setRepoResourceId(Long repoResourceId) { + this.repoResourceId = repoResourceId; + } + + public int getRepoAccess() { + return repoAccess; + } + + public void setRepoAccess(int repoAccess) { + this.repoAccess = repoAccess; + } + + public int getRepoStatusCode() { + return repoStatusCode; + } + + public void setRepoStatusCode(int repoStatusCode) { + this.repoStatusCode = repoStatusCode; + } + + public String getTutorName() { + return tutorName; + } + + public void setTutorName(String tutorName) { + this.tutorName = tutorName; + } + + public String getStudentName() { + return studentName; + } + + public void setStudentName(String studentName) { + this.studentName = studentName; + } + + public Float getScore() { + return score; + } + + public void setScore(Float score) { + this.score = score; + } + + public int getPassed() { + return passed; + } + + public void setPassed(int passed) { + this.passed = passed; + } + + public int getFailed() { + return failed; + } + + public void setFailed(int failed) { + this.failed = failed; + } + + public int getNotAttempted() { + return notAttempted; + } + + public void setNotAttempted(int notAttempted) { + this.notAttempted = notAttempted; + } + + public Date getLastModified() { + return lastModified; + } + + public void setLastModified(Date lastModified) { + this.lastModified = lastModified; + } + + public Long getInitialLaunchKey() { + return initialLaunchKey; + } + + public void setInitialLaunchKey(Long initialLaunchKey) { + this.initialLaunchKey = initialLaunchKey; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("efficiencyStatementStatEntry[statementId=") + .append(getKey()).append(":repositoryEntry=") + .append(repoDisplayName).append(":tutorName=") + .append(tutorName).append(":studentName=") + .append(studentName); + return sb.toString(); + } + + @Override + public boolean equals(Object obj) { + if(this == obj) { + return true; + } + return false; + } + + @Override + public int hashCode() { + return super.hashCode(); + } + + +} diff --git a/src/main/java/org/olat/modules/coach/model/EfficiencyStatementGroupStatEntry.java b/src/main/java/org/olat/modules/coach/model/EfficiencyStatementGroupStatEntry.java new file mode 100644 index 0000000000000000000000000000000000000000..9520e37d95cb178d044c16a6841eb8ec3aca8191 --- /dev/null +++ b/src/main/java/org/olat/modules/coach/model/EfficiencyStatementGroupStatEntry.java @@ -0,0 +1,228 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.coach.model; + +import java.util.Date; + +import org.olat.core.commons.persistence.PersistentObject; + +/** + * The object is immutable + * + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +public class EfficiencyStatementGroupStatEntry extends PersistentObject { + + private static final long serialVersionUID = -5632894869497135693L; + + private Long repoKey; + private Long groupKey; + private Long statementKey; + private Long tutorKey; + private Long studentKey; + + private String repoDisplayName; + private Long repoResourceId; + private int repoAccess; + private int repoStatusCode; + + private String groupName; + + private String tutorName; + private String studentName; + + private Float score; + private int passed; + private int failed; + private int notAttempted; + private Date lastModified; + + private Long initialLaunchKey; + + public Long getRepoKey() { + return repoKey; + } + + public void setRepoKey(Long repoKey) { + this.repoKey = repoKey; + } + + public Long getGroupKey() { + return groupKey; + } + + public void setGroupKey(Long groupKey) { + this.groupKey = groupKey; + } + + public Long getStatementKey() { + return statementKey; + } + + public void setStatementKey(Long statementKey) { + this.statementKey = statementKey; + } + + public Long getTutorKey() { + return tutorKey; + } + + public void setTutorKey(Long tutorKey) { + this.tutorKey = tutorKey; + } + + public Long getStudentKey() { + return studentKey; + } + + public void setStudentKey(Long studentKey) { + this.studentKey = studentKey; + } + + public String getRepoDisplayName() { + return repoDisplayName; + } + + public void setRepoDisplayName(String repoDisplayName) { + this.repoDisplayName = repoDisplayName; + } + + public Long getRepoResourceId() { + return repoResourceId; + } + + public void setRepoResourceId(Long repoResourceId) { + this.repoResourceId = repoResourceId; + } + + public int getRepoAccess() { + return repoAccess; + } + + public void setRepoAccess(int repoAccess) { + this.repoAccess = repoAccess; + } + + public int getRepoStatusCode() { + return repoStatusCode; + } + + public void setRepoStatusCode(int repoStatusCode) { + this.repoStatusCode = repoStatusCode; + } + + public String getGroupName() { + return groupName; + } + + public void setGroupName(String groupName) { + this.groupName = groupName; + } + + public String getTutorName() { + return tutorName; + } + + public void setTutorName(String tutorName) { + this.tutorName = tutorName; + } + + public String getStudentName() { + return studentName; + } + + public void setStudentName(String studentName) { + this.studentName = studentName; + } + + public Float getScore() { + return score; + } + + public void setScore(Float score) { + this.score = score; + } + + public int getPassed() { + return passed; + } + + public void setPassed(int passed) { + this.passed = passed; + } + + public int getFailed() { + return failed; + } + + public void setFailed(int failed) { + this.failed = failed; + } + + public int getNotAttempted() { + return notAttempted; + } + + public void setNotAttempted(int notAttempted) { + this.notAttempted = notAttempted; + } + + public Date getLastModified() { + return lastModified; + } + + public void setLastModified(Date lastModified) { + this.lastModified = lastModified; + } + + public Long getInitialLaunchKey() { + return initialLaunchKey; + } + + public void setInitialLaunchKey(Long initialLaunchKey) { + this.initialLaunchKey = initialLaunchKey; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("efficiencyStatementStatEntry[statementId=") + .append(getKey()).append(":repositoryEntry=") + .append(repoDisplayName).append(":tutorName=") + .append(tutorName).append(":studentName=") + .append(studentName); + return sb.toString(); + } + + @Override + public boolean equals(Object obj) { + if(this == obj) { + return true; + } + return false; + } + + @Override + public int hashCode() { + return super.hashCode(); + } + + +} diff --git a/src/main/java/org/olat/modules/coach/model/EfficiencyStatementMemberStatEntry.java b/src/main/java/org/olat/modules/coach/model/EfficiencyStatementMemberStatEntry.java new file mode 100644 index 0000000000000000000000000000000000000000..dd6c9bc765bd9a613404b0d343f1e3517412d8f8 --- /dev/null +++ b/src/main/java/org/olat/modules/coach/model/EfficiencyStatementMemberStatEntry.java @@ -0,0 +1,209 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.coach.model; + +import java.util.Date; + +import org.olat.core.commons.persistence.PersistentObject; + +/** + * The object is immutable + * + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +public class EfficiencyStatementMemberStatEntry extends PersistentObject { + + private static final long serialVersionUID = -5632894869497135693L; + + private Long repoKey; + private Long statementKey; + private Long tutorKey; + private Long studentKey; + + private String repoDisplayName; + private Long repoResourceId; + private int repoAccess; + private int repoStatusCode; + + private String tutorName; + private String studentName; + + private Float score; + private int passed; + private int failed; + private int notAttempted; + private Date lastModified; + + private Long initialLaunchKey; + + public Long getRepoKey() { + return repoKey; + } + + public void setRepoKey(Long repoKey) { + this.repoKey = repoKey; + } + + public Long getStatementKey() { + return statementKey; + } + + public void setStatementKey(Long statementKey) { + this.statementKey = statementKey; + } + + public Long getTutorKey() { + return tutorKey; + } + + public void setTutorKey(Long tutorKey) { + this.tutorKey = tutorKey; + } + + public Long getStudentKey() { + return studentKey; + } + + public void setStudentKey(Long studentKey) { + this.studentKey = studentKey; + } + + public String getRepoDisplayName() { + return repoDisplayName; + } + + public void setRepoDisplayName(String repoDisplayName) { + this.repoDisplayName = repoDisplayName; + } + + public Long getRepoResourceId() { + return repoResourceId; + } + + public void setRepoResourceId(Long repoResourceId) { + this.repoResourceId = repoResourceId; + } + + public int getRepoAccess() { + return repoAccess; + } + + public void setRepoAccess(int repoAccess) { + this.repoAccess = repoAccess; + } + + public int getRepoStatusCode() { + return repoStatusCode; + } + + public void setRepoStatusCode(int repoStatusCode) { + this.repoStatusCode = repoStatusCode; + } + + public String getTutorName() { + return tutorName; + } + + public void setTutorName(String tutorName) { + this.tutorName = tutorName; + } + + public String getStudentName() { + return studentName; + } + + public void setStudentName(String studentName) { + this.studentName = studentName; + } + + public Float getScore() { + return score; + } + + public void setScore(Float score) { + this.score = score; + } + + public int getPassed() { + return passed; + } + + public void setPassed(int passed) { + this.passed = passed; + } + + public int getFailed() { + return failed; + } + + public void setFailed(int failed) { + this.failed = failed; + } + + public int getNotAttempted() { + return notAttempted; + } + + public void setNotAttempted(int notAttempted) { + this.notAttempted = notAttempted; + } + + public Date getLastModified() { + return lastModified; + } + + public void setLastModified(Date lastModified) { + this.lastModified = lastModified; + } + + public Long getInitialLaunchKey() { + return initialLaunchKey; + } + + public void setInitialLaunchKey(Long initialLaunchKey) { + this.initialLaunchKey = initialLaunchKey; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("efficiencyStatementStatEntry[statementId=") + .append(getKey()).append(":repositoryEntry=") + .append(repoDisplayName).append(":tutorName=") + .append(tutorName).append(":studentName=") + .append(studentName); + return sb.toString(); + } + + @Override + public boolean equals(Object obj) { + if(this == obj) { + return true; + } + return false; + } + + @Override + public int hashCode() { + return super.hashCode(); + } + + +} diff --git a/src/main/java/org/olat/modules/coach/model/EfficiencyStatementStatEntry.hbm.xml b/src/main/java/org/olat/modules/coach/model/EfficiencyStatementStatEntry.hbm.xml new file mode 100644 index 0000000000000000000000000000000000000000..40a9c34054a356891906e012f8176a9a8e08d3a1 --- /dev/null +++ b/src/main/java/org/olat/modules/coach/model/EfficiencyStatementStatEntry.hbm.xml @@ -0,0 +1,73 @@ +<?xml version="1.0"?> +<!DOCTYPE hibernate-mapping PUBLIC + "-//Hibernate/Hibernate Mapping DTD//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> +<hibernate-mapping default-lazy="false"> + + <class name="org.olat.modules.coach.model.EfficiencyStatementGroupStatEntry" table="o_as_eff_statement_groups_v" mutable="false"> + <composite-id> + <key-property name="statementKey" column="st_id" type="long" /> + <key-property name="repoKey" column="re_id" type="long" /> + <key-property name="groupKey" column="bg_id" type="long" /> + <key-property name="tutorKey" column="tutor_id" type="long" /> + <key-property name="studentKey" column="student_id" type="long" /> + </composite-id> + + <property name="repoDisplayName" column="re_name" type="string" /> + <property name="repoResourceId" column="re_resource_id" type="long" /> + + <property name="groupName" column="bg_name" type="string" /> + + <property name="tutorName" column="tutor_name" type="string" /> + <property name="studentName" column="student_name" type="string" /> + + <property name="score" column="st_score" type="float" /> + <property name="passed" column="st_passed" type="int" /> + <property name="failed" column="st_failed" type="int" /> + <property name="notAttempted" column="st_not_attempted" type="int" /> + + <property name="initialLaunchKey" column="pg_id" type="long" /> + </class> + + <class name="org.olat.modules.coach.model.EfficiencyStatementGroupGroupedStatEntry" table="o_as_eff_statement_grouped_v" mutable="false"> + <composite-id> + <key-property name="statementKey" column="st_id" type="long" /> + <key-property name="repoKey" column="re_id" type="long" /> + <key-property name="tutorKey" column="tutor_id" type="long" /> + <key-property name="studentKey" column="student_id" type="long" /> + </composite-id> + + <property name="repoDisplayName" column="re_name" type="string" /> + <property name="repoResourceId" column="re_resource_id" type="long" /> + + <property name="tutorName" column="tutor_name" type="string" /> + <property name="studentName" column="student_name" type="string" /> + + <property name="score" column="st_score" type="float" /> + <property name="passed" column="st_passed" type="int" /> + <property name="failed" column="st_failed" type="int" /> + <property name="notAttempted" column="st_not_attempted" type="int" /> + + <property name="initialLaunchKey" column="pg_id" type="long" /> + </class> + + <class name="org.olat.modules.coach.model.EfficiencyStatementMemberStatEntry" table="o_as_eff_statement_members_v" mutable="false"> + <composite-id> + <key-property name="statementKey" column="st_id" type="long" /> + <key-property name="repoKey" column="re_id" type="long" /> + <key-property name="tutorKey" column="tutor_id" type="long" /> + <key-property name="studentKey" column="student_id" type="long" /> + </composite-id> + + <property name="repoDisplayName" column="re_name" type="string" /> + <property name="repoResourceId" column="re_resource_id" type="long" /> + + <property name="score" column="st_score" type="float" /> + <property name="passed" column="st_passed" type="int" /> + <property name="failed" column="st_failed" type="int" /> + <property name="notAttempted" column="st_not_attempted" type="int" /> + + <property name="initialLaunchKey" column="pg_id" type="long" /> + </class> + +</hibernate-mapping> \ No newline at end of file diff --git a/src/main/java/org/olat/modules/coach/model/GroupStatEntry.java b/src/main/java/org/olat/modules/coach/model/GroupStatEntry.java new file mode 100644 index 0000000000000000000000000000000000000000..c2ef33018c7017103ef1ecec8383b6c6cddb588e --- /dev/null +++ b/src/main/java/org/olat/modules/coach/model/GroupStatEntry.java @@ -0,0 +1,119 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.coach.model; + +/** + * + * Dummy bean to transport statistic values about group + * + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +public class GroupStatEntry { + // s.repoKey, + private Long groupKey; + private String groupName; + private int countCourses; + private int countStudents; + private int countPassed; + private int countFailed; + private int countNotAttempted; + private Float averageScore; + private int initialLaunch; + + public Long getGroupKey() { + return groupKey; + } + + public void setGroupKey(Long groupKey) { + this.groupKey = groupKey; + } + + public String getGroupName() { + return groupName; + } + + public void setGroupName(String groupName) { + this.groupName = groupName; + } + + public int getCountCourses() { + return countCourses; + } + + public void setCountCourses(int countCourses) { + this.countCourses = countCourses; + } + + public int getCountStudents() { + return countStudents; + } + + public void setCountStudents(int countStudents) { + this.countStudents = countStudents; + } + + public int getCountDistinctStudents() { + return countStudents; + } + + public void setCountDistinctStudents(int countStudents) { + this.countStudents = countStudents; + } + + public int getCountPassed() { + return countPassed; + } + + public void setCountPassed(int countPassed) { + this.countPassed = countPassed; + } + + public int getCountFailed() { + return countFailed; + } + + public void setCountFailed(int countFailed) { + this.countFailed = countFailed; + } + + public int getCountNotAttempted() { + return countNotAttempted; + } + + public void setCountNotAttempted(int countNotAttempted) { + this.countNotAttempted = countNotAttempted; + } + + public Float getAverageScore() { + return averageScore; + } + + public void setAverageScore(Float averageScore) { + this.averageScore = averageScore; + } + + public int getInitialLaunch() { + return initialLaunch; + } + + public void setInitialLaunch(int initialLaunch) { + this.initialLaunch = initialLaunch; + } +} diff --git a/src/main/java/org/olat/modules/coach/model/StudentStatEntry.java b/src/main/java/org/olat/modules/coach/model/StudentStatEntry.java new file mode 100644 index 0000000000000000000000000000000000000000..852cfa93a66a239be52fe630dc92f8eafe966151 --- /dev/null +++ b/src/main/java/org/olat/modules/coach/model/StudentStatEntry.java @@ -0,0 +1,98 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.coach.model; + + +/** + * + * Dummy bean to transport statistic values about student + * + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +public class StudentStatEntry { + + private Long studentKey; + private int countRepo; + private int countPassed; + private int countFailed; + private int countNotAttempted; + private int initialLaunch; + + + public StudentStatEntry() { + // + } + + public Long getStudentKey() { + return studentKey; + } + + public void setStudentKey(Long studentKey) { + this.studentKey = studentKey; + } + + public int getCountRepo() { + return countRepo; + } + + public void setCountRepo(int countRepo) { + this.countRepo = countRepo; + } + + public int getCountPassed() { + return countPassed; + } + + public void setCountPassed(int countPassed) { + this.countPassed = countPassed; + } + + public int getCountFailed() { + return countFailed; + } + + public void setCountFailed(int countFailed) { + this.countFailed = countFailed; + } + + public int getCountNotAttempted() { + return countNotAttempted; + } + + public void setCountNotAttempted(int countNotAttempted) { + this.countNotAttempted = countNotAttempted; + } + + public int getInitialLaunch() { + return initialLaunch; + } + + public void setInitialLaunch(int initialLaunch) { + this.initialLaunch = initialLaunch; + } + + public void add(StudentStatEntry entry) { + countRepo += entry.getCountRepo(); + countPassed += entry.getCountPassed(); + countFailed += entry.getCountFailed(); + countNotAttempted += entry.getCountNotAttempted(); + initialLaunch += entry.getInitialLaunch(); + } +} diff --git a/src/main/java/org/olat/modules/coach/ui/ProgressValue.java b/src/main/java/org/olat/modules/coach/ui/ProgressValue.java new file mode 100644 index 0000000000000000000000000000000000000000..4852904626d0a08ce0af21720fe25fe36b49b6c6 --- /dev/null +++ b/src/main/java/org/olat/modules/coach/ui/ProgressValue.java @@ -0,0 +1,76 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.coach.ui; + +/** + * + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +public class ProgressValue implements Comparable<ProgressValue> { + + private int total; + private int green; + private int red; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public int getGreen() { + return green; + } + + public int getGreenPerCent() { + int green = Math.round(100.0f * ((float)getGreen() / (float)getTotal())); + return green; + } + + public void setGreen(int green) { + this.green = green; + } + + public int getRed() { + return red; + } + + public void setRed(int red) { + this.red = red; + } + + @Override + public int compareTo(ProgressValue o) { + double c1 = calcPercent(); + double c2 = o.calcPercent(); + return c1<c2 ? -1 : (c1==c2 ? 0 : 1); + } + + private final double calcPercent() { + return total <= 0 ? 0 : (double)green / (double)total; + } + + @Override + public String toString() { + return "ProgressValue[total=" + total + ":green=" + green + "]"; + } +} diff --git a/src/main/java/org/olat/notifications/PersonalRSSFeed.java b/src/main/java/org/olat/notifications/PersonalRSSFeed.java index f0c154c53bcf6fb2980254bfbe4c5f7353200846..5000b50569006adea99f849f9c4b0a780328e4e2 100644 --- a/src/main/java/org/olat/notifications/PersonalRSSFeed.java +++ b/src/main/java/org/olat/notifications/PersonalRSSFeed.java @@ -24,8 +24,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Locale; -import org.olat.bookmark.Bookmark; -import org.olat.bookmark.BookmarkManager; import org.olat.commons.rss.RSSUtil; import org.olat.commons.servlets.RSSServlet; import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; @@ -76,7 +74,7 @@ public class PersonalRSSFeed extends SyndFeedImpl { Locale locale = I18nManager.getInstance().getLocaleOrDefault(user.getPreferences().getLanguage()); Translator translator = Util.createPackageTranslator(PersonalRSSFeed.class, locale); NotificationsManager man = NotificationsManager.getInstance(); - List<Bookmark> bookmarks = BookmarkManager.getInstance().findBookmarksByIdentity(identity); + //TODO bookmark List<Bookmark> bookmarks = BookmarkManager.getInstance().findBookmarksByIdentity(identity); setTitle(translator.translate("rss.title", new String[] { identity.getName() })); setLink(RSSUtil.URI_SERVER); @@ -99,7 +97,8 @@ public class PersonalRSSFeed extends SyndFeedImpl { entry.setDescription(description); entries.add(entry); - // bookmark news + //TODO bookmark bookmark news + /* for (Bookmark bookmark : bookmarks) { SyndEntry item = new SyndEntryImpl(); item.setTitle(translator.translate("rss.bookmark.title", new String[] { bookmark.getTitle() })); @@ -111,7 +110,7 @@ public class PersonalRSSFeed extends SyndFeedImpl { itemDescription.setValue(bookmark.getDescription()); item.setDescription(itemDescription); entries.add(item); - } + }*/ // notification news // we are only interested in subscribers which listen to a valid publisher diff --git a/src/main/java/org/olat/repository/RepoBookmarkHandler.java b/src/main/java/org/olat/repository/RepoBookmarkHandler.java deleted file mode 100644 index b7140072783945605ed759629710e65e278fd5a7..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/repository/RepoBookmarkHandler.java +++ /dev/null @@ -1,83 +0,0 @@ -/** - * <a href="http://www.openolat.org"> - * OpenOLAT - Online Learning and Training</a><br> - * <p> - * Licensed under the Apache License, Version 2.0 (the "License"); <br> - * you may not use this file except in compliance with the License.<br> - * You may obtain a copy of the License at the - * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> - * <p> - * Unless required by applicable law or agreed to in writing,<br> - * software distributed under the License is distributed on an "AS IS" BASIS, <br> - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> - * See the License for the specific language governing permissions and <br> - * limitations under the License. - * <p> - * Initial code contributed and copyrighted by<br> - * frentix GmbH, http://www.frentix.com - * <p> - */ -package org.olat.repository; - -import java.util.Collections; - -import org.olat.NewControllerFactory; -import org.olat.bookmark.Bookmark; -import org.olat.bookmark.BookmarkHandler; -import org.olat.bookmark.BookmarkManager; -import org.olat.core.gui.UserRequest; -import org.olat.core.gui.control.WindowControl; -import org.olat.core.id.OLATResourceable; -import org.olat.core.id.context.BusinessControlFactory; -import org.olat.core.id.context.ContextEntry; - -/** - * Description:<br> - * Bookmark launch handler for repository entry bookmarks. Creates or activates - * a dynamic tab and loads the olat resource from the repository entry into the - * tab - * - * <P> - * Initial Date: 27.05.2008 <br> - * - * @author gnaegi - */ -public class RepoBookmarkHandler implements BookmarkHandler { - - /** - * @see org.olat.bookmark.handler.BookmarkLaunchHandler#tryToLaunch(org.olat.bookmark.Bookmark, org.olat.core.gui.UserRequest, org.olat.core.gui.control.WindowControl) - */ - public boolean tryToLaunch(Bookmark bookmark, UserRequest ureq, WindowControl wControl) { - OLATResourceable reores = BookmarkManager.getInstance().getLaunchOlatResourceable(bookmark); - RepositoryManager rm = RepositoryManager.getInstance(); - - RepositoryEntry re = rm.lookupRepositoryEntry(reores.getResourceableId()); - if (re == null) { - // we can't launch this bookmark, exit with false - return false; - } - // ok, this bookmark represents a repo entry, try to launch - - String businessPath = "[RepositoryEntry:" + re.getKey() + "]"; - NewControllerFactory.getInstance().launch(businessPath, ureq, wControl); - return true; - } - - /** - * @see org.olat.bookmark.handler.BookmarkHandler#createJumpInURL(org.olat.bookmark.Bookmark) - */ - public String createJumpInURL(Bookmark bookmark) { - OLATResourceable reores = BookmarkManager.getInstance().getLaunchOlatResourceable(bookmark); - RepositoryManager rm = RepositoryManager.getInstance(); - - RepositoryEntry re = rm.lookupRepositoryEntry(reores.getResourceableId()); - // only create jump in urls for bookmarks of type repo entry - if (re != null) { - ContextEntry ce = BusinessControlFactory.getInstance().createContextEntry(reores); - String url = BusinessControlFactory.getInstance().getAsURIString(Collections.singletonList(ce), false); - return url; - } - return null; - } - -} diff --git a/src/main/java/org/olat/repository/RepositoryManager.java b/src/main/java/org/olat/repository/RepositoryManager.java index 9e1fbf361447586ea03ce024e4e386fdd5bb213f..7e87c484d4c85f884c7c4075d9fc0cd9b2e28d93 100644 --- a/src/main/java/org/olat/repository/RepositoryManager.java +++ b/src/main/java/org/olat/repository/RepositoryManager.java @@ -44,7 +44,6 @@ import org.olat.basesecurity.Constants; import org.olat.basesecurity.PolicyImpl; import org.olat.basesecurity.SecurityGroup; import org.olat.basesecurity.SecurityGroupMembershipImpl; -import org.olat.bookmark.BookmarkManager; import org.olat.catalog.CatalogManager; import org.olat.commons.lifecycle.LifeCycleManager; import org.olat.core.CoreSpringFactory; @@ -390,7 +389,7 @@ public class RepositoryManager extends BasicManager { userCourseInformationsManager.deleteUserCourseInformations(entry); // delete all bookmarks referencing deleted entry - BookmarkManager.getInstance().deleteAllBookmarksFor(entry); + //TODO bookmark BookmarkManager.getInstance().deleteAllBookmarksFor(entry); // delete all catalog entries referencing deleted entry CatalogManager.getInstance().resourceableDeleted(entry); @@ -1966,6 +1965,22 @@ public class RepositoryManager extends BasicManager { return entries; } + public List<RepositoryEntryMembership> getOwnersMembership(List<RepositoryEntry> res) { + if(res== null || res.isEmpty()) return Collections.emptyList(); + + StringBuilder sb = new StringBuilder(400); + sb.append("select distinct membership from ").append(RepositoryEntryMembership.class.getName()).append(" membership ") + .append(" where ownerRepoKey in (:repoKey)"); + + List<Long> repoKeys = PersistenceHelper.toKeys(res); + TypedQuery<RepositoryEntryMembership> query = dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), RepositoryEntryMembership.class) + .setParameter("repoKey", repoKeys); + + List<RepositoryEntryMembership> entries = query.getResultList(); + return entries; + } + public void updateRepositoryEntryMembership(Identity ureqIdentity, Roles ureqRoles, RepositoryEntry re, List<RepositoryEntryPermissionChangeEvent> changes, MailPackage mailing) { for(RepositoryEntryPermissionChangeEvent e:changes) { diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties index 7400c07ef8f76b9e2892c90d3f4983764bc0157e..5eeec53d97f3391f384cd7c7dea3ebbf74f96f9c 100644 --- a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties @@ -9,7 +9,7 @@ chelp.rep8=Die Lernressourcen k\u00F6nnen vom folgenden Typ sein: $\:CourseModul - +allcourses=Alle Kurse @@ -325,6 +325,9 @@ new.portfolio=Portfoliovorlage new.portfolio.intro=Neue Portfoliovorlage erstellen new.blog=Blog erstellen new.blog.intro=Neuen Blog erstellen + +passed.true=$org.olat.course.assessment\:passed.true +passed.false=$org.olat.course.assessment\:passed.false properties.for=Einstellungen - {0} referencableSearch.cmd.allEntries=Alle Eintr\u00E4ge referencableSearch.cmd.myEntries=Meine Eintr\u00E4ge diff --git a/src/main/java/org/olat/repository/controllers/RepositoryDetailsController.java b/src/main/java/org/olat/repository/controllers/RepositoryDetailsController.java index 415a7ee7859f0e5e1513fc7f451e56c75be0836c..56f42b2a3f96ac8f16801bda295b5753221dca83 100644 --- a/src/main/java/org/olat/repository/controllers/RepositoryDetailsController.java +++ b/src/main/java/org/olat/repository/controllers/RepositoryDetailsController.java @@ -37,13 +37,12 @@ import org.olat.basesecurity.BaseSecurity; import org.olat.basesecurity.BaseSecurityManager; import org.olat.basesecurity.Constants; import org.olat.basesecurity.IdentityShort; -import org.olat.bookmark.AddAndEditBookmarkController; -import org.olat.bookmark.BookmarkManager; import org.olat.catalog.ui.CatalogAjaxAddController; import org.olat.catalog.ui.CatalogEntryAddController; import org.olat.catalog.ui.RepoEntryCategoriesTableController; import org.olat.core.CoreSpringFactory; import org.olat.core.commons.persistence.DBFactory; +import org.olat.core.commons.services.mark.MarkManager; import org.olat.core.dispatcher.DispatcherAction; import org.olat.core.gui.UserRequest; import org.olat.core.gui.Windows; @@ -149,8 +148,7 @@ public class RepositoryDetailsController extends BasicController implements Gene private GroupController groupController; private RepositoryMembersController membersEditController; private OrdersAdminController ordersController; - private AddAndEditBookmarkController bookmarkController; - private ToolController detailsToolC = null; + private ToolController detailsToolC; private RepositoryCopyController copyController; private RepositoryEditPropertiesController repositoryEditPropertiesController; private RepositoryEditDescriptionController repositoryEditDescriptionController; @@ -184,6 +182,7 @@ public class RepositoryDetailsController extends BasicController implements Gene private final BaseSecurity securityManager; private final UserManager userManager; + private final MarkManager markManager; /** * Controller displaying details of a given repository entry. @@ -198,6 +197,7 @@ public class RepositoryDetailsController extends BasicController implements Gene setBasePackage(RepositoryManager.class); securityManager = CoreSpringFactory.getImpl(BaseSecurity.class); userManager = CoreSpringFactory.getImpl(UserManager.class); + markManager = CoreSpringFactory.getImpl(MarkManager.class); if (log.isDebug()){ log.debug("Constructing ReposityMainController using velocity root " + velocity_root); } @@ -456,7 +456,10 @@ public class RepositoryDetailsController extends BasicController implements Gene //mark as download link detailsToolC.addLink(ACTION_DOWNLOAD, translate("details.download"), TOOL_DOWNLOAD, null, true); detailsToolC.addLink(ACTION_DOWNLOAD_BACKWARD_COMPAT, translate("details.download.compatible"), TOOL_DOWNLOAD_BACKWARD_COMPAT, null, true); - detailsToolC.addLink(ACTION_BOOKMARK, translate("details.bookmark"), TOOL_BOOKMARK, null); + //bookmark + boolean marked = markManager.isMarked(repositoryEntry, getIdentity(), null); + String css = marked ? "b_mark_set" : "b_mark_not_set"; + detailsToolC.addLink(ACTION_BOOKMARK, translate("details.bookmark"), TOOL_BOOKMARK, css); } boolean canDownload = repositoryEntry.getCanDownload() && handler.supportsDownload(repositoryEntry); // disable download for courses if not author or owner @@ -469,10 +472,7 @@ public class RepositoryDetailsController extends BasicController implements Gene detailsToolC.setEnabled(TOOL_DOWNLOAD, canDownload && !corrupted); detailsToolC.setEnabled(TOOL_DOWNLOAD_BACKWARD_COMPAT, canDownload && !corrupted && "CourseModule".equals(repositoryEntry.getOlatResource().getResourceableTypeName())); - boolean canBookmark = true; - if (BookmarkManager.getInstance().isResourceableBookmarked(ureq.getIdentity(), repositoryEntry) || !repositoryEntry.getCanLaunch()) - canBookmark = false; - detailsToolC.setEnabled(TOOL_BOOKMARK, canBookmark && !corrupted); + detailsToolC.setEnabled(TOOL_BOOKMARK, !corrupted); } //fxdiff VCRP-1 : moved some things around here to split large toolbox into smaller pieces if (isNewController) @@ -715,16 +715,6 @@ public class RepositoryDetailsController extends BasicController implements Gene } return; } - - private void doAddBookmark(Controller contentController) { - removeAsListenerAndDispose(closeableModalController); - closeableModalController = new CloseableModalController(getWindowControl(), translate("close"), - contentController.getInitialComponent()); - listenTo(closeableModalController); - - closeableModalController.activate(); - return; - } /** * Also used by RepositoryMainController @@ -905,13 +895,15 @@ public class RepositoryDetailsController extends BasicController implements Gene doCloseDetailView(ureq); return; } else if (cmd.equals(ACTION_BOOKMARK)) { - removeAsListenerAndDispose(bookmarkController); - bookmarkController = new AddAndEditBookmarkController(ureq, getWindowControl(), repositoryEntry.getDisplayname(), "", - repositoryEntry, repositoryEntry.getOlatResource().getResourceableTypeName()); - listenTo(bookmarkController); - - doAddBookmark(bookmarkController); - return; + boolean marked = markManager.isMarked(repositoryEntry, getIdentity(), null); + if(marked) { + markManager.deleteMark(repositoryEntry, null); + } else { + String businessPath = "[RepositoryEntry:" + repositoryEntry.getKey() + "]"; + markManager.setMark(repositoryEntry, getIdentity(), null, businessPath); + } + String css = marked ? "b_mark_not_set" : "b_mark_set"; + detailsToolC.setCssClass(TOOL_BOOKMARK, css); } else if (cmd.equals(ACTION_COPY)) { // copy if (!isAuthor) throw new OLATSecurityException("Trying to copy, but user is not author: user = " + ureq.getIdentity()); doCopy(ureq); @@ -951,13 +943,6 @@ public class RepositoryDetailsController extends BasicController implements Gene updateView(ureq); fireEvent(ureq, Event.CHANGED_EVENT); } - } else if (source == bookmarkController) { - closeableModalController.deactivate(); - if (event.equals(Event.DONE_EVENT)) { // bookmark added... remove tool - if (detailsToolC != null) { - detailsToolC.setEnabled(TOOL_BOOKMARK, false); - } - } } else if (source == copyController) { RepositoryHandlerFactory.getInstance().getRepositoryHandler(repositoryEntry).releaseLock(lockResult); lockResult = null; diff --git a/src/main/java/org/olat/repository/controllers/RepositoryEntryMarkCellRenderer.java b/src/main/java/org/olat/repository/controllers/RepositoryEntryMarkCellRenderer.java new file mode 100644 index 0000000000000000000000000000000000000000..a251ea42ab6d22da7e7398cd1feea3cda36a2f64 --- /dev/null +++ b/src/main/java/org/olat/repository/controllers/RepositoryEntryMarkCellRenderer.java @@ -0,0 +1,75 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.repository.controllers; + +import java.util.Locale; +import java.util.UUID; + +import org.olat.core.gui.components.link.Link; +import org.olat.core.gui.components.link.LinkFactory; +import org.olat.core.gui.components.table.CustomCellRenderer; +import org.olat.core.gui.components.velocity.VelocityContainer; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.render.RenderResult; +import org.olat.core.gui.render.Renderer; +import org.olat.core.gui.render.StringOutput; +import org.olat.core.gui.render.URLBuilder; +import org.olat.core.gui.translator.Translator; +import org.olat.repository.RepositoryEntry; + +/** + * + * Render to mark a group + * + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +public class RepositoryEntryMarkCellRenderer implements CustomCellRenderer { + + private final Translator translator; + private final VelocityContainer container; + private final Controller listeningController; + + public RepositoryEntryMarkCellRenderer(Controller listeningController, VelocityContainer container, Translator translator) { + this.listeningController = listeningController; + this.container = container; + this.translator = translator; + } + + @Override + public void render(StringOutput sb, Renderer renderer, Object val, Locale locale, int alignment, String action) { + if(val instanceof RepositoryEntry && renderer != null) { + RepositoryEntry item = (RepositoryEntry)val; + sb.append("<div class='b_mark'>"); + + Link link = LinkFactory.createLink("marked_" + UUID.randomUUID().toString(), container, listeningController); + link.setCustomDisplayText("   "); + if(false /*item.isMarked()*/) { + link.setCustomEnabledLinkCSS("b_mark_set"); + } else { + link.setCustomEnabledLinkCSS("b_mark_not_set"); + } + link.setUserObject(item); + URLBuilder ubu = renderer.getUrlBuilder().createCopyFor(link); + RenderResult renderResult = new RenderResult(); + link.getHTMLRendererSingleton().render(renderer, sb, link, ubu, translator, renderResult, null); + sb.append("</div>"); + } + } +} diff --git a/src/main/java/org/olat/repository/ui/AbstractRepositoryEntryListController.java b/src/main/java/org/olat/repository/ui/AbstractRepositoryEntryListController.java new file mode 100644 index 0000000000000000000000000000000000000000..33b97056546947daf7e53319ec82c236bdb82a9f --- /dev/null +++ b/src/main/java/org/olat/repository/ui/AbstractRepositoryEntryListController.java @@ -0,0 +1,268 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.repository.ui; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.olat.NewControllerFactory; +import org.olat.basesecurity.BaseSecurityManager; +import org.olat.basesecurity.IdentityShort; +import org.olat.basesecurity.SecurityGroup; +import org.olat.core.CoreSpringFactory; +import org.olat.core.commons.services.mark.Mark; +import org.olat.core.commons.services.mark.MarkManager; +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.link.Link; +import org.olat.core.gui.components.link.LinkFactory; +import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.velocity.VelocityContainer; +import org.olat.core.gui.control.Event; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.controller.BasicController; +import org.olat.core.util.StringHelper; +import org.olat.core.util.Util; +import org.olat.core.util.vfs.VFSLeaf; +import org.olat.course.assessment.AssessmentHelper; +import org.olat.course.assessment.UserCourseInformations; +import org.olat.course.assessment.UserEfficiencyStatement; +import org.olat.course.assessment.manager.UserCourseInformationsManager; +import org.olat.modules.coach.manager.CoachingService; +import org.olat.modules.coach.model.EfficiencyStatementEntry; +import org.olat.modules.coach.ui.ProgressValue; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryManager; +import org.olat.repository.SearchRepositoryEntryParameters; +import org.olat.repository.model.RepositoryEntryMembership; +import org.olat.resource.OLATResource; +import org.olat.user.UserManager; + +/** + * + * Initial date: 20.11.2012<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +public class AbstractRepositoryEntryListController extends BasicController { + + private final Panel mainPanel; + private final VelocityContainer wideVC; + private final VelocityContainer condensedVC; + + private Link allCoursesLink; + + private final MarkManager markManager; + private final UserManager userManager; + private final CoachingService coachService; + private final BaseSecurityManager securityManager; + private final RepositoryManager repositoryManager; + private final UserCourseInformationsManager courseInfoManager; + + private SearchRepositoryEntryParameters currentParams; + + private Map<Long,String> namesCache = new HashMap<Long,String>(); + + public AbstractRepositoryEntryListController(UserRequest ureq, WindowControl wControl) { + super(ureq, wControl); + setTranslator(Util.createPackageTranslator(RepositoryManager.class, getLocale(), getTranslator())); + + markManager = CoreSpringFactory.getImpl(MarkManager.class); + userManager = CoreSpringFactory.getImpl(UserManager.class); + coachService = CoreSpringFactory.getImpl(CoachingService.class); + securityManager = CoreSpringFactory.getImpl(BaseSecurityManager.class); + repositoryManager = CoreSpringFactory.getImpl(RepositoryManager.class); + courseInfoManager = CoreSpringFactory.getImpl(UserCourseInformationsManager.class); + + String mapperThumbnailUrl = registerCacheableMapper(ureq, "repositoryentryImage", new RepositoryEntryImageMapper()); + + String velocityRoot = Util.getPackageVelocityRoot(AbstractRepositoryEntryListController.class); + wideVC = new VelocityContainer("vc_list_wide", velocityRoot + "/list_1.html", getTranslator(), this); + wideVC.contextPut("thumbnails", Boolean.TRUE); + wideVC.contextPut("mapperURL", mapperThumbnailUrl); + condensedVC = new VelocityContainer("vc_list_condensed", velocityRoot + "/list_3.html", getTranslator(), this); + condensedVC.contextPut("thumbnails", Boolean.TRUE); + condensedVC.contextPut("mapperURL", mapperThumbnailUrl); + + allCoursesLink = LinkFactory.createButton("allcourses", wideVC, this); + condensedVC.put("allcourses", allCoursesLink); + + mainPanel = putInitialPanel(condensedVC); + } + + @Override + protected void doDispose() { + // + } + + @Override + protected void event(UserRequest ureq, Component source, Event event) { + if(source == allCoursesLink) { + doSwitch(); + } else if (source instanceof Link) { + Link link = (Link)source; + if("select".equals(link.getCommand())) { + String businessPath = "[RepositoryEntry:" + link.getUserObject() + "]"; + NewControllerFactory.getInstance().launch(businessPath, ureq, getWindowControl()); + } + } + } + + protected void doSwitch() { + boolean wide = mainPanel.getContent() == wideVC; + if(wide) { + updateModel(currentParams, false); + mainPanel.setContent(condensedVC); + } else { + updateModel(currentParams, true); + mainPanel.setContent(wideVC); + } + } + + protected void updateModel(SearchRepositoryEntryParameters params, boolean wide) { + currentParams = params; + + int max = wide ? -1 : 9; + List<RepositoryEntry> repoEntries = repositoryManager.genericANDQueryWithRolesRestriction(params, 0, max, true); + //List<OLATResourceAccess> withOffers = acService.filterRepositoryEntriesWithAC(repoEntries); + //System.out.println("Offers: " + withOffers.size()); + + List<OLATResource> resources = new ArrayList<OLATResource>(repoEntries.size()); + List<SecurityGroup> authorsSecGroup = new ArrayList<SecurityGroup>(repoEntries.size()); + for(RepositoryEntry entry:repoEntries) { + resources.add(entry.getOlatResource()); + authorsSecGroup.add(entry.getOwnerGroup()); + } + + List<UserCourseInformations> courseInfos = courseInfoManager.getUserCourseInformations(getIdentity(), resources); + List<RepositoryEntryMembership> authors = repositoryManager.getOwnersMembership(repoEntries); + + List<Long> identityTofinds = new ArrayList<Long>(); + for(RepositoryEntryMembership author:authors) { + Long authorKey = author.getIdentityKey(); + if(!namesCache.containsKey(authorKey)) { + identityTofinds.add(authorKey); + } + } + + if(!identityTofinds.isEmpty()) { + List<IdentityShort> identities = securityManager.findShortIdentitiesByKey(identityTofinds); + for(IdentityShort identity:identities) { + namesCache.put(identity.getKey(), userManager.getUserDisplayName(identity)); + } + } + + List<Mark> marks = markManager.getMarks(getIdentity(), Collections.singletonList("RepositoryEntry")); + Set<Long> repoEntryKeys = new HashSet<Long>(marks.size()); + for(Mark mark:marks) { + repoEntryKeys.add(mark.getOLATResourceable().getResourceableId()); + } + + List<EfficiencyStatementEntry> statements = coachService.getEfficencyStatements(getIdentity(), repoEntries); + + VelocityContainer mainVC = wide ? wideVC : condensedVC; + + List<RepositoryEntryDetails> items = new ArrayList<RepositoryEntryDetails>(); + for(RepositoryEntry entry:repoEntries) { + RepositoryEntryDetails details = new RepositoryEntryDetails(); + details.setKey(entry.getKey()); + details.setDisplayName(entry.getDisplayname()); + + String cmpId = "sel_" + entry.getKey(); + Link link = LinkFactory.createCustomLink(cmpId, "select", cmpId, Link.LINK + Link.NONTRANSLATED, mainVC, this); + link.setCustomDisplayText(details.getDisplayName()); + link.setUserObject(entry.getKey()); + details.setSelectLinkName(cmpId); + + VFSLeaf image = repositoryManager.getImage(entry); + if(image != null) { + details.setThumbnailAvailable(true); + details.setThumbnailRelPath(image.getName()); + } + + StringBuilder sb = new StringBuilder(); + for(RepositoryEntryMembership membership:authors) { + if(entry.getKey().equals(membership.getOwnerRepoKey())) { + String authorName = namesCache.get(membership.getIdentityKey()); + if(StringHelper.containsNonWhitespace(authorName)) { + if(sb.length() > 0) { + sb.append("; "); + } + sb.append(authorName); + } + } + } + if(sb.length() > 0) { + details.setAuthor(sb.toString()); + } + + for(UserCourseInformations courseInfo:courseInfos) { + if(courseInfo.getResource().equals(entry.getOlatResource())) { + details.setInitialLaunch(courseInfo.getInitialLaunch()); + details.setRecentLaunch(courseInfo.getRecentLaunch()); + details.setVisit(courseInfo.getVisit()); + details.setTimeSpend(courseInfo.getTimeSpend()); + } + } + + for(EfficiencyStatementEntry statement:statements) { + if(statement.getUserEfficencyStatement() != null && statement.getCourse().equals(entry)) { + UserEfficiencyStatement userStatement = statement.getUserEfficencyStatement(); + details.setProgress(getProgress(userStatement)); + details.setPassed(userStatement.getPassed()); + details.setScore(AssessmentHelper.getRoundedScore(userStatement.getScore())); + } + } + + items.add(details); + } + + if(wide) { + wideVC.contextPut("items", items); + condensedVC.contextPut("items", Collections.emptyList()); + } else { + wideVC.contextPut("items", Collections.emptyList()); + condensedVC.contextPut("items", items); + } + } + + private ProgressValue getProgress(UserEfficiencyStatement s) { + if(s == null || s.getTotalNodes() == null) { + ProgressValue val = new ProgressValue(); + val.setTotal(100); + val.setGreen(0); + return val; + } + + ProgressValue val = new ProgressValue(); + val.setTotal(s.getTotalNodes().intValue()); + val.setGreen(s.getAttemptedNodes() == null ? 0 : s.getAttemptedNodes().intValue()); + return val; + } + + + + + +} diff --git a/src/main/java/org/olat/repository/ui/RepositoryEntryDetails.java b/src/main/java/org/olat/repository/ui/RepositoryEntryDetails.java new file mode 100644 index 0000000000000000000000000000000000000000..ae39f755ce6166cb61722a6ec26a5ec7f9c7fafd --- /dev/null +++ b/src/main/java/org/olat/repository/ui/RepositoryEntryDetails.java @@ -0,0 +1,194 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.repository.ui; + +import java.util.Date; + +import org.olat.core.id.context.BusinessControlFactory; +import org.olat.modules.coach.ui.ProgressValue; + +/** + * Used in the view elements + * + * + * Initial date: 20.11.2012<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +public class RepositoryEntryDetails { + + private boolean marked; + private boolean selected; + private boolean thumbnail; + + private Long key; + private String name; + private String author; + private String thumbnailRelPath; + + private String score; + private Boolean passed; + private ProgressValue progress; + + public int visit; + public long timeSpend; + public Date initialLaunch; + public Date recentLaunch; + + private String selectLinkName; + + public RepositoryEntryDetails() { + // + } + + public String getCssClass() { + return "o_CourseModule_icon"; + } + + public Long getKey() { + return key; + } + + public void setKey(Long key) { + this.key = key; + } + + public String getDisplayName() { + return name; + } + + public void setDisplayName(String name) { + this.name = name; + } + + public String getSelectLinkName() { + return selectLinkName; + } + + public void setSelectLinkName(String name) { + selectLinkName = name; + } + + public String getBusinessPath() { + + String url = BusinessControlFactory.getInstance().getRelativeURLFromBusinessPathString("[RepositoryEntry:" + key + "]"); + + return url; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public String getThumbnailRelPath() { + return thumbnailRelPath; + } + + public void setThumbnailRelPath(String path) { + this.thumbnailRelPath = path; + } + + public boolean isThumbnailAvailable() { + return thumbnail; + } + + public void setThumbnailAvailable(boolean thumbnail) { + this.thumbnail = thumbnail; + } + + public boolean isMarked() { + return marked; + } + + public void setMarked(boolean marked) { + this.marked = marked; + } + + public boolean isSelected() { + return selected; + } + + public void setSelected(boolean selected) { + this.selected = selected; + } + + public String getScore() { + return score; + } + + public void setScore(String score) { + this.score = score; + } + + public boolean isPassed() { + return passed != null && passed.booleanValue(); + } + + public void setPassed(Boolean passed) { + this.passed = passed; + } + + public boolean isFailed() { + return passed != null && !passed.booleanValue(); + } + + public ProgressValue getProgress() { + return progress; + } + + public void setProgress(ProgressValue progress) { + this.progress = progress; + } + + public int getVisit() { + return visit; + } + + public void setVisit(int visit) { + this.visit = visit; + } + + public long getTimeSpend() { + return timeSpend; + } + + public void setTimeSpend(long timeSpend) { + this.timeSpend = timeSpend; + } + + public Date getInitialLaunch() { + return initialLaunch; + } + + public void setInitialLaunch(Date initialLaunch) { + this.initialLaunch = initialLaunch; + } + + public Date getRecentLaunch() { + return recentLaunch; + } + + public void setRecentLaunch(Date recentLaunch) { + this.recentLaunch = recentLaunch; + } +} diff --git a/src/main/java/org/olat/repository/ui/RepositoryEntryImageMapper.java b/src/main/java/org/olat/repository/ui/RepositoryEntryImageMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..ae68c397e947a164d5533783faebf59d79cbce18 --- /dev/null +++ b/src/main/java/org/olat/repository/ui/RepositoryEntryImageMapper.java @@ -0,0 +1,61 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.repository.ui; + +import java.io.File; + +import javax.servlet.http.HttpServletRequest; + +import org.olat.core.commons.modules.bc.FolderConfig; +import org.olat.core.dispatcher.mapper.Mapper; +import org.olat.core.gui.media.MediaResource; +import org.olat.core.util.vfs.LocalFolderImpl; +import org.olat.core.util.vfs.VFSContainer; +import org.olat.core.util.vfs.VFSItem; +import org.olat.core.util.vfs.VFSLeaf; +import org.olat.core.util.vfs.VFSMediaResource; + +/** + * + * Initial date: 20.11.2012<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class RepositoryEntryImageMapper implements Mapper { + + private VFSContainer rootContainer; + + @Override + public MediaResource handle(String relPath, HttpServletRequest request) { + if(rootContainer == null) { + rootContainer = new LocalFolderImpl(new File(FolderConfig.getCanonicalRepositoryHome())); + } + + if(relPath.startsWith("/")) { + relPath = relPath.substring(1, relPath.length()); + } + + VFSItem image = rootContainer.resolve(relPath); + if(image instanceof VFSLeaf) { + return new VFSMediaResource((VFSLeaf)image); + } + return null; + } +} diff --git a/src/main/java/org/olat/repository/ui/_content/list_1.html b/src/main/java/org/olat/repository/ui/_content/list_1.html new file mode 100644 index 0000000000000000000000000000000000000000..05b32b95ee3cc4ee4ea7d6717b0d22962c0a7622 --- /dev/null +++ b/src/main/java/org/olat/repository/ui/_content/list_1.html @@ -0,0 +1,91 @@ +<div class="b_clearfix"> + $r.render("allcourses") + +</div> + +<div class="f_library_catalog_wide"> +<div class="f_catalog_items"> +#set ($index=0) +#foreach ( $item in $items ) + <div class="f_item #if($item.selected) f_item_selected #end"> + <!-- + <div class="f_item_links b_clearfix"> + <a class="b_with_small_icon_left $item.getCssClass()" href="$item.getBusinessPath()">$item.displayName</a> + <a class="f_permalink b_link_extern" href="$item.getBusinessPath()"> </a> + </div> + --> + <div class="f_metadata b_clearfix"> + #if($thumbnails) + <div class="f_thumbnail"> + #if($info.isThumbnailAvailable()) + <div class="f_thumbnail_inner f_thumbnail_unavailable" style=""> </div> + #else + <div class="f_thumbnail_inner f_thumbnail_available" style="width:280px; height:158px; float:left; background:transparent url('${mapperURL}/${item.getThumbnailRelPath()}') no-repeat 50% 50%;"> </div> + #end + </div> + #end + <div class="f_metadata_text"> + <div class="f_metadata_text_inner"> + <h4>$r.render($item.getSelectLinkName())</h4> + #if($item.author) + $item.author<br/> + #end + + <table> + + <tr> + <th>Visit</th> + <td>$item.visit</td> + </tr> + <tr> + <th>Time spend</th> + <td>$item.timeSpend</td> + </tr> + + <tr> + <th>Passed</th> + <td> + #if($item.passed) + $r.translate("passed.true") + #elseif($item.failed) + $r.translate("passed.false") + #end + </td> + </tr> + <tr> + <th>Score</th> + <td>#if($item.score) $item.score #end</td> + </tr> + #if($item.progress) + <tr> + <th>Progress</th> + <td> + <div class='o_eff_statement_progress' ext:qtip=''> + <div class='o_eff_statement_solved' style='width:${item.progress.greenPerCent}%;'/> </div> + </div> + </td> + </tr> + #end + </table> + + </div> + </div> + <div class="f_metadata_additional_infos"> + <div class="f_metadata_additional_infos_inner"> + #if($item.initialLaunch) + Initial launch date:<br/> + $r.formatDateAndTime($item.initialLaunch)<br/> + #end + #if($item.recentLaunch) + Recent launch date:<br/> + $r.formatDateAndTime($item.recentLaunch) + #end + </div> + </div> + </div> + </div> + #set ($index=$index+1) +#end +</div></div> + +$r.render("allcourses") diff --git a/src/main/java/org/olat/repository/ui/_content/list_3.html b/src/main/java/org/olat/repository/ui/_content/list_3.html new file mode 100644 index 0000000000000000000000000000000000000000..711c962cdc5c7e46e54b51a75a2bcae5f3d7b259 --- /dev/null +++ b/src/main/java/org/olat/repository/ui/_content/list_3.html @@ -0,0 +1,42 @@ +<div class="b_clearfix"> +$r.render("allcourses") +</div> + +<div class="f_library_catalog_condensed b_clearfix"> +<div class="f_catalog_items"> +#foreach ( $item in $items ) + <div class="f_item_condensed #if($item.selected) f_item_selected #end"> + <div class="f_metadata b_clearfix"> + #if($thumbnails) + <div class="f_thumbnail"> + #if($info.isThumbnailAvailable()) + <div class="f_thumbnail_inner f_thumbnail_unavailable" style=""> </div> + #else + <div class="f_thumbnail_inner f_thumbnail_available" style="width:280px; height:158px; background:transparent url('${mapperURL}/${item.getThumbnailRelPath()}') no-repeat 50% 50%;"> </div> + #end + </div> + #end + <div class="f_metadata_text"> + <div class="f_metadata_text_inner"> + <h4>$r.render($item.getSelectLinkName())</h4> + #if($item.author) + $item.author<br/> + #end + #if($item.passed) + $r.translate("passed.true") + #elseif($item.failed) + $r.translate("passed.false") + #end + + #if($item.progress) + <div class='o_eff_statement_progress' ext:qtip=''> + <div class='o_eff_statement_solved' style='width:${item.progress.greenPerCent}%;'/> </div> + </div> + #end + </div> + + </div> + </div> + </div> +#end +</div></div> \ No newline at end of file diff --git a/src/main/java/org/olat/upgrade/OLATUpgrade_8_3_0.java b/src/main/java/org/olat/upgrade/OLATUpgrade_8_3_0.java new file mode 100644 index 0000000000000000000000000000000000000000..7ccffa0956b47c06a6fb7b95a735d468be3739c6 --- /dev/null +++ b/src/main/java/org/olat/upgrade/OLATUpgrade_8_3_0.java @@ -0,0 +1,143 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.upgrade; + +import java.util.List; + +import org.olat.basesecurity.BaseSecurity; +import org.olat.core.commons.persistence.DB; +import org.olat.core.commons.services.mark.MarkManager; +import org.olat.core.id.Identity; +import org.olat.core.id.OLATResourceable; +import org.olat.core.util.resource.OresHelper; +import org.olat.repository.RepositoryManager; +import org.olat.resource.OLATResourceManager; +import org.olat.upgrade.model.BookmarkImpl; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * Description:<br> + * upgrade code for OLAT 7.1.0 -> OLAT 7.1.1 + * - fixing invalid structures being built by synchronisation, see OLAT-6316 and OLAT-6306 + * - merges all yet found data to last valid node + * + * <P> + * Initial Date: 24.03.2011 <br> + * + * @author Roman Haag, roman.haag@frentix.com, www.frentix.com + */ +public class OLATUpgrade_8_3_0 extends OLATUpgrade { + + private static final String TASK_BOOKMARKS = "Upgrade bookmarks"; + private static final int BATCH_SIZE = 20; + private static final String VERSION = "OLAT_8.3.0"; + + @Autowired + private DB dbInstance; + @Autowired + private BaseSecurity securityManager; + @Autowired + private OLATResourceManager resourceManager; + @Autowired + private RepositoryManager repositoryManager; + @Autowired + private MarkManager markManager; + + public OLATUpgrade_8_3_0() { + super(); + } + + @Override + public String getVersion() { + return VERSION; + } + + @Override + public boolean doPreSystemInitUpgrade(UpgradeManager upgradeManager) { + return false; + } + + @Override + public boolean doPostSystemInitUpgrade(UpgradeManager upgradeManager) { + UpgradeHistoryData uhd = upgradeManager.getUpgradesHistory(VERSION); + if (uhd == null) { + // has never been called, initialize + uhd = new UpgradeHistoryData(); + } else { + if (uhd.isInstallationComplete()) { + return false; + } + } + + boolean allOk = upgradeBookmarks(upgradeManager, uhd); + + uhd.setInstallationComplete(allOk); + upgradeManager.setUpgradesHistory(uhd, VERSION); + if(allOk) { + log.audit("Finished OLATUpgrade_8_3_0 successfully!"); + } else { + log.audit("OLATUpgrade_8_3_0 not finished, try to restart OpenOLAT!"); + } + return allOk; + } + + private boolean upgradeBookmarks(UpgradeManager upgradeManager, UpgradeHistoryData uhd) { + if (!uhd.getBooleanDataValue(TASK_BOOKMARKS)) { + int counter = 0; + List<BookmarkImpl> bookmarks; + do { + bookmarks = findBookmarks(counter, BATCH_SIZE); + for(BookmarkImpl bookmark:bookmarks) { + processBookmarks(bookmark); + } + counter += bookmarks.size(); + log.audit("Processed context: " + bookmarks.size()); + dbInstance.intermediateCommit(); + } while(bookmarks.size() == BATCH_SIZE); + + uhd.setBooleanDataValue(TASK_BOOKMARKS, false); + upgradeManager.setUpgradesHistory(uhd, VERSION); + } + return true; + } + + private void processBookmarks(BookmarkImpl bookmark) { + String resName = bookmark.getOlatrestype(); + Long resId = bookmark.getOlatreskey(); + Identity owner = bookmark.getOwner(); + OLATResourceable ores = OresHelper.createOLATResourceableInstance(resName, resId); + String businessPath = null; + if("RepositoryEntry".equals(resName) || "CatalogEntry".equals(resName)) { + businessPath = "[" + resName + ":" + resId + "]"; + } + markManager.setMark(ores, owner, null, businessPath); + } + + private List<BookmarkImpl> findBookmarks(int counter, int batchSize) { + StringBuilder sb = new StringBuilder(); + sb.append("select bookmark from ").append(BookmarkImpl.class.getName()).append(" as bookmark") + .append(" inner join fetch bookmark.owner as identity") + .append(" inner join fetch identity.user as user"); + return dbInstance.getCurrentEntityManager().createQuery(sb.toString(), BookmarkImpl.class) + .setFirstResult(counter) + .setMaxResults(batchSize) + .getResultList(); + } +} diff --git a/src/main/java/org/olat/upgrade/_spring/upgradeContext.xml b/src/main/java/org/olat/upgrade/_spring/upgradeContext.xml index e329df9dfdd0a99785941b8cbe4a9cf6afb57a6f..04070bd436ca6e8b3421503120a6183e5ac63da2 100644 --- a/src/main/java/org/olat/upgrade/_spring/upgradeContext.xml +++ b/src/main/java/org/olat/upgrade/_spring/upgradeContext.xml @@ -38,6 +38,7 @@ </bean> <bean id="upgrade_8_1_0" class="org.olat.upgrade.OLATUpgrade_8_1_0"/> <bean id="upgrade_8_2_0" class="org.olat.upgrade.OLATUpgrade_8_2_0"/> + <bean id="upgrade_8_3_0" class="org.olat.upgrade.OLATUpgrade_8_3_0"/> </list> </property> </bean> diff --git a/src/main/java/org/olat/bookmark/BookmarkImpl.hbm.xml b/src/main/java/org/olat/upgrade/model/BookmarkImpl.hbm.xml similarity index 94% rename from src/main/java/org/olat/bookmark/BookmarkImpl.hbm.xml rename to src/main/java/org/olat/upgrade/model/BookmarkImpl.hbm.xml index 94670c26fcdc219a184484125b3b0798afad475a..41204eae833ea2a816aee893f69ab58c25f26e82 100644 --- a/src/main/java/org/olat/bookmark/BookmarkImpl.hbm.xml +++ b/src/main/java/org/olat/upgrade/model/BookmarkImpl.hbm.xml @@ -4,7 +4,7 @@ "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping default-lazy="false"> - <class name="org.olat.bookmark.BookmarkImpl" table="o_bookmark"> + <class name="org.olat.upgrade.model.BookmarkImpl" table="o_bookmark"> <cache usage="read-write" /> diff --git a/src/main/java/org/olat/bookmark/BookmarkImpl.java b/src/main/java/org/olat/upgrade/model/BookmarkImpl.java similarity index 96% rename from src/main/java/org/olat/bookmark/BookmarkImpl.java rename to src/main/java/org/olat/upgrade/model/BookmarkImpl.java index 50c66bc3ccabb2046563f86da45182f4bd83b44c..a2189ef2e51bc9b416b5aaa426674294624fbbcb 100644 --- a/src/main/java/org/olat/bookmark/BookmarkImpl.java +++ b/src/main/java/org/olat/upgrade/model/BookmarkImpl.java @@ -23,7 +23,7 @@ * under the Apache 2.0 license as the original file. */ -package org.olat.bookmark; +package org.olat.upgrade.model; import org.olat.core.commons.persistence.PersistentObject; import org.olat.core.id.Identity; @@ -34,8 +34,8 @@ import org.olat.core.logging.AssertException; * * @author Sabina Jeger */ -public class BookmarkImpl extends PersistentObject implements Bookmark { - +public class BookmarkImpl extends PersistentObject { + private static final long serialVersionUID = -7176191690095059290L; private static final int DISPLAYRESTYPE_MAXLENGTH = 50; private static final int OLATRESTYPE_MAXLENGTH = 50; diff --git a/src/main/resources/database/mysql/alter_8_2_0_to_8_2_1.sql b/src/main/resources/database/mysql/alter_8_2_0_to_8_2_1.sql index b03da1a7a16eb5dc5b630bd9a2a2206ba521bf1a..13dd8bd578d8a54cd0d508a74beea4b78dcafde4 100644 --- a/src/main/resources/database/mysql/alter_8_2_0_to_8_2_1.sql +++ b/src/main/resources/database/mysql/alter_8_2_0_to_8_2_1.sql @@ -5,9 +5,6 @@ alter table o_ac_reservation add constraint idx_rsrv_to_rsrc_rsrc foreign key (f alter table o_ac_reservation add constraint idx_rsrv_to_rsrc_identity foreign key (fk_identity) references o_bs_identity (id); - - - create or replace view o_gp_business_v as ( select gp.group_id as group_id, @@ -47,4 +44,100 @@ create or replace view o_gp_business_v as ( gp.fk_partipiciantgroup as fk_partipiciantgroup, gp.fk_waitinggroup as fk_waitinggroup from o_gp_business as gp +); + + +create or replace view o_as_eff_statement_groups_v as ( + select + sg_re.repositoryentry_id as re_id, + sg_re.displayname as re_name, + sg_bg.group_id as bg_id, + sg_bg.groupname as bg_name, + sg_tutorMembership.identity_id as tutor_id, + sg_studentMembership.identity_id as student_id, + sg_statement.id as st_id, + (case when sg_statement.passed = 1 then 1 else 0 end) as st_passed, + (case when sg_statement.passed = 0 then 1 else 0 end) as st_failed, + (case when sg_statement.passed is null then 1 else 0 end) as st_not_attempted, + sg_statement.score as st_score, + pg_initial_launch.id as pg_id + from o_repositoryentry as sg_re + inner join o_olatresource as sg_reResource on (sg_re.fk_olatresource = sg_reResource.resource_id and sg_reResource.resname = 'CourseModule') + inner join o_gp_business_to_resource as sg_bg2resource on (sg_bg2resource.fk_resource = sg_reResource.resource_id) + inner join o_gp_business as sg_bg on (sg_bg.group_id = sg_bg2resource.fk_group) + inner join o_bs_membership as sg_tutorMembership on (sg_bg.fk_ownergroup = sg_tutorMembership.secgroup_id) + inner join o_bs_membership as sg_studentMembership on (sg_bg.fk_partipiciantgroup = sg_studentMembership.secgroup_id) + left join o_as_eff_statement as sg_statement on (sg_statement.fk_resource_id = sg_reResource.resource_id and sg_statement.fk_identity = sg_studentMembership.identity_id) + left join o_as_user_course_infos as pg_initial_launch on (pg_initial_launch.fk_resource_id = sg_reResource.resource_id and pg_initial_launch.fk_identity = sg_studentMembership.identity_id) + group by sg_re.repositoryentry_id, sg_re.displayname, sg_bg.group_id, sg_bg.groupname, sg_tutorMembership.identity_id, + sg_studentMembership.identity_id, sg_statement.id, sg_statement.score, pg_initial_launch.id +); + + +create or replace view o_as_eff_statement_grouped_v as ( + select + sg_re.repositoryentry_id as re_id, + sg_re.displayname as re_name, + sg_tutorMembership.identity_id as tutor_id, + sg_studentMembership.identity_id as student_id, + sg_statement.id as st_id, + (case when sg_statement.passed = 1 then 1 else 0 end) as st_passed, + (case when sg_statement.passed = 0 then 1 else 0 end) as st_failed, + (case when sg_statement.passed is null then 1 else 0 end) as st_not_attempted, + sg_statement.score as st_score, + pg_initial_launch.id as pg_id + from o_repositoryentry as sg_re + inner join o_olatresource as sg_reResource on (sg_re.fk_olatresource = sg_reResource.resource_id and sg_reResource.resname = 'CourseModule') + inner join o_gp_business_to_resource as sg_bg2resource on (sg_bg2resource.fk_resource = sg_reResource.resource_id) + inner join o_gp_business as sg_bg on (sg_bg.group_id = sg_bg2resource.fk_group) + inner join o_bs_membership as sg_tutorMembership on (sg_bg.fk_ownergroup = sg_tutorMembership.secgroup_id) + inner join o_bs_membership as sg_studentMembership on (sg_bg.fk_partipiciantgroup = sg_studentMembership.secgroup_id) + left join o_as_eff_statement as sg_statement on (sg_statement.fk_resource_id = sg_reResource.resource_id and sg_statement.fk_identity = sg_studentMembership.identity_id) + left join o_as_user_course_infos as pg_initial_launch on (pg_initial_launch.fk_resource_id = sg_reResource.resource_id and pg_initial_launch.fk_identity = sg_studentMembership.identity_id) + group by sg_re.repositoryentry_id, sg_re.displayname, sg_tutorMembership.identity_id, + sg_studentMembership.identity_id, sg_statement.id, sg_statement.score, pg_initial_launch.id +); + +create or replace view o_as_eff_statement_members_v as ( + select + sm_re.repositoryentry_id as re_id, + sm_re.displayname as re_name, + sm_tutorMembership.identity_id as tutor_id, + sm_studentMembership.identity_id as student_id, + sm_statement.id as st_id, + (case when sm_statement.passed = 1 then 1 else 0 end) as st_passed, + (case when sm_statement.passed = 0 then 1 else 0 end) as st_failed, + (case when sm_statement.passed is null then 1 else 0 end) as st_not_attempted, + sm_statement.score as st_score, + pm_initial_launch.id as pg_id + from o_repositoryentry as sm_re + inner join o_olatresource as sm_reResource on (sm_re.fk_olatresource = sm_reResource.resource_id and sm_reResource.resname = 'CourseModule') + inner join o_bs_membership as sm_tutorMembership on (sm_re.fk_tutorgroup = sm_tutorMembership.secgroup_id) + inner join o_bs_membership as sm_studentMembership on (sm_re.fk_participantgroup = sm_studentMembership.secgroup_id) + left join o_as_eff_statement as sm_statement on (sm_statement.fk_resource_id = sm_reResource.resource_id and sm_statement.fk_identity = sm_studentMembership.identity_id) + left join o_as_user_course_infos as pm_initial_launch on (pm_initial_launch.fk_resource_id = sm_reResource.resource_id and pm_initial_launch.fk_identity = sm_studentMembership.identity_id) +); + +create or replace view o_as_eff_statement_members_strict_v as ( + select + sm_re.repositoryentry_id as re_id, + sm_re.displayname as re_name, + sm_tutorMembership.identity_id as tutor_id, + sm_studentMembership.identity_id as student_id, + sm_statement.id as st_id, + (case when sm_statement.passed = 1 then 1 else 0 end) as st_passed, + (case when sm_statement.passed = 0 then 1 else 0 end) as st_failed, + (case when sm_statement.passed is null then 1 else 0 end) as st_not_attempted, + sm_statement.score as st_score, + pm_initial_launch.id as pg_id + from o_repositoryentry as sm_re + inner join o_olatresource as sm_reResource on ( + sm_re.fk_olatresource = sm_reResource.resource_id + and sm_reResource.resname = 'CourseModule' + and not exists (select * from o_gp_business_to_resource as sm_re2group where sm_reResource.resource_id = sm_re2group.fk_resource) + ) + inner join o_bs_membership as sm_tutorMembership on (sm_re.fk_tutorgroup = sm_tutorMembership.secgroup_id) + inner join o_bs_membership as sm_studentMembership on (sm_re.fk_participantgroup = sm_studentMembership.secgroup_id) + left join o_as_eff_statement as sm_statement on (sm_statement.fk_resource_id = sm_reResource.resource_id and sm_statement.fk_identity = sm_studentMembership.identity_id) + left join o_as_user_course_infos as pm_initial_launch on (pm_initial_launch.fk_resource_id = sm_reResource.resource_id and pm_initial_launch.fk_identity = sm_studentMembership.identity_id) ); \ No newline at end of file diff --git a/src/main/resources/serviceconfig/org/olat/_spring/portalContext.xml b/src/main/resources/serviceconfig/org/olat/_spring/portalContext.xml index 9e0435fcbdb3e016b9d70e450bf89cbb2bcbd4b8..92fc5e572d742672bc228b16baec1030c0afa964 100644 --- a/src/main/resources/serviceconfig/org/olat/_spring/portalContext.xml +++ b/src/main/resources/serviceconfig/org/olat/_spring/portalContext.xml @@ -50,10 +50,6 @@ <property name="name" value="Groups" /> <property name="enabled" value="${portlet.groups.enabled}" /> </bean> - <bean id="Bookmarks" class="org.olat.bookmark.BookmarksPortlet" scope="prototype"> - <property name="name" value="Bookmarks" /> - <property name="enabled" value="${portlet.bookmarks.enabled}" /> - </bean> <bean id="Notes" class="org.olat.note.NotesPortlet" scope="prototype"> <property name="name" value="Notes" /> <property name="enabled" value="${portlet.notes.enabled}" /> 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 8cdaec17d8c6b4070261a641ff4563e8e171bfa7..46343de80d5b3389288586d6e9f09b56dce6a60b 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_formsandbuttons.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_formsandbuttons.scss @@ -370,6 +370,13 @@ div.b_progress div.b_progress_label {} /* MARK */ +.b_mark_set { + background-image: url('../openolat/images/flag.png') ! important; +} +.b_mark_not_set { + background-image: url('../openolat/images/flag.png') ! important; + @include o-opacity(40); +} div.b_mark { width:20px; height:20px; /* form within mark : no padding , no margin */ diff --git a/src/main/webapp/static/themes/openolat/all/modules/_library.scss b/src/main/webapp/static/themes/openolat/all/modules/_library.scss index 49142251ee02178f929749f1a8be3164884d99a0..de02a15644205a9592e3f5f6291f7094a421cacf 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_library.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_library.scss @@ -62,6 +62,108 @@ div.f_library_catalog { } } + +div.f_library_catalog_wide { + div.f_metadata { background-color: #fcfcfc; } + h4 { } + + th, td { text-align: left; font-size: 0.9em; color: #999; margin:0; padding:0; border:0; } + th { font-weight:bold; width:14em; vertical-align: top; } + h3.b_filetype_folder {margin-top:20px;} + + div.f_item { + margin-bottom:30px; + div.f_thumbnail { width:280px; height:158px; float:left; border-right: 1px solid #999; } + div.f_item_links { + a { background-repeat: no-repeat; } + a.b_filetype_file { display:block; width:70%; float:left; padding:2px 10px 2px 20px; background-repeat: no-repeat; margin:0; } + a.f_permalink { text-decoration:none; display:block; width:9px; height:9px; float:right; padding:4px 2px 2px 2px; margin:0; background-position:center center; } + span a.f_sendmail { text-decoration:none; background:url(../openolat/images/mail.png) no-repeat top left; display:block; width:16px; height:16px; float:right; padding:0 0 0 2px; margin:0; } + } + div.f_metadata { + position: relative; + border: 1px solid #999; + @include o-box-shadow(0,1px,2px,#999); + + div.f_thumbnail_inner { + width:280px; + height:158px; + } + div.f_thumbnail_unavailable { + width:280px; height:158px; + background-image:url(../openolat/images/no_preview.png); + background-repeat:no-repeat; + background-position:50% 50%; + } + + div.f_metadata_text { + margin: 10px 220px 10px 300px; + } + div.f_metadata_text_inner { + width:100%; + } + div.f_metadata_additional_infos { + position: absolute; + top: 0; + right: 0; + height: 158px; + width: 210px; + border-left: 1px solid #999; + } + + div.f_metadata_additional_infos_inner { + margin: 10px 10px 10px 10px; + + } + + + } + } + + // selected item metadata + div.f_item_selected div.f_metadata { + background-color:#F0F0F0 !important; + @include o-box-shadow(1,1px,4px,#D3D3D3); + } + + h3.f_search_results { background-image: url(../openolat/images/magnifier-zoom.png) ! important; } + + + div.b_toolbox div.o_toolbox_searchbox { + input { line-height: 1.3em; margin: 0; width: 10em;} + input:focus { border: 1px solid #504D4E; } + button { width: 16px; height: 16px; background: url(../openolat/images/magnifier-zoom.png) no-repeat; border: 0; vertical-align: top; } + } +} + +div.f_library_catalog_condensed { + div.f_item_condensed { + width: 280px; + height: 280px; + margin-right:30px; + margin-bottom:30px; + float:left; + -webkit-box-shadow: 0 1px 2px 0 #999; + box-shadow: 0 1px 2px 0 #999; + border: 1px solid #999; + background-color: #fcfcfc; + + div.f_thumbnail { + height:158px; + width: 280px; + } + + div.f_metadata_text { + padding: 12px 8px 12px 12px; + } + + div.o_eff_statement_progress { + width: 200px; + margin:20px 0px 0px 20px;; + } + } +} + div.f_library_overview { img { float: right; max-width: 50%; } p {padding-left: 20px;} diff --git a/src/main/webapp/static/themes/openolat/layout.css b/src/main/webapp/static/themes/openolat/layout.css index 1dcd1ecd0ad9ae9c9011d9ffeaebd4fc72ff3599..2964de01f01aa597a4fdd1d2cdb3dbc036600a9b 100644 --- a/src/main/webapp/static/themes/openolat/layout.css +++ b/src/main/webapp/static/themes/openolat/layout.css @@ -22,4 +22,4 @@ * @author strentini, sergio.trentini@frentix.com, www.frentix.com * @date Nov. 2011 * ======================================================== -**/@import url(../../yaml/core/slim_base.css);@import url(all/content.css);.b_with_small_icon_left,div.b_table_wrapper div.b_table_empty{padding:2px 0 2px 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_with_small_icon_only span{display:none}.b_small_icon{float:left;display:inline;width:16px;height:16px;background-position:0 50%;background-repeat:no-repeat}td a span.b_small_table_icon,td a.b_small_table_icon{padding-left:20px;width:16px;height:16px;background-position:2px 50%;background-repeat:no-repeat}a.b_small_icon:hover{text-decoration:none}.b_info_icon{background-image:url("../openolat/images/comment.png")}.b_warn_icon,div.b_table_wrapper div.b_table_empty{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/bin-metal-full.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")}.b_star_icon{background-image:url(../openolat/images/star.png)}.b_star_small_icon{background-image:url(../openolat/images/star-small.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("../openolat/images/information-white.png")}.o_course_icon{background-image:url("../openolat/images/le_resources/book-open-text-image.png")}.o_chat_icon{background-image:url("../openolat/images/balloons-box.png")}.o_admin_icon{background-image:url("../openolat/images/wrench-screwdriver.png")}.o_calendar_icon{background-image:url("../openolat/images/calendar.png")}.o_locked_icon{background-image:url("../openolat/images/locked.png")}.b_backward_icon{background-image:url("../openolat/images/arrow_left.png")}.b_forward_icon{background-image:url("../openolat/images/arrow_right.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_ee{background-image:url("../openolat/images/flags/ee.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")}.b_filetype_file,.b_filetype_ico{background-image:url("../openolat/images/docs/document_plain.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_video,.b_filetype_mov{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_audio,.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}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_GroupCard div,.o_GroupCard_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("../openolat/images/card-address.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/box.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")}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/box.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_courseareas{background-image:url("../openolat/images/users.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/bin-metal-full.png")}li a.b_toolbox_copy,.b_copy_icon{background-image:url("../openolat/images/docs/document-copy.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")}span.o_passed{background:url(../openolat/images/tick.png) no-repeat right 50%;padding:0 25px 0 0;color:#009900}span.o_notpassed{background:url(../openolat/images/cross.png) no-repeat right 50%;padding:0 25px 0 0;color:#990000}.o_efficiencystatement_icon{background-image:url(../openolat/images/seal.png)}span.o_green_led{background:url(../openolat/images/green_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_yellow_led{background:url(../openolat/images/yellow_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_red_led{background:url(../openolat/images/red_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_black_led{background:url(../openolat/images/black_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_grey_led{background:url(../openolat/images/grey_led.png) no-repeat left 50%;padding:0 0 0 25px}.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/box.png") !important}.o_cp_org{background-image:url("../openolat/images/le_resources/box.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}.o_vc_icon{background-image:url("../openolat/images/projection-screen.png") !important}.o_vitero_icon{background-image:url("../openolat/images/vitero.png") !important}.o_openmeetings_icon{background-image:url("../openolat/images/apache.png") !important}.o_ep_icon{background-image:url("../openolat/images/le_resources/portfolio.png") !important}.o_EPStructuredMapTemplate_icon{background-image:url("../openolat/images/portfolio/briefcase.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}.fx_members_icon{background-image:url("../openolat/images/users_members.png") !important}body#b_body .o_CourseModule_icon_closed{background-image:url("../openolat/images/le_resources/book-open-text-image_locked.png")}@media all{html{min-height:100%}body{min-height:100%;overflow-y:scroll;background:#ececec url("../openolat/images/sky.png") repeat-x left 81px}#b_page_margins{min-width:740px;max-width:1324px;margin:0 auto;width:100%;height:100%}#b_main_toolbar{clear:both;height:24px;line-height:24px;vertical-align:middle;margin:0;padding:1px 0 0 0;border-bottom:1px solid #eeeeee;background-color:white;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_main_toolbar ul li a span{line-height:24px}#b_main{background:#fff;min-height:550px;clear:both;moz-box-shadow:0 2px 14px #d3d3d3;-ms-box-shadow:0 2px 14px #d3d3d3;-o-box-shadow:0 2px 14px #d3d3d3;-webkit-box-shadow:0 2px 14px #d3d3d3;box-shadow:0 2px 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:550px;padding:20px 20px 30px 20px}#b_col2_content{overflow:hidden;padding:1em 0}.b_hidecol2 #b_col3{margin-right:0 !important;border-right:none}.b_hidecol1 #b_col3{margin-left:0 !important;border-left:none}.b_hideboth #b_col3{margin-left:0 !important;margin-right:0 !important;border-left:none;border-right:none}.b_hideboth #b_col1,.b_hideboth #b_col2,.b_hidecol1 #b_col1,.b_hidecol2 #b_col2,#b_ie_clearing{display:none}.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}div.b_iframe_wrapper iframe{width:100%;position:relative;top:0;left:0;border:none;margin:0;padding:0;background:transparent}#b_main.b_exception{padding-left:165px;padding-right:165px}#b_header{height:auto;min-height:30px;overflow:hidden;position:relative}#b_header #b_topnav{position:absolute;right:0px;top:0px;padding:4px 15px 0px 0px;line-height:1.5em;min-height:1.5em}#b_header #b_topnav ul{margin:0}#b_header #b_topnav li,#b_header #b_topnav div,#b_header #b_topnav span{line-height:1.5em}#b_header #b_topnav .b_with_small_icon_right{padding:0 20px 0 0}#b_header #b_topnav .b_with_small_icon_left,#b_header #b_topnav div.b_table_wrapper div.b_table_empty,div.b_table_wrapper #b_header #b_topnav div.b_table_empty{padding:0 0 0 20px}#b_header #b_topnav .b_small_icon{height:1.5em}#b_header #b_topnav #o_topnav_langchooser select{font-size:90%}#b_header #b_topnav #o_topnav_search input{font-size:90%;margin:0;width:10em}#b_header #b_topnav #o_topnav_search a.o_fulltext_search_button{height:1.5em;background-position:50% 50%}#b_header #b_topnav #o_topnav_printview a{background:url(../openolat/images/printer.png) no-repeat right 50%;padding:0 20px 0 0;margin:0}#b_header #b_topnav #o_topnav_logout a{background:url("../openolat/images/control/control-power.png") no-repeat right 50%;padding:0 20px 0 0;margin:0;font-weight:bold}#b_header #b_topnav li{float:left;list-style:none;margin-left:1.7em}#b_header #b_topnav li div.b_form_element_wrapper.b_form_horizontal{margin:0}#b_header #b_topnav li#o_topnav_imclient li{margin-left:0.5em}#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:#f5f5f5;background:rgba(255, 255, 255, 0.5)}#b_nav_main ul li a{padding:4px 12px 4px 3px}#b_nav_main ul li a:hover{text-decoration:none}#b_nav_main ul li.b_nav_site.b_nav_active,#b_nav_main ul li.b_nav_site:hover,#b_nav_main ul li.b_nav_site.b_exception{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:white}#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,#b_nav_main ul li.b_nav_site.b_exception 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.o_site_coaching > div{background-image:url("../openolat/images/eye.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.fx_members > div{background-image:url("../openolat/images/users_members.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:white}#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;padding:0}div.b_tree{font-size:100%;padding:0}div.b_tree ul{position:relative;padding:0;margin:0 0 0 1em;list-style:none;white-space:nowrap}div.b_tree ul li{position:relative;background:transparent;margin-left:0;padding-left:0;line-height:1.7em}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:#025d8c;background-color:transparent;text-decoration:underline}div.b_tree ul li a.b_tree_selected,div.b_tree ul li a:active{color:#025d8c;background-color:transparent;text-decoration:none}div.b_tree ul li a.b_tree_selected_parents,div.b_tree ul li strong{color:#025d8c;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:6px}div.b_tree ul li a.b_tree_l1{padding-left:16px}div.b_tree ul li a.b_tree_l2{padding-left:26px}div.b_tree ul li a.b_tree_l3{padding-left:36px}div.b_tree ul li a.b_tree_l4{padding-left:46px}div.b_tree ul li a.b_tree_l5{padding-left:56px}div.b_tree ul li a.b_tree_l6{padding-left:66px}div.b_tree ul li a.b_tree_l7{padding-left:76px}div.b_tree ul li a.b_tree_l8{padding-left:86px}div.b_tree ul li a.b_tree_l9{padding-left:96px}div.b_tree ul li a.b_tree_l10{padding-left:106px}div.b_tree ul li a.b_tree_l11{padding-left:116px}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 li.b_deleted{text-decoration:none}div.b_tree ul li.b_deleted a{text-decoration:line-through}div.b_tree ul.b_tree_l0 a.b_tree_icon{padding-left:26px;background-position:8px 50%}div.b_tree ul.b_tree_l1 a.b_tree_icon{padding-left:36px;background-position:18px 50%}div.b_tree ul.b_tree_l2 a.b_tree_icon{padding-left:46px;background-position:28px 50%}div.b_tree ul.b_tree_l3 a.b_tree_icon{padding-left:56px;background-position:38px 50%}div.b_tree ul.b_tree_l4 a.b_tree_icon{padding-left:66px;background-position:48px 50%}div.b_tree ul.b_tree_l5 a.b_tree_icon{padding-left:76px;background-position:58px 50%}div.b_tree ul.b_tree_l6 a.b_tree_icon{padding-left:86px;background-position:68px 50%}div.b_tree ul.b_tree_l7 a.b_tree_icon{padding-left:96px;background-position:78px 50%}div.b_tree ul.b_tree_l8 a.b_tree_icon{padding-left:106px;background-position:88px 50%}div.b_tree ul.b_tree_l9 a.b_tree_icon{padding-left:116px;background-position:98px 50%}div.b_tree ul.b_tree_l10 a.b_tree_icon{padding-left:126px;background-position:108px 50%}div.b_tree ul.b_tree_l11 a.b_tree_icon{padding-left:136px;background-position:118px 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}#b_footer{color:#9D9D9D;padding:0;margin:0;position:relative}#b_footer a{color:#777777}#b_footer #b_footer_user{position:absolute;top:1em;left:1em;line-height:16px}#b_footer #b_footer_user #b_username{margin-right:1.5em}#b_footer #b_footer_version{position:absolute;top:1em;right:1em}#b_footer #b_footer_powered{padding-top:1em;text-align:center;width:auto;background:none}#b_footer #b_footer_powered a{display:inline}#b_footer #b_footer_powered img{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#b_footer #b_footer_powered img:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#b_footer #b_share{position:absolute;top:2.5em;left:1em;width:250px}#b_footer #b_share a,#b_footer #b_share span{margin:0 3px 0 0;background-repeat:no-repeat;width:16px;height:16px;float:left;display:inline;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#b_footer #b_share a:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#b_footer #b_share #b_facebook{background-image:url(../openolat/images/social/facebook_16.png)}#b_footer #b_share #b_twitter{background-image:url(../openolat/images/social/twitter_16.png)}#b_footer #b_share #b_google{background-image:url(../openolat/images/social/google_16.png)}#b_footer #b_share #b_delicious{background-image:url(../openolat/images/social/delicious_16.png)}#b_footer #b_share #b_digg{background-image:url(../openolat/images/social/digg_16.png)}#b_footer #b_share #b_mail{background-image:url(../openolat/images/social/email_16.png)}#b_footer #b_share #b_link{background-image:url(../openolat/images/social/link_16.png)}#b_footer .fx_footer #b_footer_version > a{display:block;min-height:45px;height:4em;background:transparent url("../../images/frentix/frentix_logo_grey.png") no-repeat left bottom}#b_footer .fx_footer #b_footer_version > a:hover{background-image:url("../../images/frentix/frentix_logo.png")}#callout_share_link input{width:480px}#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%);border-bottom:1px solid #7D7D7D;padding:5px 5px 2px 0}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 50%}div.b_breadcumb_path ul li.b_first{background:url(../openolat/images/home.png) no-repeat 5px 50%;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}#b_main_toolbar div.b_breadcumb_path ul a{color:#2d2e2d;font-weight:bold}#b_main_toolbar div.b_breadcumb_path ul a:hover{color:#585a58;text-decoration:none}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back{background:transparent;padding:0 7px 0 7px;margin:0 2px 0 0;border-right:1px solid #eeeeee}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back a{font-type:Arial;color:#2d2e2d;font-weight:normal}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back a:hover{color:#585a58}div.b_breadcumb_content{clear:both;margin-top:0.5em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_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%);position:relative;padding:10px;height:19px;min-height:19px;border-bottom:1px solid #7D7D7D}div.b_toolbar ul{margin:0;list-style-image:none;list-style-type:none}div.b_toolbar ul li{margin:0px 16px 0px 0px;list-style-image:none;list-style-type:none}div.b_toolbar div.b_toolbar_left{position:absolute;top:7px;left:7px}div.b_toolbar ul.b_toolbar_left li{float:left}div.b_toolbar div.b_toolbar_right{position:absolute;top:7px;right:7px}div.b_toolbar ul.b_toolbar_right li{float:right;margin:0px 2px 0px 2px}div.b_toolbar div.b_toolbar_center{text-align:center}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}div.b_titled_wrapper div.b_noti{position:absolute;right:25px;top:0px}div.b_titled_wrapper fieldset div.b_noti{top:12px}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}a.b_togglebox_closed{background:url("../openolat/images/toggle-small-expand.png") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}a.b_togglebox_opened{background:url("../openolat/images/toggle-small.png") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}div.b_titled_wrapper div.b_togglebox div.b_togglebox_content{background:transparent;border:0px;padding:0px}div.b_titled_wrapper_desc a.b_togglebox_opened{z-index:10;display:block;width:20px;height:20px;position:absolute;top:2px;left:5px;background:url(../openolat/images/information-white.png) no-repeat 0 50%}div.b_titled_wrapper_desc a.b_togglebox_closed{display:block;width:20px;height:20px;background:url(../openolat/images/information-white.png) no-repeat top left;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}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}div.b_titled_wrapper div.b_togglebox div.b_togglebox_content div.o_course_run_objectives{position:relative}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}div.o_catalog div.o_catalog_link_title{margin:2em 0 0 0;border-bottom:1px solid #ccc;padding:0.3em}div.o_catalog div.o_catalog_title{display:none}div.o_catalog div.o_catalog_nav{font-size:95%;padding:1px 0 2px 22px;border-bottom:1px solid #EEE;background:url(../openolat/images/folder_open.png) 2px 50% no-repeat}div.o_catalog .o_catalog_sub_icon{background-image:url(../openolat/images/folder_small.png)}div.o_catalog div.o_catalog_links{margin-top:1em;padding-top:1em;border-top:1px solid #EEE}div.o_catalog div.o_catalog_itemlist ul{list-style-type:none;margin:0;padding:0}div.o_catalog div.o_catalog_itemlist ul li{margin:0;padding:0 0 0 0.5em;overflow:hidden}div.o_catalog div.o_catalog_itemlist ul a{display:block}div.o_catalog div.o_catalog_desc{margin:0.5em 0 0.5em 0;padding-left:20px;font-size:95%;font-style:italic}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon.o_catalog_cat_icon,div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_cat_icon{background-image:url(../openolat/images/folder_small.png)}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon.o_catalog_cat_noaccess_icon,div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_cat_noaccess_icon{background-image:url(../openolat/images/locked.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.o_catalog_cat_icon{background-image:url(../openolat/folder_open.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.o_catalog_cat_noaccess_icon{background-image:url(../openolat/images/locked.png)}div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_entry_icon{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}.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}.b_floatscrollbox{overflow-x:auto;overflow-y:hidden}.b_overflowscrollbox{overflow:auto}}@media all and (min-width : 1324px){#b_footer #b_share{left:0}#b_footer #b_footer_user{left:0}#b_footer #b_footer_version{right:0}}.b_dd_item{cursor:move;z-index:1000}.b_dd_proxy{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.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}.b_group_accesscontrolled{background-image:url("../openolat/images/ac/umbrella.png")}.b_order_icon{background-image:url("../openolat/images/ac/shopping-basket.png")}div.b_order_details{margin-top:2em}div.b_order_details label{font-weight:bold}div.b_access_create ul{padding:0;margin-left:0}div.b_access_create li{padding:0;list-style:none}table.b_access_method td{padding:0.2em 1em 0.2em 0}table.b_access_method tr.b_access_desc td{padding:0 1em 1em 20px;font-style:italic}table.b_access_method td div.b_form_element{margin-left:0}div.b_access_method_list div.b_access_method legend{background-repeat:no-repeat;padding-left:20px}table span.b_access_method{padding-right:5px;font-size:90%;vertical-align:bottom;line-height:16px}.b_access_member_icon{background-image:url(../openolat/images/ac/lock-unlock.png)}.b_access_membersonly_icon{background-image:url("../openolat/images/ac/lock.png")}.b_access_method_free_icon{background-image:url("../openolat/images/ac/open-share.png")}.b_group_accesscontrolled.b_access_method_free,b_order_icon.b_access_method_free{background-image:url("../openolat/images/ac/open-share.png")}div.b_access_method_list div.b_access_method_free legend{background-image:url("../openolat/images/ac/open-share.png")}.b_access_method_token_icon{background-image:url("../openolat/images/ac/license-key.png")}.b_group_accesscontrolled.b_access_method_token,b_order_icon.b_access_method_token{background-image:url("../openolat/images/ac/license-key.png")}div.b_access_method_list div.b_access_method_token legend{background-image:url("../openolat/images/ac/license-key.png")}div.b_access_method_list div.b_access_method_token div.b_form_element_wrapper:nth-last-of-type(3) label,table.b_access_method tr.b_access_method_token .b_access_infos{background-image:url("../openolat/images/ac/key.png");background-repeat:no-repeat;padding-left:20px}div.b_access_method_list div.b_form_element_wrapper:nth-last-of-type(4) label{background-image:url("../openolat/images/information-white.png");background-repeat:no-repeat;padding-left:20px}.b_access_method_paypal_icon{background-image:url("../openolat/images/ac/credit-cards.png")}#b_main_access_control{margin:0 20% 0 20%;padding:20px 0 0 20px}.b_order_status_new_icon{background-image:url(../openolat/images/new-text.png)}.b_order_status_prepayment_icon{background-image:url(../openolat/images/ac/prepayment.png)}.b_order_status_payed_icon{background-image:url(../openolat/images/tick.png)}.b_order_status_canceled_icon{background-image:url(../openolat/images/ac/canceled.png)}.b_order_status_error_icon{background-image:url(../images/olat/cross.png)}.b_order_status_warning_icon{background-image:url(../openolat/images/exclamation.png)}.b_transaction_status_success_icon{background-image:url(../openolat/images/tick.png)}.b_transaction_status_waiting_icon{background-image:url(../openolat/images/exclamation.png)}.b_transaction_status_error_icon{background-image:url(../openolat/images/cross.png)}.b_transaction_status_canceled_icon{background-image:url(../openolat/images/ac/canceled.png)}.b_transaction_status_new_icon{background-image:url(../openolat/images/new-text.png)}div.b_form div.b_form_element_wrapper table.b_access_method div.b_form_element{margin-left:0}div.b_form table.b_access_method div.b_form_element span.b_form_datechooser{background-position:0 50%}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)}div.b_modal_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1}div.b_modal_overlay,div.ext-el-mask{background:#000;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=25);-moz-opacity:0.25;-khtml-opacity:0.25;opacity:0.25}div.b_window{text-align:left;border:1px solid #025d8c;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;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}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}body.b_ajax_busy{cursor:wait}div.b_ajax_busy{position:absolute;z-index:5001;left:50%;top:10px;height:32px;width:32px;background-repeat:no-repeat;background-image:url(images/ajax-loader.svg)}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}#b_msg_sticky{clear:both;padding:10px 10px 10px 50px;min-height:32px;background:#ffb651 url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px;border:none}div.b_msg-div{left:35%;position:absolute;top:10px;width:30%;z-index:20000;border:1px solid #025d8c;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}div.b_msg_warn_winicon{background:url(../openolat/images/icon_warning_32.png) no-repeat}div.b_msg_error_winicon{background:url(../openolat/images/icon_error_32.png) no-repeat}#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}.o_infomessage_wrapper{border:1px solid #ccc;background:#FAFAFA;margin-bottom:20px}.o_infomessage_wrapper .o_infomessage{padding:10px 10px 10px 50px;text-align:left;min-height:40px;background:url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px}div.b_wizard{background:#fff;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;border:1px solid #025d8c}div.b_wizard div.b_wizard_header_wrapper{background:transparent}div.b_wizard div.b_wizard_header{background:transparent;position:relative}div.b_wizard div.b_wizard_header_title{background:transparent;min-height:18px;line-height:18px;vertical-align:middle;padding:2px 5px 2px 5px}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:transparent}div.b_wizard div.b_wizard_steps_content{background:#fff;border:1px solid #555555;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px}div.b_wizard div.b_wizard_steps_list{width:20em;padding:0;color:#555555}div.b_wizard div.b_wizard_steps_list ol{list-style-type:decimal;z-index:14;font-size:100%;padding:2em 5px 5px}div.b_wizard div.b_wizard_steps_list li{line-height:1.5em;white-space:normal;margin-bottom:1em;list-style:none;padding-left:18px}div.b_wizard div.b_wizard_steps_list li.b_wizard_steps_current{font-weight:bold;background:url(../openolat/images/bullet_go.png) 0% 50% no-repeat;padding-left:18px}div.b_wizard div.b_wizard_steps_list li a{color:#555555}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:#basegray_light;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{color:#555555;font-style:normal}div.b_wizard div.b_wizard_steps_current{margin-left:20em;padding-top:0.5em;padding-bottom:0.5em}div.b_wizard div.b_wizard_steps_current_inner{padding:1em;border-left:1px solid #ccc}div.b_wizard div.b_wizard_steps_current_content{min-height:300px;position:relative}div.b_wizard div.b_wizard_footer_wrapper{background:transparent}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:"\00ab \00a0"}span.b_wizard_button_next:after,a.b_wizard_button_next span:after{content:" \00bb"}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}div.b_legacy_wizard_steps{float:right;display:inline}.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)}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs{float:left;display:inline-block;margin-bottom:1em}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul{line-height:1em;list-style:none;margin:0;padding:0;white-space:nowrap}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 #ccc;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%);-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_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}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{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 #ccc;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%);-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}button{border:none}.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 #ccc;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%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.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:1px solid #025d8c}.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:1px solid #025d8c}.b_button.b_button_preferred{background:#dce7ec;background:-moz-linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #dce7ec), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);background:linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);border:1px solid #025d8c}.b_button:focus,.b_button:hover{border:1px solid #aaa\9}.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%);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%)}.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 #ccc;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%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s "";border:1px dotted #ccc;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;cursor:default !important;color:#888}.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}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%}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}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}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%}.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 #ccc;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%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.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:#025d8c}.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:#025d8c}.b_link_left_icon{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 #ccc;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%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.b_link_left_icon > span{padding:2px 8px 0px 25px;background-color:transparent;background-repeat:no-repeat;background-position:4px center}.b_link_left_icon:focus,.b_link_left_icon: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_left_icon:focus{border-color:#025d8c}.b_link_left_icon: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:#025d8c}.b_link_to_home > span{background-image:url("../openolat/images/card-address.png")}.b_link_course > span{background-image:transparent url("../openolat/images/book-open-next.png")}.b_link_group > span{background-image:url("../openolat/images/document-page-next.png")}.b_link_mail > span{background-image:url("../openolat/images/mail.png")}.b_link_assessment > span{background-image:url("../openolat/images/le_resources/thumb-up.png")}div.o_login div.o_login_form{margin-bottom:2em}div.o_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}input,select,textarea{border:1px solid #ACAAAA;background:#F6F6F6;line-height:1.3em;margin:0}textarea{font-family:inherit;width:100%}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(../openolat/images/pencil-small.png)}span.b_inline_editable:hover{cursor:text !important}fieldset{position:relative;padding:1em;padding-top:1.5em;border:none;border-top:1px solid #94bed3}fieldset legend{font-family:Century Gothic, Apple Gothic, sans-serif;padding:0 5px;font-size:120%;font-weight:bold}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(../openolat/images/icon_error_32.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}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}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 .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:3px}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.form_shift_left{left:-25%}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}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}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}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}div.o_form_wrapper fieldset{min-width:60em}div.form_shift_left{position:inherit;left:-20%}div.mceExternalToolbar{background:#f0f0ee !important;overflow:auto}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}div.b_fileinput{position:relative}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;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity:0;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)}div.b_progress div.b_progress_bar{height:12px;border:1px solid #bfbfbf;background:#f3feff}div.b_progress div.b_progress_bar div{height:12px;background:#94bed3;background:-moz-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #94bed3), color-stop(100%, #025d8c));background:-webkit-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-o-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-ms-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:linear-gradient(top, #94bed3 0%, #025d8c 100%)}div.b_mark{width:20px;height:20px}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;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}div.b_mark a.b_mark_set span,div.b_mark a.b_mark_not_set span{display:block;width:19px;height:19px}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 tr.b_table_odd td{background:#eee}div.b_table_wrapper table{width:99.5%;margin-left:1px;border:1px solid #eeeeee}div.b_table_wrapper table tbody tr:hover td{background:#f3feff}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}div.b_table_wrapper div.b_table_empty{margin:1em 0}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}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}#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}div.b_briefcase div.b_briefcase_foldercomp{margin-top:0.5em}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;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;background:#fff;width:99.9%;border:1px solid #eee}div.b_briefcase_foldercomp table.b_briefcase_filetable thead{color:#000}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 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);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_versions_icon{background-image:url(../openolat/images/docs/document_versions.png)}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_versions_dis_icon{background-image:url(../openolat/images/docs/document_versions.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_locked_file_icon{background-image:url(../openolat/images/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}@media all{div.o_wiki_wrapper{clear:both}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 #025d8c}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)}div.o_wiki_wrapper .b_eportfolio_add,div.o_wiki_wrapper .b_eportfolio_add_again{position:absolute;top:28px;right:3px;z-index:99}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}div.o_wikimod_linkchooser{clear:both;float:left;display:inline}div.o_wikimod_filechooser{margin:0 2em;float:left;display:inline}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{margin:0.5em 0}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}div.o_wikimod-article-box table[border="1"]{border-collapse:collapse;border:1px solid #BFBFBF}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}}div.o_forum div.o_forum_switch{font-size:90%}div.o_forum div.o_forum_message{margin:1em 0 1em 0;padding:0.5em;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 12px 0px 21px;font-size:95%;color:#4F576A;float:right;border-left:1px solid #fff}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;background:transparent;margin-right:155px}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}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:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%)}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}.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(../openolat/images/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 a{font-size:0.8em;text-decoration: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 .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}div.b_portfolio_toc .type_map,div.b_portfolio_toc .type_page,div.b_portfolio_toc .type_struct,div.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}.b_eportfolio_link{background-image:url(../openolat/images/portfolio/ep_link_icon.png)}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;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:14px;-webkit-border-bottom-right-radius:14px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:14px;-moz-border-radius-bottomright:14px;-moz-border-radius-bottomleft:4px;border-top-left-radius:4px;border-top-right-radius:14px;border-bottom-right-radius:14px;border-bottom-left-radius:4px;moz-box-shadow:0 1px 3px lightgray;-ms-box-shadow:0 1px 3px lightgray;-o-box-shadow:0 1px 3px lightgray;-webkit-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}ul.b_eportfolio_maps li .b_map_info a.b_open_icon{font-size:1.2em;position:absolute;bottom:170px;right:-10px}.b_eportfolio_changelog .b_form{margin-top:20px;margin-bottom:20px}.b_eportfolio_changelog li{list-style:none}.b_eportfolio_changelog h5{margin-top:16px}.b_eportfolio_mapowner{font-style:italic;margin-bottom:8px}.b_eportfolio_mapowner div{display:inline}@media all{.epmst-green{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green,ul.b_eportfolio_maps li.template.epmst-green{background:#ecf69a;background:#ecf69a -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ecf69a), to(#ecf69a));background:#ecf69a -moz-linear-gradient(43% 71% 101deg, #ecf69a, #ecf69a);background:#ecf69a -o-linear-gradient(#ecf69a, #ecf69a);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ecf69a', EndColorStr='#ecf69a');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-green > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green{margin-top:6px;background:#ecf69a;background:#ecf69a -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ecf69a), to(#ecf69a));background:#ecf69a -moz-linear-gradient(43% 71% 101deg, #ecf69a, #ecf69a);background:#ecf69a -o-linear-gradient(#ecf69a, #ecf69a);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ecf69a', EndColorStr='#ecf69a');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green div.b_map_header h4{color:#444444}.epmst-green div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green div.b_ep_actualpage h1,.epmst-green div.b_ep_actualpage h4{color:#444444}.epmst-green div.b_pagination{float:none;position:static;width:100%}.epmst-green div.b_pagination ul{margin:0}.epmst-green 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}.epmst-green div.b_pagination li span,.epmst-green div.b_pagination li a,.epmst-green div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green div.b_eportfolio_page,.epmst-green div.b_portfolio_toc,.epmst-green div.b_eportfolio_edit{background-image:none}}@media all{.epmst-green2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green2,ul.b_eportfolio_maps li.template.epmst-green2{background:#99e44d;background:#99e44d -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99e44d), to(#cbf1a5));background:#99e44d -moz-linear-gradient(43% 71% 101deg, #99e44d, #cbf1a5);background:#99e44d -o-linear-gradient(#99e44d, #cbf1a5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99e44d', EndColorStr='#cbf1a5');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green2{margin-top:6px;background:#99e44d;background:#99e44d -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99e44d), to(#cbf1a5));background:#99e44d -moz-linear-gradient(43% 71% 101deg, #99e44d, #cbf1a5);background:#99e44d -o-linear-gradient(#99e44d, #cbf1a5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99e44d', EndColorStr='#cbf1a5');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green2 div.b_map_header h4{color:#555555}.epmst-green2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green2 div.b_ep_actualpage h1,.epmst-green2 div.b_ep_actualpage h4{color:#555555}.epmst-green2 div.b_pagination{float:none;position:static;width:100%}.epmst-green2 div.b_pagination ul{margin:0}.epmst-green2 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}.epmst-green2 div.b_pagination li span,.epmst-green2 div.b_pagination li a,.epmst-green2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green2 div.b_eportfolio_page,.epmst-green2 div.b_portfolio_toc,.epmst-green2 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-green3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green3,ul.b_eportfolio_maps li.template.epmst-green3{background:#dff0c1;background:#dff0c1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dff0c1), to(#a0d346));background:#dff0c1 -moz-linear-gradient(43% 71% 101deg, #dff0c1, #a0d346);background:#dff0c1 -o-linear-gradient(#dff0c1, #a0d346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0c1', EndColorStr='#a0d346');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green3{margin-top:6px;background:#dff0c1;background:#dff0c1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dff0c1), to(#a0d346));background:#dff0c1 -moz-linear-gradient(43% 71% 101deg, #dff0c1, #a0d346);background:#dff0c1 -o-linear-gradient(#dff0c1, #a0d346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0c1', EndColorStr='#a0d346');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green3 div.b_map_header h4{color:#555555}.epmst-green3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green3 div.b_ep_actualpage h1,.epmst-green3 div.b_ep_actualpage h4{color:#555555}.epmst-green3 div.b_pagination{float:none;position:static;width:100%}.epmst-green3 div.b_pagination ul{margin:0}.epmst-green3 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}.epmst-green3 div.b_pagination li span,.epmst-green3 div.b_pagination li a,.epmst-green3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green3 div.b_eportfolio_page,.epmst-green3 div.b_portfolio_toc,.epmst-green3 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-green4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green4,ul.b_eportfolio_maps li.template.epmst-green4{background:#d7dbb5;background:#d7dbb5 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#d7dbb5), to(#d7dbb5));background:#d7dbb5 -moz-linear-gradient(43% 71% 101deg, #d7dbb5, #d7dbb5);background:#d7dbb5 -o-linear-gradient(#d7dbb5, #d7dbb5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#d7dbb5', EndColorStr='#d7dbb5');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green4{margin-top:6px;background:#d7dbb5;background:#d7dbb5 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#d7dbb5), to(#d7dbb5));background:#d7dbb5 -moz-linear-gradient(43% 71% 101deg, #d7dbb5, #d7dbb5);background:#d7dbb5 -o-linear-gradient(#d7dbb5, #d7dbb5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#d7dbb5', EndColorStr='#d7dbb5');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green4 div.b_map_header h4{color:#555555}.epmst-green4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green4 div.b_ep_actualpage h1,.epmst-green4 div.b_ep_actualpage h4{color:#555555}.epmst-green4 div.b_pagination{float:none;position:static;width:100%}.epmst-green4 div.b_pagination ul{margin:0}.epmst-green4 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}.epmst-green4 div.b_pagination li span,.epmst-green4 div.b_pagination li a,.epmst-green4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green4 div.b_eportfolio_page,.epmst-green4 div.b_portfolio_toc,.epmst-green4 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-red{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red,ul.b_eportfolio_maps li.template.epmst-red{background:#ffba71;background:#ffba71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffba71), to(#ffba99));background:#ffba71 -moz-linear-gradient(43% 71% 101deg, #ffba71, #ffba99);background:#ffba71 -o-linear-gradient(#ffba71, #ffba99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffba71', EndColorStr='#ffba99');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red{margin-top:6px;background:#ffba71;background:#ffba71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffba71), to(#ffba99));background:#ffba71 -moz-linear-gradient(43% 71% 101deg, #ffba71, #ffba99);background:#ffba71 -o-linear-gradient(#ffba71, #ffba99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffba71', EndColorStr='#ffba99');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red div.b_map_header h4{color:#444444}.epmst-red div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red div.b_ep_actualpage h1,.epmst-red div.b_ep_actualpage h4{color:#444444}.epmst-red div.b_pagination{float:none;position:static;width:100%}.epmst-red div.b_pagination ul{margin:0}.epmst-red 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}.epmst-red div.b_pagination li span,.epmst-red div.b_pagination li a,.epmst-red div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red div.b_eportfolio_page,.epmst-red div.b_portfolio_toc,.epmst-red div.b_eportfolio_edit{background-image:none}}@media all{.epmst-red2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red2,ul.b_eportfolio_maps li.template.epmst-red2{background:#ff9772;background:#ff9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ff9772), to(#ff9780));background:#ff9772 -moz-linear-gradient(43% 71% 101deg, #ff9772, #ff9780);background:#ff9772 -o-linear-gradient(#ff9772, #ff9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ff9772', EndColorStr='#ff9780');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red2{margin-top:6px;background:#ff9772;background:#ff9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ff9772), to(#ff9780));background:#ff9772 -moz-linear-gradient(43% 71% 101deg, #ff9772, #ff9780);background:#ff9772 -o-linear-gradient(#ff9772, #ff9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ff9772', EndColorStr='#ff9780');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red2 div.b_map_header h4{color:#444444}.epmst-red2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red2 div.b_ep_actualpage h1,.epmst-red2 div.b_ep_actualpage h4{color:#444444}.epmst-red2 div.b_pagination{float:none;position:static;width:100%}.epmst-red2 div.b_pagination ul{margin:0}.epmst-red2 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}.epmst-red2 div.b_pagination li span,.epmst-red2 div.b_pagination li a,.epmst-red2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red2 div.b_eportfolio_page,.epmst-red2 div.b_portfolio_toc,.epmst-red2 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-red3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red3,ul.b_eportfolio_maps li.template.epmst-red3{background:#e8afbb;background:#e8afbb -webkit-gradient(linear, 37% 20%, 53% 100%, from(#e8afbb), to(#e8afa0));background:#e8afbb -moz-linear-gradient(43% 71% 101deg, #e8afbb, #e8afa0);background:#e8afbb -o-linear-gradient(#e8afbb, #e8afa0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#e8afbb', EndColorStr='#e8afa0');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red3{margin-top:6px;background:#e8afbb;background:#e8afbb -webkit-gradient(linear, 37% 20%, 53% 100%, from(#e8afbb), to(#e8afa0));background:#e8afbb -moz-linear-gradient(43% 71% 101deg, #e8afbb, #e8afa0);background:#e8afbb -o-linear-gradient(#e8afbb, #e8afa0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#e8afbb', EndColorStr='#e8afa0');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red3 div.b_map_header h4{color:#444444}.epmst-red3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red3 div.b_ep_actualpage h1,.epmst-red3 div.b_ep_actualpage h4{color:#444444}.epmst-red3 div.b_pagination{float:none;position:static;width:100%}.epmst-red3 div.b_pagination ul{margin:0}.epmst-red3 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}.epmst-red3 div.b_pagination li span,.epmst-red3 div.b_pagination li a,.epmst-red3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red3 div.b_eportfolio_page,.epmst-red3 div.b_portfolio_toc,.epmst-red3 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-red4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red4,ul.b_eportfolio_maps li.template.epmst-red4{background:#ffa800;background:#ffa800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffa800), to(#ffaf00));background:#ffa800 -moz-linear-gradient(43% 71% 101deg, #ffa800, #ffaf00);background:#ffa800 -o-linear-gradient(#ffa800, #ffaf00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffa800', EndColorStr='#ffaf00');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red4{margin-top:6px;background:#ffa800;background:#ffa800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffa800), to(#ffaf00));background:#ffa800 -moz-linear-gradient(43% 71% 101deg, #ffa800, #ffaf00);background:#ffa800 -o-linear-gradient(#ffa800, #ffaf00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffa800', EndColorStr='#ffaf00');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red4 div.b_map_header h4{color:#444444}.epmst-red4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red4 div.b_ep_actualpage h1,.epmst-red4 div.b_ep_actualpage h4{color:#444444}.epmst-red4 div.b_pagination{float:none;position:static;width:100%}.epmst-red4 div.b_pagination ul{margin:0}.epmst-red4 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}.epmst-red4 div.b_pagination li span,.epmst-red4 div.b_pagination li a,.epmst-red4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red4 div.b_eportfolio_page,.epmst-red4 div.b_portfolio_toc,.epmst-red4 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-blue{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue,ul.b_eportfolio_maps li.template.epmst-blue{background:#00d2f8;background:#00d2f8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00d2f8), to(#4a9ead));background:#00d2f8 -moz-linear-gradient(43% 71% 101deg, #00d2f8, #4a9ead);background:#00d2f8 -o-linear-gradient(#00d2f8, #4a9ead);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00d2f8', EndColorStr='#4a9ead');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue{margin-top:6px;background:#00d2f8;background:#00d2f8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00d2f8), to(#4a9ead));background:#00d2f8 -moz-linear-gradient(43% 71% 101deg, #00d2f8, #4a9ead);background:#00d2f8 -o-linear-gradient(#00d2f8, #4a9ead);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00d2f8', EndColorStr='#4a9ead');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue div.b_map_header h4{color:#444444}.epmst-blue div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue div.b_ep_actualpage h1,.epmst-blue div.b_ep_actualpage h4{color:#444444}.epmst-blue div.b_pagination{float:none;position:static;width:100%}.epmst-blue div.b_pagination ul{margin:0}.epmst-blue 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}.epmst-blue div.b_pagination li span,.epmst-blue div.b_pagination li a,.epmst-blue div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue div.b_eportfolio_page,.epmst-blue div.b_portfolio_toc,.epmst-blue div.b_eportfolio_edit{background-image:none}}@media all{.epmst-blue2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue2,ul.b_eportfolio_maps li.template.epmst-blue2{background:#c4f6ff;background:#c4f6ff -webkit-gradient(linear, 37% 20%, 53% 100%, from(#c4f6ff), to(#c4f6ff));background:#c4f6ff -moz-linear-gradient(43% 71% 101deg, #c4f6ff, #c4f6ff);background:#c4f6ff -o-linear-gradient(#c4f6ff, #c4f6ff);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#c4f6ff', EndColorStr='#c4f6ff');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue2{margin-top:6px;background:#c4f6ff;background:#c4f6ff -webkit-gradient(linear, 37% 20%, 53% 100%, from(#c4f6ff), to(#c4f6ff));background:#c4f6ff -moz-linear-gradient(43% 71% 101deg, #c4f6ff, #c4f6ff);background:#c4f6ff -o-linear-gradient(#c4f6ff, #c4f6ff);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#c4f6ff', EndColorStr='#c4f6ff');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue2 div.b_map_header h4{color:#444444}.epmst-blue2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue2 div.b_ep_actualpage h1,.epmst-blue2 div.b_ep_actualpage h4{color:#444444}.epmst-blue2 div.b_pagination{float:none;position:static;width:100%}.epmst-blue2 div.b_pagination ul{margin:0}.epmst-blue2 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}.epmst-blue2 div.b_pagination li span,.epmst-blue2 div.b_pagination li a,.epmst-blue2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue2 div.b_eportfolio_page,.epmst-blue2 div.b_portfolio_toc,.epmst-blue2 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-blue3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue3,ul.b_eportfolio_maps li.template.epmst-blue3{background:#b3e2f7;background:#b3e2f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#b3e2f7), to(#b3e2f7));background:#b3e2f7 -moz-linear-gradient(43% 71% 101deg, #b3e2f7, #b3e2f7);background:#b3e2f7 -o-linear-gradient(#b3e2f7, #b3e2f7);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#b3e2f7', EndColorStr='#b3e2f7');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue3{margin-top:6px;background:#b3e2f7;background:#b3e2f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#b3e2f7), to(#b3e2f7));background:#b3e2f7 -moz-linear-gradient(43% 71% 101deg, #b3e2f7, #b3e2f7);background:#b3e2f7 -o-linear-gradient(#b3e2f7, #b3e2f7);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#b3e2f7', EndColorStr='#b3e2f7');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue3 div.b_map_header h4{color:#444444}.epmst-blue3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue3 div.b_ep_actualpage h1,.epmst-blue3 div.b_ep_actualpage h4{color:#444444}.epmst-blue3 div.b_pagination{float:none;position:static;width:100%}.epmst-blue3 div.b_pagination ul{margin:0}.epmst-blue3 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}.epmst-blue3 div.b_pagination li span,.epmst-blue3 div.b_pagination li a,.epmst-blue3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue3 div.b_eportfolio_page,.epmst-blue3 div.b_portfolio_toc,.epmst-blue3 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-blue4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue4,ul.b_eportfolio_maps li.template.epmst-blue4{background:#dee7f7;background:#dee7f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dee7f7), to(#c1e9fd));background:#dee7f7 -moz-linear-gradient(43% 71% 101deg, #dee7f7, #c1e9fd);background:#dee7f7 -o-linear-gradient(#dee7f7, #c1e9fd);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dee7f7', EndColorStr='#c1e9fd');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue4{margin-top:6px;background:#dee7f7;background:#dee7f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dee7f7), to(#c1e9fd));background:#dee7f7 -moz-linear-gradient(43% 71% 101deg, #dee7f7, #c1e9fd);background:#dee7f7 -o-linear-gradient(#dee7f7, #c1e9fd);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dee7f7', EndColorStr='#c1e9fd');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue4 div.b_map_header h4{color:#444444}.epmst-blue4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue4 div.b_ep_actualpage h1,.epmst-blue4 div.b_ep_actualpage h4{color:#444444}.epmst-blue4 div.b_pagination{float:none;position:static;width:100%}.epmst-blue4 div.b_pagination ul{margin:0}.epmst-blue4 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}.epmst-blue4 div.b_pagination li span,.epmst-blue4 div.b_pagination li a,.epmst-blue4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue4 div.b_eportfolio_page,.epmst-blue4 div.b_portfolio_toc,.epmst-blue4 div.b_eportfolio_edit{background-image:none}}li.default .b_map_info p{color:#bbb}li.comic .b_map_info p{color:#88a5c4}li.leather .b_map_info p{color:#C2A074}.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(../openolat/images/arrow_right.png) no-repeat center right;padding-right:16px}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(../openolat/images/arrow_right.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}.b_eportfolio_page,.b_portfolio_toc,.b_eportfolio_edit,.b_eportfolio_changelog{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}.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(../openolat/images/portfolio/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_form.b_eportfolio_tag_selector{min-width:40em}div.b_eportfolio_restriction_wrapper a.b_togglebox_opened{z-index:10;display:block;width:20px;height:20px;padding:0;margin-left:12px}div.b_eportfolio_restriction_wrapper a.b_togglebox_closed{display:block;width:20px;height:20px;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;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-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 7px !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 7px !important}div.b_eportfolio_restriction_error div.b_togglebox_closed{background:transparent url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 5px !important}div.b_eportfolio_restriction_passed div.b_togglebox_closed{background:transparent url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 5px !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;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-ms-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-o-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%)}.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}.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-top-left-radius:7px;-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.default div.b_pagination li a{padding:1em;padding:5px 8px}.default div.b_pagination li,.default div.b_pagination li span,.default div.b_pagination li a{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.b_changelog{float:right}.default div.b_eportfolio_page,.default div.b_portfolio_toc,.default div.b_eportfolio_edit,.default div.b_eportfolio_changelog{background-image:none}.b_eportfolio_map.comic{background:#a2c3e8 none;padding:30px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:10px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:0;-moz-border-radius-topright:10px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:0;border-top-right-radius:10px;border-bottom-right-radius:0;border-bottom-left-radius:0}.comic{font-family:'Comic Sans MS', 'Comic Sans', fantasy}.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,.comic div.b_pagination li span,.comic div.b_pagination li a{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,.comic div.b_pagination li.b_changelog{background-image:url(../openolat/images/portfolio/postit_pink.png)}.b_eportfolio_map.leather{background:url(../openolat/images/portfolio/light-leather-tile.jpg)}.leather{font-family:Palatino, Georgia, serif}.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 .b_eportfolio_mapowner{color:#fff}.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-top-left-radius:7px;-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.leather div.b_pagination li a{padding:1em;padding:5px 8px}.leather div.b_pagination li,.leather div.b_pagination li span,.leather div.b_pagination li a{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.b_changelog{float:right}.leather div.b_eportfolio_page,.leather div.b_portfolio_toc,.leather div.b_eportfolio_edit,.leather div.b_eportfolio_changelog{background-image:none}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}#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}#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}#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(../openolat/images/edit_bg.png);background-position:top left}#o_qti_hints,#o_qti_solutions{margin:1em 0}#o_qti_hints a{background:url(../openolat/images/light-bulb.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}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%}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_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;border-top:1px solid #94bed3}.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{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1;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{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.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(../openolat/images/information-white.png) no-repeat left 50%;padding-left:20px;line-height:2em}.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)}.onyx_iframe{width:100%;height:100%;border:none;min-height:60em}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}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}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)}#b_main.o_editor #b_col3{background-image:url(../openolat/images/edit_bg.png);background-position:top left;background-repeat:repeat}#b_main.o_editor div.b_tabbedpane_wrapper div.b_tabbedpane_content{background:#fff}#b_main_toolbar.o_course_breadcumbs div.b_breadcumb_path ul li.b_first{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}a.b_preview{background-image:url(../openolat/images/docs/document_preview.png);background-repeat:no-repeat;background-position:left;padding:2px 0 2px 20px}fieldset a.b_preview,div.b_tabbedpane_wrapper a.b_preview{position:absolute}div.b_module_singlepage_wrapper a.b_content_edit{position:absolute;top:0;right:20px;display:inline;background:url(../openolat/images/docs/document--pencil.png) no-repeat top left;width:16px;height:16px;margin:3px}div.b_module_singlepage_wrapper a.b_content_download{position:absolute;top:0;z-index:10;background:url(../openolat/images/docs/document_download.png) no-repeat top left;padding-left:20px;margin-top:3px;min-height:19px;height:19px}div.b_titled_wrapper div.b_module_singlepage_wrapper a.b_content_download{position:relative;padding-bottom:3px}div.b_titled_wrapper div.b_module_singlepage_wrapper div.b_iframe_wrapper{margin-top:3px}#b_content_popup{float:right;background:url(../openolat/images/applications.png) no-repeat top left;width:16px;height:16px;margin:3px}#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%}div.o_buttons_box_right{position:absolute;top:0;right:0}div.o_course_run div.o_course_run_displaytitle{font-style:italic}div.o_course_run div.o_course_run_objectives{background-color:#E9EAEF;padding:5px 5px 5px 25px;margin:0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_scoreinfo{background:#e9eaef url(../openolat/images/seal.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_disclaimer{background:#e9eaef url(../openolat/images/information-white.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_groupinfo{background:#e9eaef url(../openolat/images/users.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_statusinfo{background:url(../openolat/images/bullet_go.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_returnbox{background:#e9eaef url(../openolat/images/box_return.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_dropbox{background:#e9eaef url(../openolat/images/box_drop.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_solutionbox{background:#e9eaef url(../openolat/images/box_solution.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_task{background:#e9eaef url(../openolat/images/assign.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_disclaimer h4,div.o_course_run div.o_course_run_objectives h4,div.o_course_run div.o_course_run_scoreinfo h4,div.o_course_run div.o_course_run_returnbox h4,div.o_course_run div.o_course_run_dropbox h4,div.o_course_run div.o_course_run_solutionbox h4,div.o_course_run div.o_course_run_task h4,div.o_course_run div.o_course_run_log h4{font-size:100%;margin:0 0 1em 0}div.o_course_run div.o_course_run_scoreinfo_noinfo{font-style:italic;font-weight:bold}div.o_course_run div.o_course_run_toc{margin:1em 0 0 0}div.o_course_run div.o_course_run_toc div.o_course_run_toc_entry{margin:0 0 1em 0;padding:1em 20px 0 0}div.o_course_run div.o_course_run_toc div.o_course_run_shorttitle{border-bottom:1px solid #ACAAAA}div.o_course_run div.o_course_run_toc div.o_course_run_displaytitle{margin-top:0.5em;color:#aaaaaa}div.o_course_run div.o_course_run_toc div.o_course_run_objectives{margin:1em 0 1em 0;border:0;background:none}div.o_course_run div.o_course_run_toc div.o_course_run_toc_entry{background:#FBFBFB;padding:5px;border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run #b_content_popup{position:absolute;top:0;right:0}div.o_sp_peekview{margin:1em 0 1em 0}div.o_sp_peekview ul{list-style:none}div.o_sp_peekview li{margin-top:0.5em}div.o_peekview_author{padding:3px 0 5px 0;font-style:italic;color:#aaaaaa;font-size:90%}#b_preview_wrapper{clear:both;padding:10px;background:#fff;border-bottom:1px solid #94bed3}#b_main.b_preview{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;background:white url(../openolat/images/prevbg.png) repeat}body.b_full_screen{background-color:white;background-image:none}body.b_full_screen #b_page_margins{display:none}body.b_full_screen div.b_modal_area{margin:2%;width:96%}body.b_full_screen div#b_preview_wrapper{margin:0;border:0;padding:0;background:#5e5e5e;background:-moz-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5e5e5e), color-stop(50%, #444444), color-stop(51%, #222222), color-stop(100%, #3c3c3c));background:-webkit-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-o-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-ms-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%)}body.b_full_screen div#b_preview_wrapper div.b_preview_link{border:none}body.b_full_screen div#b_preview_wrapper div.b_preview_link a.b_link_back{margin:0.5em}body.b_full_screen div#b_preview_wrapper div.b_preview_link div.b_preview_wrapper_loading{background:transparent url(../openolat/images/ajax-loader.gif) no-repeat top left}div#b_preview_wrapper div#b_preview_wrapper_message{float:right;padding-left:16px;width:100px}div.o_scorm a.b_link_close{padding-right:20px}div.o_scorm div.o_scorm_navigation{float:right;display:inline;padding:3px;background:#fefefe;background:-moz-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fefefe), color-stop(50%, #e3e3e3), color-stop(51%, #cfcfcf), color-stop(100%, #f3f3f3));background:-webkit-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-o-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-ms-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);border:1px solid #504D4E;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;margin:0.2em}div.o_scorm div.o_scorm_navigation a{margin:0 2px}div.o_scorm div.o_scorm_navigation a.o_scorm_previous_icon{background-image:url(../openolat/images/arrow_left_big.png)}div.o_scorm div.o_scorm_navigation a.o_scorm_next_icon{background-image:url(../openolat/images/arrow_right_big.png)}div.o_scorm div.o_scorm_navigation a.hover{background-color:none}.o_scorm_completed,.o_scorm_passed{top:6px;left:6px;background-image:url("../openolat/images/decorator/deco_ok.png")}.o_scorm_failed{top:6px;left:6px !important;background-image:url("../openolat/images/decorator/deco_error.png")}.o_scorm_incomplete{top:6px;left:6px;background-image:url("../openolat/images/decorator/deco_warn.png")}.o_scorm_not_attempted{top:6px;left:6px;background-image:none}div.o_members_search{padding-top:10px;padding-left:10px}div.filters{text-align:center;padding-top:1.5em}div.o_members_search div.searchitem{margin-bottom:0.5em}div.searchitem select,div.searchitem input{width:250px}.o_members_register{margin-bottom:5px}.o_members_register_active{font-weight:bold;font-size:120%}div.o_members_paging{width:100%;padding-bottom:1em;padding-top:0.5em;text-align:center}div.o_members_paging div{padding-left:1em;padding-right:1em;display:inline}div.o_bcard{background-color:#eee;margin-top:10px;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-o-border-radius:6px}div.o_bcard_header,div.o_members_header{padding:6px;border-bottom:1px solid #fff}div.o_bcard_portrait{float:left;display:inline;width:100px;height:100px;margin:10px}div.o_bcard_portrait img{border:1px #d3d3d3 solid}div.o_bcard_portrait_group{background-image:url(../openolat/images/group_100x100.png);border:1px #d3d3d3 solid}div.o_bcard_text{margin-left:120px;margin-top:10px;line-height:150%}div.o_bcard_footer{text-align:right;clear:both;font-size:95%;color:#1f49b3;padding:5px}.popup_iframe{width:100%;height:100%;border:none;min-height:60em}div.o_reservation{position:relative;padding-bottom:15px}div.o_reservation span.o_reservation_name{padding-left:20px}div.o_reservation span.o_reservation_accepted{background:transparent url(../openolat/images/tick.png) top left no-repeat}div.o_reservation span.o_reservation_refused{background:transparent url(../openolat/images/cross.png) top left no-repeat}div.o_reservation div.o_reservation_details{padding:5px 0 0 20px}div.o_reservation ul{list-style:none}div.o_reservation ul li{background-repeat:no-repeat}div.o_infomsgs{padding-top:5px}div.o_infomsgs div.b_datecomp{top:2px;float:left;display:inline}div.o_infomsgs div.o_infomsg{margin-bottom:1em;padding:10px 0 0 0}div.o_infomsgs .b_year{display:none}div.o_infomsgs .o_item_info{color:#7D7D7D;font-size:90%}div.o_infomsgs .o_item_info .o_item_info_mod{color:#98221F}div.b_table_wrapper td a.o_peekview_infomsg_link{display:inline}div.o_infomsgs_config{padding-bottom:5px}div.o_infomsgs_config div{display:inline}.o_infomsg_icon{background-image:url(../openolat/images/information-button.png)}.o_infomsg_create_button{position:absolute;top:0;right:250px}.b_mail_icon{background-image:url(../openolat/images/mail.png)}div.b_mail_message div.b_form_element_wrapper:first-child div.b_form_element{font-weight:bold}.b_mail_new{width:20px !important;background-image:url(../openolat/images/new-text.png)}.b_table_wrapper span.b_mail_unread{display:block;display:inline-block;width:16px;height:16px;background:transparent url(../openolat/images/bullet_black.png) top left no-repeat}.b_table_wrapper span.b_mail_read{display:block;display:inline-block;width:16px;height:16px}.b_table_wrapper span.b_mail_marked{display:block;display:inline-block;width:16px;height:16px;background:transparent url(../openolat/images/flag.png) top left no-repeat}.b_table_wrapper span.b_mail_unmarked{display:block;display:inline-block;width:16px;height:16px}.b_table_wrapper .b_marked{font-weight:bold}ul.b_mail_attachments{list-style:none;margin:0;padding:0}ul.b_mail_attachments li{margin:0}div.o_cmembers *{vertical-align:middle}div.o_cmembers div.o_cmember{float:left;width:30%;height:50px;overflow:hidden;margin:5px 5px 5px 0;padding:8px;border:1px solid #ddd;background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 2px #d3d3d3;-ms-box-shadow:0 1px 2px #d3d3d3;-o-box-shadow:0 1px 2px #d3d3d3;-webkit-box-shadow:0 1px 2px #d3d3d3;box-shadow:0 1px 2px #d3d3d3}div.o_cmembers div.o_cmember *{vertical-align:middle}div.o_cmembers div.o_cmember .o_cmember_portrait_wrapper{background-color:white;float:left;height:100%;width:50px;overflow:hidden;margin-right:5px;border:1px solid #ddd}div.o_cmembers div.o_cmember .o_cmember_portrait_wrapper img.o_cmember_portrait{background-color:white;min-width:50px;background-position:50% 50%;background-repeat:no-repeat}div.o_cmembers div.o_cmember .o_cmember_info_wrapper{padding:16px 0px}div.o_cmembers a.o_cmembers_mail{float:none;margin-left:5px;padding-left:20px;background-image:url(../openolat/images/mail.png)}div.o_cmembers a.o_cmembers_mail span{display:none}div.o_cmembers h4{padding:7px 0 0 0;clear:both}div.o_ll_container ul li{list-style:circle;margin:1em}div.o_ll_container ul li div{font-style:italic}a.o_ll_browse span{display:block;width:20px;height:18px;background:url(../openolat/images/library.png) top left no-repeat;margin-left:1px}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}img.o_portrait_dummy{background-image:url(../openolat/images/dummy.png);width:100px;height:100px}img.o_portrait_dummy_small{background-image:url(../openolat/images/dummy_small.png)}img.o_portrait_dummy_female_big{background-image:url(../openolat/images/dummy_female_big.png);width:100px;height:100px}img.o_portrait_dummy_female_small{background-image:url(../openolat/images/dummy_female_small.png)}img.o_portrait_dummy_male_big{background-image:url(../openolat/images/dummy_male_big.png);width:100px;height:100px}img.o_portrait_dummy_male_small{background-image:url(../openolat/images/dummy_male_small.png)}ul.o_sel_repository_owners{list-style:none;margin:0;padding:0;white-space:nowrap}ul.o_sel_repository_owners li{margin:0}div.fx_portal_admin{margin-top:10px}div.fx_portlets_column{width:30%;float:left;margin-right:10px}div.fx_portlets_column div.b_portlet{min-height:1em}div.fx_portlets_column_name{padding:5px 5px 0px 5px}div.fx_portlets_column_name span{color:#4F576A;font-weight:bold;text-deocration:underline}div.fx_portlets_column_portlets{border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%)}div.fx_available_portlets{width:28%;float:right}div.fx_available_portlets div.b_portlet{min-height:1em}div.fx_portlets_admin_column{min-height:12em}div.fx_site_admin_column{float:left}div.fx_site_admin_column div.fx_site_definition{min-height:1em}div.o_notifications_news_datechooser{border-bottom:1px solid #bbb;padding:1em 0 1em 0}div.o_notifications_news_datechooser label{padding-right:1em}div.o_notifications_news_subscription{margin:1.5em 0 2em 0}div.o_notifications_news_subscription h4{font-size:110%}div.o_notifications_news_subscription h4.o_returnbox_icon{background-image:url(../openolat/images/box_return.png) !important}div.o_notifications_news_context{color:#7D7D7D;font-size:90%}div.o_notifications_news_content{margin:0.5em 0 0.5em 0}div.o_notifications_news_content ul{list-style-type:none;margin:0}#o_search_form{margin:5px;position:relative}#o_search_form_toggler{background-image:url(../openolat/images/magnifier-zoom.png);cursor:pointer}#o_search_form_content div.b_form div.b_form_element_wrapper div.b_form_element_wrapper{margin:0.5em 0}#o_search_form div.b_contexthelp_wrapper a.b_contexthelp{right:0}#o_search_results{border-top:1px solid #eee;margin:5px}#o_search_results_header{line-height:16px;vertical-align:middle;background:url(../openolat/images/magnifier-zoom.png) no-repeat center left #f8f8f8;padding:2px 2px 2px 20px;margin-bottom:5px}#o_search_results_header div.o_search_results_stats{float:right;display:inline;font-size:90%}#o_search_results_header span.o_search_highlight{padding-left:2em}#o_search_results_header.o_search_did_you_mean,#o_search_results_header.o_search_no_results{background-image:url(../openolat/images/exclamation.png);color:#990000}#o_search_results_header.o_search_did_you_mean span.o_search_did_you_mean_words{color:#000;font-weight:bold}#o_search_results_header #o_search_pageing{padding-left:2em;display:inline}#o_search_pageing_bottom{text-align:center;background:#F8F8F8;border-bottom:1px solid #eee;padding:3px}#o_search_results_toomany{background:url(../openolat/images/exclamation.png) no-repeat center left #f8f8f8;color:#990000;padding:5px 0 3px 20px;position:relative;top:-5px;margin-bottom:5px}div.o_search_result{margin:0 0 1em 0;padding:1em 0 0 0}div.o_search_result_title a{font-weight:bold}div.o_search_result_title a.o_search_result_details_link{margin-left:1em;font-weight:normal;font-size:90%;vertical-align:bottom}div.o_search_result_excerpt{padding:2px 0 1px 0;font-size:95%;max-width:60em}div.o_search_result_excerpt span.o_search_result_highlight{font-weight:bold;background-color:#FFFF80}div.o_search_result_context,div.o_search_result_author,div.o_search_result_lastmod,div.o_search_result_type,div.o_search_result_desc{padding:1px 0;font-size:90%;color:#667}a.o_fulltext_search_button{background:url(../openolat/images/magnifier-zoom.png) top left no-repeat}div.error-box{width:400px;margin:30px auto;padding:20px;border:2px solid #025d8c;border-radius:6px;background:white;moz-box-shadow:0 2px 4px #cccccc;-ms-box-shadow:0 2px 4px #cccccc;-o-box-shadow:0 2px 4px #cccccc;-webkit-box-shadow:0 2px 4px #cccccc;box-shadow:0 2px 4px #cccccc;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-o-border-radius:6px}div.error-box h1{background-image:url(../openolat/images/icon_warning_32.png);background-repeat:no-repeat;padding-left:30px;font-size:14pt;font-weight:bold}.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}*:first-child + html div.holder{padding-bottom:2px}* html div.holder{padding-bottom:2px}.textbox-outer{list-style-type:none;margin-left:0em}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{font-size:80%;min-width:200px;width:auto;margin:0;overflow:hidden;height:auto !important;height:1%;padding:0px 0px 0;cursor:text}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 .maininput{border:1px solid #eeeeee}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}ol.textbox-outer{margin:0;padding:0}.textboxlist-auto{position:absolute;width:300px;overflow:visible;display:none;background:#eee;z-index:2}.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}.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 .textboxlist-auto ul li{margin-left:0}.b_wizard div.holder a.bit-input input{background:#f8f8f8;padding:0.4em}.clgen_font_arial{font-family:arial,helvetica}.clgen_font_arial_black{font-family:arial black,avant garde}.clgen_font_comic{font-family:comic sans ms,sans-serif}.clgen_font_courier{font-family:courier new,courier}.clgen_font_georgia{font-family:georgia,serif}.clgen_font_impact{font-family:impact,chicago}.clgen_font_lucida{font-family:lucida console,monaco,monospace}.clgen_font_palatino{font-family:palatino linotype,book antiqua,palatino,serif}.clgen_font_times{font-family:times new roman,times}.clgen_font_verdana{font-family:verdana,geneva,sans-serif}.clgen_font_xxlarge{font-size:130%}.clgen_font_xxsmall{font-size:70%}option.Black{background-color:Black}option.Navy{background-color:Navy}option.DarkBlue{background-color:DarkBlue}option.MediumBlue{background-color:MediumBlue}option.Blue{background-color:Blue}option.DarkGreen{background-color:DarkGreen}option.Green{background-color:Green}option.Teal{background-color:Teal}option.DarkCyan{background-color:DarkCyan}option.DeepSkyBlue{background-color:DeepSkyBlue}option.DarkTurquoise{background-color:DarkTurquoise}option.MediumSpringGreen{background-color:MediumSpringGreen}option.Lime{background-color:Lime}option.SpringGreen{background-color:SpringGreen}option.Aqua{background-color:Aqua}option.Cyan{background-color:Cyan}option.MidnightBlue{background-color:MidnightBlue}option.DodgerBlue{background-color:DodgerBlue}option.LightSeaGreen{background-color:LightSeaGreen}option.ForestGreen{background-color:ForestGreen}option.SeaGreen{background-color:SeaGreen}option.DarkSlateGray{background-color:DarkSlateGray}option.DarkSlateGrey{background-color:DarkSlateGrey}option.LimeGreen{background-color:LimeGreen}option.MediumSeaGreen{background-color:MediumSeaGreen}option.Turquoise{background-color:Turquoise}option.RoyalBlue{background-color:RoyalBlue}option.SteelBlue{background-color:SteelBlue}option.DarkSlateBlue{background-color:DarkSlateBlue}option.MediumTurquoise{background-color:MediumTurquoise}option.Indigo{background-color:Indigo}option.DarkOliveGreen{background-color:DarkOliveGreen}option.CadetBlue{background-color:CadetBlue}option.CornflowerBlue{background-color:CornflowerBlue}option.MediumAquaMarine{background-color:MediumAquaMarine}option.DimGray{background-color:DimGray}option.DimGrey{background-color:DimGrey}option.SlateBlue{background-color:SlateBlue}option.OliveDrab{background-color:OliveDrab}option.SlateGray{background-color:SlateGray}option.SlateGrey{background-color:SlateGrey}option.LightSlateGray{background-color:LightSlateGray}option.LightSlateGrey{background-color:LightSlateGrey}option.MediumSlateBlue{background-color:MediumSlateBlue}option.LawnGreen{background-color:LawnGreen}option.Chartreuse{background-color:Chartreuse}option.Aquamarine{background-color:Aquamarine}option.Maroon{background-color:Maroon}option.Purple{background-color:Purple}option.Olive{background-color:Olive}option.Gray{background-color:Gray}option.Grey{background-color:Grey}option.SkyBlue{background-color:SkyBlue}option.LightSkyBlue{background-color:LightSkyBlue}option.BlueViolet{background-color:BlueViolet}option.DarkRed{background-color:DarkRed}option.DarkMagenta{background-color:DarkMagenta}option.SaddleBrown{background-color:SaddleBrown}option.DarkSeaGreen{background-color:DarkSeaGreen}option.LightGreen{background-color:LightGreen}option.MediumPurple{background-color:MediumPurple}option.DarkViolet{background-color:DarkViolet}option.PaleGreen{background-color:PaleGreen}option.DarkOrchid{background-color:DarkOrchid}option.YellowGreen{background-color:YellowGreen}option.Sienna{background-color:Sienna}option.Brown{background-color:Brown}option.DarkGray{background-color:DarkGray}option.DarkGrey{background-color:DarkGrey}option.LightBlue{background-color:LightBlue}option.GreenYellow{background-color:GreenYellow}option.PaleTurquoise{background-color:PaleTurquoise}option.LightSteelBlue{background-color:LightSteelBlue}option.PowderBlue{background-color:PowderBlue}option.FireBrick{background-color:FireBrick}option.DarkGoldenRod{background-color:DarkGoldenRod}option.MediumOrchid{background-color:MediumOrchid}option.RosyBrown{background-color:RosyBrown}option.DarkKhaki{background-color:DarkKhaki}option.Silver{background-color:Silver}option.MediumVioletRed{background-color:MediumVioletRed}option.IndianRed{background-color:IndianRed}option.Peru{background-color:Peru}option.Chocolate{background-color:Chocolate}option.Tan{background-color:Tan}option.LightGray{background-color:LightGray}option.LightGrey{background-color:LightGrey}option.PaleVioletRed{background-color:PaleVioletRed}option.Thistle{background-color:Thistle}option.Orchid{background-color:Orchid}option.GoldenRod{background-color:GoldenRod}option.Crimson{background-color:Crimson}option.Gainsboro{background-color:Gainsboro}option.Plum{background-color:Plum}option.BurlyWood{background-color:BurlyWood}option.LightCyan{background-color:LightCyan}option.Lavender{background-color:Lavender}option.DarkSalmon{background-color:DarkSalmon}option.Violet{background-color:Violet}option.PaleGoldenRod{background-color:PaleGoldenRod}option.LightCoral{background-color:LightCoral}option.Khaki{background-color:Khaki}option.AliceBlue{background-color:AliceBlue}option.HoneyDew{background-color:HoneyDew}option.Azure{background-color:Azure}option.SandyBrown{background-color:SandyBrown}option.Wheat{background-color:Wheat}option.Beige{background-color:Beige}option.WhiteSmoke{background-color:WhiteSmoke}option.MintCream{background-color:MintCream}option.GhostWhite{background-color:GhostWhite}option.Salmon{background-color:Salmon}option.AntiqueWhite{background-color:AntiqueWhite}option.Linen{background-color:Linen}option.LightGoldenRodYellow{background-color:LightGoldenRodYellow}option.OldLace{background-color:OldLace}option.Red{background-color:Red}option.Fuchsia{background-color:Fuchsia}option.Magenta{background-color:Magenta}option.DeepPink{background-color:DeepPink}option.OrangeRed{background-color:OrangeRed}option.Tomato{background-color:Tomato}option.HotPink{background-color:HotPink}option.Coral{background-color:Coral}option.Darkorange{background-color:Darkorange}option.LightSalmon{background-color:LightSalmon}option.Orange{background-color:Orange}option.LightPink{background-color:LightPink}option.Pink{background-color:Pink}option.Gold{background-color:Gold}option.PeachPuff{background-color:PeachPuff}option.NavajoWhite{background-color:NavajoWhite}option.Moccasin{background-color:Moccasin}option.Bisque{background-color:Bisque}option.MistyRose{background-color:MistyRose}option.BlanchedAlmond{background-color:BlanchedAlmond}option.PapayaWhip{background-color:PapayaWhip}option.LavenderBlush{background-color:LavenderBlush}option.SeaShell{background-color:SeaShell}option.Cornsilk{background-color:Cornsilk}option.LemonChiffon{background-color:LemonChiffon}option.FloralWhite{background-color:FloralWhite}option.Snow{background-color:Snow}option.Yellow{background-color:Yellow}option.LightYellow{background-color:LightYellow}option.Ivory{background-color:Ivory}option.White{background-color:White}#o_feed .o_box{border:1px solid #eee;padding:0.8em;margin-bottom:2em;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%);border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}#o_feed div.o_feed_edit{float:right;position:relative;top:0.2em;margin-right:0}#o_feed #o_link_container{margin-bottom:0.8em}#o_feed #o_link_container div.o_home{text-align:center}#o_feed #o_link_container div.o_older_items{float:left;display:inline}#o_feed #o_link_container div.o_newer_items{float:right;display:inline}#o_feed .b_year_navigation{text-align:center}#o_feed .b_year_navigation .b_months{border-top:1px solid #eee;padding-top:1em;margin-top:0.5em;clear:both;list-style:none}#o_feed .b_year_navigation span.b_disabled{background-image:none}div.o_feed_peekview{margin:1em 0 1em 0}div.o_feed_peekview h5{font-size:1em;position:relative;left:-20px}div.o_feed_peekview div.o_feed_peekview_item{padding-left:20px}#o_feed div.b_datecomp{top:2px;float:left;display:inline}#o_feed p.o_podcast_date{font-size:80%;color:#aaaaaa}#o_feed div.o_podcast_info img.icon{float:left;margin:0 1.5em 1.5em 0;max-width:120px;max-height:120px}#o_feed div.o_podcast_no_image{float:left;margin:0 1em 1em 0;width:100px;height:100px;color:#dfdfdf;background:white;text-align:center;padding:20px;border:2px dashed #dfdfdf;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}#o_feed div.o_podcast_no_image span{vertical-align:middle}#o_feed div.o_podcast_subscription{clear:both}#o_feed div.o_podcast_subscription a.o_podcast_rss_link{display:block;float:right;width:16px;height:16px;background:url(../openolat/images/feed.png) no-repeat}#o_feed div.o_podcast_episode{padding:10px;margin-top:20px;border:1px solid #dfdfdf;background-color:#fdfdfd;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}#o_feed div.o_podcast_episode div.b_ratings_and_comments{margin:2em 0 0 0;padding-bottom:0;border-bottom:0}#o_feed div.o_podcast_episode div.o_podcast_audio{margin-bottom:3px}#o_feed div.o_podcast_episode div.o_podcast_audio embed{width:200px;height:24px}#o_feed div.o_podcast_episode div.o_podcast_video{margin-bottom:3px}#o_feed div.o_podcast_episode div.o_podcast_video embed{width:200px;height:157px}#o_feed .back_link.o_podcast{margin-bottom:1.5em}div.o_podcast_peekview div.o_feed_peekview_item a.o_feed_item_icon{background-image:url(../openolat/images/control/speaker-volume.png)}#o_feed .o_blog_posts .o_post,#o_feed .o_blog_post .o_post{margin-bottom:1em;padding:10px;border:1px solid #dfdfdf;background-color:#fdfdfd;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}.o_post-readmorelinks{margin-top:1em;list-style:none}.o_post-readmorelinks,.o_post-readmorelinks li{margin-left:0;padding-left:0}#o_feed .o_blog_posts .o_draft{padding:0.8em;background-color:#fcf7ac;border:1px solid #fddc55}#o_feed .o_blog_posts .o_scheduled{padding:0.8em;background-color:#d9ffd0;border:1px solid #beffae}#o_feed div.o_blog_info div.o_blog_subscription{min-height:16px;padding-left:20px;background:url(../openolat/images/feed.png) no-repeat}#o_feed .o_blog_info .o_author,#o_feed .o_blog_posts .o_item_info{color:#7D7D7D;font-size:90%;margin:0}#o_feed .o_blog_posts p.o_item_info span.o_item_info_mod{color:#98221F}#o_feed .o_blog_post .back_link{margin-bottom:1.5em}div.o_blog_peekview div.o_feed_peekview_item a.o_feed_item_icon{background-image:url(../openolat/images/comment.png)}#o_instantmessaging_status_changer{padding:1em 0 0 0;margin:0}#o_instantmessaging_status_changer a.b_contexthelp{margin-top:5px;padding-right:5px}#o_instantmessaging_status_changer ul{list-style-type:none;padding:0;margin:0}#o_instantmessaging_status_changer li{padding:0;margin:0}#o_instantmessaging_status_changer li a{padding:0.1em 0 0.1em 20px;background-repeat:no-repeat;background-position:0 50%}.o_instantmessaging_chat_history,.o_groupchat_history{border:1px solid #ACAAAA;overflow:scroll;margin:0 0 1em 0;overflow-x:auto;height:170px;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%)}.o_instantmessaging_chat_history div,.o_groupchat_history div{border-top:1px solid #eee;padding:0.3em 0}.o_instantmessaging_chat_form input,.o_groupchat_chat_form input{width:99%}.o_instantmessaging_chat_form div.b_button_group,.o_groupchat_chat_form div.b_button_group{margin-top:1em}#o_instantmessages_buddieslist{padding:1em 0 0 0;margin:0}#o_instantmessages_buddieslist a.b_contexthelp{margin-top:5px;padding-right:5px}#o_instantmessages_buddieslist ul{list-style-type:none;padding:0;margin:0}#o_instantmessages_buddieslist li{margin:0;padding:0}#o_instantmessages_buddieslist li.o_instantmessaging_groupname{padding:0 0 0 20px;background:url(../openolat/images/users.png) no-repeat 0 0}#o_instantmessages_buddieslist li a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 0}#o_instantmessages_buddieslist a.o_instantmessaging_showgroupswitch{padding:2px 0 2px 20px;background:url(../openolat/images/users_conf.png) no-repeat 0 0}#o_instantmessages_buddieslist a.o_instantmessaging_showofflineswitch{padding:2px 0 2px 20px;background:url(../openolat/images/im/grstar.png) no-repeat 0 0}div.o_groupchat_roster{margin:0}div.o_groupchat_roster ul{list-style-type:disc;margin:0;padding:0}div.o_groupchat_roster li{font-size:95%}.o_instantmessaging_available_icon{background-image:url(../openolat/images/im/gstar.png)}.o_instantmessaging_chat_icon{background-image:url(../openolat/images/im/gstar_chat.png)}.o_instantmessaging_away_icon{background-image:url(../openolat/images/im/gstar_clock.png)}.o_instantmessaging_dnd_icon{background-image:url(../openolat/images/im/gstar_cross.png)}.o_instantmessaging_unavailable_icon{background-image:url(../openolat/images/im/grstar.png)}.o_instantmessaging_xa_icon{background-image:url(../openolat/images/im/grstar_clock.png)}.o_instantmessaging_offline_icon{background-image:url(../openolat/images/im/grstar.png)}.o_instantmessaging_new_msg_icon{background-image:url(../openolat/images/im/new_message.png)}.o_instantmessaging_error_icon{background-image:url(../openolat/images/cross.png)}.o_instantmessaging_refresh_icon{background-image:url(../openolat/images/qti/tries.png)}div.o_home_portaleditlink{position:absolute;top:1em;right:0.6em}.o_home_main{text-align:center}div.o_home_rsslink{clear:both;float:right;display:inline;margin:10px 0}div.o_home_rsslink a{float:right;display:inline}div.o_home_rsslink a.o_home_rsslink{background:url(../openolat/images/feed.png) no-repeat;width:16px;display:block;height:16px;line-height:0}.b_portlet{position:relative;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 #94bed3;white-space:nowrap;overflow-y:hidden !important;overflow-x:hidden !important}.b_portlet .b_portlet_content{position:relative;padding:1em 0 0 0}.b_portlet div.b_portlet_table table{background:none;border:none}.b_portlet div.b_portlet_table table th,.b_portlet div.b_portlet_table table td{padding:0}.b_portlet div.b_portlet_table table tbody tr{background:transparent}.b_portlet div.b_portlet_table table tbody tr.b_table_odd td{background:transparent}.b_portlet div.b_portlet_table table tbody tr td{border:0 !important}.b_portlet div.b_portlet_table table tbody tr:hover,.b_portlet div.b_portlet_table table tbody tr:hover td,.b_portlet div.b_portlet_table table tbody tr:focus,.b_portlet div.b_portlet_table table tbody tr:focus td{background:transparent}.b_portlet div.b_portlet_table div.b_table_empty{background:none;padding:0;margin:0}div.o_portlet_repository_student td.b_first_child{width:24px}div.o_portlet_repository_teacher td.b_first_child{width:24px}.b_portlet .b_portlet_header{background-repeat:no-repeat;background-position:0% 50%;padding-left:27px;padding-top:5px;padding-bottom:5px}div.o_portlet_calendar div.b_portlet_header{background-image:url(../openolat/images/calendar_empty.png);padding-left:2px;padding-top:8px}div.o_portlet_calendar.o_day_1 div.b_portlet_header strong:before{content:"1";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_2 div.b_portlet_header strong:before{content:"2";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_3 div.b_portlet_header strong:before{content:"3";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_4 div.b_portlet_header strong:before{content:"4";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_5 div.b_portlet_header strong:before{content:"5";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_6 div.b_portlet_header strong:before{content:"6";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_7 div.b_portlet_header strong:before{content:"7";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_8 div.b_portlet_header strong:before{content:"8";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_9 div.b_portlet_header strong:before{content:"9";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_10 div.b_portlet_header strong:before{content:"10";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_11 div.b_portlet_header strong:before{content:"11";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_12 div.b_portlet_header strong:before{content:"12";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_13 div.b_portlet_header strong:before{content:"13";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_14 div.b_portlet_header strong:before{content:"14";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_15 div.b_portlet_header strong:before{content:"15";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_16 div.b_portlet_header strong:before{content:"16";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_17 div.b_portlet_header strong:before{content:"17";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_18 div.b_portlet_header strong:before{content:"18";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_19 div.b_portlet_header strong:before{content:"19";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_20 div.b_portlet_header strong:before{content:"20";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_21 div.b_portlet_header strong:before{content:"21";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_22 div.b_portlet_header strong:before{content:"22";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_23 div.b_portlet_header strong:before{content:"23";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_24 div.b_portlet_header strong:before{content:"24";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_25 div.b_portlet_header strong:before{content:"25";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_26 div.b_portlet_header strong:before{content:"26";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_27 div.b_portlet_header strong:before{content:"27";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_28 div.b_portlet_header strong:before{content:"28";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_29 div.b_portlet_header strong:before{content:"29";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_30 div.b_portlet_header strong:before{content:"30";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_31 div.b_portlet_header strong:before{content:"31";font-size:smaller;padding-right:16px}div.o_portlet_infomsg div.b_portlet_header{background-image:url(../openolat/images/comment.png)}div.o_portlet_quickstart div.b_portlet_header{background-image:url(../openolat/images/mouse.png)}div.o_portlet_bookmark div.b_portlet_header{background-image:url(../openolat/images/book-open-bookmark.png)}div.o_portlet_groups div.b_portlet_header{background-image:url(../openolat/images/users.png)}div.o_portlet_notes div.b_portlet_header{background-image:url(../openolat/images/sticky-note--pencil.png)}div.o_portlet_noti div.b_portlet_header{background-image:url(../openolat/images/mail.png)}div.o_portlet_eff div.b_portlet_header{background-image:url(../openolat/images/script-stamp.png)}div.o_portlet_repository_student div.b_portlet_header{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}div.o_portlet_repository_teacher div.b_portlet_header{background-image:url(../openolat/images/le_resources/book-open-text-image-red.png)}div.b_portlet_iframe div.b_portlet_header{background-image:url(../openolat/images/layer.png)}div.b_portlet_sysinfo div.b_portlet_header{background-image:url(../openolat/images/exclamation.png)}div.b_portlet_dyk div.b_portlet_header{background-image:url(../openolat/images/light-bulb.png)}div.o_portlet_infomessages div.b_portlet_header{background-image:url(../openolat/images/information-button.png)}div.b_portlet.o_pt_w_if div.b_portlet_header{background-image:url(../openolat/images/globe.png)}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}div.b_portlet_toolbox{position:absolute;top:0;right:0;padding:2px;height:20px;overflow-y:hidden !important;overflow-x:hidden !important}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/bin-metal-full.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);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_right_disabled{background-image:url(../openolat/images/arrow_right_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_down_disabled{background-image:url(../openolat/images/arrow_down_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_up_disabled{background-image:url(../openolat/images/arrow_up_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_sort_auto_disabled{background-image:url(../openolat/images/table_sort.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_sort_manual_disabled{background-image:url(../openolat/images/table_gear.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}.b_toolboxes{padding:6px}.b_toolboxes .b_toolbox{margin-bottom:20px}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper{border-bottom:1px solid #94bed3;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.7em;white-space:nowrap}.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(../openolat/images/bullet_white.png);padding-left:18px;display:block}div.b_portlet.o_pt_w_if div.b_portlet_header{background-image:url(../openolat/images/globe.png)}div.b_portlet p{margin-bottom:0}div.b_portlet_dyk_q{font-weight:bold}div.b_portlet_dyk_a{padding-top:5px}div.b_portlet_dyk_next{text-align:right}div.f_library_catalog div.b_tree ul{white-space:normal}div.f_library_catalog div.b_tree ul.b_tree_l1 li a.b_tree_icon{background-image:none !important}div.f_library_catalog div.f_metadata{background-color:#fcfcfc;margin-left:20px;padding:4px}div.f_library_catalog h4{padding-left:25px;background-repeat:no-repeat;background-position:center left}div.f_library_catalog div.f_folder_info div.f_metadata{margin-bottom:1.5em}div.f_library_catalog div.b_noti{right:90px}div.f_library_catalog div.f_thumbnails_switch{border:1px solid #E9EAEF;display:inline;position:absolute;top:0px;right:0px;float:right;padding:3px 3px 3px 23px}div.f_library_catalog div.f_thumbnails_on{background:url(../openolat/images/docs/document_preview.png) no-repeat 3px 50%}div.f_library_catalog div.f_thumbnails_off{background:url(../openolat/images/docs/document_preview.png) no-repeat 3px 50%;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=70);-moz-opacity:0.7;-khtml-opacity:0.7;opacity:0.7}div.f_library_catalog th,div.f_library_catalog td{text-align:left;font-size:0.9em;color:#999;margin:0;padding:0;border:0}div.f_library_catalog th{font-weight:bold;width:14em;vertical-align:top}div.f_library_catalog h3.b_filetype_folder{margin-top:20px}div.f_library_catalog div.f_item{margin-bottom:1em;padding:0.5em}div.f_library_catalog div.f_item div.f_item_thumbnail{width:200px;height:200px;float:left;margin-right:20px}div.f_library_catalog div.f_item div.f_item_links a{background-repeat:no-repeat}div.f_library_catalog div.f_item div.f_item_links a.b_filetype_file{display:block;width:70%;float:left;padding:2px 10px 2px 20px;background-repeat:no-repeat;margin:0}div.f_library_catalog div.f_item div.f_item_links a.f_permalink{text-decoration:none;display:block;width:9px;height:9px;float:right;padding:4px 2px 2px 2px;margin:0;background-position:center center}div.f_library_catalog div.f_item div.f_item_links span a.f_sendmail{text-decoration:none;background:url(../openolat/images/mail.png) no-repeat top left;display:block;width:16px;height:16px;float:right;padding:0 0 0 2px;margin:0}div.f_library_catalog div.f_item div.f_metadata{position:relative;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;moz-box-shadow:0 1px 2px #d3d3d3;-ms-box-shadow:0 1px 2px #d3d3d3;-o-box-shadow:0 1px 2px #d3d3d3;-webkit-box-shadow:0 1px 2px #d3d3d3;box-shadow:0 1px 2px #d3d3d3}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail{float:left;border-right:1px solid #eeeeee}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail_inner{width:200px;height:200px}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail_unavailable{width:200px;height:200px;background-image:url(../openolat/images/no_preview.png);background-repeat:no-repeat;background-position:50% 50%}div.f_library_catalog div.f_item div.f_metadata div.f_metadata_text{padding-bottom:35px}div.f_library_catalog div.f_item div.f_metadata div.f_metadata_text_inner{width:100%}div.f_library_catalog div.f_item div.f_metadata div.f_item_ratings{position:absolute;bottom:3px;right:3px;width:300px}div.f_library_catalog div.f_item div.f_metadata div.f_item_ratings div.b_ratings_and_comments{margin:0;border:none}div.f_library_catalog div.f_item_selected div.f_metadata{background-color:#F0F0F0 !important;moz-box-shadow:1 1px 4px #d3d3d3;-ms-box-shadow:1 1px 4px #d3d3d3;-o-box-shadow:1 1px 4px #d3d3d3;-webkit-box-shadow:1 1px 4px #d3d3d3;box-shadow:1 1px 4px #d3d3d3}div.f_library_catalog h3.f_search_results{background-image:url(../openolat/images/magnifier-zoom.png) !important}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox input{line-height:1.3em;margin:0;width:10em}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox input:focus{border:1px solid #504D4E}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox button{width:16px;height:16px;background:url(../openolat/images/magnifier-zoom.png) no-repeat;border:0;vertical-align:top}div.f_library_overview img{float:right;max-width:50%}div.f_library_overview p{padding-left:20px}div.f_library_overview div.f_library_big_icon{float:right;width:425px;height:282px;background:url(../openolat/images/library_image.png) no-repeat}div.f_library_overview div.f_library_newest_files ul li{white-space:normal;padding-bottom:0.3em}div.f_library_overview div.f_library_newest_files ul li a{background-position:top left;min-height:16px}.f_library_icon{background-image:url(../openolat/images/library.png)}#b_main.o_coaching div.o_eff_statement_progress{width:100%;height:15px;background-color:#eeeeee;border:1px solid #777777}#b_main.o_coaching div.o_eff_statement_progress div.o_eff_statement_solved{height:15px;background:#94bed3;background:-moz-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #94bed3), color-stop(100%, #025d8c));background:-webkit-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-o-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-ms-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:linear-gradient(top, #94bed3 0%, #025d8c 100%)}#b_main.o_coaching .o_eff_statement_rg div.o_eff_statement_progress{background:#f85032;background:-moz-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f85032), color-stop(50%, #f16f5c), color-stop(51%, #f6290c), color-stop(100%, #e73827));background:-webkit-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%);background:-o-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%);background:-ms-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%);background:linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%)}#b_main.o_coaching .o_eff_statement_rg div.o_eff_statement_progress div.o_eff_statement_solved{background:#9dd53a;background:-moz-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #9dd53a), color-stop(50%, #a1d54f), color-stop(51%, #80c217), color-stop(100%, #7cbc0a));background:-webkit-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background:-o-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background:-ms-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background:linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%)}#b_main.o_coaching div.o_eff_statement_details{margin:10px 0 10px 0}#b_main.o_coaching .b_toolbar_center span.b_disabled{display:none}div.o_eff_statement_progress{width:100%;height:15px;background-color:#eeeeee;border:1px solid #777777}div.o_eff_statement_progress div.o_eff_statement_solved{height:15px;background-color:#81afca}.o_eff_statement_rg div.o_eff_statement_progress{background-color:red}.o_eff_statement_rg div.o_eff_statement_progress div.o_eff_statement_solved{background-color:green}div.o_eff_statement_details{margin:10px 0 10px 0}div.o_eff_statement_recalculating{padding-left:30px;background:transparent url(../openolat/images/ajax-loader.gif) no-repeat top left}@media print{.o_noprint{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_toplink{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}body{font-size:10pt}.b_noti{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_main.o_loginscreen{background-image:none}#b_main.o_home{background-image:none}#b_main.o_editor{background-image:none}#b_main{moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;border:none}body,#b_page_margins,#b_page,#b_main,#b_page_wrapper{margin:0;padding:0;border:0}body *{font-family:"Times New Roman", Times, serif}code,pre{font-family:"Courier New", Courier, mono}#b_page_margins,#b_page{width:100% !important;min-width:0;max-width:none}#b_footer,#b_topnav,#b_nav,#search{display:none}#b_col1,#b_col2{display:none}#b_col3{margin:0 !important;border:none !important}.b_c25l,.b_c33l,.b_c38l,.b_c50l,.b_c62l,.b_c66l,.b_c75l,.b_c25r,.b_c33r,.b_c38r,.b_c50r,.b_c62r,.b_c66r,.b_c75r{width:100%;margin:0;float:none;overflow:visible;display:table}.b_subc,.b_subcl,.b_subcr{margin:0;padding:0}h1,h2,h3,h4,h5,h6{page-break-after:avoid}#b_page a[href^="http:"],#b_page a[href^="https:"]{padding-left:0;background-image:none}#b_col1_content:before,#b_col2_content:before,#b_col3_content:before{content:"";color:#888;background:inherit;display:block;font-weight:700;font-size:1.5em}.b_floatbox,.b_subcolumns,.b_subcolums_oldgecko{overflow:visible;display:table}#jsMath_PrintWarning{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}.o_wiki_wrapper .b_c20l,.o_wiki_wrapper .o_wikimod_nav{display:none}.o_wiki_wrapper .b_c80r{width:100%}.o_wiki_wrapper .b_c80r div.b_tabbedpane_tabs{display:none}} +**/@import url(../../yaml/core/slim_base.css);@import url(all/content.css);.b_with_small_icon_left,div.b_table_wrapper div.b_table_empty{padding:2px 0 2px 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_with_small_icon_only span{display:none}.b_small_icon{float:left;display:inline;width:16px;height:16px;background-position:0 50%;background-repeat:no-repeat}td a span.b_small_table_icon,td a.b_small_table_icon{padding-left:20px;width:16px;height:16px;background-position:2px 50%;background-repeat:no-repeat}a.b_small_icon:hover{text-decoration:none}.b_info_icon{background-image:url("../openolat/images/comment.png")}.b_warn_icon,div.b_table_wrapper div.b_table_empty{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/bin-metal-full.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")}.b_star_icon{background-image:url(../openolat/images/star.png)}.b_star_small_icon{background-image:url(../openolat/images/star-small.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("../openolat/images/information-white.png")}.o_course_icon{background-image:url("../openolat/images/le_resources/book-open-text-image.png")}.o_chat_icon{background-image:url("../openolat/images/balloons-box.png")}.o_admin_icon{background-image:url("../openolat/images/wrench-screwdriver.png")}.o_calendar_icon{background-image:url("../openolat/images/calendar.png")}.o_locked_icon{background-image:url("../openolat/images/locked.png")}.b_backward_icon{background-image:url("../openolat/images/arrow_left.png")}.b_forward_icon{background-image:url("../openolat/images/arrow_right.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_ee{background-image:url("../openolat/images/flags/ee.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")}.b_filetype_file,.b_filetype_ico{background-image:url("../openolat/images/docs/document_plain.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_video,.b_filetype_mov{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_audio,.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}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_GroupCard div,.o_GroupCard_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("../openolat/images/card-address.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/box.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")}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/box.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_courseareas{background-image:url("../openolat/images/users.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/bin-metal-full.png")}li a.b_toolbox_copy,.b_copy_icon{background-image:url("../openolat/images/docs/document-copy.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")}span.o_passed{background:url(../openolat/images/tick.png) no-repeat right 50%;padding:0 25px 0 0;color:#009900}span.o_notpassed{background:url(../openolat/images/cross.png) no-repeat right 50%;padding:0 25px 0 0;color:#990000}.o_efficiencystatement_icon{background-image:url(../openolat/images/seal.png)}span.o_green_led{background:url(../openolat/images/green_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_yellow_led{background:url(../openolat/images/yellow_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_red_led{background:url(../openolat/images/red_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_black_led{background:url(../openolat/images/black_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_grey_led{background:url(../openolat/images/grey_led.png) no-repeat left 50%;padding:0 0 0 25px}.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/box.png") !important}.o_cp_org{background-image:url("../openolat/images/le_resources/box.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}.o_vc_icon{background-image:url("../openolat/images/projection-screen.png") !important}.o_vitero_icon{background-image:url("../openolat/images/vitero.png") !important}.o_openmeetings_icon{background-image:url("../openolat/images/apache.png") !important}.o_ep_icon{background-image:url("../openolat/images/le_resources/portfolio.png") !important}.o_EPStructuredMapTemplate_icon{background-image:url("../openolat/images/portfolio/briefcase.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}.fx_members_icon{background-image:url("../openolat/images/users_members.png") !important}body#b_body .o_CourseModule_icon_closed{background-image:url("../openolat/images/le_resources/book-open-text-image_locked.png")}@media all{html{min-height:100%}body{min-height:100%;overflow-y:scroll;background:#ececec url("../openolat/images/sky.png") repeat-x left 81px}#b_page_margins{min-width:740px;max-width:1324px;margin:0 auto;width:100%;height:100%}#b_main_toolbar{clear:both;height:24px;line-height:24px;vertical-align:middle;margin:0;padding:1px 0 0 0;border-bottom:1px solid #eeeeee;background-color:white;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_main_toolbar ul li a span{line-height:24px}#b_main{background:#fff;min-height:550px;clear:both;moz-box-shadow:0 2px 14px #d3d3d3;-ms-box-shadow:0 2px 14px #d3d3d3;-o-box-shadow:0 2px 14px #d3d3d3;-webkit-box-shadow:0 2px 14px #d3d3d3;box-shadow:0 2px 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:550px;padding:20px 20px 30px 20px}#b_col2_content{overflow:hidden;padding:1em 0}.b_hidecol2 #b_col3{margin-right:0 !important;border-right:none}.b_hidecol1 #b_col3{margin-left:0 !important;border-left:none}.b_hideboth #b_col3{margin-left:0 !important;margin-right:0 !important;border-left:none;border-right:none}.b_hideboth #b_col1,.b_hideboth #b_col2,.b_hidecol1 #b_col1,.b_hidecol2 #b_col2,#b_ie_clearing{display:none}.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}div.b_iframe_wrapper iframe{width:100%;position:relative;top:0;left:0;border:none;margin:0;padding:0;background:transparent}#b_main.b_exception{padding-left:165px;padding-right:165px}#b_header{height:auto;min-height:30px;overflow:hidden;position:relative}#b_header #b_topnav{position:absolute;right:0px;top:0px;padding:4px 15px 0px 0px;line-height:1.5em;min-height:1.5em}#b_header #b_topnav ul{margin:0}#b_header #b_topnav li,#b_header #b_topnav div,#b_header #b_topnav span{line-height:1.5em}#b_header #b_topnav .b_with_small_icon_right{padding:0 20px 0 0}#b_header #b_topnav .b_with_small_icon_left,#b_header #b_topnav div.b_table_wrapper div.b_table_empty,div.b_table_wrapper #b_header #b_topnav div.b_table_empty{padding:0 0 0 20px}#b_header #b_topnav .b_small_icon{height:1.5em}#b_header #b_topnav #o_topnav_langchooser select{font-size:90%}#b_header #b_topnav #o_topnav_search input{font-size:90%;margin:0;width:10em}#b_header #b_topnav #o_topnav_search a.o_fulltext_search_button{height:1.5em;background-position:50% 50%}#b_header #b_topnav #o_topnav_printview a{background:url(../openolat/images/printer.png) no-repeat right 50%;padding:0 20px 0 0;margin:0}#b_header #b_topnav #o_topnav_logout a{background:url("../openolat/images/control/control-power.png") no-repeat right 50%;padding:0 20px 0 0;margin:0;font-weight:bold}#b_header #b_topnav li{float:left;list-style:none;margin-left:1.7em}#b_header #b_topnav li div.b_form_element_wrapper.b_form_horizontal{margin:0}#b_header #b_topnav li#o_topnav_imclient li{margin-left:0.5em}#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:#f5f5f5;background:rgba(255, 255, 255, 0.5)}#b_nav_main ul li a{padding:4px 12px 4px 3px}#b_nav_main ul li a:hover{text-decoration:none}#b_nav_main ul li.b_nav_site.b_nav_active,#b_nav_main ul li.b_nav_site:hover,#b_nav_main ul li.b_nav_site.b_exception{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:white}#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,#b_nav_main ul li.b_nav_site.b_exception 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.o_site_coaching > div{background-image:url("../openolat/images/eye.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.fx_members > div{background-image:url("../openolat/images/users_members.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:white}#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;padding:0}div.b_tree{font-size:100%;padding:0}div.b_tree ul{position:relative;padding:0;margin:0 0 0 1em;list-style:none;white-space:nowrap}div.b_tree ul li{position:relative;background:transparent;margin-left:0;padding-left:0;line-height:1.7em}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:#025d8c;background-color:transparent;text-decoration:underline}div.b_tree ul li a.b_tree_selected,div.b_tree ul li a:active{color:#025d8c;background-color:transparent;text-decoration:none}div.b_tree ul li a.b_tree_selected_parents,div.b_tree ul li strong{color:#025d8c;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:6px}div.b_tree ul li a.b_tree_l1{padding-left:16px}div.b_tree ul li a.b_tree_l2{padding-left:26px}div.b_tree ul li a.b_tree_l3{padding-left:36px}div.b_tree ul li a.b_tree_l4{padding-left:46px}div.b_tree ul li a.b_tree_l5{padding-left:56px}div.b_tree ul li a.b_tree_l6{padding-left:66px}div.b_tree ul li a.b_tree_l7{padding-left:76px}div.b_tree ul li a.b_tree_l8{padding-left:86px}div.b_tree ul li a.b_tree_l9{padding-left:96px}div.b_tree ul li a.b_tree_l10{padding-left:106px}div.b_tree ul li a.b_tree_l11{padding-left:116px}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 li.b_deleted{text-decoration:none}div.b_tree ul li.b_deleted a{text-decoration:line-through}div.b_tree ul.b_tree_l0 a.b_tree_icon{padding-left:26px;background-position:8px 50%}div.b_tree ul.b_tree_l1 a.b_tree_icon{padding-left:36px;background-position:18px 50%}div.b_tree ul.b_tree_l2 a.b_tree_icon{padding-left:46px;background-position:28px 50%}div.b_tree ul.b_tree_l3 a.b_tree_icon{padding-left:56px;background-position:38px 50%}div.b_tree ul.b_tree_l4 a.b_tree_icon{padding-left:66px;background-position:48px 50%}div.b_tree ul.b_tree_l5 a.b_tree_icon{padding-left:76px;background-position:58px 50%}div.b_tree ul.b_tree_l6 a.b_tree_icon{padding-left:86px;background-position:68px 50%}div.b_tree ul.b_tree_l7 a.b_tree_icon{padding-left:96px;background-position:78px 50%}div.b_tree ul.b_tree_l8 a.b_tree_icon{padding-left:106px;background-position:88px 50%}div.b_tree ul.b_tree_l9 a.b_tree_icon{padding-left:116px;background-position:98px 50%}div.b_tree ul.b_tree_l10 a.b_tree_icon{padding-left:126px;background-position:108px 50%}div.b_tree ul.b_tree_l11 a.b_tree_icon{padding-left:136px;background-position:118px 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}#b_footer{color:#9D9D9D;padding:0;margin:0;position:relative}#b_footer a{color:#777777}#b_footer #b_footer_user{position:absolute;top:1em;left:1em;line-height:16px}#b_footer #b_footer_user #b_username{margin-right:1.5em}#b_footer #b_footer_version{position:absolute;top:1em;right:1em}#b_footer #b_footer_powered{padding-top:1em;text-align:center;width:auto;background:none}#b_footer #b_footer_powered a{display:inline}#b_footer #b_footer_powered img{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#b_footer #b_footer_powered img:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#b_footer #b_share{position:absolute;top:2.5em;left:1em;width:250px}#b_footer #b_share a,#b_footer #b_share span{margin:0 3px 0 0;background-repeat:no-repeat;width:16px;height:16px;float:left;display:inline;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#b_footer #b_share a:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#b_footer #b_share #b_facebook{background-image:url(../openolat/images/social/facebook_16.png)}#b_footer #b_share #b_twitter{background-image:url(../openolat/images/social/twitter_16.png)}#b_footer #b_share #b_google{background-image:url(../openolat/images/social/google_16.png)}#b_footer #b_share #b_delicious{background-image:url(../openolat/images/social/delicious_16.png)}#b_footer #b_share #b_digg{background-image:url(../openolat/images/social/digg_16.png)}#b_footer #b_share #b_mail{background-image:url(../openolat/images/social/email_16.png)}#b_footer #b_share #b_link{background-image:url(../openolat/images/social/link_16.png)}#b_footer .fx_footer #b_footer_version > a{display:block;min-height:45px;height:4em;background:transparent url("../../images/frentix/frentix_logo_grey.png") no-repeat left bottom}#b_footer .fx_footer #b_footer_version > a:hover{background-image:url("../../images/frentix/frentix_logo.png")}#callout_share_link input{width:480px}#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%);border-bottom:1px solid #7D7D7D;padding:5px 5px 2px 0}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 50%}div.b_breadcumb_path ul li.b_first{background:url(../openolat/images/home.png) no-repeat 5px 50%;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}#b_main_toolbar div.b_breadcumb_path ul a{color:#2d2e2d;font-weight:bold}#b_main_toolbar div.b_breadcumb_path ul a:hover{color:#585a58;text-decoration:none}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back{background:transparent;padding:0 7px 0 7px;margin:0 2px 0 0;border-right:1px solid #eeeeee}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back a{font-type:Arial;color:#2d2e2d;font-weight:normal}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back a:hover{color:#585a58}div.b_breadcumb_content{clear:both;margin-top:0.5em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_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%);position:relative;padding:10px;height:19px;min-height:19px;border-bottom:1px solid #7D7D7D}div.b_toolbar ul{margin:0;list-style-image:none;list-style-type:none}div.b_toolbar ul li{margin:0px 16px 0px 0px;list-style-image:none;list-style-type:none}div.b_toolbar div.b_toolbar_left{position:absolute;top:7px;left:7px}div.b_toolbar ul.b_toolbar_left li{float:left}div.b_toolbar div.b_toolbar_right{position:absolute;top:7px;right:7px}div.b_toolbar ul.b_toolbar_right li{float:right;margin:0px 2px 0px 2px}div.b_toolbar div.b_toolbar_center{text-align:center}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}div.b_titled_wrapper div.b_noti{position:absolute;right:25px;top:0px}div.b_titled_wrapper fieldset div.b_noti{top:12px}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}a.b_togglebox_closed{background:url("../openolat/images/toggle-small-expand.png") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}a.b_togglebox_opened{background:url("../openolat/images/toggle-small.png") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}div.b_titled_wrapper div.b_togglebox div.b_togglebox_content{background:transparent;border:0px;padding:0px}div.b_titled_wrapper_desc a.b_togglebox_opened{z-index:10;display:block;width:20px;height:20px;position:absolute;top:2px;left:5px;background:url(../openolat/images/information-white.png) no-repeat 0 50%}div.b_titled_wrapper_desc a.b_togglebox_closed{display:block;width:20px;height:20px;background:url(../openolat/images/information-white.png) no-repeat top left;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}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}div.b_titled_wrapper div.b_togglebox div.b_togglebox_content div.o_course_run_objectives{position:relative}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}div.o_catalog div.o_catalog_link_title{margin:2em 0 0 0;border-bottom:1px solid #ccc;padding:0.3em}div.o_catalog div.o_catalog_title{display:none}div.o_catalog div.o_catalog_nav{font-size:95%;padding:1px 0 2px 22px;border-bottom:1px solid #EEE;background:url(../openolat/images/folder_open.png) 2px 50% no-repeat}div.o_catalog .o_catalog_sub_icon{background-image:url(../openolat/images/folder_small.png)}div.o_catalog div.o_catalog_links{margin-top:1em;padding-top:1em;border-top:1px solid #EEE}div.o_catalog div.o_catalog_itemlist ul{list-style-type:none;margin:0;padding:0}div.o_catalog div.o_catalog_itemlist ul li{margin:0;padding:0 0 0 0.5em;overflow:hidden}div.o_catalog div.o_catalog_itemlist ul a{display:block}div.o_catalog div.o_catalog_desc{margin:0.5em 0 0.5em 0;padding-left:20px;font-size:95%;font-style:italic}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon.o_catalog_cat_icon,div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_cat_icon{background-image:url(../openolat/images/folder_small.png)}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon.o_catalog_cat_noaccess_icon,div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_cat_noaccess_icon{background-image:url(../openolat/images/locked.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.o_catalog_cat_icon{background-image:url(../openolat/folder_open.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.o_catalog_cat_noaccess_icon{background-image:url(../openolat/images/locked.png)}div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_entry_icon{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}.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}.b_floatscrollbox{overflow-x:auto;overflow-y:hidden}.b_overflowscrollbox{overflow:auto}}@media all and (min-width : 1324px){#b_footer #b_share{left:0}#b_footer #b_footer_user{left:0}#b_footer #b_footer_version{right:0}}.b_dd_item{cursor:move;z-index:1000}.b_dd_proxy{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.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}.b_group_accesscontrolled{background-image:url("../openolat/images/ac/umbrella.png")}.b_order_icon{background-image:url("../openolat/images/ac/shopping-basket.png")}div.b_order_details{margin-top:2em}div.b_order_details label{font-weight:bold}div.b_access_create ul{padding:0;margin-left:0}div.b_access_create li{padding:0;list-style:none}table.b_access_method td{padding:0.2em 1em 0.2em 0}table.b_access_method tr.b_access_desc td{padding:0 1em 1em 20px;font-style:italic}table.b_access_method td div.b_form_element{margin-left:0}div.b_access_method_list div.b_access_method legend{background-repeat:no-repeat;padding-left:20px}table span.b_access_method{padding-right:5px;font-size:90%;vertical-align:bottom;line-height:16px}.b_access_member_icon{background-image:url(../openolat/images/ac/lock-unlock.png)}.b_access_membersonly_icon{background-image:url("../openolat/images/ac/lock.png")}.b_access_method_free_icon{background-image:url("../openolat/images/ac/open-share.png")}.b_group_accesscontrolled.b_access_method_free,b_order_icon.b_access_method_free{background-image:url("../openolat/images/ac/open-share.png")}div.b_access_method_list div.b_access_method_free legend{background-image:url("../openolat/images/ac/open-share.png")}.b_access_method_token_icon{background-image:url("../openolat/images/ac/license-key.png")}.b_group_accesscontrolled.b_access_method_token,b_order_icon.b_access_method_token{background-image:url("../openolat/images/ac/license-key.png")}div.b_access_method_list div.b_access_method_token legend{background-image:url("../openolat/images/ac/license-key.png")}div.b_access_method_list div.b_access_method_token div.b_form_element_wrapper:nth-last-of-type(3) label,table.b_access_method tr.b_access_method_token .b_access_infos{background-image:url("../openolat/images/ac/key.png");background-repeat:no-repeat;padding-left:20px}div.b_access_method_list div.b_form_element_wrapper:nth-last-of-type(4) label{background-image:url("../openolat/images/information-white.png");background-repeat:no-repeat;padding-left:20px}.b_access_method_paypal_icon{background-image:url("../openolat/images/ac/credit-cards.png")}#b_main_access_control{margin:0 20% 0 20%;padding:20px 0 0 20px}.b_order_status_new_icon{background-image:url(../openolat/images/new-text.png)}.b_order_status_prepayment_icon{background-image:url(../openolat/images/ac/prepayment.png)}.b_order_status_payed_icon{background-image:url(../openolat/images/tick.png)}.b_order_status_canceled_icon{background-image:url(../openolat/images/ac/canceled.png)}.b_order_status_error_icon{background-image:url(../images/olat/cross.png)}.b_order_status_warning_icon{background-image:url(../openolat/images/exclamation.png)}.b_transaction_status_success_icon{background-image:url(../openolat/images/tick.png)}.b_transaction_status_waiting_icon{background-image:url(../openolat/images/exclamation.png)}.b_transaction_status_error_icon{background-image:url(../openolat/images/cross.png)}.b_transaction_status_canceled_icon{background-image:url(../openolat/images/ac/canceled.png)}.b_transaction_status_new_icon{background-image:url(../openolat/images/new-text.png)}div.b_form div.b_form_element_wrapper table.b_access_method div.b_form_element{margin-left:0}div.b_form table.b_access_method div.b_form_element span.b_form_datechooser{background-position:0 50%}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)}div.b_modal_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1}div.b_modal_overlay,div.ext-el-mask{background:#000;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=25);-moz-opacity:0.25;-khtml-opacity:0.25;opacity:0.25}div.b_window{text-align:left;border:1px solid #025d8c;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;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}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}body.b_ajax_busy{cursor:wait}div.b_ajax_busy{position:absolute;z-index:5001;left:50%;top:10px;height:32px;width:32px;background-repeat:no-repeat;background-image:url(images/ajax-loader.svg)}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}#b_msg_sticky{clear:both;padding:10px 10px 10px 50px;min-height:32px;background:#ffb651 url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px;border:none}div.b_msg-div{left:35%;position:absolute;top:10px;width:30%;z-index:20000;border:1px solid #025d8c;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}div.b_msg_warn_winicon{background:url(../openolat/images/icon_warning_32.png) no-repeat}div.b_msg_error_winicon{background:url(../openolat/images/icon_error_32.png) no-repeat}#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}.o_infomessage_wrapper{border:1px solid #ccc;background:#FAFAFA;margin-bottom:20px}.o_infomessage_wrapper .o_infomessage{padding:10px 10px 10px 50px;text-align:left;min-height:40px;background:url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px}div.b_wizard{background:#fff;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;border:1px solid #025d8c}div.b_wizard div.b_wizard_header_wrapper{background:transparent}div.b_wizard div.b_wizard_header{background:transparent;position:relative}div.b_wizard div.b_wizard_header_title{background:transparent;min-height:18px;line-height:18px;vertical-align:middle;padding:2px 5px 2px 5px}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:transparent}div.b_wizard div.b_wizard_steps_content{background:#fff;border:1px solid #555555;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px}div.b_wizard div.b_wizard_steps_list{width:20em;padding:0;color:#555555}div.b_wizard div.b_wizard_steps_list ol{list-style-type:decimal;z-index:14;font-size:100%;padding:2em 5px 5px}div.b_wizard div.b_wizard_steps_list li{line-height:1.5em;white-space:normal;margin-bottom:1em;list-style:none;padding-left:18px}div.b_wizard div.b_wizard_steps_list li.b_wizard_steps_current{font-weight:bold;background:url(../openolat/images/bullet_go.png) 0% 50% no-repeat;padding-left:18px}div.b_wizard div.b_wizard_steps_list li a{color:#555555}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:#basegray_light;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{color:#555555;font-style:normal}div.b_wizard div.b_wizard_steps_current{margin-left:20em;padding-top:0.5em;padding-bottom:0.5em}div.b_wizard div.b_wizard_steps_current_inner{padding:1em;border-left:1px solid #ccc}div.b_wizard div.b_wizard_steps_current_content{min-height:300px;position:relative}div.b_wizard div.b_wizard_footer_wrapper{background:transparent}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:"\00ab \00a0"}span.b_wizard_button_next:after,a.b_wizard_button_next span:after{content:" \00bb"}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}div.b_legacy_wizard_steps{float:right;display:inline}.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)}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs{float:left;display:inline-block;margin-bottom:1em}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul{line-height:1em;list-style:none;margin:0;padding:0;white-space:nowrap}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 #ccc;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%);-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_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}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{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 #ccc;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%);-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}button{border:none}.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 #ccc;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%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.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:1px solid #025d8c}.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:1px solid #025d8c}.b_button.b_button_preferred{background:#dce7ec;background:-moz-linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #dce7ec), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);background:linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);border:1px solid #025d8c}.b_button:focus,.b_button:hover{border:1px solid #aaa\9}.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%);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%)}.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 #ccc;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%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s "";border:1px dotted #ccc;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;cursor:default !important;color:#888}.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}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%}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}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}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%}.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 #ccc;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%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.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:#025d8c}.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:#025d8c}.b_link_left_icon{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 #ccc;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%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.b_link_left_icon > span{padding:2px 8px 0px 25px;background-color:transparent;background-repeat:no-repeat;background-position:4px center}.b_link_left_icon:focus,.b_link_left_icon: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_left_icon:focus{border-color:#025d8c}.b_link_left_icon: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:#025d8c}.b_link_to_home > span{background-image:url("../openolat/images/card-address.png")}.b_link_course > span{background-image:url("../openolat/images/book-open-next.png")}.b_link_group > span{background-image:url("../openolat/images/document-page-next.png")}.b_link_mail > span{background-image:url("../openolat/images/mail.png")}.b_link_assessment > span{background-image:url("../openolat/images/le_resources/thumb-up.png")}div.o_login div.o_login_form{margin-bottom:2em}div.o_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}input,select,textarea{border:1px solid #ACAAAA;background:#F6F6F6;line-height:1.3em;margin:0}textarea{font-family:inherit;width:100%}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(../openolat/images/pencil-small.png)}span.b_inline_editable:hover{cursor:text !important}fieldset{position:relative;padding:1em;padding-top:1.5em;border:none;border-top:1px solid #94bed3}fieldset legend{font-family:Century Gothic, Apple Gothic, sans-serif;padding:0 5px;font-size:120%;font-weight:bold}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(../openolat/images/icon_error_32.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}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}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 .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:3px}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_labels_minified div.b_form div.b_form_element_wrapper div.b_form_element_label{width:10%}div.b_labels_minified div.b_form div.b_form_element_wrapper div.b_form_element{margin-left:12%}div.form_shift_left{left:-25%}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}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}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}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}div.o_form_wrapper fieldset{min-width:60em}div.form_shift_left{position:inherit;left:-20%}div.mceExternalToolbar{background:#f0f0ee !important;overflow:auto}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}div.b_fileinput{position:relative}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;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity:0;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)}div.b_progress div.b_progress_bar{height:12px;border:1px solid #bfbfbf;background:#f3feff}div.b_progress div.b_progress_bar div{height:12px;background:#94bed3;background:-moz-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #94bed3), color-stop(100%, #025d8c));background:-webkit-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-o-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-ms-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:linear-gradient(top, #94bed3 0%, #025d8c 100%)}.b_mark_set{background-image:url("../openolat/images/flag.png") !important}.b_mark_not_set{background-image:url("../openolat/images/flag.png") !important;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}div.b_mark{width:20px;height:20px}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;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}div.b_mark a.b_mark_set span,div.b_mark a.b_mark_not_set span{display:block;width:19px;height:19px}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 tr.b_table_odd td{background:#eee}div.b_table_wrapper table{width:99.5%;margin-left:1px;border:1px solid #eeeeee}div.b_table_wrapper table tbody tr:hover td{background:#f3feff}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}div.b_table_wrapper div.b_table_empty{margin:1em 0}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}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}#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}div.b_briefcase div.b_briefcase_foldercomp{margin-top:0.5em}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;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;background:#fff;width:99.9%;border:1px solid #eee}div.b_briefcase_foldercomp table.b_briefcase_filetable thead{color:#000}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 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);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_versions_icon{background-image:url(../openolat/images/docs/document_versions.png)}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_versions_dis_icon{background-image:url(../openolat/images/docs/document_versions.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_locked_file_icon{background-image:url(../openolat/images/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}@media all{div.o_wiki_wrapper{clear:both}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 #025d8c}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)}div.o_wiki_wrapper .b_eportfolio_add,div.o_wiki_wrapper .b_eportfolio_add_again{position:absolute;top:28px;right:3px;z-index:99}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}div.o_wikimod_linkchooser{clear:both;float:left;display:inline}div.o_wikimod_filechooser{margin:0 2em;float:left;display:inline}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{margin:0.5em 0}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}div.o_wikimod-article-box table[border="1"]{border-collapse:collapse;border:1px solid #BFBFBF}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}}div.o_forum div.o_forum_switch{font-size:90%}div.o_forum div.o_forum_message{margin:1em 0 1em 0;padding:0.5em;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 12px 0px 21px;font-size:95%;color:#4F576A;float:right;border-left:1px solid #fff}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;background:transparent;margin-right:155px}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}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:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%)}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}.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(../openolat/images/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 a{font-size:0.8em;text-decoration: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 .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}div.b_portfolio_toc .type_map,div.b_portfolio_toc .type_page,div.b_portfolio_toc .type_struct,div.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}.b_eportfolio_link{background-image:url(../openolat/images/portfolio/ep_link_icon.png)}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;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:14px;-webkit-border-bottom-right-radius:14px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:14px;-moz-border-radius-bottomright:14px;-moz-border-radius-bottomleft:4px;border-top-left-radius:4px;border-top-right-radius:14px;border-bottom-right-radius:14px;border-bottom-left-radius:4px;moz-box-shadow:0 1px 3px lightgray;-ms-box-shadow:0 1px 3px lightgray;-o-box-shadow:0 1px 3px lightgray;-webkit-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}ul.b_eportfolio_maps li .b_map_info a.b_open_icon{font-size:1.2em;position:absolute;bottom:170px;right:-10px}.b_eportfolio_changelog .b_form{margin-top:20px;margin-bottom:20px}.b_eportfolio_changelog li{list-style:none}.b_eportfolio_changelog h5{margin-top:16px}.b_eportfolio_mapowner{font-style:italic;margin-bottom:8px}.b_eportfolio_mapowner div{display:inline}@media all{.epmst-green{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green,ul.b_eportfolio_maps li.template.epmst-green{background:#ecf69a;background:#ecf69a -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ecf69a), to(#ecf69a));background:#ecf69a -moz-linear-gradient(43% 71% 101deg, #ecf69a, #ecf69a);background:#ecf69a -o-linear-gradient(#ecf69a, #ecf69a);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ecf69a', EndColorStr='#ecf69a');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-green > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green{margin-top:6px;background:#ecf69a;background:#ecf69a -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ecf69a), to(#ecf69a));background:#ecf69a -moz-linear-gradient(43% 71% 101deg, #ecf69a, #ecf69a);background:#ecf69a -o-linear-gradient(#ecf69a, #ecf69a);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ecf69a', EndColorStr='#ecf69a');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green div.b_map_header h4{color:#444444}.epmst-green div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green div.b_ep_actualpage h1,.epmst-green div.b_ep_actualpage h4{color:#444444}.epmst-green div.b_pagination{float:none;position:static;width:100%}.epmst-green div.b_pagination ul{margin:0}.epmst-green 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}.epmst-green div.b_pagination li span,.epmst-green div.b_pagination li a,.epmst-green div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green div.b_eportfolio_page,.epmst-green div.b_portfolio_toc,.epmst-green div.b_eportfolio_edit{background-image:none}}@media all{.epmst-green2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green2,ul.b_eportfolio_maps li.template.epmst-green2{background:#99e44d;background:#99e44d -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99e44d), to(#cbf1a5));background:#99e44d -moz-linear-gradient(43% 71% 101deg, #99e44d, #cbf1a5);background:#99e44d -o-linear-gradient(#99e44d, #cbf1a5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99e44d', EndColorStr='#cbf1a5');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green2{margin-top:6px;background:#99e44d;background:#99e44d -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99e44d), to(#cbf1a5));background:#99e44d -moz-linear-gradient(43% 71% 101deg, #99e44d, #cbf1a5);background:#99e44d -o-linear-gradient(#99e44d, #cbf1a5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99e44d', EndColorStr='#cbf1a5');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green2 div.b_map_header h4{color:#555555}.epmst-green2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green2 div.b_ep_actualpage h1,.epmst-green2 div.b_ep_actualpage h4{color:#555555}.epmst-green2 div.b_pagination{float:none;position:static;width:100%}.epmst-green2 div.b_pagination ul{margin:0}.epmst-green2 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}.epmst-green2 div.b_pagination li span,.epmst-green2 div.b_pagination li a,.epmst-green2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green2 div.b_eportfolio_page,.epmst-green2 div.b_portfolio_toc,.epmst-green2 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-green3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green3,ul.b_eportfolio_maps li.template.epmst-green3{background:#dff0c1;background:#dff0c1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dff0c1), to(#a0d346));background:#dff0c1 -moz-linear-gradient(43% 71% 101deg, #dff0c1, #a0d346);background:#dff0c1 -o-linear-gradient(#dff0c1, #a0d346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0c1', EndColorStr='#a0d346');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green3{margin-top:6px;background:#dff0c1;background:#dff0c1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dff0c1), to(#a0d346));background:#dff0c1 -moz-linear-gradient(43% 71% 101deg, #dff0c1, #a0d346);background:#dff0c1 -o-linear-gradient(#dff0c1, #a0d346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0c1', EndColorStr='#a0d346');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green3 div.b_map_header h4{color:#555555}.epmst-green3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green3 div.b_ep_actualpage h1,.epmst-green3 div.b_ep_actualpage h4{color:#555555}.epmst-green3 div.b_pagination{float:none;position:static;width:100%}.epmst-green3 div.b_pagination ul{margin:0}.epmst-green3 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}.epmst-green3 div.b_pagination li span,.epmst-green3 div.b_pagination li a,.epmst-green3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green3 div.b_eportfolio_page,.epmst-green3 div.b_portfolio_toc,.epmst-green3 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-green4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green4,ul.b_eportfolio_maps li.template.epmst-green4{background:#d7dbb5;background:#d7dbb5 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#d7dbb5), to(#d7dbb5));background:#d7dbb5 -moz-linear-gradient(43% 71% 101deg, #d7dbb5, #d7dbb5);background:#d7dbb5 -o-linear-gradient(#d7dbb5, #d7dbb5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#d7dbb5', EndColorStr='#d7dbb5');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green4{margin-top:6px;background:#d7dbb5;background:#d7dbb5 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#d7dbb5), to(#d7dbb5));background:#d7dbb5 -moz-linear-gradient(43% 71% 101deg, #d7dbb5, #d7dbb5);background:#d7dbb5 -o-linear-gradient(#d7dbb5, #d7dbb5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#d7dbb5', EndColorStr='#d7dbb5');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green4 div.b_map_header h4{color:#555555}.epmst-green4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green4 div.b_ep_actualpage h1,.epmst-green4 div.b_ep_actualpage h4{color:#555555}.epmst-green4 div.b_pagination{float:none;position:static;width:100%}.epmst-green4 div.b_pagination ul{margin:0}.epmst-green4 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}.epmst-green4 div.b_pagination li span,.epmst-green4 div.b_pagination li a,.epmst-green4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green4 div.b_eportfolio_page,.epmst-green4 div.b_portfolio_toc,.epmst-green4 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-red{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red,ul.b_eportfolio_maps li.template.epmst-red{background:#ffba71;background:#ffba71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffba71), to(#ffba99));background:#ffba71 -moz-linear-gradient(43% 71% 101deg, #ffba71, #ffba99);background:#ffba71 -o-linear-gradient(#ffba71, #ffba99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffba71', EndColorStr='#ffba99');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red{margin-top:6px;background:#ffba71;background:#ffba71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffba71), to(#ffba99));background:#ffba71 -moz-linear-gradient(43% 71% 101deg, #ffba71, #ffba99);background:#ffba71 -o-linear-gradient(#ffba71, #ffba99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffba71', EndColorStr='#ffba99');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red div.b_map_header h4{color:#444444}.epmst-red div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red div.b_ep_actualpage h1,.epmst-red div.b_ep_actualpage h4{color:#444444}.epmst-red div.b_pagination{float:none;position:static;width:100%}.epmst-red div.b_pagination ul{margin:0}.epmst-red 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}.epmst-red div.b_pagination li span,.epmst-red div.b_pagination li a,.epmst-red div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red div.b_eportfolio_page,.epmst-red div.b_portfolio_toc,.epmst-red div.b_eportfolio_edit{background-image:none}}@media all{.epmst-red2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red2,ul.b_eportfolio_maps li.template.epmst-red2{background:#ff9772;background:#ff9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ff9772), to(#ff9780));background:#ff9772 -moz-linear-gradient(43% 71% 101deg, #ff9772, #ff9780);background:#ff9772 -o-linear-gradient(#ff9772, #ff9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ff9772', EndColorStr='#ff9780');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red2{margin-top:6px;background:#ff9772;background:#ff9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ff9772), to(#ff9780));background:#ff9772 -moz-linear-gradient(43% 71% 101deg, #ff9772, #ff9780);background:#ff9772 -o-linear-gradient(#ff9772, #ff9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ff9772', EndColorStr='#ff9780');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red2 div.b_map_header h4{color:#444444}.epmst-red2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red2 div.b_ep_actualpage h1,.epmst-red2 div.b_ep_actualpage h4{color:#444444}.epmst-red2 div.b_pagination{float:none;position:static;width:100%}.epmst-red2 div.b_pagination ul{margin:0}.epmst-red2 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}.epmst-red2 div.b_pagination li span,.epmst-red2 div.b_pagination li a,.epmst-red2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red2 div.b_eportfolio_page,.epmst-red2 div.b_portfolio_toc,.epmst-red2 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-red3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red3,ul.b_eportfolio_maps li.template.epmst-red3{background:#e8afbb;background:#e8afbb -webkit-gradient(linear, 37% 20%, 53% 100%, from(#e8afbb), to(#e8afa0));background:#e8afbb -moz-linear-gradient(43% 71% 101deg, #e8afbb, #e8afa0);background:#e8afbb -o-linear-gradient(#e8afbb, #e8afa0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#e8afbb', EndColorStr='#e8afa0');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red3{margin-top:6px;background:#e8afbb;background:#e8afbb -webkit-gradient(linear, 37% 20%, 53% 100%, from(#e8afbb), to(#e8afa0));background:#e8afbb -moz-linear-gradient(43% 71% 101deg, #e8afbb, #e8afa0);background:#e8afbb -o-linear-gradient(#e8afbb, #e8afa0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#e8afbb', EndColorStr='#e8afa0');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red3 div.b_map_header h4{color:#444444}.epmst-red3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red3 div.b_ep_actualpage h1,.epmst-red3 div.b_ep_actualpage h4{color:#444444}.epmst-red3 div.b_pagination{float:none;position:static;width:100%}.epmst-red3 div.b_pagination ul{margin:0}.epmst-red3 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}.epmst-red3 div.b_pagination li span,.epmst-red3 div.b_pagination li a,.epmst-red3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red3 div.b_eportfolio_page,.epmst-red3 div.b_portfolio_toc,.epmst-red3 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-red4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red4,ul.b_eportfolio_maps li.template.epmst-red4{background:#ffa800;background:#ffa800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffa800), to(#ffaf00));background:#ffa800 -moz-linear-gradient(43% 71% 101deg, #ffa800, #ffaf00);background:#ffa800 -o-linear-gradient(#ffa800, #ffaf00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffa800', EndColorStr='#ffaf00');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red4{margin-top:6px;background:#ffa800;background:#ffa800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffa800), to(#ffaf00));background:#ffa800 -moz-linear-gradient(43% 71% 101deg, #ffa800, #ffaf00);background:#ffa800 -o-linear-gradient(#ffa800, #ffaf00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffa800', EndColorStr='#ffaf00');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red4 div.b_map_header h4{color:#444444}.epmst-red4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red4 div.b_ep_actualpage h1,.epmst-red4 div.b_ep_actualpage h4{color:#444444}.epmst-red4 div.b_pagination{float:none;position:static;width:100%}.epmst-red4 div.b_pagination ul{margin:0}.epmst-red4 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}.epmst-red4 div.b_pagination li span,.epmst-red4 div.b_pagination li a,.epmst-red4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red4 div.b_eportfolio_page,.epmst-red4 div.b_portfolio_toc,.epmst-red4 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-blue{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue,ul.b_eportfolio_maps li.template.epmst-blue{background:#00d2f8;background:#00d2f8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00d2f8), to(#4a9ead));background:#00d2f8 -moz-linear-gradient(43% 71% 101deg, #00d2f8, #4a9ead);background:#00d2f8 -o-linear-gradient(#00d2f8, #4a9ead);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00d2f8', EndColorStr='#4a9ead');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue{margin-top:6px;background:#00d2f8;background:#00d2f8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00d2f8), to(#4a9ead));background:#00d2f8 -moz-linear-gradient(43% 71% 101deg, #00d2f8, #4a9ead);background:#00d2f8 -o-linear-gradient(#00d2f8, #4a9ead);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00d2f8', EndColorStr='#4a9ead');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue div.b_map_header h4{color:#444444}.epmst-blue div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue div.b_ep_actualpage h1,.epmst-blue div.b_ep_actualpage h4{color:#444444}.epmst-blue div.b_pagination{float:none;position:static;width:100%}.epmst-blue div.b_pagination ul{margin:0}.epmst-blue 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}.epmst-blue div.b_pagination li span,.epmst-blue div.b_pagination li a,.epmst-blue div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue div.b_eportfolio_page,.epmst-blue div.b_portfolio_toc,.epmst-blue div.b_eportfolio_edit{background-image:none}}@media all{.epmst-blue2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue2,ul.b_eportfolio_maps li.template.epmst-blue2{background:#c4f6ff;background:#c4f6ff -webkit-gradient(linear, 37% 20%, 53% 100%, from(#c4f6ff), to(#c4f6ff));background:#c4f6ff -moz-linear-gradient(43% 71% 101deg, #c4f6ff, #c4f6ff);background:#c4f6ff -o-linear-gradient(#c4f6ff, #c4f6ff);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#c4f6ff', EndColorStr='#c4f6ff');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue2{margin-top:6px;background:#c4f6ff;background:#c4f6ff -webkit-gradient(linear, 37% 20%, 53% 100%, from(#c4f6ff), to(#c4f6ff));background:#c4f6ff -moz-linear-gradient(43% 71% 101deg, #c4f6ff, #c4f6ff);background:#c4f6ff -o-linear-gradient(#c4f6ff, #c4f6ff);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#c4f6ff', EndColorStr='#c4f6ff');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue2 div.b_map_header h4{color:#444444}.epmst-blue2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue2 div.b_ep_actualpage h1,.epmst-blue2 div.b_ep_actualpage h4{color:#444444}.epmst-blue2 div.b_pagination{float:none;position:static;width:100%}.epmst-blue2 div.b_pagination ul{margin:0}.epmst-blue2 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}.epmst-blue2 div.b_pagination li span,.epmst-blue2 div.b_pagination li a,.epmst-blue2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue2 div.b_eportfolio_page,.epmst-blue2 div.b_portfolio_toc,.epmst-blue2 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-blue3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue3,ul.b_eportfolio_maps li.template.epmst-blue3{background:#b3e2f7;background:#b3e2f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#b3e2f7), to(#b3e2f7));background:#b3e2f7 -moz-linear-gradient(43% 71% 101deg, #b3e2f7, #b3e2f7);background:#b3e2f7 -o-linear-gradient(#b3e2f7, #b3e2f7);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#b3e2f7', EndColorStr='#b3e2f7');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue3{margin-top:6px;background:#b3e2f7;background:#b3e2f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#b3e2f7), to(#b3e2f7));background:#b3e2f7 -moz-linear-gradient(43% 71% 101deg, #b3e2f7, #b3e2f7);background:#b3e2f7 -o-linear-gradient(#b3e2f7, #b3e2f7);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#b3e2f7', EndColorStr='#b3e2f7');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue3 div.b_map_header h4{color:#444444}.epmst-blue3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue3 div.b_ep_actualpage h1,.epmst-blue3 div.b_ep_actualpage h4{color:#444444}.epmst-blue3 div.b_pagination{float:none;position:static;width:100%}.epmst-blue3 div.b_pagination ul{margin:0}.epmst-blue3 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}.epmst-blue3 div.b_pagination li span,.epmst-blue3 div.b_pagination li a,.epmst-blue3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue3 div.b_eportfolio_page,.epmst-blue3 div.b_portfolio_toc,.epmst-blue3 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-blue4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue4,ul.b_eportfolio_maps li.template.epmst-blue4{background:#dee7f7;background:#dee7f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dee7f7), to(#c1e9fd));background:#dee7f7 -moz-linear-gradient(43% 71% 101deg, #dee7f7, #c1e9fd);background:#dee7f7 -o-linear-gradient(#dee7f7, #c1e9fd);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dee7f7', EndColorStr='#c1e9fd');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue4{margin-top:6px;background:#dee7f7;background:#dee7f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dee7f7), to(#c1e9fd));background:#dee7f7 -moz-linear-gradient(43% 71% 101deg, #dee7f7, #c1e9fd);background:#dee7f7 -o-linear-gradient(#dee7f7, #c1e9fd);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dee7f7', EndColorStr='#c1e9fd');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue4 div.b_map_header h4{color:#444444}.epmst-blue4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue4 div.b_ep_actualpage h1,.epmst-blue4 div.b_ep_actualpage h4{color:#444444}.epmst-blue4 div.b_pagination{float:none;position:static;width:100%}.epmst-blue4 div.b_pagination ul{margin:0}.epmst-blue4 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}.epmst-blue4 div.b_pagination li span,.epmst-blue4 div.b_pagination li a,.epmst-blue4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue4 div.b_eportfolio_page,.epmst-blue4 div.b_portfolio_toc,.epmst-blue4 div.b_eportfolio_edit{background-image:none}}li.default .b_map_info p{color:#bbb}li.comic .b_map_info p{color:#88a5c4}li.leather .b_map_info p{color:#C2A074}.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(../openolat/images/arrow_right.png) no-repeat center right;padding-right:16px}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(../openolat/images/arrow_right.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}.b_eportfolio_page,.b_portfolio_toc,.b_eportfolio_edit,.b_eportfolio_changelog{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}.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(../openolat/images/portfolio/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_form.b_eportfolio_tag_selector{min-width:40em}div.b_eportfolio_restriction_wrapper a.b_togglebox_opened{z-index:10;display:block;width:20px;height:20px;padding:0;margin-left:12px}div.b_eportfolio_restriction_wrapper a.b_togglebox_closed{display:block;width:20px;height:20px;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;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-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 7px !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 7px !important}div.b_eportfolio_restriction_error div.b_togglebox_closed{background:transparent url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 5px !important}div.b_eportfolio_restriction_passed div.b_togglebox_closed{background:transparent url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 5px !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;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-ms-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-o-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%)}.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}.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-top-left-radius:7px;-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.default div.b_pagination li a{padding:1em;padding:5px 8px}.default div.b_pagination li,.default div.b_pagination li span,.default div.b_pagination li a{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.b_changelog{float:right}.default div.b_eportfolio_page,.default div.b_portfolio_toc,.default div.b_eportfolio_edit,.default div.b_eportfolio_changelog{background-image:none}.b_eportfolio_map.comic{background:#a2c3e8 none;padding:30px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:10px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:0;-moz-border-radius-topright:10px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:0;border-top-right-radius:10px;border-bottom-right-radius:0;border-bottom-left-radius:0}.comic{font-family:'Comic Sans MS', 'Comic Sans', fantasy}.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,.comic div.b_pagination li span,.comic div.b_pagination li a{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,.comic div.b_pagination li.b_changelog{background-image:url(../openolat/images/portfolio/postit_pink.png)}.b_eportfolio_map.leather{background:url(../openolat/images/portfolio/light-leather-tile.jpg)}.leather{font-family:Palatino, Georgia, serif}.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 .b_eportfolio_mapowner{color:#fff}.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-top-left-radius:7px;-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.leather div.b_pagination li a{padding:1em;padding:5px 8px}.leather div.b_pagination li,.leather div.b_pagination li span,.leather div.b_pagination li a{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.b_changelog{float:right}.leather div.b_eportfolio_page,.leather div.b_portfolio_toc,.leather div.b_eportfolio_edit,.leather div.b_eportfolio_changelog{background-image:none}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}#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}#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}#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(../openolat/images/edit_bg.png);background-position:top left}#o_qti_hints,#o_qti_solutions{margin:1em 0}#o_qti_hints a{background:url(../openolat/images/light-bulb.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}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%}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_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;border-top:1px solid #94bed3}.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{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1;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{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.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(../openolat/images/information-white.png) no-repeat left 50%;padding-left:20px;line-height:2em}.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)}.onyx_iframe{width:100%;height:100%;border:none;min-height:60em}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}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}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)}#b_main.o_editor #b_col3{background-image:url(../openolat/images/edit_bg.png);background-position:top left;background-repeat:repeat}#b_main.o_editor div.b_tabbedpane_wrapper div.b_tabbedpane_content{background:#fff}#b_main_toolbar.o_course_breadcumbs div.b_breadcumb_path ul li.b_first{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}a.b_preview{background-image:url(../openolat/images/docs/document_preview.png);background-repeat:no-repeat;background-position:left;padding:2px 0 2px 20px}fieldset a.b_preview,div.b_tabbedpane_wrapper a.b_preview{position:absolute}div.b_module_singlepage_wrapper a.b_content_edit{position:absolute;top:0;right:20px;display:inline;background:url(../openolat/images/docs/document--pencil.png) no-repeat top left;width:16px;height:16px;margin:3px}div.b_module_singlepage_wrapper a.b_content_download{position:absolute;top:0;z-index:10;background:url(../openolat/images/docs/document_download.png) no-repeat top left;padding-left:20px;margin-top:3px;min-height:19px;height:19px}div.b_titled_wrapper div.b_module_singlepage_wrapper a.b_content_download{position:relative;padding-bottom:3px}div.b_titled_wrapper div.b_module_singlepage_wrapper div.b_iframe_wrapper{margin-top:3px}#b_content_popup{float:right;background:url(../openolat/images/applications.png) no-repeat top left;width:16px;height:16px;margin:3px}#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%}div.o_buttons_box_right{position:absolute;top:0;right:0}div.o_course_run div.o_course_run_displaytitle{font-style:italic}div.o_course_run div.o_course_run_objectives{background-color:#E9EAEF;padding:5px 5px 5px 25px;margin:0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_scoreinfo{background:#e9eaef url(../openolat/images/seal.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_disclaimer{background:#e9eaef url(../openolat/images/information-white.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_groupinfo{background:#e9eaef url(../openolat/images/users.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_statusinfo{background:url(../openolat/images/bullet_go.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_returnbox{background:#e9eaef url(../openolat/images/box_return.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_dropbox{background:#e9eaef url(../openolat/images/box_drop.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_solutionbox{background:#e9eaef url(../openolat/images/box_solution.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_task{background:#e9eaef url(../openolat/images/assign.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_disclaimer h4,div.o_course_run div.o_course_run_objectives h4,div.o_course_run div.o_course_run_scoreinfo h4,div.o_course_run div.o_course_run_returnbox h4,div.o_course_run div.o_course_run_dropbox h4,div.o_course_run div.o_course_run_solutionbox h4,div.o_course_run div.o_course_run_task h4,div.o_course_run div.o_course_run_log h4{font-size:100%;margin:0 0 1em 0}div.o_course_run div.o_course_run_scoreinfo_noinfo{font-style:italic;font-weight:bold}div.o_course_run div.o_course_run_toc{margin:1em 0 0 0}div.o_course_run div.o_course_run_toc div.o_course_run_toc_entry{margin:0 0 1em 0;padding:1em 20px 0 0}div.o_course_run div.o_course_run_toc div.o_course_run_shorttitle{border-bottom:1px solid #ACAAAA}div.o_course_run div.o_course_run_toc div.o_course_run_displaytitle{margin-top:0.5em;color:#aaaaaa}div.o_course_run div.o_course_run_toc div.o_course_run_objectives{margin:1em 0 1em 0;border:0;background:none}div.o_course_run div.o_course_run_toc div.o_course_run_toc_entry{background:#FBFBFB;padding:5px;border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run #b_content_popup{position:absolute;top:0;right:0}div.o_sp_peekview{margin:1em 0 1em 0}div.o_sp_peekview ul{list-style:none}div.o_sp_peekview li{margin-top:0.5em}div.o_peekview_author{padding:3px 0 5px 0;font-style:italic;color:#aaaaaa;font-size:90%}#b_preview_wrapper{clear:both;padding:10px;background:#fff;border-bottom:1px solid #94bed3}#b_main.b_preview{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;background:white url(../openolat/images/prevbg.png) repeat}body.b_full_screen{background-color:white;background-image:none}body.b_full_screen #b_page_margins{display:none}body.b_full_screen div.b_modal_area{margin:2%;width:96%}body.b_full_screen div#b_preview_wrapper{margin:0;border:0;padding:0;background:#5e5e5e;background:-moz-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5e5e5e), color-stop(50%, #444444), color-stop(51%, #222222), color-stop(100%, #3c3c3c));background:-webkit-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-o-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-ms-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%)}body.b_full_screen div#b_preview_wrapper div.b_preview_link{border:none}body.b_full_screen div#b_preview_wrapper div.b_preview_link a.b_link_back{margin:0.5em}body.b_full_screen div#b_preview_wrapper div.b_preview_link div.b_preview_wrapper_loading{background:transparent url(../openolat/images/ajax-loader.gif) no-repeat top left}div#b_preview_wrapper div#b_preview_wrapper_message{float:right;padding-left:16px;width:100px}div.o_scorm a.b_link_close{padding-right:20px}div.o_scorm div.o_scorm_navigation{float:right;display:inline;padding:3px;background:#fefefe;background:-moz-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fefefe), color-stop(50%, #e3e3e3), color-stop(51%, #cfcfcf), color-stop(100%, #f3f3f3));background:-webkit-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-o-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-ms-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);border:1px solid #504D4E;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;margin:0.2em}div.o_scorm div.o_scorm_navigation a{margin:0 2px}div.o_scorm div.o_scorm_navigation a.o_scorm_previous_icon{background-image:url(../openolat/images/arrow_left_big.png)}div.o_scorm div.o_scorm_navigation a.o_scorm_next_icon{background-image:url(../openolat/images/arrow_right_big.png)}div.o_scorm div.o_scorm_navigation a.hover{background-color:none}.o_scorm_completed,.o_scorm_passed{top:6px;left:6px;background-image:url("../openolat/images/decorator/deco_ok.png")}.o_scorm_failed{top:6px;left:6px !important;background-image:url("../openolat/images/decorator/deco_error.png")}.o_scorm_incomplete{top:6px;left:6px;background-image:url("../openolat/images/decorator/deco_warn.png")}.o_scorm_not_attempted{top:6px;left:6px;background-image:none}div.o_members_search{padding-top:10px;padding-left:10px}div.filters{text-align:center;padding-top:1.5em}div.o_members_search div.searchitem{margin-bottom:0.5em}div.searchitem select,div.searchitem input{width:250px}.o_members_register{margin-bottom:5px}.o_members_register_active{font-weight:bold;font-size:120%}div.o_members_paging{width:100%;padding-bottom:1em;padding-top:0.5em;text-align:center}div.o_members_paging div{padding-left:1em;padding-right:1em;display:inline}div.o_bcard{background-color:#eee;margin-top:10px;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-o-border-radius:6px}div.o_bcard_header,div.o_members_header{padding:6px;border-bottom:1px solid #fff}div.o_bcard_portrait{float:left;display:inline;width:100px;height:100px;margin:10px}div.o_bcard_portrait img{border:1px #d3d3d3 solid}div.o_bcard_portrait_group{background-image:url(../openolat/images/group_100x100.png);border:1px #d3d3d3 solid}div.o_bcard_text{margin-left:120px;margin-top:10px;line-height:150%}div.o_bcard_footer{text-align:right;clear:both;font-size:95%;color:#1f49b3;padding:5px}.popup_iframe{width:100%;height:100%;border:none;min-height:60em}div.o_reservation{position:relative;padding-bottom:15px}div.o_reservation span.o_reservation_name{padding-left:20px}div.o_reservation span.o_reservation_accepted{background:transparent url(../openolat/images/tick.png) top left no-repeat}div.o_reservation span.o_reservation_refused{background:transparent url(../openolat/images/cross.png) top left no-repeat}div.o_reservation div.o_reservation_details{padding:5px 0 0 20px}div.o_reservation ul{list-style:none}div.o_reservation ul li{background-repeat:no-repeat}div.o_infomsgs{padding-top:5px}div.o_infomsgs div.b_datecomp{top:2px;float:left;display:inline}div.o_infomsgs div.o_infomsg{margin-bottom:1em;padding:10px 0 0 0}div.o_infomsgs .b_year{display:none}div.o_infomsgs .o_item_info{color:#7D7D7D;font-size:90%}div.o_infomsgs .o_item_info .o_item_info_mod{color:#98221F}div.b_table_wrapper td a.o_peekview_infomsg_link{display:inline}div.o_infomsgs_config{padding-bottom:5px}div.o_infomsgs_config div{display:inline}.o_infomsg_icon{background-image:url(../openolat/images/information-button.png)}.o_infomsg_create_button{position:absolute;top:0;right:250px}.b_mail_icon{background-image:url(../openolat/images/mail.png)}div.b_mail_message div.b_form_element_wrapper:first-child div.b_form_element{font-weight:bold}.b_mail_new{width:20px !important;background-image:url(../openolat/images/new-text.png)}.b_table_wrapper span.b_mail_unread{display:block;display:inline-block;width:16px;height:16px;background:transparent url(../openolat/images/bullet_black.png) top left no-repeat}.b_table_wrapper span.b_mail_read{display:block;display:inline-block;width:16px;height:16px}.b_table_wrapper span.b_mail_marked{display:block;display:inline-block;width:16px;height:16px;background:transparent url(../openolat/images/flag.png) top left no-repeat}.b_table_wrapper span.b_mail_unmarked{display:block;display:inline-block;width:16px;height:16px}.b_table_wrapper .b_marked{font-weight:bold}ul.b_mail_attachments{list-style:none;margin:0;padding:0}ul.b_mail_attachments li{margin:0}div.o_cmembers *{vertical-align:middle}div.o_cmembers div.o_cmember{float:left;width:30%;height:50px;overflow:hidden;margin:5px 5px 5px 0;padding:8px;border:1px solid #ddd;background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 2px #d3d3d3;-ms-box-shadow:0 1px 2px #d3d3d3;-o-box-shadow:0 1px 2px #d3d3d3;-webkit-box-shadow:0 1px 2px #d3d3d3;box-shadow:0 1px 2px #d3d3d3}div.o_cmembers div.o_cmember *{vertical-align:middle}div.o_cmembers div.o_cmember .o_cmember_portrait_wrapper{background-color:white;float:left;height:100%;width:50px;overflow:hidden;margin-right:5px;border:1px solid #ddd}div.o_cmembers div.o_cmember .o_cmember_portrait_wrapper img.o_cmember_portrait{background-color:white;min-width:50px;background-position:50% 50%;background-repeat:no-repeat}div.o_cmembers div.o_cmember .o_cmember_info_wrapper{padding:16px 0px}div.o_cmembers a.o_cmembers_mail{float:none;margin-left:5px;padding-left:20px;background-image:url(../openolat/images/mail.png)}div.o_cmembers a.o_cmembers_mail span{display:none}div.o_cmembers h4{padding:7px 0 0 0;clear:both}div.o_ll_container ul li{list-style:circle;margin:1em}div.o_ll_container ul li div{font-style:italic}a.o_ll_browse span{display:block;width:20px;height:18px;background:url(../openolat/images/library.png) top left no-repeat;margin-left:1px}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}img.o_portrait_dummy{background-image:url(../openolat/images/dummy.png);width:100px;height:100px}img.o_portrait_dummy_small{background-image:url(../openolat/images/dummy_small.png)}img.o_portrait_dummy_female_big{background-image:url(../openolat/images/dummy_female_big.png);width:100px;height:100px}img.o_portrait_dummy_female_small{background-image:url(../openolat/images/dummy_female_small.png)}img.o_portrait_dummy_male_big{background-image:url(../openolat/images/dummy_male_big.png);width:100px;height:100px}img.o_portrait_dummy_male_small{background-image:url(../openolat/images/dummy_male_small.png)}ul.o_sel_repository_owners{list-style:none;margin:0;padding:0;white-space:nowrap}ul.o_sel_repository_owners li{margin:0}div.fx_portal_admin{margin-top:10px}div.fx_portlets_column{width:30%;float:left;margin-right:10px}div.fx_portlets_column div.b_portlet{min-height:1em}div.fx_portlets_column_name{padding:5px 5px 0px 5px}div.fx_portlets_column_name span{color:#4F576A;font-weight:bold;text-deocration:underline}div.fx_portlets_column_portlets{border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%)}div.fx_available_portlets{width:28%;float:right}div.fx_available_portlets div.b_portlet{min-height:1em}div.fx_portlets_admin_column{min-height:12em}div.fx_site_admin_column{float:left}div.fx_site_admin_column div.fx_site_definition{min-height:1em}div.o_notifications_news_datechooser{border-bottom:1px solid #bbb;padding:1em 0 1em 0}div.o_notifications_news_datechooser label{padding-right:1em}div.o_notifications_news_subscription{margin:1.5em 0 2em 0}div.o_notifications_news_subscription h4{font-size:110%}div.o_notifications_news_subscription h4.o_returnbox_icon{background-image:url(../openolat/images/box_return.png) !important}div.o_notifications_news_context{color:#7D7D7D;font-size:90%}div.o_notifications_news_content{margin:0.5em 0 0.5em 0}div.o_notifications_news_content ul{list-style-type:none;margin:0}#o_search_form{margin:5px;position:relative}#o_search_form_toggler{background-image:url(../openolat/images/magnifier-zoom.png);cursor:pointer}#o_search_form_content div.b_form div.b_form_element_wrapper div.b_form_element_wrapper{margin:0.5em 0}#o_search_form div.b_contexthelp_wrapper a.b_contexthelp{right:0}#o_search_results{border-top:1px solid #eee;margin:5px}#o_search_results_header{line-height:16px;vertical-align:middle;background:url(../openolat/images/magnifier-zoom.png) no-repeat center left #f8f8f8;padding:2px 2px 2px 20px;margin-bottom:5px}#o_search_results_header div.o_search_results_stats{float:right;display:inline;font-size:90%}#o_search_results_header span.o_search_highlight{padding-left:2em}#o_search_results_header.o_search_did_you_mean,#o_search_results_header.o_search_no_results{background-image:url(../openolat/images/exclamation.png);color:#990000}#o_search_results_header.o_search_did_you_mean span.o_search_did_you_mean_words{color:#000;font-weight:bold}#o_search_results_header #o_search_pageing{padding-left:2em;display:inline}#o_search_pageing_bottom{text-align:center;background:#F8F8F8;border-bottom:1px solid #eee;padding:3px}#o_search_results_toomany{background:url(../openolat/images/exclamation.png) no-repeat center left #f8f8f8;color:#990000;padding:5px 0 3px 20px;position:relative;top:-5px;margin-bottom:5px}div.o_search_result{margin:0 0 1em 0;padding:1em 0 0 0}div.o_search_result_title a{font-weight:bold}div.o_search_result_title a.o_search_result_details_link{margin-left:1em;font-weight:normal;font-size:90%;vertical-align:bottom}div.o_search_result_excerpt{padding:2px 0 1px 0;font-size:95%;max-width:60em}div.o_search_result_excerpt span.o_search_result_highlight{font-weight:bold;background-color:#FFFF80}div.o_search_result_context,div.o_search_result_author,div.o_search_result_lastmod,div.o_search_result_type,div.o_search_result_desc{padding:1px 0;font-size:90%;color:#667}a.o_fulltext_search_button{background:url(../openolat/images/magnifier-zoom.png) top left no-repeat}div.error-box{width:400px;margin:30px auto;padding:20px;border:2px solid #025d8c;border-radius:6px;background:white;moz-box-shadow:0 2px 4px #cccccc;-ms-box-shadow:0 2px 4px #cccccc;-o-box-shadow:0 2px 4px #cccccc;-webkit-box-shadow:0 2px 4px #cccccc;box-shadow:0 2px 4px #cccccc;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-o-border-radius:6px}div.error-box h1{background-image:url(../openolat/images/icon_warning_32.png);background-repeat:no-repeat;padding-left:30px;font-size:14pt;font-weight:bold}.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}*:first-child + html div.holder{padding-bottom:2px}* html div.holder{padding-bottom:2px}.textbox-outer{list-style-type:none;margin-left:0em}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{font-size:80%;min-width:200px;width:auto;margin:0;overflow:hidden;height:auto !important;height:1%;padding:0px 0px 0;cursor:text}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 .maininput{border:1px solid #eeeeee}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}ol.textbox-outer{margin:0;padding:0}.textboxlist-auto{position:absolute;width:300px;overflow:visible;display:none;background:#eee;z-index:2}.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}.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 .textboxlist-auto ul li{margin-left:0}.b_wizard div.holder a.bit-input input{background:#f8f8f8;padding:0.4em}.clgen_font_arial{font-family:arial,helvetica}.clgen_font_arial_black{font-family:arial black,avant garde}.clgen_font_comic{font-family:comic sans ms,sans-serif}.clgen_font_courier{font-family:courier new,courier}.clgen_font_georgia{font-family:georgia,serif}.clgen_font_impact{font-family:impact,chicago}.clgen_font_lucida{font-family:lucida console,monaco,monospace}.clgen_font_palatino{font-family:palatino linotype,book antiqua,palatino,serif}.clgen_font_times{font-family:times new roman,times}.clgen_font_verdana{font-family:verdana,geneva,sans-serif}.clgen_font_xxlarge{font-size:130%}.clgen_font_xxsmall{font-size:70%}option.Black{background-color:Black}option.Navy{background-color:Navy}option.DarkBlue{background-color:DarkBlue}option.MediumBlue{background-color:MediumBlue}option.Blue{background-color:Blue}option.DarkGreen{background-color:DarkGreen}option.Green{background-color:Green}option.Teal{background-color:Teal}option.DarkCyan{background-color:DarkCyan}option.DeepSkyBlue{background-color:DeepSkyBlue}option.DarkTurquoise{background-color:DarkTurquoise}option.MediumSpringGreen{background-color:MediumSpringGreen}option.Lime{background-color:Lime}option.SpringGreen{background-color:SpringGreen}option.Aqua{background-color:Aqua}option.Cyan{background-color:Cyan}option.MidnightBlue{background-color:MidnightBlue}option.DodgerBlue{background-color:DodgerBlue}option.LightSeaGreen{background-color:LightSeaGreen}option.ForestGreen{background-color:ForestGreen}option.SeaGreen{background-color:SeaGreen}option.DarkSlateGray{background-color:DarkSlateGray}option.DarkSlateGrey{background-color:DarkSlateGrey}option.LimeGreen{background-color:LimeGreen}option.MediumSeaGreen{background-color:MediumSeaGreen}option.Turquoise{background-color:Turquoise}option.RoyalBlue{background-color:RoyalBlue}option.SteelBlue{background-color:SteelBlue}option.DarkSlateBlue{background-color:DarkSlateBlue}option.MediumTurquoise{background-color:MediumTurquoise}option.Indigo{background-color:Indigo}option.DarkOliveGreen{background-color:DarkOliveGreen}option.CadetBlue{background-color:CadetBlue}option.CornflowerBlue{background-color:CornflowerBlue}option.MediumAquaMarine{background-color:MediumAquaMarine}option.DimGray{background-color:DimGray}option.DimGrey{background-color:DimGrey}option.SlateBlue{background-color:SlateBlue}option.OliveDrab{background-color:OliveDrab}option.SlateGray{background-color:SlateGray}option.SlateGrey{background-color:SlateGrey}option.LightSlateGray{background-color:LightSlateGray}option.LightSlateGrey{background-color:LightSlateGrey}option.MediumSlateBlue{background-color:MediumSlateBlue}option.LawnGreen{background-color:LawnGreen}option.Chartreuse{background-color:Chartreuse}option.Aquamarine{background-color:Aquamarine}option.Maroon{background-color:Maroon}option.Purple{background-color:Purple}option.Olive{background-color:Olive}option.Gray{background-color:Gray}option.Grey{background-color:Grey}option.SkyBlue{background-color:SkyBlue}option.LightSkyBlue{background-color:LightSkyBlue}option.BlueViolet{background-color:BlueViolet}option.DarkRed{background-color:DarkRed}option.DarkMagenta{background-color:DarkMagenta}option.SaddleBrown{background-color:SaddleBrown}option.DarkSeaGreen{background-color:DarkSeaGreen}option.LightGreen{background-color:LightGreen}option.MediumPurple{background-color:MediumPurple}option.DarkViolet{background-color:DarkViolet}option.PaleGreen{background-color:PaleGreen}option.DarkOrchid{background-color:DarkOrchid}option.YellowGreen{background-color:YellowGreen}option.Sienna{background-color:Sienna}option.Brown{background-color:Brown}option.DarkGray{background-color:DarkGray}option.DarkGrey{background-color:DarkGrey}option.LightBlue{background-color:LightBlue}option.GreenYellow{background-color:GreenYellow}option.PaleTurquoise{background-color:PaleTurquoise}option.LightSteelBlue{background-color:LightSteelBlue}option.PowderBlue{background-color:PowderBlue}option.FireBrick{background-color:FireBrick}option.DarkGoldenRod{background-color:DarkGoldenRod}option.MediumOrchid{background-color:MediumOrchid}option.RosyBrown{background-color:RosyBrown}option.DarkKhaki{background-color:DarkKhaki}option.Silver{background-color:Silver}option.MediumVioletRed{background-color:MediumVioletRed}option.IndianRed{background-color:IndianRed}option.Peru{background-color:Peru}option.Chocolate{background-color:Chocolate}option.Tan{background-color:Tan}option.LightGray{background-color:LightGray}option.LightGrey{background-color:LightGrey}option.PaleVioletRed{background-color:PaleVioletRed}option.Thistle{background-color:Thistle}option.Orchid{background-color:Orchid}option.GoldenRod{background-color:GoldenRod}option.Crimson{background-color:Crimson}option.Gainsboro{background-color:Gainsboro}option.Plum{background-color:Plum}option.BurlyWood{background-color:BurlyWood}option.LightCyan{background-color:LightCyan}option.Lavender{background-color:Lavender}option.DarkSalmon{background-color:DarkSalmon}option.Violet{background-color:Violet}option.PaleGoldenRod{background-color:PaleGoldenRod}option.LightCoral{background-color:LightCoral}option.Khaki{background-color:Khaki}option.AliceBlue{background-color:AliceBlue}option.HoneyDew{background-color:HoneyDew}option.Azure{background-color:Azure}option.SandyBrown{background-color:SandyBrown}option.Wheat{background-color:Wheat}option.Beige{background-color:Beige}option.WhiteSmoke{background-color:WhiteSmoke}option.MintCream{background-color:MintCream}option.GhostWhite{background-color:GhostWhite}option.Salmon{background-color:Salmon}option.AntiqueWhite{background-color:AntiqueWhite}option.Linen{background-color:Linen}option.LightGoldenRodYellow{background-color:LightGoldenRodYellow}option.OldLace{background-color:OldLace}option.Red{background-color:Red}option.Fuchsia{background-color:Fuchsia}option.Magenta{background-color:Magenta}option.DeepPink{background-color:DeepPink}option.OrangeRed{background-color:OrangeRed}option.Tomato{background-color:Tomato}option.HotPink{background-color:HotPink}option.Coral{background-color:Coral}option.Darkorange{background-color:Darkorange}option.LightSalmon{background-color:LightSalmon}option.Orange{background-color:Orange}option.LightPink{background-color:LightPink}option.Pink{background-color:Pink}option.Gold{background-color:Gold}option.PeachPuff{background-color:PeachPuff}option.NavajoWhite{background-color:NavajoWhite}option.Moccasin{background-color:Moccasin}option.Bisque{background-color:Bisque}option.MistyRose{background-color:MistyRose}option.BlanchedAlmond{background-color:BlanchedAlmond}option.PapayaWhip{background-color:PapayaWhip}option.LavenderBlush{background-color:LavenderBlush}option.SeaShell{background-color:SeaShell}option.Cornsilk{background-color:Cornsilk}option.LemonChiffon{background-color:LemonChiffon}option.FloralWhite{background-color:FloralWhite}option.Snow{background-color:Snow}option.Yellow{background-color:Yellow}option.LightYellow{background-color:LightYellow}option.Ivory{background-color:Ivory}option.White{background-color:White}#o_feed .o_box{border:1px solid #eee;padding:0.8em;margin-bottom:2em;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%);border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}#o_feed div.o_feed_edit{float:right;position:relative;top:0.2em;margin-right:0}#o_feed #o_link_container{margin-bottom:0.8em}#o_feed #o_link_container div.o_home{text-align:center}#o_feed #o_link_container div.o_older_items{float:left;display:inline}#o_feed #o_link_container div.o_newer_items{float:right;display:inline}#o_feed .b_year_navigation{text-align:center}#o_feed .b_year_navigation .b_months{border-top:1px solid #eee;padding-top:1em;margin-top:0.5em;clear:both;list-style:none}#o_feed .b_year_navigation span.b_disabled{background-image:none}div.o_feed_peekview{margin:1em 0 1em 0}div.o_feed_peekview h5{font-size:1em;position:relative;left:-20px}div.o_feed_peekview div.o_feed_peekview_item{padding-left:20px}#o_feed div.b_datecomp{top:2px;float:left;display:inline}#o_feed p.o_podcast_date{font-size:80%;color:#aaaaaa}#o_feed div.o_podcast_info img.icon{float:left;margin:0 1.5em 1.5em 0;max-width:120px;max-height:120px}#o_feed div.o_podcast_no_image{float:left;margin:0 1em 1em 0;width:100px;height:100px;color:#dfdfdf;background:white;text-align:center;padding:20px;border:2px dashed #dfdfdf;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}#o_feed div.o_podcast_no_image span{vertical-align:middle}#o_feed div.o_podcast_subscription{clear:both}#o_feed div.o_podcast_subscription a.o_podcast_rss_link{display:block;float:right;width:16px;height:16px;background:url(../openolat/images/feed.png) no-repeat}#o_feed div.o_podcast_episode{padding:10px;margin-top:20px;border:1px solid #dfdfdf;background-color:#fdfdfd;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}#o_feed div.o_podcast_episode div.b_ratings_and_comments{margin:2em 0 0 0;padding-bottom:0;border-bottom:0}#o_feed div.o_podcast_episode div.o_podcast_audio{margin-bottom:3px}#o_feed div.o_podcast_episode div.o_podcast_audio embed{width:200px;height:24px}#o_feed div.o_podcast_episode div.o_podcast_video{margin-bottom:3px}#o_feed div.o_podcast_episode div.o_podcast_video embed{width:200px;height:157px}#o_feed .back_link.o_podcast{margin-bottom:1.5em}div.o_podcast_peekview div.o_feed_peekview_item a.o_feed_item_icon{background-image:url(../openolat/images/control/speaker-volume.png)}#o_feed .o_blog_posts .o_post,#o_feed .o_blog_post .o_post{margin-bottom:1em;padding:10px;border:1px solid #dfdfdf;background-color:#fdfdfd;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}.o_post-readmorelinks{margin-top:1em;list-style:none}.o_post-readmorelinks,.o_post-readmorelinks li{margin-left:0;padding-left:0}#o_feed .o_blog_posts .o_draft{padding:0.8em;background-color:#fcf7ac;border:1px solid #fddc55}#o_feed .o_blog_posts .o_scheduled{padding:0.8em;background-color:#d9ffd0;border:1px solid #beffae}#o_feed div.o_blog_info div.o_blog_subscription{min-height:16px;padding-left:20px;background:url(../openolat/images/feed.png) no-repeat}#o_feed .o_blog_info .o_author,#o_feed .o_blog_posts .o_item_info{color:#7D7D7D;font-size:90%;margin:0}#o_feed .o_blog_posts p.o_item_info span.o_item_info_mod{color:#98221F}#o_feed .o_blog_post .back_link{margin-bottom:1.5em}div.o_blog_peekview div.o_feed_peekview_item a.o_feed_item_icon{background-image:url(../openolat/images/comment.png)}#o_instantmessaging_status_changer{padding:1em 0 0 0;margin:0}#o_instantmessaging_status_changer a.b_contexthelp{margin-top:5px;padding-right:5px}#o_instantmessaging_status_changer ul{list-style-type:none;padding:0;margin:0}#o_instantmessaging_status_changer li{padding:0;margin:0}#o_instantmessaging_status_changer li a{padding:0.1em 0 0.1em 20px;background-repeat:no-repeat;background-position:0 50%}.o_instantmessaging_chat_history,.o_groupchat_history{border:1px solid #ACAAAA;overflow:scroll;margin:0 0 1em 0;overflow-x:auto;height:170px;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%)}.o_instantmessaging_chat_history div,.o_groupchat_history div{border-top:1px solid #eee;padding:0.3em 0}.o_instantmessaging_chat_form input,.o_groupchat_chat_form input{width:99%}.o_instantmessaging_chat_form div.b_button_group,.o_groupchat_chat_form div.b_button_group{margin-top:1em}#o_instantmessages_buddieslist{padding:1em 0 0 0;margin:0}#o_instantmessages_buddieslist a.b_contexthelp{margin-top:5px;padding-right:5px}#o_instantmessages_buddieslist ul{list-style-type:none;padding:0;margin:0}#o_instantmessages_buddieslist li{margin:0;padding:0}#o_instantmessages_buddieslist li.o_instantmessaging_groupname{padding:0 0 0 20px;background:url(../openolat/images/users.png) no-repeat 0 0}#o_instantmessages_buddieslist li a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 0}#o_instantmessages_buddieslist a.o_instantmessaging_showgroupswitch{padding:2px 0 2px 20px;background:url(../openolat/images/users_conf.png) no-repeat 0 0}#o_instantmessages_buddieslist a.o_instantmessaging_showofflineswitch{padding:2px 0 2px 20px;background:url(../openolat/images/im/grstar.png) no-repeat 0 0}div.o_groupchat_roster{margin:0}div.o_groupchat_roster ul{list-style-type:disc;margin:0;padding:0}div.o_groupchat_roster li{font-size:95%}.o_instantmessaging_available_icon{background-image:url(../openolat/images/im/gstar.png)}.o_instantmessaging_chat_icon{background-image:url(../openolat/images/im/gstar_chat.png)}.o_instantmessaging_away_icon{background-image:url(../openolat/images/im/gstar_clock.png)}.o_instantmessaging_dnd_icon{background-image:url(../openolat/images/im/gstar_cross.png)}.o_instantmessaging_unavailable_icon{background-image:url(../openolat/images/im/grstar.png)}.o_instantmessaging_xa_icon{background-image:url(../openolat/images/im/grstar_clock.png)}.o_instantmessaging_offline_icon{background-image:url(../openolat/images/im/grstar.png)}.o_instantmessaging_new_msg_icon{background-image:url(../openolat/images/im/new_message.png)}.o_instantmessaging_error_icon{background-image:url(../openolat/images/cross.png)}.o_instantmessaging_refresh_icon{background-image:url(../openolat/images/qti/tries.png)}div.o_home_portaleditlink{position:absolute;top:1em;right:0.6em}.o_home_main{text-align:center}div.o_home_rsslink{clear:both;float:right;display:inline;margin:10px 0}div.o_home_rsslink a{float:right;display:inline}div.o_home_rsslink a.o_home_rsslink{background:url(../openolat/images/feed.png) no-repeat;width:16px;display:block;height:16px;line-height:0}.b_portlet{position:relative;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 #94bed3;white-space:nowrap;overflow-y:hidden !important;overflow-x:hidden !important}.b_portlet .b_portlet_content{position:relative;padding:1em 0 0 0}.b_portlet div.b_portlet_table table{background:none;border:none}.b_portlet div.b_portlet_table table th,.b_portlet div.b_portlet_table table td{padding:0}.b_portlet div.b_portlet_table table tbody tr{background:transparent}.b_portlet div.b_portlet_table table tbody tr.b_table_odd td{background:transparent}.b_portlet div.b_portlet_table table tbody tr td{border:0 !important}.b_portlet div.b_portlet_table table tbody tr:hover,.b_portlet div.b_portlet_table table tbody tr:hover td,.b_portlet div.b_portlet_table table tbody tr:focus,.b_portlet div.b_portlet_table table tbody tr:focus td{background:transparent}.b_portlet div.b_portlet_table div.b_table_empty{background:none;padding:0;margin:0}div.o_portlet_repository_student td.b_first_child{width:24px}div.o_portlet_repository_teacher td.b_first_child{width:24px}.b_portlet .b_portlet_header{background-repeat:no-repeat;background-position:0% 50%;padding-left:27px;padding-top:5px;padding-bottom:5px}div.o_portlet_calendar div.b_portlet_header{background-image:url(../openolat/images/calendar_empty.png);padding-left:2px;padding-top:8px}div.o_portlet_calendar.o_day_1 div.b_portlet_header strong:before{content:"1";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_2 div.b_portlet_header strong:before{content:"2";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_3 div.b_portlet_header strong:before{content:"3";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_4 div.b_portlet_header strong:before{content:"4";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_5 div.b_portlet_header strong:before{content:"5";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_6 div.b_portlet_header strong:before{content:"6";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_7 div.b_portlet_header strong:before{content:"7";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_8 div.b_portlet_header strong:before{content:"8";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_9 div.b_portlet_header strong:before{content:"9";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_10 div.b_portlet_header strong:before{content:"10";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_11 div.b_portlet_header strong:before{content:"11";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_12 div.b_portlet_header strong:before{content:"12";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_13 div.b_portlet_header strong:before{content:"13";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_14 div.b_portlet_header strong:before{content:"14";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_15 div.b_portlet_header strong:before{content:"15";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_16 div.b_portlet_header strong:before{content:"16";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_17 div.b_portlet_header strong:before{content:"17";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_18 div.b_portlet_header strong:before{content:"18";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_19 div.b_portlet_header strong:before{content:"19";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_20 div.b_portlet_header strong:before{content:"20";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_21 div.b_portlet_header strong:before{content:"21";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_22 div.b_portlet_header strong:before{content:"22";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_23 div.b_portlet_header strong:before{content:"23";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_24 div.b_portlet_header strong:before{content:"24";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_25 div.b_portlet_header strong:before{content:"25";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_26 div.b_portlet_header strong:before{content:"26";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_27 div.b_portlet_header strong:before{content:"27";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_28 div.b_portlet_header strong:before{content:"28";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_29 div.b_portlet_header strong:before{content:"29";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_30 div.b_portlet_header strong:before{content:"30";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_31 div.b_portlet_header strong:before{content:"31";font-size:smaller;padding-right:16px}div.o_portlet_infomsg div.b_portlet_header{background-image:url(../openolat/images/comment.png)}div.o_portlet_quickstart div.b_portlet_header{background-image:url(../openolat/images/mouse.png)}div.o_portlet_bookmark div.b_portlet_header{background-image:url(../openolat/images/book-open-bookmark.png)}div.o_portlet_groups div.b_portlet_header{background-image:url(../openolat/images/users.png)}div.o_portlet_notes div.b_portlet_header{background-image:url(../openolat/images/sticky-note--pencil.png)}div.o_portlet_noti div.b_portlet_header{background-image:url(../openolat/images/mail.png)}div.o_portlet_eff div.b_portlet_header{background-image:url(../openolat/images/script-stamp.png)}div.o_portlet_repository_student div.b_portlet_header{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}div.o_portlet_repository_teacher div.b_portlet_header{background-image:url(../openolat/images/le_resources/book-open-text-image-red.png)}div.b_portlet_iframe div.b_portlet_header{background-image:url(../openolat/images/layer.png)}div.b_portlet_sysinfo div.b_portlet_header{background-image:url(../openolat/images/exclamation.png)}div.b_portlet_dyk div.b_portlet_header{background-image:url(../openolat/images/light-bulb.png)}div.o_portlet_infomessages div.b_portlet_header{background-image:url(../openolat/images/information-button.png)}div.b_portlet.o_pt_w_if div.b_portlet_header{background-image:url(../openolat/images/globe.png)}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}div.b_portlet_toolbox{position:absolute;top:0;right:0;padding:2px;height:20px;overflow-y:hidden !important;overflow-x:hidden !important}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/bin-metal-full.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);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_right_disabled{background-image:url(../openolat/images/arrow_right_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_down_disabled{background-image:url(../openolat/images/arrow_down_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_up_disabled{background-image:url(../openolat/images/arrow_up_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_sort_auto_disabled{background-image:url(../openolat/images/table_sort.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_sort_manual_disabled{background-image:url(../openolat/images/table_gear.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}.b_toolboxes{padding:6px}.b_toolboxes .b_toolbox{margin-bottom:20px}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper{border-bottom:1px solid #94bed3;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.7em;white-space:nowrap}.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(../openolat/images/bullet_white.png);padding-left:18px;display:block}div.b_portlet.o_pt_w_if div.b_portlet_header{background-image:url(../openolat/images/globe.png)}div.b_portlet p{margin-bottom:0}div.b_portlet_dyk_q{font-weight:bold}div.b_portlet_dyk_a{padding-top:5px}div.b_portlet_dyk_next{text-align:right}div.f_library_catalog div.b_tree ul{white-space:normal}div.f_library_catalog div.b_tree ul.b_tree_l1 li a.b_tree_icon{background-image:none !important}div.f_library_catalog div.f_metadata{background-color:#fcfcfc;margin-left:20px;padding:4px}div.f_library_catalog h4{padding-left:25px;background-repeat:no-repeat;background-position:center left}div.f_library_catalog div.f_folder_info div.f_metadata{margin-bottom:1.5em}div.f_library_catalog div.b_noti{right:90px}div.f_library_catalog div.f_thumbnails_switch{border:1px solid #E9EAEF;display:inline;position:absolute;top:0px;right:0px;float:right;padding:3px 3px 3px 23px}div.f_library_catalog div.f_thumbnails_on{background:url(../openolat/images/docs/document_preview.png) no-repeat 3px 50%}div.f_library_catalog div.f_thumbnails_off{background:url(../openolat/images/docs/document_preview.png) no-repeat 3px 50%;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=70);-moz-opacity:0.7;-khtml-opacity:0.7;opacity:0.7}div.f_library_catalog th,div.f_library_catalog td{text-align:left;font-size:0.9em;color:#999;margin:0;padding:0;border:0}div.f_library_catalog th{font-weight:bold;width:14em;vertical-align:top}div.f_library_catalog h3.b_filetype_folder{margin-top:20px}div.f_library_catalog div.f_item{margin-bottom:1em;padding:0.5em}div.f_library_catalog div.f_item div.f_item_thumbnail{width:200px;height:200px;float:left;margin-right:20px}div.f_library_catalog div.f_item div.f_item_links a{background-repeat:no-repeat}div.f_library_catalog div.f_item div.f_item_links a.b_filetype_file{display:block;width:70%;float:left;padding:2px 10px 2px 20px;background-repeat:no-repeat;margin:0}div.f_library_catalog div.f_item div.f_item_links a.f_permalink{text-decoration:none;display:block;width:9px;height:9px;float:right;padding:4px 2px 2px 2px;margin:0;background-position:center center}div.f_library_catalog div.f_item div.f_item_links span a.f_sendmail{text-decoration:none;background:url(../openolat/images/mail.png) no-repeat top left;display:block;width:16px;height:16px;float:right;padding:0 0 0 2px;margin:0}div.f_library_catalog div.f_item div.f_metadata{position:relative;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;moz-box-shadow:0 1px 2px #d3d3d3;-ms-box-shadow:0 1px 2px #d3d3d3;-o-box-shadow:0 1px 2px #d3d3d3;-webkit-box-shadow:0 1px 2px #d3d3d3;box-shadow:0 1px 2px #d3d3d3}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail{float:left;border-right:1px solid #eeeeee}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail_inner{width:200px;height:200px}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail_unavailable{width:200px;height:200px;background-image:url(../openolat/images/no_preview.png);background-repeat:no-repeat;background-position:50% 50%}div.f_library_catalog div.f_item div.f_metadata div.f_metadata_text{padding-bottom:35px}div.f_library_catalog div.f_item div.f_metadata div.f_metadata_text_inner{width:100%}div.f_library_catalog div.f_item div.f_metadata div.f_item_ratings{position:absolute;bottom:3px;right:3px;width:300px}div.f_library_catalog div.f_item div.f_metadata div.f_item_ratings div.b_ratings_and_comments{margin:0;border:none}div.f_library_catalog div.f_item_selected div.f_metadata{background-color:#F0F0F0 !important;moz-box-shadow:1 1px 4px #d3d3d3;-ms-box-shadow:1 1px 4px #d3d3d3;-o-box-shadow:1 1px 4px #d3d3d3;-webkit-box-shadow:1 1px 4px #d3d3d3;box-shadow:1 1px 4px #d3d3d3}div.f_library_catalog h3.f_search_results{background-image:url(../openolat/images/magnifier-zoom.png) !important}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox input{line-height:1.3em;margin:0;width:10em}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox input:focus{border:1px solid #504D4E}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox button{width:16px;height:16px;background:url(../openolat/images/magnifier-zoom.png) no-repeat;border:0;vertical-align:top}div.f_library_catalog_wide div.f_metadata{background-color:#fcfcfc}div.f_library_catalog_wide th,div.f_library_catalog_wide td{text-align:left;font-size:0.9em;color:#999;margin:0;padding:0;border:0}div.f_library_catalog_wide th{font-weight:bold;width:14em;vertical-align:top}div.f_library_catalog_wide h3.b_filetype_folder{margin-top:20px}div.f_library_catalog_wide div.f_item{margin-bottom:30px}div.f_library_catalog_wide div.f_item div.f_thumbnail{width:280px;height:158px;float:left;border-right:1px solid #999}div.f_library_catalog_wide div.f_item div.f_item_links a{background-repeat:no-repeat}div.f_library_catalog_wide div.f_item div.f_item_links a.b_filetype_file{display:block;width:70%;float:left;padding:2px 10px 2px 20px;background-repeat:no-repeat;margin:0}div.f_library_catalog_wide div.f_item div.f_item_links a.f_permalink{text-decoration:none;display:block;width:9px;height:9px;float:right;padding:4px 2px 2px 2px;margin:0;background-position:center center}div.f_library_catalog_wide div.f_item div.f_item_links span a.f_sendmail{text-decoration:none;background:url(../openolat/images/mail.png) no-repeat top left;display:block;width:16px;height:16px;float:right;padding:0 0 0 2px;margin:0}div.f_library_catalog_wide div.f_item div.f_metadata{position:relative;border:1px solid #999;moz-box-shadow:0 1px 2px #999999;-ms-box-shadow:0 1px 2px #999999;-o-box-shadow:0 1px 2px #999999;-webkit-box-shadow:0 1px 2px #999999;box-shadow:0 1px 2px #999999}div.f_library_catalog_wide div.f_item div.f_metadata div.f_thumbnail_inner{width:280px;height:158px}div.f_library_catalog_wide div.f_item div.f_metadata div.f_thumbnail_unavailable{width:280px;height:158px;background-image:url(../openolat/images/no_preview.png);background-repeat:no-repeat;background-position:50% 50%}div.f_library_catalog_wide div.f_item div.f_metadata div.f_metadata_text{margin:10px 220px 10px 300px}div.f_library_catalog_wide div.f_item div.f_metadata div.f_metadata_text_inner{width:100%}div.f_library_catalog_wide div.f_item div.f_metadata div.f_metadata_additional_infos{position:absolute;top:0;right:0;height:158px;width:210px;border-left:1px solid #999}div.f_library_catalog_wide div.f_item div.f_metadata div.f_metadata_additional_infos_inner{margin:10px 10px 10px 10px}div.f_library_catalog_wide div.f_item_selected div.f_metadata{background-color:#F0F0F0 !important;moz-box-shadow:1 1px 4px #d3d3d3;-ms-box-shadow:1 1px 4px #d3d3d3;-o-box-shadow:1 1px 4px #d3d3d3;-webkit-box-shadow:1 1px 4px #d3d3d3;box-shadow:1 1px 4px #d3d3d3}div.f_library_catalog_wide h3.f_search_results{background-image:url(../openolat/images/magnifier-zoom.png) !important}div.f_library_catalog_wide div.b_toolbox div.o_toolbox_searchbox input{line-height:1.3em;margin:0;width:10em}div.f_library_catalog_wide div.b_toolbox div.o_toolbox_searchbox input:focus{border:1px solid #504D4E}div.f_library_catalog_wide div.b_toolbox div.o_toolbox_searchbox button{width:16px;height:16px;background:url(../openolat/images/magnifier-zoom.png) no-repeat;border:0;vertical-align:top}div.f_library_catalog_condensed div.f_item_condensed{width:280px;height:280px;margin-right:30px;margin-bottom:30px;float:left;-webkit-box-shadow:0 1px 2px 0 #999;box-shadow:0 1px 2px 0 #999;border:1px solid #999;background-color:#fcfcfc}div.f_library_catalog_condensed div.f_item_condensed div.f_thumbnail{height:158px;width:280px}div.f_library_catalog_condensed div.f_item_condensed div.f_metadata_text{padding:12px 8px 12px 12px}div.f_library_catalog_condensed div.f_item_condensed div.o_eff_statement_progress{width:200px;margin:20px 0px 0px 20px}div.f_library_overview img{float:right;max-width:50%}div.f_library_overview p{padding-left:20px}div.f_library_overview div.f_library_big_icon{float:right;width:425px;height:282px;background:url(../openolat/images/library_image.png) no-repeat}div.f_library_overview div.f_library_newest_files ul li{white-space:normal;padding-bottom:0.3em}div.f_library_overview div.f_library_newest_files ul li a{background-position:top left;min-height:16px}.f_library_icon{background-image:url(../openolat/images/library.png)}#b_main.o_coaching div.o_eff_statement_progress{width:100%;height:15px;background-color:#eeeeee;border:1px solid #777777}#b_main.o_coaching div.o_eff_statement_progress div.o_eff_statement_solved{height:15px;background:#94bed3;background:-moz-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #94bed3), color-stop(100%, #025d8c));background:-webkit-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-o-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-ms-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:linear-gradient(top, #94bed3 0%, #025d8c 100%)}#b_main.o_coaching .o_eff_statement_rg div.o_eff_statement_progress{background:#f85032;background:-moz-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f85032), color-stop(50%, #f16f5c), color-stop(51%, #f6290c), color-stop(100%, #e73827));background:-webkit-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%);background:-o-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%);background:-ms-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%);background:linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%)}#b_main.o_coaching .o_eff_statement_rg div.o_eff_statement_progress div.o_eff_statement_solved{background:#9dd53a;background:-moz-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #9dd53a), color-stop(50%, #a1d54f), color-stop(51%, #80c217), color-stop(100%, #7cbc0a));background:-webkit-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background:-o-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background:-ms-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background:linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%)}#b_main.o_coaching div.o_eff_statement_details{margin:10px 0 10px 0}#b_main.o_coaching .b_toolbar_center span.b_disabled{display:none}div.o_eff_statement_progress{width:100%;height:15px;background-color:#eeeeee;border:1px solid #777777}div.o_eff_statement_progress div.o_eff_statement_solved{height:15px;background-color:#81afca}.o_eff_statement_rg div.o_eff_statement_progress{background-color:red}.o_eff_statement_rg div.o_eff_statement_progress div.o_eff_statement_solved{background-color:green}div.o_eff_statement_details{margin:10px 0 10px 0}div.o_eff_statement_recalculating{padding-left:30px;background:transparent url(../openolat/images/ajax-loader.gif) no-repeat top left}@media print{.o_noprint{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_toplink{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}body{font-size:10pt}.b_noti{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_main.o_loginscreen{background-image:none}#b_main.o_home{background-image:none}#b_main.o_editor{background-image:none}#b_main{moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;border:none}body,#b_page_margins,#b_page,#b_main,#b_page_wrapper{margin:0;padding:0;border:0}body *{font-family:"Times New Roman", Times, serif}code,pre{font-family:"Courier New", Courier, mono}#b_page_margins,#b_page{width:100% !important;min-width:0;max-width:none}#b_footer,#b_topnav,#b_nav,#search{display:none}#b_col1,#b_col2{display:none}#b_col3{margin:0 !important;border:none !important}.b_c25l,.b_c33l,.b_c38l,.b_c50l,.b_c62l,.b_c66l,.b_c75l,.b_c25r,.b_c33r,.b_c38r,.b_c50r,.b_c62r,.b_c66r,.b_c75r{width:100%;margin:0;float:none;overflow:visible;display:table}.b_subc,.b_subcl,.b_subcr{margin:0;padding:0}h1,h2,h3,h4,h5,h6{page-break-after:avoid}#b_page a[href^="http:"],#b_page a[href^="https:"]{padding-left:0;background-image:none}#b_col1_content:before,#b_col2_content:before,#b_col3_content:before{content:"";color:#888;background:inherit;display:block;font-weight:700;font-size:1.5em}.b_floatbox,.b_subcolumns,.b_subcolums_oldgecko{overflow:visible;display:table}#jsMath_PrintWarning{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}.o_wiki_wrapper .b_c20l,.o_wiki_wrapper .o_wikimod_nav{display:none}.o_wiki_wrapper .b_c80r{width:100%}.o_wiki_wrapper .b_c80r div.b_tabbedpane_tabs{display:none}} diff --git a/src/main/webapp/static/themes/openolatexample/layout.css b/src/main/webapp/static/themes/openolatexample/layout.css index 6a0a7dafb98a81178e50911d092e1bbef29ac800..6ae94edddb7d7a1a622345e0b679f08cb701714e 100644 --- a/src/main/webapp/static/themes/openolatexample/layout.css +++ b/src/main/webapp/static/themes/openolatexample/layout.css @@ -26,4 +26,4 @@ * @author strentini, sergio.trentini@frentix.com, www.frentix.com * @date Nov. 2011 * ======================================================== -**/@import url(../../yaml/core/slim_base.css);@import url(all/content.css);.b_with_small_icon_left,div.b_table_wrapper div.b_table_empty{padding:2px 0 2px 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_with_small_icon_only span{display:none}.b_small_icon{float:left;display:inline;width:16px;height:16px;background-position:0 50%;background-repeat:no-repeat}td a span.b_small_table_icon,td a.b_small_table_icon{padding-left:20px;width:16px;height:16px;background-position:2px 50%;background-repeat:no-repeat}a.b_small_icon:hover{text-decoration:none}.b_info_icon{background-image:url("../openolat/images/comment.png")}.b_warn_icon,div.b_table_wrapper div.b_table_empty{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/bin-metal-full.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")}.b_star_icon{background-image:url(../openolat/images/star.png)}.b_star_small_icon{background-image:url(../openolat/images/star-small.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("../openolat/images/information-white.png")}.o_course_icon{background-image:url("../openolat/images/le_resources/book-open-text-image.png")}.o_chat_icon{background-image:url("../openolat/images/balloons-box.png")}.o_admin_icon{background-image:url("../openolat/images/wrench-screwdriver.png")}.o_calendar_icon{background-image:url("../openolat/images/calendar.png")}.o_locked_icon{background-image:url("../openolat/images/locked.png")}.b_backward_icon{background-image:url("../openolat/images/arrow_left.png")}.b_forward_icon{background-image:url("../openolat/images/arrow_right.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_ee{background-image:url("../openolat/images/flags/ee.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")}.b_filetype_file,.b_filetype_ico{background-image:url("../openolat/images/docs/document_plain.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_video,.b_filetype_mov{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_audio,.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}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_GroupCard div,.o_GroupCard_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("../openolat/images/card-address.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/box.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")}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/box.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_courseareas{background-image:url("../openolat/images/users.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/bin-metal-full.png")}li a.b_toolbox_copy,.b_copy_icon{background-image:url("../openolat/images/docs/document-copy.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")}span.o_passed{background:url(../openolat/images/tick.png) no-repeat right 50%;padding:0 25px 0 0;color:#009900}span.o_notpassed{background:url(../openolat/images/cross.png) no-repeat right 50%;padding:0 25px 0 0;color:#990000}.o_efficiencystatement_icon{background-image:url(../openolat/images/seal.png)}span.o_green_led{background:url(../openolat/images/green_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_yellow_led{background:url(../openolat/images/yellow_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_red_led{background:url(../openolat/images/red_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_black_led{background:url(../openolat/images/black_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_grey_led{background:url(../openolat/images/grey_led.png) no-repeat left 50%;padding:0 0 0 25px}.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/box.png") !important}.o_cp_org{background-image:url("../openolat/images/le_resources/box.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}.o_vc_icon{background-image:url("../openolat/images/projection-screen.png") !important}.o_vitero_icon{background-image:url("../openolat/images/vitero.png") !important}.o_openmeetings_icon{background-image:url("../openolat/images/apache.png") !important}.o_ep_icon{background-image:url("../openolat/images/le_resources/portfolio.png") !important}.o_EPStructuredMapTemplate_icon{background-image:url("../openolat/images/portfolio/briefcase.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}.fx_members_icon{background-image:url("../openolat/images/users_members.png") !important}body#b_body .o_CourseModule_icon_closed{background-image:url("../openolat/images/le_resources/book-open-text-image_locked.png")}@media all{html{min-height:100%}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%)}#b_page_margins{min-width:740px;max-width:1324px;margin:0 auto;width:100%;height:100%}#b_main_toolbar{clear:both;height:24px;line-height:24px;vertical-align:middle;margin:0;padding:1px 0 0 0;border-bottom:1px solid #eeeeee;background-color:white;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_main_toolbar ul li a span{line-height:24px}#b_main{background:#fff;min-height:550px;clear:both;moz-box-shadow:0 2px 14px #d3d3d3;-ms-box-shadow:0 2px 14px #d3d3d3;-o-box-shadow:0 2px 14px #d3d3d3;-webkit-box-shadow:0 2px 14px #d3d3d3;box-shadow:0 2px 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:550px;padding:20px 20px 30px 20px}#b_col2_content{overflow:hidden;padding:1em 0}.b_hidecol2 #b_col3{margin-right:0 !important;border-right:none}.b_hidecol1 #b_col3{margin-left:0 !important;border-left:none}.b_hideboth #b_col3{margin-left:0 !important;margin-right:0 !important;border-left:none;border-right:none}.b_hideboth #b_col1,.b_hideboth #b_col2,.b_hidecol1 #b_col1,.b_hidecol2 #b_col2,#b_ie_clearing{display:none}.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}div.b_iframe_wrapper iframe{width:100%;position:relative;top:0;left:0;border:none;margin:0;padding:0;background:transparent}#b_main.b_exception{padding-left:165px;padding-right:165px}#b_header{height:auto;min-height:30px;overflow:hidden;position:relative}#b_header #b_topnav{position:absolute;right:0px;top:0px;padding:4px 15px 0px 0px;line-height:1.5em;min-height:1.5em}#b_header #b_topnav ul{margin:0}#b_header #b_topnav li,#b_header #b_topnav div,#b_header #b_topnav span{line-height:1.5em}#b_header #b_topnav .b_with_small_icon_right{padding:0 20px 0 0}#b_header #b_topnav .b_with_small_icon_left,#b_header #b_topnav div.b_table_wrapper div.b_table_empty,div.b_table_wrapper #b_header #b_topnav div.b_table_empty{padding:0 0 0 20px}#b_header #b_topnav .b_small_icon{height:1.5em}#b_header #b_topnav #o_topnav_langchooser select{font-size:90%}#b_header #b_topnav #o_topnav_search input{font-size:90%;margin:0;width:10em}#b_header #b_topnav #o_topnav_search a.o_fulltext_search_button{height:1.5em;background-position:50% 50%}#b_header #b_topnav #o_topnav_printview a{background:url(../openolat/images/printer.png) no-repeat right 50%;padding:0 20px 0 0;margin:0}#b_header #b_topnav #o_topnav_logout a{background:url("../openolat/images/control/control-power.png") no-repeat right 50%;padding:0 20px 0 0;margin:0;font-weight:bold}#b_header #b_topnav li{float:left;list-style:none;margin-left:1.7em}#b_header #b_topnav li div.b_form_element_wrapper.b_form_horizontal{margin:0}#b_header #b_topnav li#o_topnav_imclient li{margin-left:0.5em}#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:#f5f5f5;background:rgba(255, 255, 255, 0.5)}#b_nav_main ul li a{padding:4px 12px 4px 3px}#b_nav_main ul li a:hover{text-decoration:none}#b_nav_main ul li.b_nav_site.b_nav_active,#b_nav_main ul li.b_nav_site:hover,#b_nav_main ul li.b_nav_site.b_exception{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:white}#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,#b_nav_main ul li.b_nav_site.b_exception 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.o_site_coaching > div{background-image:url("../openolat/images/eye.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.fx_members > div{background-image:url("../openolat/images/users_members.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:white}#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;padding:0}div.b_tree{font-size:100%;padding:0}div.b_tree ul{position:relative;padding:0;margin:0 0 0 1em;list-style:none;white-space:nowrap}div.b_tree ul li{position:relative;background:transparent;margin-left:0;padding-left:0;line-height:1.7em}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:transparent;text-decoration:underline}div.b_tree ul li a.b_tree_selected,div.b_tree ul li a:active{color:red;background-color:transparent;text-decoration:none}div.b_tree ul li a.b_tree_selected_parents,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:6px}div.b_tree ul li a.b_tree_l1{padding-left:16px}div.b_tree ul li a.b_tree_l2{padding-left:26px}div.b_tree ul li a.b_tree_l3{padding-left:36px}div.b_tree ul li a.b_tree_l4{padding-left:46px}div.b_tree ul li a.b_tree_l5{padding-left:56px}div.b_tree ul li a.b_tree_l6{padding-left:66px}div.b_tree ul li a.b_tree_l7{padding-left:76px}div.b_tree ul li a.b_tree_l8{padding-left:86px}div.b_tree ul li a.b_tree_l9{padding-left:96px}div.b_tree ul li a.b_tree_l10{padding-left:106px}div.b_tree ul li a.b_tree_l11{padding-left:116px}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 li.b_deleted{text-decoration:none}div.b_tree ul li.b_deleted a{text-decoration:line-through}div.b_tree ul.b_tree_l0 a.b_tree_icon{padding-left:26px;background-position:8px 50%}div.b_tree ul.b_tree_l1 a.b_tree_icon{padding-left:36px;background-position:18px 50%}div.b_tree ul.b_tree_l2 a.b_tree_icon{padding-left:46px;background-position:28px 50%}div.b_tree ul.b_tree_l3 a.b_tree_icon{padding-left:56px;background-position:38px 50%}div.b_tree ul.b_tree_l4 a.b_tree_icon{padding-left:66px;background-position:48px 50%}div.b_tree ul.b_tree_l5 a.b_tree_icon{padding-left:76px;background-position:58px 50%}div.b_tree ul.b_tree_l6 a.b_tree_icon{padding-left:86px;background-position:68px 50%}div.b_tree ul.b_tree_l7 a.b_tree_icon{padding-left:96px;background-position:78px 50%}div.b_tree ul.b_tree_l8 a.b_tree_icon{padding-left:106px;background-position:88px 50%}div.b_tree ul.b_tree_l9 a.b_tree_icon{padding-left:116px;background-position:98px 50%}div.b_tree ul.b_tree_l10 a.b_tree_icon{padding-left:126px;background-position:108px 50%}div.b_tree ul.b_tree_l11 a.b_tree_icon{padding-left:136px;background-position:118px 50%}div.b_tree a.b_tree_level_close span{background:url("../openolat/images/tree_parent_open.gif") no-repeat 0% 50%;padding-right:8px}div.b_tree a.b_tree_level_open span{background:url("../openolat/images/tree_parent_closed.gif") 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}#b_footer{color:#9D9D9D;padding:0;margin:0;position:relative}#b_footer a{color:#777777}#b_footer #b_footer_user{position:absolute;top:1em;left:1em;line-height:16px}#b_footer #b_footer_user #b_username{margin-right:1.5em}#b_footer #b_footer_version{position:absolute;top:1em;right:1em}#b_footer #b_footer_powered{padding-top:1em;text-align:center;width:auto;background:none}#b_footer #b_footer_powered a{display:inline}#b_footer #b_footer_powered img{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#b_footer #b_footer_powered img:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#b_footer #b_share{position:absolute;top:2.5em;left:1em;width:250px}#b_footer #b_share a,#b_footer #b_share span{margin:0 3px 0 0;background-repeat:no-repeat;width:16px;height:16px;float:left;display:inline;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#b_footer #b_share a:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#b_footer #b_share #b_facebook{background-image:url(../openolat/images/social/facebook_16.png)}#b_footer #b_share #b_twitter{background-image:url(../openolat/images/social/twitter_16.png)}#b_footer #b_share #b_google{background-image:url(../openolat/images/social/google_16.png)}#b_footer #b_share #b_delicious{background-image:url(../openolat/images/social/delicious_16.png)}#b_footer #b_share #b_digg{background-image:url(../openolat/images/social/digg_16.png)}#b_footer #b_share #b_mail{background-image:url(../openolat/images/social/email_16.png)}#b_footer #b_share #b_link{background-image:url(../openolat/images/social/link_16.png)}#b_footer .fx_footer #b_footer_version > a{display:block;min-height:45px;height:4em;background:transparent url("../../images/frentix/frentix_logo_grey.png") no-repeat left bottom}#b_footer .fx_footer #b_footer_version > a:hover{background-image:url("../../images/frentix/frentix_logo.png")}#callout_share_link input{width:480px}#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%);border-bottom:1px solid #7D7D7D;padding:5px 5px 2px 0}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 50%}div.b_breadcumb_path ul li.b_first{background:url(../openolat/images/home.png) no-repeat 5px 50%;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}#b_main_toolbar div.b_breadcumb_path ul a{color:#2d2e2d;font-weight:bold}#b_main_toolbar div.b_breadcumb_path ul a:hover{color:#585a58;text-decoration:none}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back{background:transparent;padding:0 7px 0 7px;margin:0 2px 0 0;border-right:1px solid #eeeeee}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back a{font-type:Arial;color:#2d2e2d;font-weight:normal}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back a:hover{color:#585a58}div.b_breadcumb_content{clear:both;margin-top:0.5em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_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%);position:relative;padding:10px;height:19px;min-height:19px;border-bottom:1px solid #7D7D7D}div.b_toolbar ul{margin:0;list-style-image:none;list-style-type:none}div.b_toolbar ul li{margin:0px 16px 0px 0px;list-style-image:none;list-style-type:none}div.b_toolbar div.b_toolbar_left{position:absolute;top:7px;left:7px}div.b_toolbar ul.b_toolbar_left li{float:left}div.b_toolbar div.b_toolbar_right{position:absolute;top:7px;right:7px}div.b_toolbar ul.b_toolbar_right li{float:right;margin:0px 2px 0px 2px}div.b_toolbar div.b_toolbar_center{text-align:center}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}div.b_titled_wrapper div.b_noti{position:absolute;right:25px;top:0px}div.b_titled_wrapper fieldset div.b_noti{top:12px}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}a.b_togglebox_closed{background:url("../openolat/images/tree_parent_closed.gif") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}a.b_togglebox_opened{background:url("../openolat/images/tree_parent_open.gif") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}div.b_titled_wrapper div.b_togglebox div.b_togglebox_content{background:transparent;border:0px;padding:0px}div.b_titled_wrapper_desc a.b_togglebox_opened{z-index:10;display:block;width:20px;height:20px;position:absolute;top:2px;left:5px;background:url(../openolat/images/information-white.png) no-repeat 0 50%}div.b_titled_wrapper_desc a.b_togglebox_closed{display:block;width:20px;height:20px;background:url(../openolat/images/information-white.png) no-repeat top left;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}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}div.b_titled_wrapper div.b_togglebox div.b_togglebox_content div.o_course_run_objectives{position:relative}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}div.o_catalog div.o_catalog_link_title{margin:2em 0 0 0;border-bottom:1px solid #ccc;padding:0.3em}div.o_catalog div.o_catalog_title{display:none}div.o_catalog div.o_catalog_nav{font-size:95%;padding:1px 0 2px 22px;border-bottom:1px solid #EEE;background:url(../openolat/images/folder_open.png) 2px 50% no-repeat}div.o_catalog .o_catalog_sub_icon{background-image:url(../openolat/images/folder_small.png)}div.o_catalog div.o_catalog_links{margin-top:1em;padding-top:1em;border-top:1px solid #EEE}div.o_catalog div.o_catalog_itemlist ul{list-style-type:none;margin:0;padding:0}div.o_catalog div.o_catalog_itemlist ul li{margin:0;padding:0 0 0 0.5em;overflow:hidden}div.o_catalog div.o_catalog_itemlist ul a{display:block}div.o_catalog div.o_catalog_desc{margin:0.5em 0 0.5em 0;padding-left:20px;font-size:95%;font-style:italic}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon.o_catalog_cat_icon,div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_cat_icon{background-image:url(../openolat/images/folder_small.png)}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon.o_catalog_cat_noaccess_icon,div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_cat_noaccess_icon{background-image:url(../openolat/images/locked.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.o_catalog_cat_icon{background-image:url(../openolat/folder_open.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.o_catalog_cat_noaccess_icon{background-image:url(../openolat/images/locked.png)}div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_entry_icon{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}.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}.b_floatscrollbox{overflow-x:auto;overflow-y:hidden}.b_overflowscrollbox{overflow:auto}}@media all and (min-width : 1324px){#b_footer #b_share{left:0}#b_footer #b_footer_user{left:0}#b_footer #b_footer_version{right:0}}.b_dd_item{cursor:move;z-index:1000}.b_dd_proxy{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.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}.b_group_accesscontrolled{background-image:url("../openolat/images/ac/umbrella.png")}.b_order_icon{background-image:url("../openolat/images/ac/shopping-basket.png")}div.b_order_details{margin-top:2em}div.b_order_details label{font-weight:bold}div.b_access_create ul{padding:0;margin-left:0}div.b_access_create li{padding:0;list-style:none}table.b_access_method td{padding:0.2em 1em 0.2em 0}table.b_access_method tr.b_access_desc td{padding:0 1em 1em 20px;font-style:italic}table.b_access_method td div.b_form_element{margin-left:0}div.b_access_method_list div.b_access_method legend{background-repeat:no-repeat;padding-left:20px}table span.b_access_method{padding-right:5px;font-size:90%;vertical-align:bottom;line-height:16px}.b_access_member_icon{background-image:url(../openolat/images/ac/lock-unlock.png)}.b_access_membersonly_icon{background-image:url("../openolat/images/ac/lock.png")}.b_access_method_free_icon{background-image:url("../openolat/images/ac/open-share.png")}.b_group_accesscontrolled.b_access_method_free,b_order_icon.b_access_method_free{background-image:url("../openolat/images/ac/open-share.png")}div.b_access_method_list div.b_access_method_free legend{background-image:url("../openolat/images/ac/open-share.png")}.b_access_method_token_icon{background-image:url("../openolat/images/ac/license-key.png")}.b_group_accesscontrolled.b_access_method_token,b_order_icon.b_access_method_token{background-image:url("../openolat/images/ac/license-key.png")}div.b_access_method_list div.b_access_method_token legend{background-image:url("../openolat/images/ac/license-key.png")}div.b_access_method_list div.b_access_method_token div.b_form_element_wrapper:nth-last-of-type(3) label,table.b_access_method tr.b_access_method_token .b_access_infos{background-image:url("../openolat/images/ac/key.png");background-repeat:no-repeat;padding-left:20px}div.b_access_method_list div.b_form_element_wrapper:nth-last-of-type(4) label{background-image:url("../openolat/images/information-white.png");background-repeat:no-repeat;padding-left:20px}.b_access_method_paypal_icon{background-image:url("../openolat/images/ac/credit-cards.png")}#b_main_access_control{margin:0 20% 0 20%;padding:20px 0 0 20px}.b_order_status_new_icon{background-image:url(../openolat/images/new-text.png)}.b_order_status_prepayment_icon{background-image:url(../openolat/images/ac/prepayment.png)}.b_order_status_payed_icon{background-image:url(../openolat/images/tick.png)}.b_order_status_canceled_icon{background-image:url(../openolat/images/ac/canceled.png)}.b_order_status_error_icon{background-image:url(../images/olat/cross.png)}.b_order_status_warning_icon{background-image:url(../openolat/images/exclamation.png)}.b_transaction_status_success_icon{background-image:url(../openolat/images/tick.png)}.b_transaction_status_waiting_icon{background-image:url(../openolat/images/exclamation.png)}.b_transaction_status_error_icon{background-image:url(../openolat/images/cross.png)}.b_transaction_status_canceled_icon{background-image:url(../openolat/images/ac/canceled.png)}.b_transaction_status_new_icon{background-image:url(../openolat/images/new-text.png)}div.b_form div.b_form_element_wrapper table.b_access_method div.b_form_element{margin-left:0}div.b_form table.b_access_method div.b_form_element span.b_form_datechooser{background-position:0 50%}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)}div.b_modal_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1}div.b_modal_overlay,div.ext-el-mask{background:#000;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=25);-moz-opacity:0.25;-khtml-opacity:0.25;opacity:0.25}div.b_window{text-align:left;border:1px solid red;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;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}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}body.b_ajax_busy{cursor:wait}div.b_ajax_busy{position:absolute;z-index:5001;left:50%;top:10px;height:32px;width:32px;background-repeat:no-repeat;background-image:url(images/ajax-loader.svg)}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}#b_msg_sticky{clear:both;padding:10px 10px 10px 50px;min-height:32px;background:#ffb651 url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px;border:none}div.b_msg-div{left:35%;position:absolute;top:10px;width:30%;z-index:20000;border:1px solid red;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}div.b_msg_warn_winicon{background:url(../openolat/images/icon_warning_32.png) no-repeat}div.b_msg_error_winicon{background:url(../openolat/images/icon_error_32.png) no-repeat}#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}.o_infomessage_wrapper{border:1px solid #ccc;background:#FAFAFA;margin-bottom:20px}.o_infomessage_wrapper .o_infomessage{padding:10px 10px 10px 50px;text-align:left;min-height:40px;background:url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px}div.b_wizard{background:#fff;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;border:1px solid red}div.b_wizard div.b_wizard_header_wrapper{background:transparent}div.b_wizard div.b_wizard_header{background:transparent;position:relative}div.b_wizard div.b_wizard_header_title{background:transparent;min-height:18px;line-height:18px;vertical-align:middle;padding:2px 5px 2px 5px}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:transparent}div.b_wizard div.b_wizard_steps_content{background:#fff;border:1px solid #555555;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px}div.b_wizard div.b_wizard_steps_list{width:20em;padding:0;color:#555555}div.b_wizard div.b_wizard_steps_list ol{list-style-type:decimal;z-index:14;font-size:100%;padding:2em 5px 5px}div.b_wizard div.b_wizard_steps_list li{line-height:1.5em;white-space:normal;margin-bottom:1em;list-style:none;padding-left:18px}div.b_wizard div.b_wizard_steps_list li.b_wizard_steps_current{font-weight:bold;background:url(../openolat/images/bullet_go.png) 0% 50% no-repeat;padding-left:18px}div.b_wizard div.b_wizard_steps_list li a{color:#555555}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:#basegray_light;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{color:#555555;font-style:normal}div.b_wizard div.b_wizard_steps_current{margin-left:20em;padding-top:0.5em;padding-bottom:0.5em}div.b_wizard div.b_wizard_steps_current_inner{padding:1em;border-left:1px solid #ccc}div.b_wizard div.b_wizard_steps_current_content{min-height:300px;position:relative}div.b_wizard div.b_wizard_footer_wrapper{background:transparent}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:"\00ab \00a0"}span.b_wizard_button_next:after,a.b_wizard_button_next span:after{content:" \00bb"}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}div.b_legacy_wizard_steps{float:right;display:inline}.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)}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs{float:left;display:inline-block;margin-bottom:1em}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul{line-height:1em;list-style:none;margin:0;padding:0;white-space:nowrap}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 #ccc;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%);-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_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}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{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 #ccc;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%);-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}button{border:none}.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 #ccc;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%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.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:1px solid 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:1px solid red}.b_button.b_button_preferred{background:#f7d1d1;background:-moz-linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f7d1d1), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);background:linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);border:1px solid red}.b_button:focus,.b_button:hover{border:1px solid #aaa\9}.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%);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%)}.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 #ccc;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%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s "";border:1px dotted #ccc;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;cursor:default !important;color:#888}.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}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%}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}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}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%}.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 #ccc;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%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.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}.b_link_left_icon{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 #ccc;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%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.b_link_left_icon > span{padding:2px 8px 0px 25px;background-color:transparent;background-repeat:no-repeat;background-position:4px center}.b_link_left_icon:focus,.b_link_left_icon: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_left_icon:focus{border-color:red}.b_link_left_icon: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}.b_link_to_home > span{background-image:url("../openolat/images/card-address.png")}.b_link_course > span{background-image:transparent url("../openolat/images/book-open-next.png")}.b_link_group > span{background-image:url("../openolat/images/document-page-next.png")}.b_link_mail > span{background-image:url("../openolat/images/mail.png")}.b_link_assessment > span{background-image:url("../openolat/images/le_resources/thumb-up.png")}div.o_login div.o_login_form{margin-bottom:2em}div.o_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}input,select,textarea{border:1px solid #ACAAAA;background:#F6F6F6;line-height:1.3em;margin:0}textarea{font-family:inherit;width:100%}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(../openolat/images/pencil-small.png)}span.b_inline_editable:hover{cursor:text !important}fieldset{position:relative;padding:1em;padding-top:1.5em;border:none;border-top:1px solid #ff6666}fieldset legend{font-family:Comic Sans, Comic Sans MS, cursive;padding:0 5px;font-size:120%;font-weight:bold}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(../openolat/images/icon_error_32.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}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}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 .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:3px}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.form_shift_left{left:-25%}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}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}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}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}div.o_form_wrapper fieldset{min-width:60em}div.form_shift_left{position:inherit;left:-20%}div.mceExternalToolbar{background:#f0f0ee !important;overflow:auto}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}div.b_fileinput{position:relative}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;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity:0;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)}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%)}div.b_mark{width:20px;height:20px}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;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}div.b_mark a.b_mark_set span,div.b_mark a.b_mark_not_set span{display:block;width:19px;height:19px}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 tr.b_table_odd td{background:#eee}div.b_table_wrapper table{width:99.5%;margin-left:1px;border:1px solid #eeeeee}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}div.b_table_wrapper div.b_table_empty{margin:1em 0}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}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/tree_parent_open.gif") no-repeat;width:15px;height:15px;float:right;margin:3px}a#b_devcon_handle_expand{cursor:pointer;background:url("../openolat/images/tree_parent_closed.gif") 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}#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}div.b_briefcase div.b_briefcase_foldercomp{margin-top:0.5em}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;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;background:#fff;width:99.9%;border:1px solid #eee}div.b_briefcase_foldercomp table.b_briefcase_filetable thead{color:#000}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 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);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_versions_icon{background-image:url(../openolat/images/docs/document_versions.png)}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_versions_dis_icon{background-image:url(../openolat/images/docs/document_versions.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_locked_file_icon{background-image:url(../openolat/images/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}@media all{div.o_wiki_wrapper{clear:both}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)}div.o_wiki_wrapper .b_eportfolio_add,div.o_wiki_wrapper .b_eportfolio_add_again{position:absolute;top:28px;right:3px;z-index:99}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}div.o_wikimod_linkchooser{clear:both;float:left;display:inline}div.o_wikimod_filechooser{margin:0 2em;float:left;display:inline}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{margin:0.5em 0}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}div.o_wikimod-article-box table[border="1"]{border-collapse:collapse;border:1px solid #BFBFBF}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}}div.o_forum div.o_forum_switch{font-size:90%}div.o_forum div.o_forum_message{margin:1em 0 1em 0;padding:0.5em;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 12px 0px 21px;font-size:95%;color:#4F576A;float:right;border-left:1px solid #fff}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;background:transparent;margin-right:155px}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}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:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%)}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}.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(../openolat/images/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 a{font-size:0.8em;text-decoration: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 .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}div.b_portfolio_toc .type_map,div.b_portfolio_toc .type_page,div.b_portfolio_toc .type_struct,div.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}.b_eportfolio_link{background-image:url(../openolat/images/portfolio/ep_link_icon.png)}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;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:14px;-webkit-border-bottom-right-radius:14px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:14px;-moz-border-radius-bottomright:14px;-moz-border-radius-bottomleft:4px;border-top-left-radius:4px;border-top-right-radius:14px;border-bottom-right-radius:14px;border-bottom-left-radius:4px;moz-box-shadow:0 1px 3px lightgray;-ms-box-shadow:0 1px 3px lightgray;-o-box-shadow:0 1px 3px lightgray;-webkit-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}ul.b_eportfolio_maps li .b_map_info a.b_open_icon{font-size:1.2em;position:absolute;bottom:170px;right:-10px}.b_eportfolio_changelog .b_form{margin-top:20px;margin-bottom:20px}.b_eportfolio_changelog li{list-style:none}.b_eportfolio_changelog h5{margin-top:16px}.b_eportfolio_mapowner{font-style:italic;margin-bottom:8px}.b_eportfolio_mapowner div{display:inline}@media all{.epmst-green{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green,ul.b_eportfolio_maps li.template.epmst-green{background:#ecf69a;background:#ecf69a -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ecf69a), to(#ecf69a));background:#ecf69a -moz-linear-gradient(43% 71% 101deg, #ecf69a, #ecf69a);background:#ecf69a -o-linear-gradient(#ecf69a, #ecf69a);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ecf69a', EndColorStr='#ecf69a');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-green > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green{margin-top:6px;background:#ecf69a;background:#ecf69a -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ecf69a), to(#ecf69a));background:#ecf69a -moz-linear-gradient(43% 71% 101deg, #ecf69a, #ecf69a);background:#ecf69a -o-linear-gradient(#ecf69a, #ecf69a);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ecf69a', EndColorStr='#ecf69a');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green div.b_map_header h4{color:#444444}.epmst-green div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green div.b_ep_actualpage h1,.epmst-green div.b_ep_actualpage h4{color:#444444}.epmst-green div.b_pagination{float:none;position:static;width:100%}.epmst-green div.b_pagination ul{margin:0}.epmst-green 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}.epmst-green div.b_pagination li span,.epmst-green div.b_pagination li a,.epmst-green div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green div.b_eportfolio_page,.epmst-green div.b_portfolio_toc,.epmst-green div.b_eportfolio_edit{background-image:none}}@media all{.epmst-green2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green2,ul.b_eportfolio_maps li.template.epmst-green2{background:#99e44d;background:#99e44d -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99e44d), to(#cbf1a5));background:#99e44d -moz-linear-gradient(43% 71% 101deg, #99e44d, #cbf1a5);background:#99e44d -o-linear-gradient(#99e44d, #cbf1a5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99e44d', EndColorStr='#cbf1a5');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green2{margin-top:6px;background:#99e44d;background:#99e44d -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99e44d), to(#cbf1a5));background:#99e44d -moz-linear-gradient(43% 71% 101deg, #99e44d, #cbf1a5);background:#99e44d -o-linear-gradient(#99e44d, #cbf1a5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99e44d', EndColorStr='#cbf1a5');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green2 div.b_map_header h4{color:#555555}.epmst-green2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green2 div.b_ep_actualpage h1,.epmst-green2 div.b_ep_actualpage h4{color:#555555}.epmst-green2 div.b_pagination{float:none;position:static;width:100%}.epmst-green2 div.b_pagination ul{margin:0}.epmst-green2 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}.epmst-green2 div.b_pagination li span,.epmst-green2 div.b_pagination li a,.epmst-green2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green2 div.b_eportfolio_page,.epmst-green2 div.b_portfolio_toc,.epmst-green2 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-green3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green3,ul.b_eportfolio_maps li.template.epmst-green3{background:#dff0c1;background:#dff0c1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dff0c1), to(#a0d346));background:#dff0c1 -moz-linear-gradient(43% 71% 101deg, #dff0c1, #a0d346);background:#dff0c1 -o-linear-gradient(#dff0c1, #a0d346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0c1', EndColorStr='#a0d346');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green3{margin-top:6px;background:#dff0c1;background:#dff0c1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dff0c1), to(#a0d346));background:#dff0c1 -moz-linear-gradient(43% 71% 101deg, #dff0c1, #a0d346);background:#dff0c1 -o-linear-gradient(#dff0c1, #a0d346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0c1', EndColorStr='#a0d346');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green3 div.b_map_header h4{color:#555555}.epmst-green3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green3 div.b_ep_actualpage h1,.epmst-green3 div.b_ep_actualpage h4{color:#555555}.epmst-green3 div.b_pagination{float:none;position:static;width:100%}.epmst-green3 div.b_pagination ul{margin:0}.epmst-green3 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}.epmst-green3 div.b_pagination li span,.epmst-green3 div.b_pagination li a,.epmst-green3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green3 div.b_eportfolio_page,.epmst-green3 div.b_portfolio_toc,.epmst-green3 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-green4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green4,ul.b_eportfolio_maps li.template.epmst-green4{background:#d7dbb5;background:#d7dbb5 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#d7dbb5), to(#d7dbb5));background:#d7dbb5 -moz-linear-gradient(43% 71% 101deg, #d7dbb5, #d7dbb5);background:#d7dbb5 -o-linear-gradient(#d7dbb5, #d7dbb5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#d7dbb5', EndColorStr='#d7dbb5');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green4{margin-top:6px;background:#d7dbb5;background:#d7dbb5 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#d7dbb5), to(#d7dbb5));background:#d7dbb5 -moz-linear-gradient(43% 71% 101deg, #d7dbb5, #d7dbb5);background:#d7dbb5 -o-linear-gradient(#d7dbb5, #d7dbb5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#d7dbb5', EndColorStr='#d7dbb5');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green4 div.b_map_header h4{color:#555555}.epmst-green4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green4 div.b_ep_actualpage h1,.epmst-green4 div.b_ep_actualpage h4{color:#555555}.epmst-green4 div.b_pagination{float:none;position:static;width:100%}.epmst-green4 div.b_pagination ul{margin:0}.epmst-green4 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}.epmst-green4 div.b_pagination li span,.epmst-green4 div.b_pagination li a,.epmst-green4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green4 div.b_eportfolio_page,.epmst-green4 div.b_portfolio_toc,.epmst-green4 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-red{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red,ul.b_eportfolio_maps li.template.epmst-red{background:#ffba71;background:#ffba71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffba71), to(#ffba99));background:#ffba71 -moz-linear-gradient(43% 71% 101deg, #ffba71, #ffba99);background:#ffba71 -o-linear-gradient(#ffba71, #ffba99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffba71', EndColorStr='#ffba99');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red{margin-top:6px;background:#ffba71;background:#ffba71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffba71), to(#ffba99));background:#ffba71 -moz-linear-gradient(43% 71% 101deg, #ffba71, #ffba99);background:#ffba71 -o-linear-gradient(#ffba71, #ffba99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffba71', EndColorStr='#ffba99');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red div.b_map_header h4{color:#444444}.epmst-red div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red div.b_ep_actualpage h1,.epmst-red div.b_ep_actualpage h4{color:#444444}.epmst-red div.b_pagination{float:none;position:static;width:100%}.epmst-red div.b_pagination ul{margin:0}.epmst-red 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}.epmst-red div.b_pagination li span,.epmst-red div.b_pagination li a,.epmst-red div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red div.b_eportfolio_page,.epmst-red div.b_portfolio_toc,.epmst-red div.b_eportfolio_edit{background-image:none}}@media all{.epmst-red2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red2,ul.b_eportfolio_maps li.template.epmst-red2{background:#ff9772;background:#ff9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ff9772), to(#ff9780));background:#ff9772 -moz-linear-gradient(43% 71% 101deg, #ff9772, #ff9780);background:#ff9772 -o-linear-gradient(#ff9772, #ff9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ff9772', EndColorStr='#ff9780');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red2{margin-top:6px;background:#ff9772;background:#ff9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ff9772), to(#ff9780));background:#ff9772 -moz-linear-gradient(43% 71% 101deg, #ff9772, #ff9780);background:#ff9772 -o-linear-gradient(#ff9772, #ff9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ff9772', EndColorStr='#ff9780');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red2 div.b_map_header h4{color:#444444}.epmst-red2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red2 div.b_ep_actualpage h1,.epmst-red2 div.b_ep_actualpage h4{color:#444444}.epmst-red2 div.b_pagination{float:none;position:static;width:100%}.epmst-red2 div.b_pagination ul{margin:0}.epmst-red2 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}.epmst-red2 div.b_pagination li span,.epmst-red2 div.b_pagination li a,.epmst-red2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red2 div.b_eportfolio_page,.epmst-red2 div.b_portfolio_toc,.epmst-red2 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-red3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red3,ul.b_eportfolio_maps li.template.epmst-red3{background:#e8afbb;background:#e8afbb -webkit-gradient(linear, 37% 20%, 53% 100%, from(#e8afbb), to(#e8afa0));background:#e8afbb -moz-linear-gradient(43% 71% 101deg, #e8afbb, #e8afa0);background:#e8afbb -o-linear-gradient(#e8afbb, #e8afa0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#e8afbb', EndColorStr='#e8afa0');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red3{margin-top:6px;background:#e8afbb;background:#e8afbb -webkit-gradient(linear, 37% 20%, 53% 100%, from(#e8afbb), to(#e8afa0));background:#e8afbb -moz-linear-gradient(43% 71% 101deg, #e8afbb, #e8afa0);background:#e8afbb -o-linear-gradient(#e8afbb, #e8afa0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#e8afbb', EndColorStr='#e8afa0');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red3 div.b_map_header h4{color:#444444}.epmst-red3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red3 div.b_ep_actualpage h1,.epmst-red3 div.b_ep_actualpage h4{color:#444444}.epmst-red3 div.b_pagination{float:none;position:static;width:100%}.epmst-red3 div.b_pagination ul{margin:0}.epmst-red3 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}.epmst-red3 div.b_pagination li span,.epmst-red3 div.b_pagination li a,.epmst-red3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red3 div.b_eportfolio_page,.epmst-red3 div.b_portfolio_toc,.epmst-red3 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-red4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red4,ul.b_eportfolio_maps li.template.epmst-red4{background:#ffa800;background:#ffa800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffa800), to(#ffaf00));background:#ffa800 -moz-linear-gradient(43% 71% 101deg, #ffa800, #ffaf00);background:#ffa800 -o-linear-gradient(#ffa800, #ffaf00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffa800', EndColorStr='#ffaf00');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red4{margin-top:6px;background:#ffa800;background:#ffa800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffa800), to(#ffaf00));background:#ffa800 -moz-linear-gradient(43% 71% 101deg, #ffa800, #ffaf00);background:#ffa800 -o-linear-gradient(#ffa800, #ffaf00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffa800', EndColorStr='#ffaf00');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red4 div.b_map_header h4{color:#444444}.epmst-red4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red4 div.b_ep_actualpage h1,.epmst-red4 div.b_ep_actualpage h4{color:#444444}.epmst-red4 div.b_pagination{float:none;position:static;width:100%}.epmst-red4 div.b_pagination ul{margin:0}.epmst-red4 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}.epmst-red4 div.b_pagination li span,.epmst-red4 div.b_pagination li a,.epmst-red4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red4 div.b_eportfolio_page,.epmst-red4 div.b_portfolio_toc,.epmst-red4 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-blue{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue,ul.b_eportfolio_maps li.template.epmst-blue{background:#00d2f8;background:#00d2f8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00d2f8), to(#4a9ead));background:#00d2f8 -moz-linear-gradient(43% 71% 101deg, #00d2f8, #4a9ead);background:#00d2f8 -o-linear-gradient(#00d2f8, #4a9ead);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00d2f8', EndColorStr='#4a9ead');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue{margin-top:6px;background:#00d2f8;background:#00d2f8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00d2f8), to(#4a9ead));background:#00d2f8 -moz-linear-gradient(43% 71% 101deg, #00d2f8, #4a9ead);background:#00d2f8 -o-linear-gradient(#00d2f8, #4a9ead);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00d2f8', EndColorStr='#4a9ead');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue div.b_map_header h4{color:#444444}.epmst-blue div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue div.b_ep_actualpage h1,.epmst-blue div.b_ep_actualpage h4{color:#444444}.epmst-blue div.b_pagination{float:none;position:static;width:100%}.epmst-blue div.b_pagination ul{margin:0}.epmst-blue 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}.epmst-blue div.b_pagination li span,.epmst-blue div.b_pagination li a,.epmst-blue div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue div.b_eportfolio_page,.epmst-blue div.b_portfolio_toc,.epmst-blue div.b_eportfolio_edit{background-image:none}}@media all{.epmst-blue2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue2,ul.b_eportfolio_maps li.template.epmst-blue2{background:#c4f6ff;background:#c4f6ff -webkit-gradient(linear, 37% 20%, 53% 100%, from(#c4f6ff), to(#c4f6ff));background:#c4f6ff -moz-linear-gradient(43% 71% 101deg, #c4f6ff, #c4f6ff);background:#c4f6ff -o-linear-gradient(#c4f6ff, #c4f6ff);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#c4f6ff', EndColorStr='#c4f6ff');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue2{margin-top:6px;background:#c4f6ff;background:#c4f6ff -webkit-gradient(linear, 37% 20%, 53% 100%, from(#c4f6ff), to(#c4f6ff));background:#c4f6ff -moz-linear-gradient(43% 71% 101deg, #c4f6ff, #c4f6ff);background:#c4f6ff -o-linear-gradient(#c4f6ff, #c4f6ff);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#c4f6ff', EndColorStr='#c4f6ff');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue2 div.b_map_header h4{color:#444444}.epmst-blue2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue2 div.b_ep_actualpage h1,.epmst-blue2 div.b_ep_actualpage h4{color:#444444}.epmst-blue2 div.b_pagination{float:none;position:static;width:100%}.epmst-blue2 div.b_pagination ul{margin:0}.epmst-blue2 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}.epmst-blue2 div.b_pagination li span,.epmst-blue2 div.b_pagination li a,.epmst-blue2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue2 div.b_eportfolio_page,.epmst-blue2 div.b_portfolio_toc,.epmst-blue2 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-blue3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue3,ul.b_eportfolio_maps li.template.epmst-blue3{background:#b3e2f7;background:#b3e2f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#b3e2f7), to(#b3e2f7));background:#b3e2f7 -moz-linear-gradient(43% 71% 101deg, #b3e2f7, #b3e2f7);background:#b3e2f7 -o-linear-gradient(#b3e2f7, #b3e2f7);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#b3e2f7', EndColorStr='#b3e2f7');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue3{margin-top:6px;background:#b3e2f7;background:#b3e2f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#b3e2f7), to(#b3e2f7));background:#b3e2f7 -moz-linear-gradient(43% 71% 101deg, #b3e2f7, #b3e2f7);background:#b3e2f7 -o-linear-gradient(#b3e2f7, #b3e2f7);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#b3e2f7', EndColorStr='#b3e2f7');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue3 div.b_map_header h4{color:#444444}.epmst-blue3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue3 div.b_ep_actualpage h1,.epmst-blue3 div.b_ep_actualpage h4{color:#444444}.epmst-blue3 div.b_pagination{float:none;position:static;width:100%}.epmst-blue3 div.b_pagination ul{margin:0}.epmst-blue3 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}.epmst-blue3 div.b_pagination li span,.epmst-blue3 div.b_pagination li a,.epmst-blue3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue3 div.b_eportfolio_page,.epmst-blue3 div.b_portfolio_toc,.epmst-blue3 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-blue4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue4,ul.b_eportfolio_maps li.template.epmst-blue4{background:#dee7f7;background:#dee7f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dee7f7), to(#c1e9fd));background:#dee7f7 -moz-linear-gradient(43% 71% 101deg, #dee7f7, #c1e9fd);background:#dee7f7 -o-linear-gradient(#dee7f7, #c1e9fd);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dee7f7', EndColorStr='#c1e9fd');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue4{margin-top:6px;background:#dee7f7;background:#dee7f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dee7f7), to(#c1e9fd));background:#dee7f7 -moz-linear-gradient(43% 71% 101deg, #dee7f7, #c1e9fd);background:#dee7f7 -o-linear-gradient(#dee7f7, #c1e9fd);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dee7f7', EndColorStr='#c1e9fd');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue4 div.b_map_header h4{color:#444444}.epmst-blue4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue4 div.b_ep_actualpage h1,.epmst-blue4 div.b_ep_actualpage h4{color:#444444}.epmst-blue4 div.b_pagination{float:none;position:static;width:100%}.epmst-blue4 div.b_pagination ul{margin:0}.epmst-blue4 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}.epmst-blue4 div.b_pagination li span,.epmst-blue4 div.b_pagination li a,.epmst-blue4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue4 div.b_eportfolio_page,.epmst-blue4 div.b_portfolio_toc,.epmst-blue4 div.b_eportfolio_edit{background-image:none}}li.default .b_map_info p{color:#bbb}li.comic .b_map_info p{color:#88a5c4}li.leather .b_map_info p{color:#C2A074}.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(../openolat/images/arrow_right.png) no-repeat center right;padding-right:16px}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(../openolat/images/arrow_right.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}.b_eportfolio_page,.b_portfolio_toc,.b_eportfolio_edit,.b_eportfolio_changelog{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}.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(../openolat/images/portfolio/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_form.b_eportfolio_tag_selector{min-width:40em}div.b_eportfolio_restriction_wrapper a.b_togglebox_opened{z-index:10;display:block;width:20px;height:20px;padding:0;margin-left:12px}div.b_eportfolio_restriction_wrapper a.b_togglebox_closed{display:block;width:20px;height:20px;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;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-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 7px !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 7px !important}div.b_eportfolio_restriction_error div.b_togglebox_closed{background:transparent url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 5px !important}div.b_eportfolio_restriction_passed div.b_togglebox_closed{background:transparent url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 5px !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;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-ms-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-o-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%)}.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}.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-top-left-radius:7px;-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.default div.b_pagination li a{padding:1em;padding:5px 8px}.default div.b_pagination li,.default div.b_pagination li span,.default div.b_pagination li a{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.b_changelog{float:right}.default div.b_eportfolio_page,.default div.b_portfolio_toc,.default div.b_eportfolio_edit,.default div.b_eportfolio_changelog{background-image:none}.b_eportfolio_map.comic{background:#a2c3e8 none;padding:30px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:10px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:0;-moz-border-radius-topright:10px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:0;border-top-right-radius:10px;border-bottom-right-radius:0;border-bottom-left-radius:0}.comic{font-family:'Comic Sans MS', 'Comic Sans', fantasy}.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,.comic div.b_pagination li span,.comic div.b_pagination li a{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,.comic div.b_pagination li.b_changelog{background-image:url(../openolat/images/portfolio/postit_pink.png)}.b_eportfolio_map.leather{background:url(../openolat/images/portfolio/light-leather-tile.jpg)}.leather{font-family:Palatino, Georgia, serif}.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 .b_eportfolio_mapowner{color:#fff}.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-top-left-radius:7px;-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.leather div.b_pagination li a{padding:1em;padding:5px 8px}.leather div.b_pagination li,.leather div.b_pagination li span,.leather div.b_pagination li a{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.b_changelog{float:right}.leather div.b_eportfolio_page,.leather div.b_portfolio_toc,.leather div.b_eportfolio_edit,.leather div.b_eportfolio_changelog{background-image:none}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}#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}#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}#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(../openolat/images/edit_bg.png);background-position:top left}#o_qti_hints,#o_qti_solutions{margin:1em 0}#o_qti_hints a{background:url(../openolat/images/light-bulb.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}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%}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_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;border-top:1px solid #ff6666}.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{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1;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{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.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(../openolat/images/information-white.png) no-repeat left 50%;padding-left:20px;line-height:2em}.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)}.onyx_iframe{width:100%;height:100%;border:none;min-height:60em}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}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}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)}#b_main.o_editor #b_col3{background-image:url(../openolat/images/edit_bg.png);background-position:top left;background-repeat:repeat}#b_main.o_editor div.b_tabbedpane_wrapper div.b_tabbedpane_content{background:#fff}#b_main_toolbar.o_course_breadcumbs div.b_breadcumb_path ul li.b_first{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}a.b_preview{background-image:url(../openolat/images/docs/document_preview.png);background-repeat:no-repeat;background-position:left;padding:2px 0 2px 20px}fieldset a.b_preview,div.b_tabbedpane_wrapper a.b_preview{position:absolute}div.b_module_singlepage_wrapper a.b_content_edit{position:absolute;top:0;right:20px;display:inline;background:url(../openolat/images/docs/document--pencil.png) no-repeat top left;width:16px;height:16px;margin:3px}div.b_module_singlepage_wrapper a.b_content_download{position:absolute;top:0;z-index:10;background:url(../openolat/images/docs/document_download.png) no-repeat top left;padding-left:20px;margin-top:3px;min-height:19px;height:19px}div.b_titled_wrapper div.b_module_singlepage_wrapper a.b_content_download{position:relative;padding-bottom:3px}div.b_titled_wrapper div.b_module_singlepage_wrapper div.b_iframe_wrapper{margin-top:3px}#b_content_popup{float:right;background:url(../openolat/images/applications.png) no-repeat top left;width:16px;height:16px;margin:3px}#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%}div.o_buttons_box_right{position:absolute;top:0;right:0}div.o_course_run div.o_course_run_displaytitle{font-style:italic}div.o_course_run div.o_course_run_objectives{background-color:#E9EAEF;padding:5px 5px 5px 25px;margin:0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_scoreinfo{background:#e9eaef url(../openolat/images/seal.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_disclaimer{background:#e9eaef url(../openolat/images/information-white.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_groupinfo{background:#e9eaef url(../openolat/images/users.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_statusinfo{background:url(../openolat/images/bullet_go.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_returnbox{background:#e9eaef url(../openolat/images/box_return.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_dropbox{background:#e9eaef url(../openolat/images/box_drop.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_solutionbox{background:#e9eaef url(../openolat/images/box_solution.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_task{background:#e9eaef url(../openolat/images/assign.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_disclaimer h4,div.o_course_run div.o_course_run_objectives h4,div.o_course_run div.o_course_run_scoreinfo h4,div.o_course_run div.o_course_run_returnbox h4,div.o_course_run div.o_course_run_dropbox h4,div.o_course_run div.o_course_run_solutionbox h4,div.o_course_run div.o_course_run_task h4,div.o_course_run div.o_course_run_log h4{font-size:100%;margin:0 0 1em 0}div.o_course_run div.o_course_run_scoreinfo_noinfo{font-style:italic;font-weight:bold}div.o_course_run div.o_course_run_toc{margin:1em 0 0 0}div.o_course_run div.o_course_run_toc div.o_course_run_toc_entry{margin:0 0 1em 0;padding:1em 20px 0 0}div.o_course_run div.o_course_run_toc div.o_course_run_shorttitle{border-bottom:1px solid #ACAAAA}div.o_course_run div.o_course_run_toc div.o_course_run_displaytitle{margin-top:0.5em;color:#aaaaaa}div.o_course_run div.o_course_run_toc div.o_course_run_objectives{margin:1em 0 1em 0;border:0;background:none}div.o_course_run div.o_course_run_toc div.o_course_run_toc_entry{background:#FBFBFB;padding:5px;border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run #b_content_popup{position:absolute;top:0;right:0}div.o_sp_peekview{margin:1em 0 1em 0}div.o_sp_peekview ul{list-style:none}div.o_sp_peekview li{margin-top:0.5em}div.o_peekview_author{padding:3px 0 5px 0;font-style:italic;color:#aaaaaa;font-size:90%}#b_preview_wrapper{clear:both;padding:10px;background:#fff;border-bottom:1px solid #ff6666}#b_main.b_preview{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;background:white url(../openolat/images/prevbg.png) repeat}body.b_full_screen{background-color:white;background-image:none}body.b_full_screen #b_page_margins{display:none}body.b_full_screen div.b_modal_area{margin:2%;width:96%}body.b_full_screen div#b_preview_wrapper{margin:0;border:0;padding:0;background:#5e5e5e;background:-moz-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5e5e5e), color-stop(50%, #444444), color-stop(51%, #222222), color-stop(100%, #3c3c3c));background:-webkit-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-o-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-ms-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%)}body.b_full_screen div#b_preview_wrapper div.b_preview_link{border:none}body.b_full_screen div#b_preview_wrapper div.b_preview_link a.b_link_back{margin:0.5em}body.b_full_screen div#b_preview_wrapper div.b_preview_link div.b_preview_wrapper_loading{background:transparent url(../openolat/images/ajax-loader.gif) no-repeat top left}div#b_preview_wrapper div#b_preview_wrapper_message{float:right;padding-left:16px;width:100px}div.o_scorm a.b_link_close{padding-right:20px}div.o_scorm div.o_scorm_navigation{float:right;display:inline;padding:3px;background:#fefefe;background:-moz-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fefefe), color-stop(50%, #e3e3e3), color-stop(51%, #cfcfcf), color-stop(100%, #f3f3f3));background:-webkit-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-o-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-ms-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);border:1px solid #504D4E;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;margin:0.2em}div.o_scorm div.o_scorm_navigation a{margin:0 2px}div.o_scorm div.o_scorm_navigation a.o_scorm_previous_icon{background-image:url(../openolat/images/arrow_left_big.png)}div.o_scorm div.o_scorm_navigation a.o_scorm_next_icon{background-image:url(../openolat/images/arrow_right_big.png)}div.o_scorm div.o_scorm_navigation a.hover{background-color:none}.o_scorm_completed,.o_scorm_passed{top:6px;left:6px;background-image:url("../openolat/images/decorator/deco_ok.png")}.o_scorm_failed{top:6px;left:6px !important;background-image:url("../openolat/images/decorator/deco_error.png")}.o_scorm_incomplete{top:6px;left:6px;background-image:url("../openolat/images/decorator/deco_warn.png")}.o_scorm_not_attempted{top:6px;left:6px;background-image:none}div.o_members_search{padding-top:10px;padding-left:10px}div.filters{text-align:center;padding-top:1.5em}div.o_members_search div.searchitem{margin-bottom:0.5em}div.searchitem select,div.searchitem input{width:250px}.o_members_register{margin-bottom:5px}.o_members_register_active{font-weight:bold;font-size:120%}div.o_members_paging{width:100%;padding-bottom:1em;padding-top:0.5em;text-align:center}div.o_members_paging div{padding-left:1em;padding-right:1em;display:inline}div.o_bcard{background-color:#eee;margin-top:10px;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-o-border-radius:6px}div.o_bcard_header,div.o_members_header{padding:6px;border-bottom:1px solid #fff}div.o_bcard_portrait{float:left;display:inline;width:100px;height:100px;margin:10px}div.o_bcard_portrait img{border:1px #d3d3d3 solid}div.o_bcard_portrait_group{background-image:url(../openolat/images/group_100x100.png);border:1px #d3d3d3 solid}div.o_bcard_text{margin-left:120px;margin-top:10px;line-height:150%}div.o_bcard_footer{text-align:right;clear:both;font-size:95%;color:#1f49b3;padding:5px}.popup_iframe{width:100%;height:100%;border:none;min-height:60em}div.o_reservation{position:relative;padding-bottom:15px}div.o_reservation span.o_reservation_name{padding-left:20px}div.o_reservation span.o_reservation_accepted{background:transparent url(../openolat/images/tick.png) top left no-repeat}div.o_reservation span.o_reservation_refused{background:transparent url(../openolat/images/cross.png) top left no-repeat}div.o_reservation div.o_reservation_details{padding:5px 0 0 20px}div.o_reservation ul{list-style:none}div.o_reservation ul li{background-repeat:no-repeat}div.o_infomsgs{padding-top:5px}div.o_infomsgs div.b_datecomp{top:2px;float:left;display:inline}div.o_infomsgs div.o_infomsg{margin-bottom:1em;padding:10px 0 0 0}div.o_infomsgs .b_year{display:none}div.o_infomsgs .o_item_info{color:#7D7D7D;font-size:90%}div.o_infomsgs .o_item_info .o_item_info_mod{color:#98221F}div.b_table_wrapper td a.o_peekview_infomsg_link{display:inline}div.o_infomsgs_config{padding-bottom:5px}div.o_infomsgs_config div{display:inline}.o_infomsg_icon{background-image:url(../openolat/images/information-button.png)}.o_infomsg_create_button{position:absolute;top:0;right:250px}.b_mail_icon{background-image:url(../openolat/images/mail.png)}div.b_mail_message div.b_form_element_wrapper:first-child div.b_form_element{font-weight:bold}.b_mail_new{width:20px !important;background-image:url(../openolat/images/new-text.png)}.b_table_wrapper span.b_mail_unread{display:block;display:inline-block;width:16px;height:16px;background:transparent url(../openolat/images/bullet_black.png) top left no-repeat}.b_table_wrapper span.b_mail_read{display:block;display:inline-block;width:16px;height:16px}.b_table_wrapper span.b_mail_marked{display:block;display:inline-block;width:16px;height:16px;background:transparent url(../openolat/images/flag.png) top left no-repeat}.b_table_wrapper span.b_mail_unmarked{display:block;display:inline-block;width:16px;height:16px}.b_table_wrapper .b_marked{font-weight:bold}ul.b_mail_attachments{list-style:none;margin:0;padding:0}ul.b_mail_attachments li{margin:0}div.o_cmembers *{vertical-align:middle}div.o_cmembers div.o_cmember{float:left;width:30%;height:50px;overflow:hidden;margin:5px 5px 5px 0;padding:8px;border:1px solid #ddd;background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 2px #d3d3d3;-ms-box-shadow:0 1px 2px #d3d3d3;-o-box-shadow:0 1px 2px #d3d3d3;-webkit-box-shadow:0 1px 2px #d3d3d3;box-shadow:0 1px 2px #d3d3d3}div.o_cmembers div.o_cmember *{vertical-align:middle}div.o_cmembers div.o_cmember .o_cmember_portrait_wrapper{background-color:white;float:left;height:100%;width:50px;overflow:hidden;margin-right:5px;border:1px solid #ddd}div.o_cmembers div.o_cmember .o_cmember_portrait_wrapper img.o_cmember_portrait{background-color:white;min-width:50px;background-position:50% 50%;background-repeat:no-repeat}div.o_cmembers div.o_cmember .o_cmember_info_wrapper{padding:16px 0px}div.o_cmembers a.o_cmembers_mail{float:none;margin-left:5px;padding-left:20px;background-image:url(../openolat/images/mail.png)}div.o_cmembers a.o_cmembers_mail span{display:none}div.o_cmembers h4{padding:7px 0 0 0;clear:both}div.o_ll_container ul li{list-style:circle;margin:1em}div.o_ll_container ul li div{font-style:italic}a.o_ll_browse span{display:block;width:20px;height:18px;background:url(../openolat/images/library.png) top left no-repeat;margin-left:1px}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}img.o_portrait_dummy{background-image:url(../openolat/images/dummy.png);width:100px;height:100px}img.o_portrait_dummy_small{background-image:url(../openolat/images/dummy_small.png)}img.o_portrait_dummy_female_big{background-image:url(../openolat/images/dummy_female_big.png);width:100px;height:100px}img.o_portrait_dummy_female_small{background-image:url(../openolat/images/dummy_female_small.png)}img.o_portrait_dummy_male_big{background-image:url(../openolat/images/dummy_male_big.png);width:100px;height:100px}img.o_portrait_dummy_male_small{background-image:url(../openolat/images/dummy_male_small.png)}ul.o_sel_repository_owners{list-style:none;margin:0;padding:0;white-space:nowrap}ul.o_sel_repository_owners li{margin:0}div.fx_portal_admin{margin-top:10px}div.fx_portlets_column{width:30%;float:left;margin-right:10px}div.fx_portlets_column div.b_portlet{min-height:1em}div.fx_portlets_column_name{padding:5px 5px 0px 5px}div.fx_portlets_column_name span{color:#4F576A;font-weight:bold;text-deocration:underline}div.fx_portlets_column_portlets{border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%)}div.fx_available_portlets{width:28%;float:right}div.fx_available_portlets div.b_portlet{min-height:1em}div.fx_portlets_admin_column{min-height:12em}div.fx_site_admin_column{float:left}div.fx_site_admin_column div.fx_site_definition{min-height:1em}div.o_notifications_news_datechooser{border-bottom:1px solid #bbb;padding:1em 0 1em 0}div.o_notifications_news_datechooser label{padding-right:1em}div.o_notifications_news_subscription{margin:1.5em 0 2em 0}div.o_notifications_news_subscription h4{font-size:110%}div.o_notifications_news_subscription h4.o_returnbox_icon{background-image:url(../openolat/images/box_return.png) !important}div.o_notifications_news_context{color:#7D7D7D;font-size:90%}div.o_notifications_news_content{margin:0.5em 0 0.5em 0}div.o_notifications_news_content ul{list-style-type:none;margin:0}#o_search_form{margin:5px;position:relative}#o_search_form_toggler{background-image:url(../openolat/images/magnifier-zoom.png);cursor:pointer}#o_search_form_content div.b_form div.b_form_element_wrapper div.b_form_element_wrapper{margin:0.5em 0}#o_search_form div.b_contexthelp_wrapper a.b_contexthelp{right:0}#o_search_results{border-top:1px solid #eee;margin:5px}#o_search_results_header{line-height:16px;vertical-align:middle;background:url(../openolat/images/magnifier-zoom.png) no-repeat center left #f8f8f8;padding:2px 2px 2px 20px;margin-bottom:5px}#o_search_results_header div.o_search_results_stats{float:right;display:inline;font-size:90%}#o_search_results_header span.o_search_highlight{padding-left:2em}#o_search_results_header.o_search_did_you_mean,#o_search_results_header.o_search_no_results{background-image:url(../openolat/images/exclamation.png);color:#990000}#o_search_results_header.o_search_did_you_mean span.o_search_did_you_mean_words{color:#000;font-weight:bold}#o_search_results_header #o_search_pageing{padding-left:2em;display:inline}#o_search_pageing_bottom{text-align:center;background:#F8F8F8;border-bottom:1px solid #eee;padding:3px}#o_search_results_toomany{background:url(../openolat/images/exclamation.png) no-repeat center left #f8f8f8;color:#990000;padding:5px 0 3px 20px;position:relative;top:-5px;margin-bottom:5px}div.o_search_result{margin:0 0 1em 0;padding:1em 0 0 0}div.o_search_result_title a{font-weight:bold}div.o_search_result_title a.o_search_result_details_link{margin-left:1em;font-weight:normal;font-size:90%;vertical-align:bottom}div.o_search_result_excerpt{padding:2px 0 1px 0;font-size:95%;max-width:60em}div.o_search_result_excerpt span.o_search_result_highlight{font-weight:bold;background-color:#FFFF80}div.o_search_result_context,div.o_search_result_author,div.o_search_result_lastmod,div.o_search_result_type,div.o_search_result_desc{padding:1px 0;font-size:90%;color:#667}a.o_fulltext_search_button{background:url(../openolat/images/magnifier-zoom.png) top left no-repeat}div.error-box{width:400px;margin:30px auto;padding:20px;border:2px solid red;border-radius:6px;background:white;moz-box-shadow:0 2px 4px #cccccc;-ms-box-shadow:0 2px 4px #cccccc;-o-box-shadow:0 2px 4px #cccccc;-webkit-box-shadow:0 2px 4px #cccccc;box-shadow:0 2px 4px #cccccc;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-o-border-radius:6px}div.error-box h1{background-image:url(../openolat/images/icon_warning_32.png);background-repeat:no-repeat;padding-left:30px;font-size:14pt;font-weight:bold}.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}*:first-child + html div.holder{padding-bottom:2px}* html div.holder{padding-bottom:2px}.textbox-outer{list-style-type:none;margin-left:0em}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{font-size:80%;min-width:200px;width:auto;margin:0;overflow:hidden;height:auto !important;height:1%;padding:0px 0px 0;cursor:text}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 .maininput{border:1px solid #eeeeee}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}ol.textbox-outer{margin:0;padding:0}.textboxlist-auto{position:absolute;width:300px;overflow:visible;display:none;background:#eee;z-index:2}.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}.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 .textboxlist-auto ul li{margin-left:0}.b_wizard div.holder a.bit-input input{background:#f8f8f8;padding:0.4em}.clgen_font_arial{font-family:arial,helvetica}.clgen_font_arial_black{font-family:arial black,avant garde}.clgen_font_comic{font-family:comic sans ms,sans-serif}.clgen_font_courier{font-family:courier new,courier}.clgen_font_georgia{font-family:georgia,serif}.clgen_font_impact{font-family:impact,chicago}.clgen_font_lucida{font-family:lucida console,monaco,monospace}.clgen_font_palatino{font-family:palatino linotype,book antiqua,palatino,serif}.clgen_font_times{font-family:times new roman,times}.clgen_font_verdana{font-family:verdana,geneva,sans-serif}.clgen_font_xxlarge{font-size:130%}.clgen_font_xxsmall{font-size:70%}option.Black{background-color:Black}option.Navy{background-color:Navy}option.DarkBlue{background-color:DarkBlue}option.MediumBlue{background-color:MediumBlue}option.Blue{background-color:Blue}option.DarkGreen{background-color:DarkGreen}option.Green{background-color:Green}option.Teal{background-color:Teal}option.DarkCyan{background-color:DarkCyan}option.DeepSkyBlue{background-color:DeepSkyBlue}option.DarkTurquoise{background-color:DarkTurquoise}option.MediumSpringGreen{background-color:MediumSpringGreen}option.Lime{background-color:Lime}option.SpringGreen{background-color:SpringGreen}option.Aqua{background-color:Aqua}option.Cyan{background-color:Cyan}option.MidnightBlue{background-color:MidnightBlue}option.DodgerBlue{background-color:DodgerBlue}option.LightSeaGreen{background-color:LightSeaGreen}option.ForestGreen{background-color:ForestGreen}option.SeaGreen{background-color:SeaGreen}option.DarkSlateGray{background-color:DarkSlateGray}option.DarkSlateGrey{background-color:DarkSlateGrey}option.LimeGreen{background-color:LimeGreen}option.MediumSeaGreen{background-color:MediumSeaGreen}option.Turquoise{background-color:Turquoise}option.RoyalBlue{background-color:RoyalBlue}option.SteelBlue{background-color:SteelBlue}option.DarkSlateBlue{background-color:DarkSlateBlue}option.MediumTurquoise{background-color:MediumTurquoise}option.Indigo{background-color:Indigo}option.DarkOliveGreen{background-color:DarkOliveGreen}option.CadetBlue{background-color:CadetBlue}option.CornflowerBlue{background-color:CornflowerBlue}option.MediumAquaMarine{background-color:MediumAquaMarine}option.DimGray{background-color:DimGray}option.DimGrey{background-color:DimGrey}option.SlateBlue{background-color:SlateBlue}option.OliveDrab{background-color:OliveDrab}option.SlateGray{background-color:SlateGray}option.SlateGrey{background-color:SlateGrey}option.LightSlateGray{background-color:LightSlateGray}option.LightSlateGrey{background-color:LightSlateGrey}option.MediumSlateBlue{background-color:MediumSlateBlue}option.LawnGreen{background-color:LawnGreen}option.Chartreuse{background-color:Chartreuse}option.Aquamarine{background-color:Aquamarine}option.Maroon{background-color:Maroon}option.Purple{background-color:Purple}option.Olive{background-color:Olive}option.Gray{background-color:Gray}option.Grey{background-color:Grey}option.SkyBlue{background-color:SkyBlue}option.LightSkyBlue{background-color:LightSkyBlue}option.BlueViolet{background-color:BlueViolet}option.DarkRed{background-color:DarkRed}option.DarkMagenta{background-color:DarkMagenta}option.SaddleBrown{background-color:SaddleBrown}option.DarkSeaGreen{background-color:DarkSeaGreen}option.LightGreen{background-color:LightGreen}option.MediumPurple{background-color:MediumPurple}option.DarkViolet{background-color:DarkViolet}option.PaleGreen{background-color:PaleGreen}option.DarkOrchid{background-color:DarkOrchid}option.YellowGreen{background-color:YellowGreen}option.Sienna{background-color:Sienna}option.Brown{background-color:Brown}option.DarkGray{background-color:DarkGray}option.DarkGrey{background-color:DarkGrey}option.LightBlue{background-color:LightBlue}option.GreenYellow{background-color:GreenYellow}option.PaleTurquoise{background-color:PaleTurquoise}option.LightSteelBlue{background-color:LightSteelBlue}option.PowderBlue{background-color:PowderBlue}option.FireBrick{background-color:FireBrick}option.DarkGoldenRod{background-color:DarkGoldenRod}option.MediumOrchid{background-color:MediumOrchid}option.RosyBrown{background-color:RosyBrown}option.DarkKhaki{background-color:DarkKhaki}option.Silver{background-color:Silver}option.MediumVioletRed{background-color:MediumVioletRed}option.IndianRed{background-color:IndianRed}option.Peru{background-color:Peru}option.Chocolate{background-color:Chocolate}option.Tan{background-color:Tan}option.LightGray{background-color:LightGray}option.LightGrey{background-color:LightGrey}option.PaleVioletRed{background-color:PaleVioletRed}option.Thistle{background-color:Thistle}option.Orchid{background-color:Orchid}option.GoldenRod{background-color:GoldenRod}option.Crimson{background-color:Crimson}option.Gainsboro{background-color:Gainsboro}option.Plum{background-color:Plum}option.BurlyWood{background-color:BurlyWood}option.LightCyan{background-color:LightCyan}option.Lavender{background-color:Lavender}option.DarkSalmon{background-color:DarkSalmon}option.Violet{background-color:Violet}option.PaleGoldenRod{background-color:PaleGoldenRod}option.LightCoral{background-color:LightCoral}option.Khaki{background-color:Khaki}option.AliceBlue{background-color:AliceBlue}option.HoneyDew{background-color:HoneyDew}option.Azure{background-color:Azure}option.SandyBrown{background-color:SandyBrown}option.Wheat{background-color:Wheat}option.Beige{background-color:Beige}option.WhiteSmoke{background-color:WhiteSmoke}option.MintCream{background-color:MintCream}option.GhostWhite{background-color:GhostWhite}option.Salmon{background-color:Salmon}option.AntiqueWhite{background-color:AntiqueWhite}option.Linen{background-color:Linen}option.LightGoldenRodYellow{background-color:LightGoldenRodYellow}option.OldLace{background-color:OldLace}option.Red{background-color:Red}option.Fuchsia{background-color:Fuchsia}option.Magenta{background-color:Magenta}option.DeepPink{background-color:DeepPink}option.OrangeRed{background-color:OrangeRed}option.Tomato{background-color:Tomato}option.HotPink{background-color:HotPink}option.Coral{background-color:Coral}option.Darkorange{background-color:Darkorange}option.LightSalmon{background-color:LightSalmon}option.Orange{background-color:Orange}option.LightPink{background-color:LightPink}option.Pink{background-color:Pink}option.Gold{background-color:Gold}option.PeachPuff{background-color:PeachPuff}option.NavajoWhite{background-color:NavajoWhite}option.Moccasin{background-color:Moccasin}option.Bisque{background-color:Bisque}option.MistyRose{background-color:MistyRose}option.BlanchedAlmond{background-color:BlanchedAlmond}option.PapayaWhip{background-color:PapayaWhip}option.LavenderBlush{background-color:LavenderBlush}option.SeaShell{background-color:SeaShell}option.Cornsilk{background-color:Cornsilk}option.LemonChiffon{background-color:LemonChiffon}option.FloralWhite{background-color:FloralWhite}option.Snow{background-color:Snow}option.Yellow{background-color:Yellow}option.LightYellow{background-color:LightYellow}option.Ivory{background-color:Ivory}option.White{background-color:White}#o_feed .o_box{border:1px solid #eee;padding:0.8em;margin-bottom:2em;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%);border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}#o_feed div.o_feed_edit{float:right;position:relative;top:0.2em;margin-right:0}#o_feed #o_link_container{margin-bottom:0.8em}#o_feed #o_link_container div.o_home{text-align:center}#o_feed #o_link_container div.o_older_items{float:left;display:inline}#o_feed #o_link_container div.o_newer_items{float:right;display:inline}#o_feed .b_year_navigation{text-align:center}#o_feed .b_year_navigation .b_months{border-top:1px solid #eee;padding-top:1em;margin-top:0.5em;clear:both;list-style:none}#o_feed .b_year_navigation span.b_disabled{background-image:none}div.o_feed_peekview{margin:1em 0 1em 0}div.o_feed_peekview h5{font-size:1em;position:relative;left:-20px}div.o_feed_peekview div.o_feed_peekview_item{padding-left:20px}#o_feed div.b_datecomp{top:2px;float:left;display:inline}#o_feed p.o_podcast_date{font-size:80%;color:#aaaaaa}#o_feed div.o_podcast_info img.icon{float:left;margin:0 1.5em 1.5em 0;max-width:120px;max-height:120px}#o_feed div.o_podcast_no_image{float:left;margin:0 1em 1em 0;width:100px;height:100px;color:#dfdfdf;background:white;text-align:center;padding:20px;border:2px dashed #dfdfdf;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}#o_feed div.o_podcast_no_image span{vertical-align:middle}#o_feed div.o_podcast_subscription{clear:both}#o_feed div.o_podcast_subscription a.o_podcast_rss_link{display:block;float:right;width:16px;height:16px;background:url(../openolat/images/feed.png) no-repeat}#o_feed div.o_podcast_episode{padding:10px;margin-top:20px;border:1px solid #dfdfdf;background-color:#fdfdfd;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}#o_feed div.o_podcast_episode div.b_ratings_and_comments{margin:2em 0 0 0;padding-bottom:0;border-bottom:0}#o_feed div.o_podcast_episode div.o_podcast_audio{margin-bottom:3px}#o_feed div.o_podcast_episode div.o_podcast_audio embed{width:200px;height:24px}#o_feed div.o_podcast_episode div.o_podcast_video{margin-bottom:3px}#o_feed div.o_podcast_episode div.o_podcast_video embed{width:200px;height:157px}#o_feed .back_link.o_podcast{margin-bottom:1.5em}div.o_podcast_peekview div.o_feed_peekview_item a.o_feed_item_icon{background-image:url(../openolat/images/control/speaker-volume.png)}#o_feed .o_blog_posts .o_post,#o_feed .o_blog_post .o_post{margin-bottom:1em;padding:10px;border:1px solid #dfdfdf;background-color:#fdfdfd;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}.o_post-readmorelinks{margin-top:1em;list-style:none}.o_post-readmorelinks,.o_post-readmorelinks li{margin-left:0;padding-left:0}#o_feed .o_blog_posts .o_draft{padding:0.8em;background-color:#fcf7ac;border:1px solid #fddc55}#o_feed .o_blog_posts .o_scheduled{padding:0.8em;background-color:#d9ffd0;border:1px solid #beffae}#o_feed div.o_blog_info div.o_blog_subscription{min-height:16px;padding-left:20px;background:url(../openolat/images/feed.png) no-repeat}#o_feed .o_blog_info .o_author,#o_feed .o_blog_posts .o_item_info{color:#7D7D7D;font-size:90%;margin:0}#o_feed .o_blog_posts p.o_item_info span.o_item_info_mod{color:#98221F}#o_feed .o_blog_post .back_link{margin-bottom:1.5em}div.o_blog_peekview div.o_feed_peekview_item a.o_feed_item_icon{background-image:url(../openolat/images/comment.png)}#o_instantmessaging_status_changer{padding:1em 0 0 0;margin:0}#o_instantmessaging_status_changer a.b_contexthelp{margin-top:5px;padding-right:5px}#o_instantmessaging_status_changer ul{list-style-type:none;padding:0;margin:0}#o_instantmessaging_status_changer li{padding:0;margin:0}#o_instantmessaging_status_changer li a{padding:0.1em 0 0.1em 20px;background-repeat:no-repeat;background-position:0 50%}.o_instantmessaging_chat_history,.o_groupchat_history{border:1px solid #ACAAAA;overflow:scroll;margin:0 0 1em 0;overflow-x:auto;height:170px;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%)}.o_instantmessaging_chat_history div,.o_groupchat_history div{border-top:1px solid #eee;padding:0.3em 0}.o_instantmessaging_chat_form input,.o_groupchat_chat_form input{width:99%}.o_instantmessaging_chat_form div.b_button_group,.o_groupchat_chat_form div.b_button_group{margin-top:1em}#o_instantmessages_buddieslist{padding:1em 0 0 0;margin:0}#o_instantmessages_buddieslist a.b_contexthelp{margin-top:5px;padding-right:5px}#o_instantmessages_buddieslist ul{list-style-type:none;padding:0;margin:0}#o_instantmessages_buddieslist li{margin:0;padding:0}#o_instantmessages_buddieslist li.o_instantmessaging_groupname{padding:0 0 0 20px;background:url(../openolat/images/users.png) no-repeat 0 0}#o_instantmessages_buddieslist li a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 0}#o_instantmessages_buddieslist a.o_instantmessaging_showgroupswitch{padding:2px 0 2px 20px;background:url(../openolat/images/users_conf.png) no-repeat 0 0}#o_instantmessages_buddieslist a.o_instantmessaging_showofflineswitch{padding:2px 0 2px 20px;background:url(../openolat/images/im/grstar.png) no-repeat 0 0}div.o_groupchat_roster{margin:0}div.o_groupchat_roster ul{list-style-type:disc;margin:0;padding:0}div.o_groupchat_roster li{font-size:95%}.o_instantmessaging_available_icon{background-image:url(../openolat/images/im/gstar.png)}.o_instantmessaging_chat_icon{background-image:url(../openolat/images/im/gstar_chat.png)}.o_instantmessaging_away_icon{background-image:url(../openolat/images/im/gstar_clock.png)}.o_instantmessaging_dnd_icon{background-image:url(../openolat/images/im/gstar_cross.png)}.o_instantmessaging_unavailable_icon{background-image:url(../openolat/images/im/grstar.png)}.o_instantmessaging_xa_icon{background-image:url(../openolat/images/im/grstar_clock.png)}.o_instantmessaging_offline_icon{background-image:url(../openolat/images/im/grstar.png)}.o_instantmessaging_new_msg_icon{background-image:url(../openolat/images/im/new_message.png)}.o_instantmessaging_error_icon{background-image:url(../openolat/images/cross.png)}.o_instantmessaging_refresh_icon{background-image:url(../openolat/images/qti/tries.png)}div.o_home_portaleditlink{position:absolute;top:1em;right:0.6em}.o_home_main{text-align:center}div.o_home_rsslink{clear:both;float:right;display:inline;margin:10px 0}div.o_home_rsslink a{float:right;display:inline}div.o_home_rsslink a.o_home_rsslink{background:url(../openolat/images/feed.png) no-repeat;width:16px;display:block;height:16px;line-height:0}.b_portlet{position:relative;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}.b_portlet div.b_portlet_table table{background:none;border:none}.b_portlet div.b_portlet_table table th,.b_portlet div.b_portlet_table table td{padding:0}.b_portlet div.b_portlet_table table tbody tr{background:transparent}.b_portlet div.b_portlet_table table tbody tr.b_table_odd td{background:transparent}.b_portlet div.b_portlet_table table tbody tr td{border:0 !important}.b_portlet div.b_portlet_table table tbody tr:hover,.b_portlet div.b_portlet_table table tbody tr:hover td,.b_portlet div.b_portlet_table table tbody tr:focus,.b_portlet div.b_portlet_table table tbody tr:focus td{background:transparent}.b_portlet div.b_portlet_table div.b_table_empty{background:none;padding:0;margin:0}div.o_portlet_repository_student td.b_first_child{width:24px}div.o_portlet_repository_teacher td.b_first_child{width:24px}.b_portlet .b_portlet_header{background-repeat:no-repeat;background-position:0% 50%;padding-left:27px;padding-top:5px;padding-bottom:5px}div.o_portlet_calendar div.b_portlet_header{background-image:url(../openolat/images/calendar_empty.png);padding-left:2px;padding-top:8px}div.o_portlet_calendar.o_day_1 div.b_portlet_header strong:before{content:"1";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_2 div.b_portlet_header strong:before{content:"2";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_3 div.b_portlet_header strong:before{content:"3";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_4 div.b_portlet_header strong:before{content:"4";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_5 div.b_portlet_header strong:before{content:"5";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_6 div.b_portlet_header strong:before{content:"6";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_7 div.b_portlet_header strong:before{content:"7";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_8 div.b_portlet_header strong:before{content:"8";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_9 div.b_portlet_header strong:before{content:"9";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_10 div.b_portlet_header strong:before{content:"10";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_11 div.b_portlet_header strong:before{content:"11";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_12 div.b_portlet_header strong:before{content:"12";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_13 div.b_portlet_header strong:before{content:"13";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_14 div.b_portlet_header strong:before{content:"14";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_15 div.b_portlet_header strong:before{content:"15";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_16 div.b_portlet_header strong:before{content:"16";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_17 div.b_portlet_header strong:before{content:"17";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_18 div.b_portlet_header strong:before{content:"18";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_19 div.b_portlet_header strong:before{content:"19";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_20 div.b_portlet_header strong:before{content:"20";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_21 div.b_portlet_header strong:before{content:"21";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_22 div.b_portlet_header strong:before{content:"22";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_23 div.b_portlet_header strong:before{content:"23";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_24 div.b_portlet_header strong:before{content:"24";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_25 div.b_portlet_header strong:before{content:"25";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_26 div.b_portlet_header strong:before{content:"26";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_27 div.b_portlet_header strong:before{content:"27";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_28 div.b_portlet_header strong:before{content:"28";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_29 div.b_portlet_header strong:before{content:"29";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_30 div.b_portlet_header strong:before{content:"30";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_31 div.b_portlet_header strong:before{content:"31";font-size:smaller;padding-right:16px}div.o_portlet_infomsg div.b_portlet_header{background-image:url(../openolat/images/comment.png)}div.o_portlet_quickstart div.b_portlet_header{background-image:url(../openolat/images/mouse.png)}div.o_portlet_bookmark div.b_portlet_header{background-image:url(../openolat/images/book-open-bookmark.png)}div.o_portlet_groups div.b_portlet_header{background-image:url(../openolat/images/users.png)}div.o_portlet_notes div.b_portlet_header{background-image:url(../openolat/images/sticky-note--pencil.png)}div.o_portlet_noti div.b_portlet_header{background-image:url(../openolat/images/mail.png)}div.o_portlet_eff div.b_portlet_header{background-image:url(../openolat/images/script-stamp.png)}div.o_portlet_repository_student div.b_portlet_header{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}div.o_portlet_repository_teacher div.b_portlet_header{background-image:url(../openolat/images/le_resources/book-open-text-image-red.png)}div.b_portlet_iframe div.b_portlet_header{background-image:url(../openolat/images/layer.png)}div.b_portlet_sysinfo div.b_portlet_header{background-image:url(../openolat/images/exclamation.png)}div.b_portlet_dyk div.b_portlet_header{background-image:url(../openolat/images/light-bulb.png)}div.o_portlet_infomessages div.b_portlet_header{background-image:url(../openolat/images/information-button.png)}div.b_portlet.o_pt_w_if div.b_portlet_header{background-image:url(../openolat/images/globe.png)}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}div.b_portlet_toolbox{position:absolute;top:0;right:0;padding:2px;height:20px;overflow-y:hidden !important;overflow-x:hidden !important}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/bin-metal-full.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);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_right_disabled{background-image:url(../openolat/images/arrow_right_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_down_disabled{background-image:url(../openolat/images/arrow_down_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_up_disabled{background-image:url(../openolat/images/arrow_up_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_sort_auto_disabled{background-image:url(../openolat/images/table_sort.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_sort_manual_disabled{background-image:url(../openolat/images/table_gear.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}.b_toolboxes{padding:6px}.b_toolboxes .b_toolbox{margin-bottom:20px}.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.7em;white-space:nowrap}.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(../openolat/images/bullet_white.png);padding-left:18px;display:block}div.b_portlet.o_pt_w_if div.b_portlet_header{background-image:url(../openolat/images/globe.png)}div.b_portlet p{margin-bottom:0}div.b_portlet_dyk_q{font-weight:bold}div.b_portlet_dyk_a{padding-top:5px}div.b_portlet_dyk_next{text-align:right}div.f_library_catalog div.b_tree ul{white-space:normal}div.f_library_catalog div.b_tree ul.b_tree_l1 li a.b_tree_icon{background-image:none !important}div.f_library_catalog div.f_metadata{background-color:#fcfcfc;margin-left:20px;padding:4px}div.f_library_catalog h4{padding-left:25px;background-repeat:no-repeat;background-position:center left}div.f_library_catalog div.f_folder_info div.f_metadata{margin-bottom:1.5em}div.f_library_catalog div.b_noti{right:90px}div.f_library_catalog div.f_thumbnails_switch{border:1px solid #E9EAEF;display:inline;position:absolute;top:0px;right:0px;float:right;padding:3px 3px 3px 23px}div.f_library_catalog div.f_thumbnails_on{background:url(../openolat/images/docs/document_preview.png) no-repeat 3px 50%}div.f_library_catalog div.f_thumbnails_off{background:url(../openolat/images/docs/document_preview.png) no-repeat 3px 50%;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=70);-moz-opacity:0.7;-khtml-opacity:0.7;opacity:0.7}div.f_library_catalog th,div.f_library_catalog td{text-align:left;font-size:0.9em;color:#999;margin:0;padding:0;border:0}div.f_library_catalog th{font-weight:bold;width:14em;vertical-align:top}div.f_library_catalog h3.b_filetype_folder{margin-top:20px}div.f_library_catalog div.f_item{margin-bottom:1em;padding:0.5em}div.f_library_catalog div.f_item div.f_item_thumbnail{width:200px;height:200px;float:left;margin-right:20px}div.f_library_catalog div.f_item div.f_item_links a{background-repeat:no-repeat}div.f_library_catalog div.f_item div.f_item_links a.b_filetype_file{display:block;width:70%;float:left;padding:2px 10px 2px 20px;background-repeat:no-repeat;margin:0}div.f_library_catalog div.f_item div.f_item_links a.f_permalink{text-decoration:none;display:block;width:9px;height:9px;float:right;padding:4px 2px 2px 2px;margin:0;background-position:center center}div.f_library_catalog div.f_item div.f_item_links span a.f_sendmail{text-decoration:none;background:url(../openolat/images/mail.png) no-repeat top left;display:block;width:16px;height:16px;float:right;padding:0 0 0 2px;margin:0}div.f_library_catalog div.f_item div.f_metadata{position:relative;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;moz-box-shadow:0 1px 2px #d3d3d3;-ms-box-shadow:0 1px 2px #d3d3d3;-o-box-shadow:0 1px 2px #d3d3d3;-webkit-box-shadow:0 1px 2px #d3d3d3;box-shadow:0 1px 2px #d3d3d3}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail{float:left;border-right:1px solid #eeeeee}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail_inner{width:200px;height:200px}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail_unavailable{width:200px;height:200px;background-image:url(../openolat/images/no_preview.png);background-repeat:no-repeat;background-position:50% 50%}div.f_library_catalog div.f_item div.f_metadata div.f_metadata_text{padding-bottom:35px}div.f_library_catalog div.f_item div.f_metadata div.f_metadata_text_inner{width:100%}div.f_library_catalog div.f_item div.f_metadata div.f_item_ratings{position:absolute;bottom:3px;right:3px;width:300px}div.f_library_catalog div.f_item div.f_metadata div.f_item_ratings div.b_ratings_and_comments{margin:0;border:none}div.f_library_catalog div.f_item_selected div.f_metadata{background-color:#F0F0F0 !important;moz-box-shadow:1 1px 4px #d3d3d3;-ms-box-shadow:1 1px 4px #d3d3d3;-o-box-shadow:1 1px 4px #d3d3d3;-webkit-box-shadow:1 1px 4px #d3d3d3;box-shadow:1 1px 4px #d3d3d3}div.f_library_catalog h3.f_search_results{background-image:url(../openolat/images/magnifier-zoom.png) !important}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox input{line-height:1.3em;margin:0;width:10em}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox input:focus{border:1px solid #504D4E}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox button{width:16px;height:16px;background:url(../openolat/images/magnifier-zoom.png) no-repeat;border:0;vertical-align:top}div.f_library_overview img{float:right;max-width:50%}div.f_library_overview p{padding-left:20px}div.f_library_overview div.f_library_big_icon{float:right;width:425px;height:282px;background:url(../openolat/images/library_image.png) no-repeat}div.f_library_overview div.f_library_newest_files ul li{white-space:normal;padding-bottom:0.3em}div.f_library_overview div.f_library_newest_files ul li a{background-position:top left;min-height:16px}.f_library_icon{background-image:url(../openolat/images/library.png)}@media print{.o_noprint{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_toplink{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}body{font-size:10pt}.b_noti{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_main.o_loginscreen{background-image:none}#b_main.o_home{background-image:none}#b_main.o_editor{background-image:none}#b_main{moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;border:none}body,#b_page_margins,#b_page,#b_main,#b_page_wrapper{margin:0;padding:0;border:0}body *{font-family:"Times New Roman", Times, serif}code,pre{font-family:"Courier New", Courier, mono}#b_page_margins,#b_page{width:100% !important;min-width:0;max-width:none}#b_footer,#b_topnav,#b_nav,#search{display:none}#b_col1,#b_col2{display:none}#b_col3{margin:0 !important;border:none !important}.b_c25l,.b_c33l,.b_c38l,.b_c50l,.b_c62l,.b_c66l,.b_c75l,.b_c25r,.b_c33r,.b_c38r,.b_c50r,.b_c62r,.b_c66r,.b_c75r{width:100%;margin:0;float:none;overflow:visible;display:table}.b_subc,.b_subcl,.b_subcr{margin:0;padding:0}h1,h2,h3,h4,h5,h6{page-break-after:avoid}#b_page a[href^="http:"],#b_page a[href^="https:"]{padding-left:0;background-image:none}#b_col1_content:before,#b_col2_content:before,#b_col3_content:before{content:"";color:#888;background:inherit;display:block;font-weight:700;font-size:1.5em}.b_floatbox,.b_subcolumns,.b_subcolums_oldgecko{overflow:visible;display:table}#jsMath_PrintWarning{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}.o_wiki_wrapper .b_c20l,.o_wiki_wrapper .o_wikimod_nav{display:none}.o_wiki_wrapper .b_c80r{width:100%}.o_wiki_wrapper .b_c80r div.b_tabbedpane_tabs{display:none}} +**/@import url(../../yaml/core/slim_base.css);@import url(all/content.css);.b_with_small_icon_left,div.b_table_wrapper div.b_table_empty{padding:2px 0 2px 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_with_small_icon_only span{display:none}.b_small_icon{float:left;display:inline;width:16px;height:16px;background-position:0 50%;background-repeat:no-repeat}td a span.b_small_table_icon,td a.b_small_table_icon{padding-left:20px;width:16px;height:16px;background-position:2px 50%;background-repeat:no-repeat}a.b_small_icon:hover{text-decoration:none}.b_info_icon{background-image:url("../openolat/images/comment.png")}.b_warn_icon,div.b_table_wrapper div.b_table_empty{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/bin-metal-full.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")}.b_star_icon{background-image:url(../openolat/images/star.png)}.b_star_small_icon{background-image:url(../openolat/images/star-small.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("../openolat/images/information-white.png")}.o_course_icon{background-image:url("../openolat/images/le_resources/book-open-text-image.png")}.o_chat_icon{background-image:url("../openolat/images/balloons-box.png")}.o_admin_icon{background-image:url("../openolat/images/wrench-screwdriver.png")}.o_calendar_icon{background-image:url("../openolat/images/calendar.png")}.o_locked_icon{background-image:url("../openolat/images/locked.png")}.b_backward_icon{background-image:url("../openolat/images/arrow_left.png")}.b_forward_icon{background-image:url("../openolat/images/arrow_right.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_ee{background-image:url("../openolat/images/flags/ee.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")}.b_filetype_file,.b_filetype_ico{background-image:url("../openolat/images/docs/document_plain.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_video,.b_filetype_mov{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_audio,.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}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_GroupCard div,.o_GroupCard_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("../openolat/images/card-address.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/box.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")}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/box.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_courseareas{background-image:url("../openolat/images/users.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/bin-metal-full.png")}li a.b_toolbox_copy,.b_copy_icon{background-image:url("../openolat/images/docs/document-copy.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")}span.o_passed{background:url(../openolat/images/tick.png) no-repeat right 50%;padding:0 25px 0 0;color:#009900}span.o_notpassed{background:url(../openolat/images/cross.png) no-repeat right 50%;padding:0 25px 0 0;color:#990000}.o_efficiencystatement_icon{background-image:url(../openolat/images/seal.png)}span.o_green_led{background:url(../openolat/images/green_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_yellow_led{background:url(../openolat/images/yellow_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_red_led{background:url(../openolat/images/red_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_black_led{background:url(../openolat/images/black_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_grey_led{background:url(../openolat/images/grey_led.png) no-repeat left 50%;padding:0 0 0 25px}.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/box.png") !important}.o_cp_org{background-image:url("../openolat/images/le_resources/box.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}.o_vc_icon{background-image:url("../openolat/images/projection-screen.png") !important}.o_vitero_icon{background-image:url("../openolat/images/vitero.png") !important}.o_openmeetings_icon{background-image:url("../openolat/images/apache.png") !important}.o_ep_icon{background-image:url("../openolat/images/le_resources/portfolio.png") !important}.o_EPStructuredMapTemplate_icon{background-image:url("../openolat/images/portfolio/briefcase.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}.fx_members_icon{background-image:url("../openolat/images/users_members.png") !important}body#b_body .o_CourseModule_icon_closed{background-image:url("../openolat/images/le_resources/book-open-text-image_locked.png")}@media all{html{min-height:100%}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%)}#b_page_margins{min-width:740px;max-width:1324px;margin:0 auto;width:100%;height:100%}#b_main_toolbar{clear:both;height:24px;line-height:24px;vertical-align:middle;margin:0;padding:1px 0 0 0;border-bottom:1px solid #eeeeee;background-color:white;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_main_toolbar ul li a span{line-height:24px}#b_main{background:#fff;min-height:550px;clear:both;moz-box-shadow:0 2px 14px #d3d3d3;-ms-box-shadow:0 2px 14px #d3d3d3;-o-box-shadow:0 2px 14px #d3d3d3;-webkit-box-shadow:0 2px 14px #d3d3d3;box-shadow:0 2px 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:550px;padding:20px 20px 30px 20px}#b_col2_content{overflow:hidden;padding:1em 0}.b_hidecol2 #b_col3{margin-right:0 !important;border-right:none}.b_hidecol1 #b_col3{margin-left:0 !important;border-left:none}.b_hideboth #b_col3{margin-left:0 !important;margin-right:0 !important;border-left:none;border-right:none}.b_hideboth #b_col1,.b_hideboth #b_col2,.b_hidecol1 #b_col1,.b_hidecol2 #b_col2,#b_ie_clearing{display:none}.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}div.b_iframe_wrapper iframe{width:100%;position:relative;top:0;left:0;border:none;margin:0;padding:0;background:transparent}#b_main.b_exception{padding-left:165px;padding-right:165px}#b_header{height:auto;min-height:30px;overflow:hidden;position:relative}#b_header #b_topnav{position:absolute;right:0px;top:0px;padding:4px 15px 0px 0px;line-height:1.5em;min-height:1.5em}#b_header #b_topnav ul{margin:0}#b_header #b_topnav li,#b_header #b_topnav div,#b_header #b_topnav span{line-height:1.5em}#b_header #b_topnav .b_with_small_icon_right{padding:0 20px 0 0}#b_header #b_topnav .b_with_small_icon_left,#b_header #b_topnav div.b_table_wrapper div.b_table_empty,div.b_table_wrapper #b_header #b_topnav div.b_table_empty{padding:0 0 0 20px}#b_header #b_topnav .b_small_icon{height:1.5em}#b_header #b_topnav #o_topnav_langchooser select{font-size:90%}#b_header #b_topnav #o_topnav_search input{font-size:90%;margin:0;width:10em}#b_header #b_topnav #o_topnav_search a.o_fulltext_search_button{height:1.5em;background-position:50% 50%}#b_header #b_topnav #o_topnav_printview a{background:url(../openolat/images/printer.png) no-repeat right 50%;padding:0 20px 0 0;margin:0}#b_header #b_topnav #o_topnav_logout a{background:url("../openolat/images/control/control-power.png") no-repeat right 50%;padding:0 20px 0 0;margin:0;font-weight:bold}#b_header #b_topnav li{float:left;list-style:none;margin-left:1.7em}#b_header #b_topnav li div.b_form_element_wrapper.b_form_horizontal{margin:0}#b_header #b_topnav li#o_topnav_imclient li{margin-left:0.5em}#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:#f5f5f5;background:rgba(255, 255, 255, 0.5)}#b_nav_main ul li a{padding:4px 12px 4px 3px}#b_nav_main ul li a:hover{text-decoration:none}#b_nav_main ul li.b_nav_site.b_nav_active,#b_nav_main ul li.b_nav_site:hover,#b_nav_main ul li.b_nav_site.b_exception{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:white}#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,#b_nav_main ul li.b_nav_site.b_exception 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.o_site_coaching > div{background-image:url("../openolat/images/eye.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.fx_members > div{background-image:url("../openolat/images/users_members.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:white}#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;padding:0}div.b_tree{font-size:100%;padding:0}div.b_tree ul{position:relative;padding:0;margin:0 0 0 1em;list-style:none;white-space:nowrap}div.b_tree ul li{position:relative;background:transparent;margin-left:0;padding-left:0;line-height:1.7em}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:transparent;text-decoration:underline}div.b_tree ul li a.b_tree_selected,div.b_tree ul li a:active{color:red;background-color:transparent;text-decoration:none}div.b_tree ul li a.b_tree_selected_parents,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:6px}div.b_tree ul li a.b_tree_l1{padding-left:16px}div.b_tree ul li a.b_tree_l2{padding-left:26px}div.b_tree ul li a.b_tree_l3{padding-left:36px}div.b_tree ul li a.b_tree_l4{padding-left:46px}div.b_tree ul li a.b_tree_l5{padding-left:56px}div.b_tree ul li a.b_tree_l6{padding-left:66px}div.b_tree ul li a.b_tree_l7{padding-left:76px}div.b_tree ul li a.b_tree_l8{padding-left:86px}div.b_tree ul li a.b_tree_l9{padding-left:96px}div.b_tree ul li a.b_tree_l10{padding-left:106px}div.b_tree ul li a.b_tree_l11{padding-left:116px}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 li.b_deleted{text-decoration:none}div.b_tree ul li.b_deleted a{text-decoration:line-through}div.b_tree ul.b_tree_l0 a.b_tree_icon{padding-left:26px;background-position:8px 50%}div.b_tree ul.b_tree_l1 a.b_tree_icon{padding-left:36px;background-position:18px 50%}div.b_tree ul.b_tree_l2 a.b_tree_icon{padding-left:46px;background-position:28px 50%}div.b_tree ul.b_tree_l3 a.b_tree_icon{padding-left:56px;background-position:38px 50%}div.b_tree ul.b_tree_l4 a.b_tree_icon{padding-left:66px;background-position:48px 50%}div.b_tree ul.b_tree_l5 a.b_tree_icon{padding-left:76px;background-position:58px 50%}div.b_tree ul.b_tree_l6 a.b_tree_icon{padding-left:86px;background-position:68px 50%}div.b_tree ul.b_tree_l7 a.b_tree_icon{padding-left:96px;background-position:78px 50%}div.b_tree ul.b_tree_l8 a.b_tree_icon{padding-left:106px;background-position:88px 50%}div.b_tree ul.b_tree_l9 a.b_tree_icon{padding-left:116px;background-position:98px 50%}div.b_tree ul.b_tree_l10 a.b_tree_icon{padding-left:126px;background-position:108px 50%}div.b_tree ul.b_tree_l11 a.b_tree_icon{padding-left:136px;background-position:118px 50%}div.b_tree a.b_tree_level_close span{background:url("../openolat/images/tree_parent_open.gif") no-repeat 0% 50%;padding-right:8px}div.b_tree a.b_tree_level_open span{background:url("../openolat/images/tree_parent_closed.gif") 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}#b_footer{color:#9D9D9D;padding:0;margin:0;position:relative}#b_footer a{color:#777777}#b_footer #b_footer_user{position:absolute;top:1em;left:1em;line-height:16px}#b_footer #b_footer_user #b_username{margin-right:1.5em}#b_footer #b_footer_version{position:absolute;top:1em;right:1em}#b_footer #b_footer_powered{padding-top:1em;text-align:center;width:auto;background:none}#b_footer #b_footer_powered a{display:inline}#b_footer #b_footer_powered img{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#b_footer #b_footer_powered img:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#b_footer #b_share{position:absolute;top:2.5em;left:1em;width:250px}#b_footer #b_share a,#b_footer #b_share span{margin:0 3px 0 0;background-repeat:no-repeat;width:16px;height:16px;float:left;display:inline;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#b_footer #b_share a:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#b_footer #b_share #b_facebook{background-image:url(../openolat/images/social/facebook_16.png)}#b_footer #b_share #b_twitter{background-image:url(../openolat/images/social/twitter_16.png)}#b_footer #b_share #b_google{background-image:url(../openolat/images/social/google_16.png)}#b_footer #b_share #b_delicious{background-image:url(../openolat/images/social/delicious_16.png)}#b_footer #b_share #b_digg{background-image:url(../openolat/images/social/digg_16.png)}#b_footer #b_share #b_mail{background-image:url(../openolat/images/social/email_16.png)}#b_footer #b_share #b_link{background-image:url(../openolat/images/social/link_16.png)}#b_footer .fx_footer #b_footer_version > a{display:block;min-height:45px;height:4em;background:transparent url("../../images/frentix/frentix_logo_grey.png") no-repeat left bottom}#b_footer .fx_footer #b_footer_version > a:hover{background-image:url("../../images/frentix/frentix_logo.png")}#callout_share_link input{width:480px}#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%);border-bottom:1px solid #7D7D7D;padding:5px 5px 2px 0}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 50%}div.b_breadcumb_path ul li.b_first{background:url(../openolat/images/home.png) no-repeat 5px 50%;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}#b_main_toolbar div.b_breadcumb_path ul a{color:#2d2e2d;font-weight:bold}#b_main_toolbar div.b_breadcumb_path ul a:hover{color:#585a58;text-decoration:none}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back{background:transparent;padding:0 7px 0 7px;margin:0 2px 0 0;border-right:1px solid #eeeeee}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back a{font-type:Arial;color:#2d2e2d;font-weight:normal}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back a:hover{color:#585a58}div.b_breadcumb_content{clear:both;margin-top:0.5em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_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%);position:relative;padding:10px;height:19px;min-height:19px;border-bottom:1px solid #7D7D7D}div.b_toolbar ul{margin:0;list-style-image:none;list-style-type:none}div.b_toolbar ul li{margin:0px 16px 0px 0px;list-style-image:none;list-style-type:none}div.b_toolbar div.b_toolbar_left{position:absolute;top:7px;left:7px}div.b_toolbar ul.b_toolbar_left li{float:left}div.b_toolbar div.b_toolbar_right{position:absolute;top:7px;right:7px}div.b_toolbar ul.b_toolbar_right li{float:right;margin:0px 2px 0px 2px}div.b_toolbar div.b_toolbar_center{text-align:center}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}div.b_titled_wrapper div.b_noti{position:absolute;right:25px;top:0px}div.b_titled_wrapper fieldset div.b_noti{top:12px}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}a.b_togglebox_closed{background:url("../openolat/images/tree_parent_closed.gif") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}a.b_togglebox_opened{background:url("../openolat/images/tree_parent_open.gif") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}div.b_titled_wrapper div.b_togglebox div.b_togglebox_content{background:transparent;border:0px;padding:0px}div.b_titled_wrapper_desc a.b_togglebox_opened{z-index:10;display:block;width:20px;height:20px;position:absolute;top:2px;left:5px;background:url(../openolat/images/information-white.png) no-repeat 0 50%}div.b_titled_wrapper_desc a.b_togglebox_closed{display:block;width:20px;height:20px;background:url(../openolat/images/information-white.png) no-repeat top left;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}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}div.b_titled_wrapper div.b_togglebox div.b_togglebox_content div.o_course_run_objectives{position:relative}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}div.o_catalog div.o_catalog_link_title{margin:2em 0 0 0;border-bottom:1px solid #ccc;padding:0.3em}div.o_catalog div.o_catalog_title{display:none}div.o_catalog div.o_catalog_nav{font-size:95%;padding:1px 0 2px 22px;border-bottom:1px solid #EEE;background:url(../openolat/images/folder_open.png) 2px 50% no-repeat}div.o_catalog .o_catalog_sub_icon{background-image:url(../openolat/images/folder_small.png)}div.o_catalog div.o_catalog_links{margin-top:1em;padding-top:1em;border-top:1px solid #EEE}div.o_catalog div.o_catalog_itemlist ul{list-style-type:none;margin:0;padding:0}div.o_catalog div.o_catalog_itemlist ul li{margin:0;padding:0 0 0 0.5em;overflow:hidden}div.o_catalog div.o_catalog_itemlist ul a{display:block}div.o_catalog div.o_catalog_desc{margin:0.5em 0 0.5em 0;padding-left:20px;font-size:95%;font-style:italic}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon.o_catalog_cat_icon,div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_cat_icon{background-image:url(../openolat/images/folder_small.png)}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon.o_catalog_cat_noaccess_icon,div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_cat_noaccess_icon{background-image:url(../openolat/images/locked.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.o_catalog_cat_icon{background-image:url(../openolat/folder_open.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.o_catalog_cat_noaccess_icon{background-image:url(../openolat/images/locked.png)}div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_entry_icon{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}.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}.b_floatscrollbox{overflow-x:auto;overflow-y:hidden}.b_overflowscrollbox{overflow:auto}}@media all and (min-width : 1324px){#b_footer #b_share{left:0}#b_footer #b_footer_user{left:0}#b_footer #b_footer_version{right:0}}.b_dd_item{cursor:move;z-index:1000}.b_dd_proxy{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.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}.b_group_accesscontrolled{background-image:url("../openolat/images/ac/umbrella.png")}.b_order_icon{background-image:url("../openolat/images/ac/shopping-basket.png")}div.b_order_details{margin-top:2em}div.b_order_details label{font-weight:bold}div.b_access_create ul{padding:0;margin-left:0}div.b_access_create li{padding:0;list-style:none}table.b_access_method td{padding:0.2em 1em 0.2em 0}table.b_access_method tr.b_access_desc td{padding:0 1em 1em 20px;font-style:italic}table.b_access_method td div.b_form_element{margin-left:0}div.b_access_method_list div.b_access_method legend{background-repeat:no-repeat;padding-left:20px}table span.b_access_method{padding-right:5px;font-size:90%;vertical-align:bottom;line-height:16px}.b_access_member_icon{background-image:url(../openolat/images/ac/lock-unlock.png)}.b_access_membersonly_icon{background-image:url("../openolat/images/ac/lock.png")}.b_access_method_free_icon{background-image:url("../openolat/images/ac/open-share.png")}.b_group_accesscontrolled.b_access_method_free,b_order_icon.b_access_method_free{background-image:url("../openolat/images/ac/open-share.png")}div.b_access_method_list div.b_access_method_free legend{background-image:url("../openolat/images/ac/open-share.png")}.b_access_method_token_icon{background-image:url("../openolat/images/ac/license-key.png")}.b_group_accesscontrolled.b_access_method_token,b_order_icon.b_access_method_token{background-image:url("../openolat/images/ac/license-key.png")}div.b_access_method_list div.b_access_method_token legend{background-image:url("../openolat/images/ac/license-key.png")}div.b_access_method_list div.b_access_method_token div.b_form_element_wrapper:nth-last-of-type(3) label,table.b_access_method tr.b_access_method_token .b_access_infos{background-image:url("../openolat/images/ac/key.png");background-repeat:no-repeat;padding-left:20px}div.b_access_method_list div.b_form_element_wrapper:nth-last-of-type(4) label{background-image:url("../openolat/images/information-white.png");background-repeat:no-repeat;padding-left:20px}.b_access_method_paypal_icon{background-image:url("../openolat/images/ac/credit-cards.png")}#b_main_access_control{margin:0 20% 0 20%;padding:20px 0 0 20px}.b_order_status_new_icon{background-image:url(../openolat/images/new-text.png)}.b_order_status_prepayment_icon{background-image:url(../openolat/images/ac/prepayment.png)}.b_order_status_payed_icon{background-image:url(../openolat/images/tick.png)}.b_order_status_canceled_icon{background-image:url(../openolat/images/ac/canceled.png)}.b_order_status_error_icon{background-image:url(../images/olat/cross.png)}.b_order_status_warning_icon{background-image:url(../openolat/images/exclamation.png)}.b_transaction_status_success_icon{background-image:url(../openolat/images/tick.png)}.b_transaction_status_waiting_icon{background-image:url(../openolat/images/exclamation.png)}.b_transaction_status_error_icon{background-image:url(../openolat/images/cross.png)}.b_transaction_status_canceled_icon{background-image:url(../openolat/images/ac/canceled.png)}.b_transaction_status_new_icon{background-image:url(../openolat/images/new-text.png)}div.b_form div.b_form_element_wrapper table.b_access_method div.b_form_element{margin-left:0}div.b_form table.b_access_method div.b_form_element span.b_form_datechooser{background-position:0 50%}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)}div.b_modal_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1}div.b_modal_overlay,div.ext-el-mask{background:#000;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=25);-moz-opacity:0.25;-khtml-opacity:0.25;opacity:0.25}div.b_window{text-align:left;border:1px solid red;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;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}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}body.b_ajax_busy{cursor:wait}div.b_ajax_busy{position:absolute;z-index:5001;left:50%;top:10px;height:32px;width:32px;background-repeat:no-repeat;background-image:url(images/ajax-loader.svg)}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}#b_msg_sticky{clear:both;padding:10px 10px 10px 50px;min-height:32px;background:#ffb651 url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px;border:none}div.b_msg-div{left:35%;position:absolute;top:10px;width:30%;z-index:20000;border:1px solid red;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}div.b_msg_warn_winicon{background:url(../openolat/images/icon_warning_32.png) no-repeat}div.b_msg_error_winicon{background:url(../openolat/images/icon_error_32.png) no-repeat}#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}.o_infomessage_wrapper{border:1px solid #ccc;background:#FAFAFA;margin-bottom:20px}.o_infomessage_wrapper .o_infomessage{padding:10px 10px 10px 50px;text-align:left;min-height:40px;background:url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px}div.b_wizard{background:#fff;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;border:1px solid red}div.b_wizard div.b_wizard_header_wrapper{background:transparent}div.b_wizard div.b_wizard_header{background:transparent;position:relative}div.b_wizard div.b_wizard_header_title{background:transparent;min-height:18px;line-height:18px;vertical-align:middle;padding:2px 5px 2px 5px}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:transparent}div.b_wizard div.b_wizard_steps_content{background:#fff;border:1px solid #555555;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px}div.b_wizard div.b_wizard_steps_list{width:20em;padding:0;color:#555555}div.b_wizard div.b_wizard_steps_list ol{list-style-type:decimal;z-index:14;font-size:100%;padding:2em 5px 5px}div.b_wizard div.b_wizard_steps_list li{line-height:1.5em;white-space:normal;margin-bottom:1em;list-style:none;padding-left:18px}div.b_wizard div.b_wizard_steps_list li.b_wizard_steps_current{font-weight:bold;background:url(../openolat/images/bullet_go.png) 0% 50% no-repeat;padding-left:18px}div.b_wizard div.b_wizard_steps_list li a{color:#555555}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:#basegray_light;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{color:#555555;font-style:normal}div.b_wizard div.b_wizard_steps_current{margin-left:20em;padding-top:0.5em;padding-bottom:0.5em}div.b_wizard div.b_wizard_steps_current_inner{padding:1em;border-left:1px solid #ccc}div.b_wizard div.b_wizard_steps_current_content{min-height:300px;position:relative}div.b_wizard div.b_wizard_footer_wrapper{background:transparent}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:"\00ab \00a0"}span.b_wizard_button_next:after,a.b_wizard_button_next span:after{content:" \00bb"}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}div.b_legacy_wizard_steps{float:right;display:inline}.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)}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs{float:left;display:inline-block;margin-bottom:1em}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul{line-height:1em;list-style:none;margin:0;padding:0;white-space:nowrap}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 #ccc;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%);-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_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}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{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 #ccc;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%);-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}button{border:none}.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 #ccc;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%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.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:1px solid 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:1px solid red}.b_button.b_button_preferred{background:#f7d1d1;background:-moz-linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f7d1d1), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);background:linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);border:1px solid red}.b_button:focus,.b_button:hover{border:1px solid #aaa\9}.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%);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%)}.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 #ccc;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%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s "";border:1px dotted #ccc;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;cursor:default !important;color:#888}.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}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%}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}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}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%}.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 #ccc;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%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.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}.b_link_left_icon{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 #ccc;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%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.b_link_left_icon > span{padding:2px 8px 0px 25px;background-color:transparent;background-repeat:no-repeat;background-position:4px center}.b_link_left_icon:focus,.b_link_left_icon: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_left_icon:focus{border-color:red}.b_link_left_icon: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}.b_link_to_home > span{background-image:url("../openolat/images/card-address.png")}.b_link_course > span{background-image:url("../openolat/images/book-open-next.png")}.b_link_group > span{background-image:url("../openolat/images/document-page-next.png")}.b_link_mail > span{background-image:url("../openolat/images/mail.png")}.b_link_assessment > span{background-image:url("../openolat/images/le_resources/thumb-up.png")}div.o_login div.o_login_form{margin-bottom:2em}div.o_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}input,select,textarea{border:1px solid #ACAAAA;background:#F6F6F6;line-height:1.3em;margin:0}textarea{font-family:inherit;width:100%}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(../openolat/images/pencil-small.png)}span.b_inline_editable:hover{cursor:text !important}fieldset{position:relative;padding:1em;padding-top:1.5em;border:none;border-top:1px solid #ff6666}fieldset legend{font-family:Comic Sans, Comic Sans MS, cursive;padding:0 5px;font-size:120%;font-weight:bold}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(../openolat/images/icon_error_32.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}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}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 .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:3px}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_labels_minified div.b_form div.b_form_element_wrapper div.b_form_element_label{width:10%}div.b_labels_minified div.b_form div.b_form_element_wrapper div.b_form_element{margin-left:12%}div.form_shift_left{left:-25%}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}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}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}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}div.o_form_wrapper fieldset{min-width:60em}div.form_shift_left{position:inherit;left:-20%}div.mceExternalToolbar{background:#f0f0ee !important;overflow:auto}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}div.b_fileinput{position:relative}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;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity:0;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)}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%)}.b_mark_set{background-image:url("../openolat/images/flag.png") !important}.b_mark_not_set{background-image:url("../openolat/images/flag.png") !important;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}div.b_mark{width:20px;height:20px}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;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}div.b_mark a.b_mark_set span,div.b_mark a.b_mark_not_set span{display:block;width:19px;height:19px}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 tr.b_table_odd td{background:#eee}div.b_table_wrapper table{width:99.5%;margin-left:1px;border:1px solid #eeeeee}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}div.b_table_wrapper div.b_table_empty{margin:1em 0}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}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/tree_parent_open.gif") no-repeat;width:15px;height:15px;float:right;margin:3px}a#b_devcon_handle_expand{cursor:pointer;background:url("../openolat/images/tree_parent_closed.gif") 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}#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}div.b_briefcase div.b_briefcase_foldercomp{margin-top:0.5em}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;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;background:#fff;width:99.9%;border:1px solid #eee}div.b_briefcase_foldercomp table.b_briefcase_filetable thead{color:#000}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 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);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_versions_icon{background-image:url(../openolat/images/docs/document_versions.png)}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_versions_dis_icon{background-image:url(../openolat/images/docs/document_versions.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_locked_file_icon{background-image:url(../openolat/images/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}@media all{div.o_wiki_wrapper{clear:both}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)}div.o_wiki_wrapper .b_eportfolio_add,div.o_wiki_wrapper .b_eportfolio_add_again{position:absolute;top:28px;right:3px;z-index:99}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}div.o_wikimod_linkchooser{clear:both;float:left;display:inline}div.o_wikimod_filechooser{margin:0 2em;float:left;display:inline}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{margin:0.5em 0}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}div.o_wikimod-article-box table[border="1"]{border-collapse:collapse;border:1px solid #BFBFBF}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}}div.o_forum div.o_forum_switch{font-size:90%}div.o_forum div.o_forum_message{margin:1em 0 1em 0;padding:0.5em;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 12px 0px 21px;font-size:95%;color:#4F576A;float:right;border-left:1px solid #fff}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;background:transparent;margin-right:155px}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}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:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%)}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}.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(../openolat/images/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 a{font-size:0.8em;text-decoration: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 .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}div.b_portfolio_toc .type_map,div.b_portfolio_toc .type_page,div.b_portfolio_toc .type_struct,div.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}.b_eportfolio_link{background-image:url(../openolat/images/portfolio/ep_link_icon.png)}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;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:14px;-webkit-border-bottom-right-radius:14px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:14px;-moz-border-radius-bottomright:14px;-moz-border-radius-bottomleft:4px;border-top-left-radius:4px;border-top-right-radius:14px;border-bottom-right-radius:14px;border-bottom-left-radius:4px;moz-box-shadow:0 1px 3px lightgray;-ms-box-shadow:0 1px 3px lightgray;-o-box-shadow:0 1px 3px lightgray;-webkit-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}ul.b_eportfolio_maps li .b_map_info a.b_open_icon{font-size:1.2em;position:absolute;bottom:170px;right:-10px}.b_eportfolio_changelog .b_form{margin-top:20px;margin-bottom:20px}.b_eportfolio_changelog li{list-style:none}.b_eportfolio_changelog h5{margin-top:16px}.b_eportfolio_mapowner{font-style:italic;margin-bottom:8px}.b_eportfolio_mapowner div{display:inline}@media all{.epmst-green{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green,ul.b_eportfolio_maps li.template.epmst-green{background:#ecf69a;background:#ecf69a -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ecf69a), to(#ecf69a));background:#ecf69a -moz-linear-gradient(43% 71% 101deg, #ecf69a, #ecf69a);background:#ecf69a -o-linear-gradient(#ecf69a, #ecf69a);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ecf69a', EndColorStr='#ecf69a');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-green > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green{margin-top:6px;background:#ecf69a;background:#ecf69a -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ecf69a), to(#ecf69a));background:#ecf69a -moz-linear-gradient(43% 71% 101deg, #ecf69a, #ecf69a);background:#ecf69a -o-linear-gradient(#ecf69a, #ecf69a);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ecf69a', EndColorStr='#ecf69a');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green div.b_map_header h4{color:#444444}.epmst-green div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green div.b_ep_actualpage h1,.epmst-green div.b_ep_actualpage h4{color:#444444}.epmst-green div.b_pagination{float:none;position:static;width:100%}.epmst-green div.b_pagination ul{margin:0}.epmst-green 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}.epmst-green div.b_pagination li span,.epmst-green div.b_pagination li a,.epmst-green div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green div.b_eportfolio_page,.epmst-green div.b_portfolio_toc,.epmst-green div.b_eportfolio_edit{background-image:none}}@media all{.epmst-green2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green2,ul.b_eportfolio_maps li.template.epmst-green2{background:#99e44d;background:#99e44d -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99e44d), to(#cbf1a5));background:#99e44d -moz-linear-gradient(43% 71% 101deg, #99e44d, #cbf1a5);background:#99e44d -o-linear-gradient(#99e44d, #cbf1a5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99e44d', EndColorStr='#cbf1a5');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green2{margin-top:6px;background:#99e44d;background:#99e44d -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99e44d), to(#cbf1a5));background:#99e44d -moz-linear-gradient(43% 71% 101deg, #99e44d, #cbf1a5);background:#99e44d -o-linear-gradient(#99e44d, #cbf1a5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99e44d', EndColorStr='#cbf1a5');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green2 div.b_map_header h4{color:#555555}.epmst-green2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green2 div.b_ep_actualpage h1,.epmst-green2 div.b_ep_actualpage h4{color:#555555}.epmst-green2 div.b_pagination{float:none;position:static;width:100%}.epmst-green2 div.b_pagination ul{margin:0}.epmst-green2 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}.epmst-green2 div.b_pagination li span,.epmst-green2 div.b_pagination li a,.epmst-green2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green2 div.b_eportfolio_page,.epmst-green2 div.b_portfolio_toc,.epmst-green2 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-green3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green3,ul.b_eportfolio_maps li.template.epmst-green3{background:#dff0c1;background:#dff0c1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dff0c1), to(#a0d346));background:#dff0c1 -moz-linear-gradient(43% 71% 101deg, #dff0c1, #a0d346);background:#dff0c1 -o-linear-gradient(#dff0c1, #a0d346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0c1', EndColorStr='#a0d346');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green3{margin-top:6px;background:#dff0c1;background:#dff0c1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dff0c1), to(#a0d346));background:#dff0c1 -moz-linear-gradient(43% 71% 101deg, #dff0c1, #a0d346);background:#dff0c1 -o-linear-gradient(#dff0c1, #a0d346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0c1', EndColorStr='#a0d346');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green3 div.b_map_header h4{color:#555555}.epmst-green3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green3 div.b_ep_actualpage h1,.epmst-green3 div.b_ep_actualpage h4{color:#555555}.epmst-green3 div.b_pagination{float:none;position:static;width:100%}.epmst-green3 div.b_pagination ul{margin:0}.epmst-green3 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}.epmst-green3 div.b_pagination li span,.epmst-green3 div.b_pagination li a,.epmst-green3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green3 div.b_eportfolio_page,.epmst-green3 div.b_portfolio_toc,.epmst-green3 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-green4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green4,ul.b_eportfolio_maps li.template.epmst-green4{background:#d7dbb5;background:#d7dbb5 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#d7dbb5), to(#d7dbb5));background:#d7dbb5 -moz-linear-gradient(43% 71% 101deg, #d7dbb5, #d7dbb5);background:#d7dbb5 -o-linear-gradient(#d7dbb5, #d7dbb5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#d7dbb5', EndColorStr='#d7dbb5');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green4{margin-top:6px;background:#d7dbb5;background:#d7dbb5 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#d7dbb5), to(#d7dbb5));background:#d7dbb5 -moz-linear-gradient(43% 71% 101deg, #d7dbb5, #d7dbb5);background:#d7dbb5 -o-linear-gradient(#d7dbb5, #d7dbb5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#d7dbb5', EndColorStr='#d7dbb5');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green4 div.b_map_header h4{color:#555555}.epmst-green4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green4 div.b_ep_actualpage h1,.epmst-green4 div.b_ep_actualpage h4{color:#555555}.epmst-green4 div.b_pagination{float:none;position:static;width:100%}.epmst-green4 div.b_pagination ul{margin:0}.epmst-green4 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}.epmst-green4 div.b_pagination li span,.epmst-green4 div.b_pagination li a,.epmst-green4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green4 div.b_eportfolio_page,.epmst-green4 div.b_portfolio_toc,.epmst-green4 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-red{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red,ul.b_eportfolio_maps li.template.epmst-red{background:#ffba71;background:#ffba71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffba71), to(#ffba99));background:#ffba71 -moz-linear-gradient(43% 71% 101deg, #ffba71, #ffba99);background:#ffba71 -o-linear-gradient(#ffba71, #ffba99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffba71', EndColorStr='#ffba99');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red{margin-top:6px;background:#ffba71;background:#ffba71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffba71), to(#ffba99));background:#ffba71 -moz-linear-gradient(43% 71% 101deg, #ffba71, #ffba99);background:#ffba71 -o-linear-gradient(#ffba71, #ffba99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffba71', EndColorStr='#ffba99');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red div.b_map_header h4{color:#444444}.epmst-red div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red div.b_ep_actualpage h1,.epmst-red div.b_ep_actualpage h4{color:#444444}.epmst-red div.b_pagination{float:none;position:static;width:100%}.epmst-red div.b_pagination ul{margin:0}.epmst-red 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}.epmst-red div.b_pagination li span,.epmst-red div.b_pagination li a,.epmst-red div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red div.b_eportfolio_page,.epmst-red div.b_portfolio_toc,.epmst-red div.b_eportfolio_edit{background-image:none}}@media all{.epmst-red2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red2,ul.b_eportfolio_maps li.template.epmst-red2{background:#ff9772;background:#ff9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ff9772), to(#ff9780));background:#ff9772 -moz-linear-gradient(43% 71% 101deg, #ff9772, #ff9780);background:#ff9772 -o-linear-gradient(#ff9772, #ff9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ff9772', EndColorStr='#ff9780');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red2{margin-top:6px;background:#ff9772;background:#ff9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ff9772), to(#ff9780));background:#ff9772 -moz-linear-gradient(43% 71% 101deg, #ff9772, #ff9780);background:#ff9772 -o-linear-gradient(#ff9772, #ff9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ff9772', EndColorStr='#ff9780');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red2 div.b_map_header h4{color:#444444}.epmst-red2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red2 div.b_ep_actualpage h1,.epmst-red2 div.b_ep_actualpage h4{color:#444444}.epmst-red2 div.b_pagination{float:none;position:static;width:100%}.epmst-red2 div.b_pagination ul{margin:0}.epmst-red2 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}.epmst-red2 div.b_pagination li span,.epmst-red2 div.b_pagination li a,.epmst-red2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red2 div.b_eportfolio_page,.epmst-red2 div.b_portfolio_toc,.epmst-red2 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-red3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red3,ul.b_eportfolio_maps li.template.epmst-red3{background:#e8afbb;background:#e8afbb -webkit-gradient(linear, 37% 20%, 53% 100%, from(#e8afbb), to(#e8afa0));background:#e8afbb -moz-linear-gradient(43% 71% 101deg, #e8afbb, #e8afa0);background:#e8afbb -o-linear-gradient(#e8afbb, #e8afa0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#e8afbb', EndColorStr='#e8afa0');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red3{margin-top:6px;background:#e8afbb;background:#e8afbb -webkit-gradient(linear, 37% 20%, 53% 100%, from(#e8afbb), to(#e8afa0));background:#e8afbb -moz-linear-gradient(43% 71% 101deg, #e8afbb, #e8afa0);background:#e8afbb -o-linear-gradient(#e8afbb, #e8afa0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#e8afbb', EndColorStr='#e8afa0');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red3 div.b_map_header h4{color:#444444}.epmst-red3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red3 div.b_ep_actualpage h1,.epmst-red3 div.b_ep_actualpage h4{color:#444444}.epmst-red3 div.b_pagination{float:none;position:static;width:100%}.epmst-red3 div.b_pagination ul{margin:0}.epmst-red3 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}.epmst-red3 div.b_pagination li span,.epmst-red3 div.b_pagination li a,.epmst-red3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red3 div.b_eportfolio_page,.epmst-red3 div.b_portfolio_toc,.epmst-red3 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-red4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red4,ul.b_eportfolio_maps li.template.epmst-red4{background:#ffa800;background:#ffa800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffa800), to(#ffaf00));background:#ffa800 -moz-linear-gradient(43% 71% 101deg, #ffa800, #ffaf00);background:#ffa800 -o-linear-gradient(#ffa800, #ffaf00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffa800', EndColorStr='#ffaf00');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red4{margin-top:6px;background:#ffa800;background:#ffa800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffa800), to(#ffaf00));background:#ffa800 -moz-linear-gradient(43% 71% 101deg, #ffa800, #ffaf00);background:#ffa800 -o-linear-gradient(#ffa800, #ffaf00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffa800', EndColorStr='#ffaf00');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red4 div.b_map_header h4{color:#444444}.epmst-red4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red4 div.b_ep_actualpage h1,.epmst-red4 div.b_ep_actualpage h4{color:#444444}.epmst-red4 div.b_pagination{float:none;position:static;width:100%}.epmst-red4 div.b_pagination ul{margin:0}.epmst-red4 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}.epmst-red4 div.b_pagination li span,.epmst-red4 div.b_pagination li a,.epmst-red4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red4 div.b_eportfolio_page,.epmst-red4 div.b_portfolio_toc,.epmst-red4 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-blue{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue,ul.b_eportfolio_maps li.template.epmst-blue{background:#00d2f8;background:#00d2f8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00d2f8), to(#4a9ead));background:#00d2f8 -moz-linear-gradient(43% 71% 101deg, #00d2f8, #4a9ead);background:#00d2f8 -o-linear-gradient(#00d2f8, #4a9ead);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00d2f8', EndColorStr='#4a9ead');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue{margin-top:6px;background:#00d2f8;background:#00d2f8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00d2f8), to(#4a9ead));background:#00d2f8 -moz-linear-gradient(43% 71% 101deg, #00d2f8, #4a9ead);background:#00d2f8 -o-linear-gradient(#00d2f8, #4a9ead);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00d2f8', EndColorStr='#4a9ead');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue div.b_map_header h4{color:#444444}.epmst-blue div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue div.b_ep_actualpage h1,.epmst-blue div.b_ep_actualpage h4{color:#444444}.epmst-blue div.b_pagination{float:none;position:static;width:100%}.epmst-blue div.b_pagination ul{margin:0}.epmst-blue 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}.epmst-blue div.b_pagination li span,.epmst-blue div.b_pagination li a,.epmst-blue div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue div.b_eportfolio_page,.epmst-blue div.b_portfolio_toc,.epmst-blue div.b_eportfolio_edit{background-image:none}}@media all{.epmst-blue2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue2,ul.b_eportfolio_maps li.template.epmst-blue2{background:#c4f6ff;background:#c4f6ff -webkit-gradient(linear, 37% 20%, 53% 100%, from(#c4f6ff), to(#c4f6ff));background:#c4f6ff -moz-linear-gradient(43% 71% 101deg, #c4f6ff, #c4f6ff);background:#c4f6ff -o-linear-gradient(#c4f6ff, #c4f6ff);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#c4f6ff', EndColorStr='#c4f6ff');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue2{margin-top:6px;background:#c4f6ff;background:#c4f6ff -webkit-gradient(linear, 37% 20%, 53% 100%, from(#c4f6ff), to(#c4f6ff));background:#c4f6ff -moz-linear-gradient(43% 71% 101deg, #c4f6ff, #c4f6ff);background:#c4f6ff -o-linear-gradient(#c4f6ff, #c4f6ff);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#c4f6ff', EndColorStr='#c4f6ff');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue2 div.b_map_header h4{color:#444444}.epmst-blue2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue2 div.b_ep_actualpage h1,.epmst-blue2 div.b_ep_actualpage h4{color:#444444}.epmst-blue2 div.b_pagination{float:none;position:static;width:100%}.epmst-blue2 div.b_pagination ul{margin:0}.epmst-blue2 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}.epmst-blue2 div.b_pagination li span,.epmst-blue2 div.b_pagination li a,.epmst-blue2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue2 div.b_eportfolio_page,.epmst-blue2 div.b_portfolio_toc,.epmst-blue2 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-blue3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue3,ul.b_eportfolio_maps li.template.epmst-blue3{background:#b3e2f7;background:#b3e2f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#b3e2f7), to(#b3e2f7));background:#b3e2f7 -moz-linear-gradient(43% 71% 101deg, #b3e2f7, #b3e2f7);background:#b3e2f7 -o-linear-gradient(#b3e2f7, #b3e2f7);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#b3e2f7', EndColorStr='#b3e2f7');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue3{margin-top:6px;background:#b3e2f7;background:#b3e2f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#b3e2f7), to(#b3e2f7));background:#b3e2f7 -moz-linear-gradient(43% 71% 101deg, #b3e2f7, #b3e2f7);background:#b3e2f7 -o-linear-gradient(#b3e2f7, #b3e2f7);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#b3e2f7', EndColorStr='#b3e2f7');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue3 div.b_map_header h4{color:#444444}.epmst-blue3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue3 div.b_ep_actualpage h1,.epmst-blue3 div.b_ep_actualpage h4{color:#444444}.epmst-blue3 div.b_pagination{float:none;position:static;width:100%}.epmst-blue3 div.b_pagination ul{margin:0}.epmst-blue3 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}.epmst-blue3 div.b_pagination li span,.epmst-blue3 div.b_pagination li a,.epmst-blue3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue3 div.b_eportfolio_page,.epmst-blue3 div.b_portfolio_toc,.epmst-blue3 div.b_eportfolio_edit{background-image:none}}@media all{.epmst-blue4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue4,ul.b_eportfolio_maps li.template.epmst-blue4{background:#dee7f7;background:#dee7f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dee7f7), to(#c1e9fd));background:#dee7f7 -moz-linear-gradient(43% 71% 101deg, #dee7f7, #c1e9fd);background:#dee7f7 -o-linear-gradient(#dee7f7, #c1e9fd);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dee7f7', EndColorStr='#c1e9fd');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue4{margin-top:6px;background:#dee7f7;background:#dee7f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dee7f7), to(#c1e9fd));background:#dee7f7 -moz-linear-gradient(43% 71% 101deg, #dee7f7, #c1e9fd);background:#dee7f7 -o-linear-gradient(#dee7f7, #c1e9fd);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dee7f7', EndColorStr='#c1e9fd');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue4 div.b_map_header h4{color:#444444}.epmst-blue4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue4 div.b_ep_actualpage h1,.epmst-blue4 div.b_ep_actualpage h4{color:#444444}.epmst-blue4 div.b_pagination{float:none;position:static;width:100%}.epmst-blue4 div.b_pagination ul{margin:0}.epmst-blue4 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}.epmst-blue4 div.b_pagination li span,.epmst-blue4 div.b_pagination li a,.epmst-blue4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue4 div.b_eportfolio_page,.epmst-blue4 div.b_portfolio_toc,.epmst-blue4 div.b_eportfolio_edit{background-image:none}}li.default .b_map_info p{color:#bbb}li.comic .b_map_info p{color:#88a5c4}li.leather .b_map_info p{color:#C2A074}.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(../openolat/images/arrow_right.png) no-repeat center right;padding-right:16px}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(../openolat/images/arrow_right.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}.b_eportfolio_page,.b_portfolio_toc,.b_eportfolio_edit,.b_eportfolio_changelog{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}.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(../openolat/images/portfolio/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_form.b_eportfolio_tag_selector{min-width:40em}div.b_eportfolio_restriction_wrapper a.b_togglebox_opened{z-index:10;display:block;width:20px;height:20px;padding:0;margin-left:12px}div.b_eportfolio_restriction_wrapper a.b_togglebox_closed{display:block;width:20px;height:20px;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;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-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 7px !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 7px !important}div.b_eportfolio_restriction_error div.b_togglebox_closed{background:transparent url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 5px !important}div.b_eportfolio_restriction_passed div.b_togglebox_closed{background:transparent url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 5px !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;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-ms-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-o-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%)}.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}.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-top-left-radius:7px;-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.default div.b_pagination li a{padding:1em;padding:5px 8px}.default div.b_pagination li,.default div.b_pagination li span,.default div.b_pagination li a{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.b_changelog{float:right}.default div.b_eportfolio_page,.default div.b_portfolio_toc,.default div.b_eportfolio_edit,.default div.b_eportfolio_changelog{background-image:none}.b_eportfolio_map.comic{background:#a2c3e8 none;padding:30px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:10px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:0;-moz-border-radius-topright:10px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:0;border-top-right-radius:10px;border-bottom-right-radius:0;border-bottom-left-radius:0}.comic{font-family:'Comic Sans MS', 'Comic Sans', fantasy}.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,.comic div.b_pagination li span,.comic div.b_pagination li a{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,.comic div.b_pagination li.b_changelog{background-image:url(../openolat/images/portfolio/postit_pink.png)}.b_eportfolio_map.leather{background:url(../openolat/images/portfolio/light-leather-tile.jpg)}.leather{font-family:Palatino, Georgia, serif}.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 .b_eportfolio_mapowner{color:#fff}.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-top-left-radius:7px;-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.leather div.b_pagination li a{padding:1em;padding:5px 8px}.leather div.b_pagination li,.leather div.b_pagination li span,.leather div.b_pagination li a{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.b_changelog{float:right}.leather div.b_eportfolio_page,.leather div.b_portfolio_toc,.leather div.b_eportfolio_edit,.leather div.b_eportfolio_changelog{background-image:none}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}#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}#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}#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(../openolat/images/edit_bg.png);background-position:top left}#o_qti_hints,#o_qti_solutions{margin:1em 0}#o_qti_hints a{background:url(../openolat/images/light-bulb.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}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%}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_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;border-top:1px solid #ff6666}.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{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1;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{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.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(../openolat/images/information-white.png) no-repeat left 50%;padding-left:20px;line-height:2em}.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)}.onyx_iframe{width:100%;height:100%;border:none;min-height:60em}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}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}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)}#b_main.o_editor #b_col3{background-image:url(../openolat/images/edit_bg.png);background-position:top left;background-repeat:repeat}#b_main.o_editor div.b_tabbedpane_wrapper div.b_tabbedpane_content{background:#fff}#b_main_toolbar.o_course_breadcumbs div.b_breadcumb_path ul li.b_first{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}a.b_preview{background-image:url(../openolat/images/docs/document_preview.png);background-repeat:no-repeat;background-position:left;padding:2px 0 2px 20px}fieldset a.b_preview,div.b_tabbedpane_wrapper a.b_preview{position:absolute}div.b_module_singlepage_wrapper a.b_content_edit{position:absolute;top:0;right:20px;display:inline;background:url(../openolat/images/docs/document--pencil.png) no-repeat top left;width:16px;height:16px;margin:3px}div.b_module_singlepage_wrapper a.b_content_download{position:absolute;top:0;z-index:10;background:url(../openolat/images/docs/document_download.png) no-repeat top left;padding-left:20px;margin-top:3px;min-height:19px;height:19px}div.b_titled_wrapper div.b_module_singlepage_wrapper a.b_content_download{position:relative;padding-bottom:3px}div.b_titled_wrapper div.b_module_singlepage_wrapper div.b_iframe_wrapper{margin-top:3px}#b_content_popup{float:right;background:url(../openolat/images/applications.png) no-repeat top left;width:16px;height:16px;margin:3px}#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%}div.o_buttons_box_right{position:absolute;top:0;right:0}div.o_course_run div.o_course_run_displaytitle{font-style:italic}div.o_course_run div.o_course_run_objectives{background-color:#E9EAEF;padding:5px 5px 5px 25px;margin:0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_scoreinfo{background:#e9eaef url(../openolat/images/seal.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_disclaimer{background:#e9eaef url(../openolat/images/information-white.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_groupinfo{background:#e9eaef url(../openolat/images/users.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_statusinfo{background:url(../openolat/images/bullet_go.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_returnbox{background:#e9eaef url(../openolat/images/box_return.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_dropbox{background:#e9eaef url(../openolat/images/box_drop.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_solutionbox{background:#e9eaef url(../openolat/images/box_solution.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_task{background:#e9eaef url(../openolat/images/assign.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_disclaimer h4,div.o_course_run div.o_course_run_objectives h4,div.o_course_run div.o_course_run_scoreinfo h4,div.o_course_run div.o_course_run_returnbox h4,div.o_course_run div.o_course_run_dropbox h4,div.o_course_run div.o_course_run_solutionbox h4,div.o_course_run div.o_course_run_task h4,div.o_course_run div.o_course_run_log h4{font-size:100%;margin:0 0 1em 0}div.o_course_run div.o_course_run_scoreinfo_noinfo{font-style:italic;font-weight:bold}div.o_course_run div.o_course_run_toc{margin:1em 0 0 0}div.o_course_run div.o_course_run_toc div.o_course_run_toc_entry{margin:0 0 1em 0;padding:1em 20px 0 0}div.o_course_run div.o_course_run_toc div.o_course_run_shorttitle{border-bottom:1px solid #ACAAAA}div.o_course_run div.o_course_run_toc div.o_course_run_displaytitle{margin-top:0.5em;color:#aaaaaa}div.o_course_run div.o_course_run_toc div.o_course_run_objectives{margin:1em 0 1em 0;border:0;background:none}div.o_course_run div.o_course_run_toc div.o_course_run_toc_entry{background:#FBFBFB;padding:5px;border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run #b_content_popup{position:absolute;top:0;right:0}div.o_sp_peekview{margin:1em 0 1em 0}div.o_sp_peekview ul{list-style:none}div.o_sp_peekview li{margin-top:0.5em}div.o_peekview_author{padding:3px 0 5px 0;font-style:italic;color:#aaaaaa;font-size:90%}#b_preview_wrapper{clear:both;padding:10px;background:#fff;border-bottom:1px solid #ff6666}#b_main.b_preview{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;background:white url(../openolat/images/prevbg.png) repeat}body.b_full_screen{background-color:white;background-image:none}body.b_full_screen #b_page_margins{display:none}body.b_full_screen div.b_modal_area{margin:2%;width:96%}body.b_full_screen div#b_preview_wrapper{margin:0;border:0;padding:0;background:#5e5e5e;background:-moz-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5e5e5e), color-stop(50%, #444444), color-stop(51%, #222222), color-stop(100%, #3c3c3c));background:-webkit-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-o-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-ms-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%)}body.b_full_screen div#b_preview_wrapper div.b_preview_link{border:none}body.b_full_screen div#b_preview_wrapper div.b_preview_link a.b_link_back{margin:0.5em}body.b_full_screen div#b_preview_wrapper div.b_preview_link div.b_preview_wrapper_loading{background:transparent url(../openolat/images/ajax-loader.gif) no-repeat top left}div#b_preview_wrapper div#b_preview_wrapper_message{float:right;padding-left:16px;width:100px}div.o_scorm a.b_link_close{padding-right:20px}div.o_scorm div.o_scorm_navigation{float:right;display:inline;padding:3px;background:#fefefe;background:-moz-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fefefe), color-stop(50%, #e3e3e3), color-stop(51%, #cfcfcf), color-stop(100%, #f3f3f3));background:-webkit-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-o-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-ms-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);border:1px solid #504D4E;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;margin:0.2em}div.o_scorm div.o_scorm_navigation a{margin:0 2px}div.o_scorm div.o_scorm_navigation a.o_scorm_previous_icon{background-image:url(../openolat/images/arrow_left_big.png)}div.o_scorm div.o_scorm_navigation a.o_scorm_next_icon{background-image:url(../openolat/images/arrow_right_big.png)}div.o_scorm div.o_scorm_navigation a.hover{background-color:none}.o_scorm_completed,.o_scorm_passed{top:6px;left:6px;background-image:url("../openolat/images/decorator/deco_ok.png")}.o_scorm_failed{top:6px;left:6px !important;background-image:url("../openolat/images/decorator/deco_error.png")}.o_scorm_incomplete{top:6px;left:6px;background-image:url("../openolat/images/decorator/deco_warn.png")}.o_scorm_not_attempted{top:6px;left:6px;background-image:none}div.o_members_search{padding-top:10px;padding-left:10px}div.filters{text-align:center;padding-top:1.5em}div.o_members_search div.searchitem{margin-bottom:0.5em}div.searchitem select,div.searchitem input{width:250px}.o_members_register{margin-bottom:5px}.o_members_register_active{font-weight:bold;font-size:120%}div.o_members_paging{width:100%;padding-bottom:1em;padding-top:0.5em;text-align:center}div.o_members_paging div{padding-left:1em;padding-right:1em;display:inline}div.o_bcard{background-color:#eee;margin-top:10px;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-o-border-radius:6px}div.o_bcard_header,div.o_members_header{padding:6px;border-bottom:1px solid #fff}div.o_bcard_portrait{float:left;display:inline;width:100px;height:100px;margin:10px}div.o_bcard_portrait img{border:1px #d3d3d3 solid}div.o_bcard_portrait_group{background-image:url(../openolat/images/group_100x100.png);border:1px #d3d3d3 solid}div.o_bcard_text{margin-left:120px;margin-top:10px;line-height:150%}div.o_bcard_footer{text-align:right;clear:both;font-size:95%;color:#1f49b3;padding:5px}.popup_iframe{width:100%;height:100%;border:none;min-height:60em}div.o_reservation{position:relative;padding-bottom:15px}div.o_reservation span.o_reservation_name{padding-left:20px}div.o_reservation span.o_reservation_accepted{background:transparent url(../openolat/images/tick.png) top left no-repeat}div.o_reservation span.o_reservation_refused{background:transparent url(../openolat/images/cross.png) top left no-repeat}div.o_reservation div.o_reservation_details{padding:5px 0 0 20px}div.o_reservation ul{list-style:none}div.o_reservation ul li{background-repeat:no-repeat}div.o_infomsgs{padding-top:5px}div.o_infomsgs div.b_datecomp{top:2px;float:left;display:inline}div.o_infomsgs div.o_infomsg{margin-bottom:1em;padding:10px 0 0 0}div.o_infomsgs .b_year{display:none}div.o_infomsgs .o_item_info{color:#7D7D7D;font-size:90%}div.o_infomsgs .o_item_info .o_item_info_mod{color:#98221F}div.b_table_wrapper td a.o_peekview_infomsg_link{display:inline}div.o_infomsgs_config{padding-bottom:5px}div.o_infomsgs_config div{display:inline}.o_infomsg_icon{background-image:url(../openolat/images/information-button.png)}.o_infomsg_create_button{position:absolute;top:0;right:250px}.b_mail_icon{background-image:url(../openolat/images/mail.png)}div.b_mail_message div.b_form_element_wrapper:first-child div.b_form_element{font-weight:bold}.b_mail_new{width:20px !important;background-image:url(../openolat/images/new-text.png)}.b_table_wrapper span.b_mail_unread{display:block;display:inline-block;width:16px;height:16px;background:transparent url(../openolat/images/bullet_black.png) top left no-repeat}.b_table_wrapper span.b_mail_read{display:block;display:inline-block;width:16px;height:16px}.b_table_wrapper span.b_mail_marked{display:block;display:inline-block;width:16px;height:16px;background:transparent url(../openolat/images/flag.png) top left no-repeat}.b_table_wrapper span.b_mail_unmarked{display:block;display:inline-block;width:16px;height:16px}.b_table_wrapper .b_marked{font-weight:bold}ul.b_mail_attachments{list-style:none;margin:0;padding:0}ul.b_mail_attachments li{margin:0}div.o_cmembers *{vertical-align:middle}div.o_cmembers div.o_cmember{float:left;width:30%;height:50px;overflow:hidden;margin:5px 5px 5px 0;padding:8px;border:1px solid #ddd;background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 2px #d3d3d3;-ms-box-shadow:0 1px 2px #d3d3d3;-o-box-shadow:0 1px 2px #d3d3d3;-webkit-box-shadow:0 1px 2px #d3d3d3;box-shadow:0 1px 2px #d3d3d3}div.o_cmembers div.o_cmember *{vertical-align:middle}div.o_cmembers div.o_cmember .o_cmember_portrait_wrapper{background-color:white;float:left;height:100%;width:50px;overflow:hidden;margin-right:5px;border:1px solid #ddd}div.o_cmembers div.o_cmember .o_cmember_portrait_wrapper img.o_cmember_portrait{background-color:white;min-width:50px;background-position:50% 50%;background-repeat:no-repeat}div.o_cmembers div.o_cmember .o_cmember_info_wrapper{padding:16px 0px}div.o_cmembers a.o_cmembers_mail{float:none;margin-left:5px;padding-left:20px;background-image:url(../openolat/images/mail.png)}div.o_cmembers a.o_cmembers_mail span{display:none}div.o_cmembers h4{padding:7px 0 0 0;clear:both}div.o_ll_container ul li{list-style:circle;margin:1em}div.o_ll_container ul li div{font-style:italic}a.o_ll_browse span{display:block;width:20px;height:18px;background:url(../openolat/images/library.png) top left no-repeat;margin-left:1px}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}img.o_portrait_dummy{background-image:url(../openolat/images/dummy.png);width:100px;height:100px}img.o_portrait_dummy_small{background-image:url(../openolat/images/dummy_small.png)}img.o_portrait_dummy_female_big{background-image:url(../openolat/images/dummy_female_big.png);width:100px;height:100px}img.o_portrait_dummy_female_small{background-image:url(../openolat/images/dummy_female_small.png)}img.o_portrait_dummy_male_big{background-image:url(../openolat/images/dummy_male_big.png);width:100px;height:100px}img.o_portrait_dummy_male_small{background-image:url(../openolat/images/dummy_male_small.png)}ul.o_sel_repository_owners{list-style:none;margin:0;padding:0;white-space:nowrap}ul.o_sel_repository_owners li{margin:0}div.fx_portal_admin{margin-top:10px}div.fx_portlets_column{width:30%;float:left;margin-right:10px}div.fx_portlets_column div.b_portlet{min-height:1em}div.fx_portlets_column_name{padding:5px 5px 0px 5px}div.fx_portlets_column_name span{color:#4F576A;font-weight:bold;text-deocration:underline}div.fx_portlets_column_portlets{border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%)}div.fx_available_portlets{width:28%;float:right}div.fx_available_portlets div.b_portlet{min-height:1em}div.fx_portlets_admin_column{min-height:12em}div.fx_site_admin_column{float:left}div.fx_site_admin_column div.fx_site_definition{min-height:1em}div.o_notifications_news_datechooser{border-bottom:1px solid #bbb;padding:1em 0 1em 0}div.o_notifications_news_datechooser label{padding-right:1em}div.o_notifications_news_subscription{margin:1.5em 0 2em 0}div.o_notifications_news_subscription h4{font-size:110%}div.o_notifications_news_subscription h4.o_returnbox_icon{background-image:url(../openolat/images/box_return.png) !important}div.o_notifications_news_context{color:#7D7D7D;font-size:90%}div.o_notifications_news_content{margin:0.5em 0 0.5em 0}div.o_notifications_news_content ul{list-style-type:none;margin:0}#o_search_form{margin:5px;position:relative}#o_search_form_toggler{background-image:url(../openolat/images/magnifier-zoom.png);cursor:pointer}#o_search_form_content div.b_form div.b_form_element_wrapper div.b_form_element_wrapper{margin:0.5em 0}#o_search_form div.b_contexthelp_wrapper a.b_contexthelp{right:0}#o_search_results{border-top:1px solid #eee;margin:5px}#o_search_results_header{line-height:16px;vertical-align:middle;background:url(../openolat/images/magnifier-zoom.png) no-repeat center left #f8f8f8;padding:2px 2px 2px 20px;margin-bottom:5px}#o_search_results_header div.o_search_results_stats{float:right;display:inline;font-size:90%}#o_search_results_header span.o_search_highlight{padding-left:2em}#o_search_results_header.o_search_did_you_mean,#o_search_results_header.o_search_no_results{background-image:url(../openolat/images/exclamation.png);color:#990000}#o_search_results_header.o_search_did_you_mean span.o_search_did_you_mean_words{color:#000;font-weight:bold}#o_search_results_header #o_search_pageing{padding-left:2em;display:inline}#o_search_pageing_bottom{text-align:center;background:#F8F8F8;border-bottom:1px solid #eee;padding:3px}#o_search_results_toomany{background:url(../openolat/images/exclamation.png) no-repeat center left #f8f8f8;color:#990000;padding:5px 0 3px 20px;position:relative;top:-5px;margin-bottom:5px}div.o_search_result{margin:0 0 1em 0;padding:1em 0 0 0}div.o_search_result_title a{font-weight:bold}div.o_search_result_title a.o_search_result_details_link{margin-left:1em;font-weight:normal;font-size:90%;vertical-align:bottom}div.o_search_result_excerpt{padding:2px 0 1px 0;font-size:95%;max-width:60em}div.o_search_result_excerpt span.o_search_result_highlight{font-weight:bold;background-color:#FFFF80}div.o_search_result_context,div.o_search_result_author,div.o_search_result_lastmod,div.o_search_result_type,div.o_search_result_desc{padding:1px 0;font-size:90%;color:#667}a.o_fulltext_search_button{background:url(../openolat/images/magnifier-zoom.png) top left no-repeat}div.error-box{width:400px;margin:30px auto;padding:20px;border:2px solid red;border-radius:6px;background:white;moz-box-shadow:0 2px 4px #cccccc;-ms-box-shadow:0 2px 4px #cccccc;-o-box-shadow:0 2px 4px #cccccc;-webkit-box-shadow:0 2px 4px #cccccc;box-shadow:0 2px 4px #cccccc;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-o-border-radius:6px}div.error-box h1{background-image:url(../openolat/images/icon_warning_32.png);background-repeat:no-repeat;padding-left:30px;font-size:14pt;font-weight:bold}.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}*:first-child + html div.holder{padding-bottom:2px}* html div.holder{padding-bottom:2px}.textbox-outer{list-style-type:none;margin-left:0em}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{font-size:80%;min-width:200px;width:auto;margin:0;overflow:hidden;height:auto !important;height:1%;padding:0px 0px 0;cursor:text}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 .maininput{border:1px solid #eeeeee}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}ol.textbox-outer{margin:0;padding:0}.textboxlist-auto{position:absolute;width:300px;overflow:visible;display:none;background:#eee;z-index:2}.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}.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 .textboxlist-auto ul li{margin-left:0}.b_wizard div.holder a.bit-input input{background:#f8f8f8;padding:0.4em}.clgen_font_arial{font-family:arial,helvetica}.clgen_font_arial_black{font-family:arial black,avant garde}.clgen_font_comic{font-family:comic sans ms,sans-serif}.clgen_font_courier{font-family:courier new,courier}.clgen_font_georgia{font-family:georgia,serif}.clgen_font_impact{font-family:impact,chicago}.clgen_font_lucida{font-family:lucida console,monaco,monospace}.clgen_font_palatino{font-family:palatino linotype,book antiqua,palatino,serif}.clgen_font_times{font-family:times new roman,times}.clgen_font_verdana{font-family:verdana,geneva,sans-serif}.clgen_font_xxlarge{font-size:130%}.clgen_font_xxsmall{font-size:70%}option.Black{background-color:Black}option.Navy{background-color:Navy}option.DarkBlue{background-color:DarkBlue}option.MediumBlue{background-color:MediumBlue}option.Blue{background-color:Blue}option.DarkGreen{background-color:DarkGreen}option.Green{background-color:Green}option.Teal{background-color:Teal}option.DarkCyan{background-color:DarkCyan}option.DeepSkyBlue{background-color:DeepSkyBlue}option.DarkTurquoise{background-color:DarkTurquoise}option.MediumSpringGreen{background-color:MediumSpringGreen}option.Lime{background-color:Lime}option.SpringGreen{background-color:SpringGreen}option.Aqua{background-color:Aqua}option.Cyan{background-color:Cyan}option.MidnightBlue{background-color:MidnightBlue}option.DodgerBlue{background-color:DodgerBlue}option.LightSeaGreen{background-color:LightSeaGreen}option.ForestGreen{background-color:ForestGreen}option.SeaGreen{background-color:SeaGreen}option.DarkSlateGray{background-color:DarkSlateGray}option.DarkSlateGrey{background-color:DarkSlateGrey}option.LimeGreen{background-color:LimeGreen}option.MediumSeaGreen{background-color:MediumSeaGreen}option.Turquoise{background-color:Turquoise}option.RoyalBlue{background-color:RoyalBlue}option.SteelBlue{background-color:SteelBlue}option.DarkSlateBlue{background-color:DarkSlateBlue}option.MediumTurquoise{background-color:MediumTurquoise}option.Indigo{background-color:Indigo}option.DarkOliveGreen{background-color:DarkOliveGreen}option.CadetBlue{background-color:CadetBlue}option.CornflowerBlue{background-color:CornflowerBlue}option.MediumAquaMarine{background-color:MediumAquaMarine}option.DimGray{background-color:DimGray}option.DimGrey{background-color:DimGrey}option.SlateBlue{background-color:SlateBlue}option.OliveDrab{background-color:OliveDrab}option.SlateGray{background-color:SlateGray}option.SlateGrey{background-color:SlateGrey}option.LightSlateGray{background-color:LightSlateGray}option.LightSlateGrey{background-color:LightSlateGrey}option.MediumSlateBlue{background-color:MediumSlateBlue}option.LawnGreen{background-color:LawnGreen}option.Chartreuse{background-color:Chartreuse}option.Aquamarine{background-color:Aquamarine}option.Maroon{background-color:Maroon}option.Purple{background-color:Purple}option.Olive{background-color:Olive}option.Gray{background-color:Gray}option.Grey{background-color:Grey}option.SkyBlue{background-color:SkyBlue}option.LightSkyBlue{background-color:LightSkyBlue}option.BlueViolet{background-color:BlueViolet}option.DarkRed{background-color:DarkRed}option.DarkMagenta{background-color:DarkMagenta}option.SaddleBrown{background-color:SaddleBrown}option.DarkSeaGreen{background-color:DarkSeaGreen}option.LightGreen{background-color:LightGreen}option.MediumPurple{background-color:MediumPurple}option.DarkViolet{background-color:DarkViolet}option.PaleGreen{background-color:PaleGreen}option.DarkOrchid{background-color:DarkOrchid}option.YellowGreen{background-color:YellowGreen}option.Sienna{background-color:Sienna}option.Brown{background-color:Brown}option.DarkGray{background-color:DarkGray}option.DarkGrey{background-color:DarkGrey}option.LightBlue{background-color:LightBlue}option.GreenYellow{background-color:GreenYellow}option.PaleTurquoise{background-color:PaleTurquoise}option.LightSteelBlue{background-color:LightSteelBlue}option.PowderBlue{background-color:PowderBlue}option.FireBrick{background-color:FireBrick}option.DarkGoldenRod{background-color:DarkGoldenRod}option.MediumOrchid{background-color:MediumOrchid}option.RosyBrown{background-color:RosyBrown}option.DarkKhaki{background-color:DarkKhaki}option.Silver{background-color:Silver}option.MediumVioletRed{background-color:MediumVioletRed}option.IndianRed{background-color:IndianRed}option.Peru{background-color:Peru}option.Chocolate{background-color:Chocolate}option.Tan{background-color:Tan}option.LightGray{background-color:LightGray}option.LightGrey{background-color:LightGrey}option.PaleVioletRed{background-color:PaleVioletRed}option.Thistle{background-color:Thistle}option.Orchid{background-color:Orchid}option.GoldenRod{background-color:GoldenRod}option.Crimson{background-color:Crimson}option.Gainsboro{background-color:Gainsboro}option.Plum{background-color:Plum}option.BurlyWood{background-color:BurlyWood}option.LightCyan{background-color:LightCyan}option.Lavender{background-color:Lavender}option.DarkSalmon{background-color:DarkSalmon}option.Violet{background-color:Violet}option.PaleGoldenRod{background-color:PaleGoldenRod}option.LightCoral{background-color:LightCoral}option.Khaki{background-color:Khaki}option.AliceBlue{background-color:AliceBlue}option.HoneyDew{background-color:HoneyDew}option.Azure{background-color:Azure}option.SandyBrown{background-color:SandyBrown}option.Wheat{background-color:Wheat}option.Beige{background-color:Beige}option.WhiteSmoke{background-color:WhiteSmoke}option.MintCream{background-color:MintCream}option.GhostWhite{background-color:GhostWhite}option.Salmon{background-color:Salmon}option.AntiqueWhite{background-color:AntiqueWhite}option.Linen{background-color:Linen}option.LightGoldenRodYellow{background-color:LightGoldenRodYellow}option.OldLace{background-color:OldLace}option.Red{background-color:Red}option.Fuchsia{background-color:Fuchsia}option.Magenta{background-color:Magenta}option.DeepPink{background-color:DeepPink}option.OrangeRed{background-color:OrangeRed}option.Tomato{background-color:Tomato}option.HotPink{background-color:HotPink}option.Coral{background-color:Coral}option.Darkorange{background-color:Darkorange}option.LightSalmon{background-color:LightSalmon}option.Orange{background-color:Orange}option.LightPink{background-color:LightPink}option.Pink{background-color:Pink}option.Gold{background-color:Gold}option.PeachPuff{background-color:PeachPuff}option.NavajoWhite{background-color:NavajoWhite}option.Moccasin{background-color:Moccasin}option.Bisque{background-color:Bisque}option.MistyRose{background-color:MistyRose}option.BlanchedAlmond{background-color:BlanchedAlmond}option.PapayaWhip{background-color:PapayaWhip}option.LavenderBlush{background-color:LavenderBlush}option.SeaShell{background-color:SeaShell}option.Cornsilk{background-color:Cornsilk}option.LemonChiffon{background-color:LemonChiffon}option.FloralWhite{background-color:FloralWhite}option.Snow{background-color:Snow}option.Yellow{background-color:Yellow}option.LightYellow{background-color:LightYellow}option.Ivory{background-color:Ivory}option.White{background-color:White}#o_feed .o_box{border:1px solid #eee;padding:0.8em;margin-bottom:2em;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%);border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}#o_feed div.o_feed_edit{float:right;position:relative;top:0.2em;margin-right:0}#o_feed #o_link_container{margin-bottom:0.8em}#o_feed #o_link_container div.o_home{text-align:center}#o_feed #o_link_container div.o_older_items{float:left;display:inline}#o_feed #o_link_container div.o_newer_items{float:right;display:inline}#o_feed .b_year_navigation{text-align:center}#o_feed .b_year_navigation .b_months{border-top:1px solid #eee;padding-top:1em;margin-top:0.5em;clear:both;list-style:none}#o_feed .b_year_navigation span.b_disabled{background-image:none}div.o_feed_peekview{margin:1em 0 1em 0}div.o_feed_peekview h5{font-size:1em;position:relative;left:-20px}div.o_feed_peekview div.o_feed_peekview_item{padding-left:20px}#o_feed div.b_datecomp{top:2px;float:left;display:inline}#o_feed p.o_podcast_date{font-size:80%;color:#aaaaaa}#o_feed div.o_podcast_info img.icon{float:left;margin:0 1.5em 1.5em 0;max-width:120px;max-height:120px}#o_feed div.o_podcast_no_image{float:left;margin:0 1em 1em 0;width:100px;height:100px;color:#dfdfdf;background:white;text-align:center;padding:20px;border:2px dashed #dfdfdf;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}#o_feed div.o_podcast_no_image span{vertical-align:middle}#o_feed div.o_podcast_subscription{clear:both}#o_feed div.o_podcast_subscription a.o_podcast_rss_link{display:block;float:right;width:16px;height:16px;background:url(../openolat/images/feed.png) no-repeat}#o_feed div.o_podcast_episode{padding:10px;margin-top:20px;border:1px solid #dfdfdf;background-color:#fdfdfd;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}#o_feed div.o_podcast_episode div.b_ratings_and_comments{margin:2em 0 0 0;padding-bottom:0;border-bottom:0}#o_feed div.o_podcast_episode div.o_podcast_audio{margin-bottom:3px}#o_feed div.o_podcast_episode div.o_podcast_audio embed{width:200px;height:24px}#o_feed div.o_podcast_episode div.o_podcast_video{margin-bottom:3px}#o_feed div.o_podcast_episode div.o_podcast_video embed{width:200px;height:157px}#o_feed .back_link.o_podcast{margin-bottom:1.5em}div.o_podcast_peekview div.o_feed_peekview_item a.o_feed_item_icon{background-image:url(../openolat/images/control/speaker-volume.png)}#o_feed .o_blog_posts .o_post,#o_feed .o_blog_post .o_post{margin-bottom:1em;padding:10px;border:1px solid #dfdfdf;background-color:#fdfdfd;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}.o_post-readmorelinks{margin-top:1em;list-style:none}.o_post-readmorelinks,.o_post-readmorelinks li{margin-left:0;padding-left:0}#o_feed .o_blog_posts .o_draft{padding:0.8em;background-color:#fcf7ac;border:1px solid #fddc55}#o_feed .o_blog_posts .o_scheduled{padding:0.8em;background-color:#d9ffd0;border:1px solid #beffae}#o_feed div.o_blog_info div.o_blog_subscription{min-height:16px;padding-left:20px;background:url(../openolat/images/feed.png) no-repeat}#o_feed .o_blog_info .o_author,#o_feed .o_blog_posts .o_item_info{color:#7D7D7D;font-size:90%;margin:0}#o_feed .o_blog_posts p.o_item_info span.o_item_info_mod{color:#98221F}#o_feed .o_blog_post .back_link{margin-bottom:1.5em}div.o_blog_peekview div.o_feed_peekview_item a.o_feed_item_icon{background-image:url(../openolat/images/comment.png)}#o_instantmessaging_status_changer{padding:1em 0 0 0;margin:0}#o_instantmessaging_status_changer a.b_contexthelp{margin-top:5px;padding-right:5px}#o_instantmessaging_status_changer ul{list-style-type:none;padding:0;margin:0}#o_instantmessaging_status_changer li{padding:0;margin:0}#o_instantmessaging_status_changer li a{padding:0.1em 0 0.1em 20px;background-repeat:no-repeat;background-position:0 50%}.o_instantmessaging_chat_history,.o_groupchat_history{border:1px solid #ACAAAA;overflow:scroll;margin:0 0 1em 0;overflow-x:auto;height:170px;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%)}.o_instantmessaging_chat_history div,.o_groupchat_history div{border-top:1px solid #eee;padding:0.3em 0}.o_instantmessaging_chat_form input,.o_groupchat_chat_form input{width:99%}.o_instantmessaging_chat_form div.b_button_group,.o_groupchat_chat_form div.b_button_group{margin-top:1em}#o_instantmessages_buddieslist{padding:1em 0 0 0;margin:0}#o_instantmessages_buddieslist a.b_contexthelp{margin-top:5px;padding-right:5px}#o_instantmessages_buddieslist ul{list-style-type:none;padding:0;margin:0}#o_instantmessages_buddieslist li{margin:0;padding:0}#o_instantmessages_buddieslist li.o_instantmessaging_groupname{padding:0 0 0 20px;background:url(../openolat/images/users.png) no-repeat 0 0}#o_instantmessages_buddieslist li a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 0}#o_instantmessages_buddieslist a.o_instantmessaging_showgroupswitch{padding:2px 0 2px 20px;background:url(../openolat/images/users_conf.png) no-repeat 0 0}#o_instantmessages_buddieslist a.o_instantmessaging_showofflineswitch{padding:2px 0 2px 20px;background:url(../openolat/images/im/grstar.png) no-repeat 0 0}div.o_groupchat_roster{margin:0}div.o_groupchat_roster ul{list-style-type:disc;margin:0;padding:0}div.o_groupchat_roster li{font-size:95%}.o_instantmessaging_available_icon{background-image:url(../openolat/images/im/gstar.png)}.o_instantmessaging_chat_icon{background-image:url(../openolat/images/im/gstar_chat.png)}.o_instantmessaging_away_icon{background-image:url(../openolat/images/im/gstar_clock.png)}.o_instantmessaging_dnd_icon{background-image:url(../openolat/images/im/gstar_cross.png)}.o_instantmessaging_unavailable_icon{background-image:url(../openolat/images/im/grstar.png)}.o_instantmessaging_xa_icon{background-image:url(../openolat/images/im/grstar_clock.png)}.o_instantmessaging_offline_icon{background-image:url(../openolat/images/im/grstar.png)}.o_instantmessaging_new_msg_icon{background-image:url(../openolat/images/im/new_message.png)}.o_instantmessaging_error_icon{background-image:url(../openolat/images/cross.png)}.o_instantmessaging_refresh_icon{background-image:url(../openolat/images/qti/tries.png)}div.o_home_portaleditlink{position:absolute;top:1em;right:0.6em}.o_home_main{text-align:center}div.o_home_rsslink{clear:both;float:right;display:inline;margin:10px 0}div.o_home_rsslink a{float:right;display:inline}div.o_home_rsslink a.o_home_rsslink{background:url(../openolat/images/feed.png) no-repeat;width:16px;display:block;height:16px;line-height:0}.b_portlet{position:relative;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}.b_portlet div.b_portlet_table table{background:none;border:none}.b_portlet div.b_portlet_table table th,.b_portlet div.b_portlet_table table td{padding:0}.b_portlet div.b_portlet_table table tbody tr{background:transparent}.b_portlet div.b_portlet_table table tbody tr.b_table_odd td{background:transparent}.b_portlet div.b_portlet_table table tbody tr td{border:0 !important}.b_portlet div.b_portlet_table table tbody tr:hover,.b_portlet div.b_portlet_table table tbody tr:hover td,.b_portlet div.b_portlet_table table tbody tr:focus,.b_portlet div.b_portlet_table table tbody tr:focus td{background:transparent}.b_portlet div.b_portlet_table div.b_table_empty{background:none;padding:0;margin:0}div.o_portlet_repository_student td.b_first_child{width:24px}div.o_portlet_repository_teacher td.b_first_child{width:24px}.b_portlet .b_portlet_header{background-repeat:no-repeat;background-position:0% 50%;padding-left:27px;padding-top:5px;padding-bottom:5px}div.o_portlet_calendar div.b_portlet_header{background-image:url(../openolat/images/calendar_empty.png);padding-left:2px;padding-top:8px}div.o_portlet_calendar.o_day_1 div.b_portlet_header strong:before{content:"1";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_2 div.b_portlet_header strong:before{content:"2";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_3 div.b_portlet_header strong:before{content:"3";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_4 div.b_portlet_header strong:before{content:"4";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_5 div.b_portlet_header strong:before{content:"5";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_6 div.b_portlet_header strong:before{content:"6";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_7 div.b_portlet_header strong:before{content:"7";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_8 div.b_portlet_header strong:before{content:"8";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_9 div.b_portlet_header strong:before{content:"9";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_10 div.b_portlet_header strong:before{content:"10";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_11 div.b_portlet_header strong:before{content:"11";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_12 div.b_portlet_header strong:before{content:"12";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_13 div.b_portlet_header strong:before{content:"13";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_14 div.b_portlet_header strong:before{content:"14";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_15 div.b_portlet_header strong:before{content:"15";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_16 div.b_portlet_header strong:before{content:"16";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_17 div.b_portlet_header strong:before{content:"17";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_18 div.b_portlet_header strong:before{content:"18";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_19 div.b_portlet_header strong:before{content:"19";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_20 div.b_portlet_header strong:before{content:"20";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_21 div.b_portlet_header strong:before{content:"21";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_22 div.b_portlet_header strong:before{content:"22";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_23 div.b_portlet_header strong:before{content:"23";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_24 div.b_portlet_header strong:before{content:"24";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_25 div.b_portlet_header strong:before{content:"25";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_26 div.b_portlet_header strong:before{content:"26";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_27 div.b_portlet_header strong:before{content:"27";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_28 div.b_portlet_header strong:before{content:"28";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_29 div.b_portlet_header strong:before{content:"29";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_30 div.b_portlet_header strong:before{content:"30";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_31 div.b_portlet_header strong:before{content:"31";font-size:smaller;padding-right:16px}div.o_portlet_infomsg div.b_portlet_header{background-image:url(../openolat/images/comment.png)}div.o_portlet_quickstart div.b_portlet_header{background-image:url(../openolat/images/mouse.png)}div.o_portlet_bookmark div.b_portlet_header{background-image:url(../openolat/images/book-open-bookmark.png)}div.o_portlet_groups div.b_portlet_header{background-image:url(../openolat/images/users.png)}div.o_portlet_notes div.b_portlet_header{background-image:url(../openolat/images/sticky-note--pencil.png)}div.o_portlet_noti div.b_portlet_header{background-image:url(../openolat/images/mail.png)}div.o_portlet_eff div.b_portlet_header{background-image:url(../openolat/images/script-stamp.png)}div.o_portlet_repository_student div.b_portlet_header{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}div.o_portlet_repository_teacher div.b_portlet_header{background-image:url(../openolat/images/le_resources/book-open-text-image-red.png)}div.b_portlet_iframe div.b_portlet_header{background-image:url(../openolat/images/layer.png)}div.b_portlet_sysinfo div.b_portlet_header{background-image:url(../openolat/images/exclamation.png)}div.b_portlet_dyk div.b_portlet_header{background-image:url(../openolat/images/light-bulb.png)}div.o_portlet_infomessages div.b_portlet_header{background-image:url(../openolat/images/information-button.png)}div.b_portlet.o_pt_w_if div.b_portlet_header{background-image:url(../openolat/images/globe.png)}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}div.b_portlet_toolbox{position:absolute;top:0;right:0;padding:2px;height:20px;overflow-y:hidden !important;overflow-x:hidden !important}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/bin-metal-full.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);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_right_disabled{background-image:url(../openolat/images/arrow_right_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_down_disabled{background-image:url(../openolat/images/arrow_down_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_up_disabled{background-image:url(../openolat/images/arrow_up_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_sort_auto_disabled{background-image:url(../openolat/images/table_sort.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_sort_manual_disabled{background-image:url(../openolat/images/table_gear.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}.b_toolboxes{padding:6px}.b_toolboxes .b_toolbox{margin-bottom:20px}.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.7em;white-space:nowrap}.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(../openolat/images/bullet_white.png);padding-left:18px;display:block}div.b_portlet.o_pt_w_if div.b_portlet_header{background-image:url(../openolat/images/globe.png)}div.b_portlet p{margin-bottom:0}div.b_portlet_dyk_q{font-weight:bold}div.b_portlet_dyk_a{padding-top:5px}div.b_portlet_dyk_next{text-align:right}div.f_library_catalog div.b_tree ul{white-space:normal}div.f_library_catalog div.b_tree ul.b_tree_l1 li a.b_tree_icon{background-image:none !important}div.f_library_catalog div.f_metadata{background-color:#fcfcfc;margin-left:20px;padding:4px}div.f_library_catalog h4{padding-left:25px;background-repeat:no-repeat;background-position:center left}div.f_library_catalog div.f_folder_info div.f_metadata{margin-bottom:1.5em}div.f_library_catalog div.b_noti{right:90px}div.f_library_catalog div.f_thumbnails_switch{border:1px solid #E9EAEF;display:inline;position:absolute;top:0px;right:0px;float:right;padding:3px 3px 3px 23px}div.f_library_catalog div.f_thumbnails_on{background:url(../openolat/images/docs/document_preview.png) no-repeat 3px 50%}div.f_library_catalog div.f_thumbnails_off{background:url(../openolat/images/docs/document_preview.png) no-repeat 3px 50%;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=70);-moz-opacity:0.7;-khtml-opacity:0.7;opacity:0.7}div.f_library_catalog th,div.f_library_catalog td{text-align:left;font-size:0.9em;color:#999;margin:0;padding:0;border:0}div.f_library_catalog th{font-weight:bold;width:14em;vertical-align:top}div.f_library_catalog h3.b_filetype_folder{margin-top:20px}div.f_library_catalog div.f_item{margin-bottom:1em;padding:0.5em}div.f_library_catalog div.f_item div.f_item_thumbnail{width:200px;height:200px;float:left;margin-right:20px}div.f_library_catalog div.f_item div.f_item_links a{background-repeat:no-repeat}div.f_library_catalog div.f_item div.f_item_links a.b_filetype_file{display:block;width:70%;float:left;padding:2px 10px 2px 20px;background-repeat:no-repeat;margin:0}div.f_library_catalog div.f_item div.f_item_links a.f_permalink{text-decoration:none;display:block;width:9px;height:9px;float:right;padding:4px 2px 2px 2px;margin:0;background-position:center center}div.f_library_catalog div.f_item div.f_item_links span a.f_sendmail{text-decoration:none;background:url(../openolat/images/mail.png) no-repeat top left;display:block;width:16px;height:16px;float:right;padding:0 0 0 2px;margin:0}div.f_library_catalog div.f_item div.f_metadata{position:relative;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;moz-box-shadow:0 1px 2px #d3d3d3;-ms-box-shadow:0 1px 2px #d3d3d3;-o-box-shadow:0 1px 2px #d3d3d3;-webkit-box-shadow:0 1px 2px #d3d3d3;box-shadow:0 1px 2px #d3d3d3}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail{float:left;border-right:1px solid #eeeeee}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail_inner{width:200px;height:200px}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail_unavailable{width:200px;height:200px;background-image:url(../openolat/images/no_preview.png);background-repeat:no-repeat;background-position:50% 50%}div.f_library_catalog div.f_item div.f_metadata div.f_metadata_text{padding-bottom:35px}div.f_library_catalog div.f_item div.f_metadata div.f_metadata_text_inner{width:100%}div.f_library_catalog div.f_item div.f_metadata div.f_item_ratings{position:absolute;bottom:3px;right:3px;width:300px}div.f_library_catalog div.f_item div.f_metadata div.f_item_ratings div.b_ratings_and_comments{margin:0;border:none}div.f_library_catalog div.f_item_selected div.f_metadata{background-color:#F0F0F0 !important;moz-box-shadow:1 1px 4px #d3d3d3;-ms-box-shadow:1 1px 4px #d3d3d3;-o-box-shadow:1 1px 4px #d3d3d3;-webkit-box-shadow:1 1px 4px #d3d3d3;box-shadow:1 1px 4px #d3d3d3}div.f_library_catalog h3.f_search_results{background-image:url(../openolat/images/magnifier-zoom.png) !important}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox input{line-height:1.3em;margin:0;width:10em}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox input:focus{border:1px solid #504D4E}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox button{width:16px;height:16px;background:url(../openolat/images/magnifier-zoom.png) no-repeat;border:0;vertical-align:top}div.f_library_catalog_wide div.f_metadata{background-color:#fcfcfc}div.f_library_catalog_wide th,div.f_library_catalog_wide td{text-align:left;font-size:0.9em;color:#999;margin:0;padding:0;border:0}div.f_library_catalog_wide th{font-weight:bold;width:14em;vertical-align:top}div.f_library_catalog_wide h3.b_filetype_folder{margin-top:20px}div.f_library_catalog_wide div.f_item{margin-bottom:30px}div.f_library_catalog_wide div.f_item div.f_thumbnail{width:280px;height:158px;float:left;border-right:1px solid #999}div.f_library_catalog_wide div.f_item div.f_item_links a{background-repeat:no-repeat}div.f_library_catalog_wide div.f_item div.f_item_links a.b_filetype_file{display:block;width:70%;float:left;padding:2px 10px 2px 20px;background-repeat:no-repeat;margin:0}div.f_library_catalog_wide div.f_item div.f_item_links a.f_permalink{text-decoration:none;display:block;width:9px;height:9px;float:right;padding:4px 2px 2px 2px;margin:0;background-position:center center}div.f_library_catalog_wide div.f_item div.f_item_links span a.f_sendmail{text-decoration:none;background:url(../openolat/images/mail.png) no-repeat top left;display:block;width:16px;height:16px;float:right;padding:0 0 0 2px;margin:0}div.f_library_catalog_wide div.f_item div.f_metadata{position:relative;border:1px solid #999;moz-box-shadow:0 1px 2px #999999;-ms-box-shadow:0 1px 2px #999999;-o-box-shadow:0 1px 2px #999999;-webkit-box-shadow:0 1px 2px #999999;box-shadow:0 1px 2px #999999}div.f_library_catalog_wide div.f_item div.f_metadata div.f_thumbnail_inner{width:280px;height:158px}div.f_library_catalog_wide div.f_item div.f_metadata div.f_thumbnail_unavailable{width:280px;height:158px;background-image:url(../openolat/images/no_preview.png);background-repeat:no-repeat;background-position:50% 50%}div.f_library_catalog_wide div.f_item div.f_metadata div.f_metadata_text{margin:10px 220px 10px 300px}div.f_library_catalog_wide div.f_item div.f_metadata div.f_metadata_text_inner{width:100%}div.f_library_catalog_wide div.f_item div.f_metadata div.f_metadata_additional_infos{position:absolute;top:0;right:0;height:158px;width:210px;border-left:1px solid #999}div.f_library_catalog_wide div.f_item div.f_metadata div.f_metadata_additional_infos_inner{margin:10px 10px 10px 10px}div.f_library_catalog_wide div.f_item_selected div.f_metadata{background-color:#F0F0F0 !important;moz-box-shadow:1 1px 4px #d3d3d3;-ms-box-shadow:1 1px 4px #d3d3d3;-o-box-shadow:1 1px 4px #d3d3d3;-webkit-box-shadow:1 1px 4px #d3d3d3;box-shadow:1 1px 4px #d3d3d3}div.f_library_catalog_wide h3.f_search_results{background-image:url(../openolat/images/magnifier-zoom.png) !important}div.f_library_catalog_wide div.b_toolbox div.o_toolbox_searchbox input{line-height:1.3em;margin:0;width:10em}div.f_library_catalog_wide div.b_toolbox div.o_toolbox_searchbox input:focus{border:1px solid #504D4E}div.f_library_catalog_wide div.b_toolbox div.o_toolbox_searchbox button{width:16px;height:16px;background:url(../openolat/images/magnifier-zoom.png) no-repeat;border:0;vertical-align:top}div.f_library_catalog_condensed div.f_item_condensed{width:280px;height:280px;margin-right:30px;margin-bottom:30px;float:left;-webkit-box-shadow:0 1px 2px 0 #999;box-shadow:0 1px 2px 0 #999;border:1px solid #999;background-color:#fcfcfc}div.f_library_catalog_condensed div.f_item_condensed div.f_thumbnail{height:158px;width:280px}div.f_library_catalog_condensed div.f_item_condensed div.f_metadata_text{padding:12px 8px 12px 12px}div.f_library_catalog_condensed div.f_item_condensed div.o_eff_statement_progress{width:200px;margin:20px 0px 0px 20px}div.f_library_overview img{float:right;max-width:50%}div.f_library_overview p{padding-left:20px}div.f_library_overview div.f_library_big_icon{float:right;width:425px;height:282px;background:url(../openolat/images/library_image.png) no-repeat}div.f_library_overview div.f_library_newest_files ul li{white-space:normal;padding-bottom:0.3em}div.f_library_overview div.f_library_newest_files ul li a{background-position:top left;min-height:16px}.f_library_icon{background-image:url(../openolat/images/library.png)}@media print{.o_noprint{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_toplink{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}body{font-size:10pt}.b_noti{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_main.o_loginscreen{background-image:none}#b_main.o_home{background-image:none}#b_main.o_editor{background-image:none}#b_main{moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;border:none}body,#b_page_margins,#b_page,#b_main,#b_page_wrapper{margin:0;padding:0;border:0}body *{font-family:"Times New Roman", Times, serif}code,pre{font-family:"Courier New", Courier, mono}#b_page_margins,#b_page{width:100% !important;min-width:0;max-width:none}#b_footer,#b_topnav,#b_nav,#search{display:none}#b_col1,#b_col2{display:none}#b_col3{margin:0 !important;border:none !important}.b_c25l,.b_c33l,.b_c38l,.b_c50l,.b_c62l,.b_c66l,.b_c75l,.b_c25r,.b_c33r,.b_c38r,.b_c50r,.b_c62r,.b_c66r,.b_c75r{width:100%;margin:0;float:none;overflow:visible;display:table}.b_subc,.b_subcl,.b_subcr{margin:0;padding:0}h1,h2,h3,h4,h5,h6{page-break-after:avoid}#b_page a[href^="http:"],#b_page a[href^="https:"]{padding-left:0;background-image:none}#b_col1_content:before,#b_col2_content:before,#b_col3_content:before{content:"";color:#888;background:inherit;display:block;font-weight:700;font-size:1.5em}.b_floatbox,.b_subcolumns,.b_subcolums_oldgecko{overflow:visible;display:table}#jsMath_PrintWarning{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}.o_wiki_wrapper .b_c20l,.o_wiki_wrapper .o_wikimod_nav{display:none}.o_wiki_wrapper .b_c80r{width:100%}.o_wiki_wrapper .b_c80r div.b_tabbedpane_tabs{display:none}} diff --git a/src/test/java/org/olat/bookmark/BookmarkManagerTest.java b/src/test/java/org/olat/bookmark/BookmarkManagerTest.java deleted file mode 100644 index 9dc0fca8cb7c7f98b033ca8d941031c18f1353bd..0000000000000000000000000000000000000000 --- a/src/test/java/org/olat/bookmark/BookmarkManagerTest.java +++ /dev/null @@ -1,185 +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.bookmark; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.List; - -import org.apache.log4j.Logger; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.olat.core.commons.persistence.DBFactory; -import org.olat.core.id.Identity; -import org.olat.core.id.OLATResourceable; -import org.olat.core.util.resource.OresHelper; -import org.olat.test.JunitTestHelper; -import org.olat.test.OlatTestCase; - -/** - * SecurityTestSuite is a container of all Tests in this package. - * - * @author Andreas Ch. Kapp - */ -public class BookmarkManagerTest extends OlatTestCase { - - private static Logger log = Logger.getLogger(BookmarkManagerTest.class.getName()); - private Identity s1; - private Identity s2; - private Identity s3; - private OLATResourceable olatres, olatres2; - private BookmarkManager bm1; - private BookmarkImpl bo1, bo2, bo3, bo4, bo5; - private static boolean isInitialized = false; - - - /** - * Test create update and delete a bookmark - */ - @Test - public void testCreateUpdateDeleteBookmark() { - //create - bm1.createAndPersistBookmark(bo1); - bm1.createAndPersistBookmark(bo2); - bm1.createAndPersistBookmark(bo3); - bm1.createAndPersistBookmark(bo4); - bo1.setDescription("changed1"); - bo2.setDescription("changed2"); - bo3.setDescription("changed3"); - bo4.setDescription("changed4"); - bo1.setDetaildata("substring1"); - bo2.setDetaildata("substring2"); - bo3.setDetaildata("substring3"); - bo4.setDetaildata("substring4"); - bm1.updateBookmark(bo1); - bm1.updateBookmark(bo2); - bm1.updateBookmark(bo3); - bm1.updateBookmark(bo4); - bm1.deleteBookmark(bo1); - bm1.deleteBookmark(bo2); - bm1.deleteBookmark(bo3); - bm1.deleteBookmark(bo4); - } - @Test - public void testFindBookmarksByIdentity() { - bm1.createAndPersistBookmark(bo1); - bm1.createAndPersistBookmark(bo2); - bm1.createAndPersistBookmark(bo3); - bm1.createAndPersistBookmark(bo4); - bm1.createAndPersistBookmark(bo5); - List bookmarkList = bm1.findBookmarksByIdentity(s1); - assertNotNull(bookmarkList); - assertEquals("Wrong bookmark-list size",3,bookmarkList.size()); - bm1.deleteBookmark(bo1); - bm1.deleteBookmark(bo2); - bm1.deleteBookmark(bo3); - bm1.deleteBookmark(bo4); - bm1.deleteBookmark(bo5); - } - @Test - public void testFindBookmarksByIdentityAndType() { - bm1.createAndPersistBookmark(bo1); - bm1.createAndPersistBookmark(bo2); - bm1.createAndPersistBookmark(bo3); - bm1.createAndPersistBookmark(bo4); - bm1.createAndPersistBookmark(bo5); - List bookmarkList = bm1.findBookmarksByIdentity(s1,olatres.getResourceableTypeName()); - assertNotNull(bookmarkList); - assertEquals("Wrong bookmark-list size",2,bookmarkList.size()); - bm1.deleteBookmark(bo1); - bm1.deleteBookmark(bo2); - bm1.deleteBookmark(bo3); - bm1.deleteBookmark(bo4); - bm1.deleteBookmark(bo5); - } - @Test - public void testDeleteAllBookmarksFor() { - bm1.createAndPersistBookmark(bo1); - bm1.createAndPersistBookmark(bo2); - bm1.createAndPersistBookmark(bo3); - bm1.createAndPersistBookmark(bo4); - bm1.createAndPersistBookmark(bo5); - List bookmarkList = bm1.findBookmarksByIdentity(s1,olatres.getResourceableTypeName()); - assertNotNull(bookmarkList); - assertEquals("Wrong bookmark-list size",2,bookmarkList.size()); - bm1.deleteAllBookmarksFor(olatres); - bookmarkList = bm1.findBookmarksByIdentity(s1,olatres2.getResourceableTypeName()); - assertNotNull(bookmarkList); - assertEquals("Wrong bookmark-list size",1,bookmarkList.size()); - bm1.deleteBookmark(bo5); - } - @Test - public void testIsResourceableBookmarked() { - bm1.createAndPersistBookmark(bo1); - bm1.createAndPersistBookmark(bo2); - bm1.createAndPersistBookmark(bo3); - bm1.createAndPersistBookmark(bo4); - assertTrue(bm1.isResourceableBookmarked(s1, olatres)); - assertFalse(bm1.isResourceableBookmarked(s1, olatres2)); - bm1.createAndPersistBookmark(bo5); - assertTrue(bm1.isResourceableBookmarked(s1, olatres2)); - assertFalse(bm1.isResourceableBookmarked(s2, olatres2)); - bm1.deleteBookmark(bo1); - bm1.deleteBookmark(bo2); - bm1.deleteBookmark(bo3); - bm1.deleteBookmark(bo4); - bm1.deleteBookmark(bo5); - } - - @Before - public void setUp() throws Exception { - olatres = OresHelper.createOLATResourceableInstance("Kürsli",new Long("123")); - olatres2 = OresHelper.createOLATResourceableInstance("Kürsli2",new Long("124")); - - if (BookmarkManagerTest.isInitialized == false) { - BookmarkManagerTest.isInitialized = true; - } - s1 = JunitTestHelper.createAndPersistIdentityAsUser("sabina"); - s2 = JunitTestHelper.createAndPersistIdentityAsUser("coop"); - s3 = JunitTestHelper.createAndPersistIdentityAsUser("diesbach"); - bm1 = BookmarkManager.getInstance(); - bo1 = new BookmarkImpl(olatres.getResourceableTypeName(), olatres.getResourceableTypeName(), olatres.getResourceableId(), "favorit", "", s1); - bo2 = new BookmarkImpl(olatres.getResourceableTypeName(), olatres.getResourceableTypeName(), olatres.getResourceableId(), "buechzeiche", "", s2); - bo3 = new BookmarkImpl(olatres.getResourceableTypeName(), olatres.getResourceableTypeName(), olatres.getResourceableId(), "bookmark", "", s3); - bo4 = new BookmarkImpl(olatres.getResourceableTypeName(), olatres.getResourceableTypeName(), olatres.getResourceableId(), "merkseite", "", s1); - bo5 = new BookmarkImpl(olatres2.getResourceableTypeName(), olatres2.getResourceableTypeName(), olatres2.getResourceableId(), "merkseite2", "", s1); - } - - @After - public void tearDown() throws Exception { - try { - //DB.getInstance().delete("select * from o_bookmark"); - DBFactory.getInstance().closeSession(); - } catch (Exception e) { - log.error("tearDown failed: ", e); - } - } -} \ No newline at end of file diff --git a/src/test/java/org/olat/modules/coach/CoachingManagerTest.java b/src/test/java/org/olat/modules/coach/CoachingManagerTest.java new file mode 100644 index 0000000000000000000000000000000000000000..ba2550595bf795145be3055a7c9eab78d074be22 --- /dev/null +++ b/src/test/java/org/olat/modules/coach/CoachingManagerTest.java @@ -0,0 +1,332 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.coach; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.UUID; + +import org.junit.Before; +import org.junit.Test; +import org.olat.basesecurity.BaseSecurity; +import org.olat.core.commons.persistence.DB; +import org.olat.core.id.Identity; +import org.olat.course.ICourse; +import org.olat.group.BusinessGroup; +import org.olat.group.BusinessGroupService; +import org.olat.group.model.DisplayMembers; +import org.olat.modules.coach.manager.CoachingService; +import org.olat.modules.coach.model.CourseStatEntry; +import org.olat.modules.coach.model.EfficiencyStatementEntry; +import org.olat.modules.coach.model.GroupStatEntry; +import org.olat.modules.coach.model.StudentStatEntry; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryManager; +import org.olat.restapi.repository.course.CoursesWebService; +import org.olat.test.JunitTestHelper; +import org.olat.test.OlatTestCase; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +public class CoachingManagerTest extends OlatTestCase { + + private static boolean isInitialized = false; + + private static int NUM_OF_COURSES = 100; + private static int NUM_OF_STUDENTS = 1000; + + private static Identity author; + private static Identity coach10, coach11, coach12, coach13; + private static Identity coach20, coach21, coach22, coach23, coach24, coach25, coach26; + + private static Identity student10; + + private static RepositoryEntry course10; + + private static Map<Long,List<Long>> coachToCourseMap = new HashMap<Long,List<Long>>(); + private static Map<Identity,List<RepositoryEntry>> studentToCourseMap = new HashMap<Identity,List<RepositoryEntry>>(); + + + private static Map<Long,List<Long>> coachToGroupCourseMap = new HashMap<Long,List<Long>>(); + + @Autowired + private DB dbInstance; + @Autowired + private CoachingService coachingService; + @Autowired + private RepositoryManager repositoryManager; + @Autowired + private BaseSecurity securityManager; + @Autowired + private BusinessGroupService businessGroupService; + + + + @Before + public void setUp() throws Exception { + if(isInitialized) return; + + //author + author = JunitTestHelper.createAndPersistIdentityAsAuthor("author_" + getUUID()); + //r1 set of coach + coach10 = JunitTestHelper.createAndPersistIdentityAsUser("coach_" + getUUID()); + coach11 = JunitTestHelper.createAndPersistIdentityAsUser("coach_" + getUUID()); + coach12 = JunitTestHelper.createAndPersistIdentityAsUser("coach_" + getUUID()); + coach13 = JunitTestHelper.createAndPersistIdentityAsUser("coach_" + getUUID()); + //r2 set of coach + coach20 = JunitTestHelper.createAndPersistIdentityAsUser("coach_" + getUUID()); + coach21 = JunitTestHelper.createAndPersistIdentityAsUser("coach_" + getUUID()); + coach22 = JunitTestHelper.createAndPersistIdentityAsUser("coach_" + getUUID()); + coach23 = JunitTestHelper.createAndPersistIdentityAsUser("coach_" + getUUID()); + coach24 = JunitTestHelper.createAndPersistIdentityAsUser("coach_" + getUUID()); + coach25 = JunitTestHelper.createAndPersistIdentityAsUser("coach_" + getUUID()); + coach26 = JunitTestHelper.createAndPersistIdentityAsUser("coach_" + getUUID()); + + List<Identity> students = new ArrayList<Identity>(); + //r1 set of student + for(int i=0; i<NUM_OF_STUDENTS; i++) { + Identity student = JunitTestHelper.createAndPersistIdentityAsUser("student_" + getUUID()); + students.add(student); + if(i == 0) { + student10 = student; + } + } + + int qCount = 0; + + //create courses with members + for(int i=0; i<NUM_OF_COURSES; i++) { + ICourse course = CoursesWebService.createEmptyCourse(author, "Coaching - " + i, "Coaching - " + i, null); + RepositoryEntry re = repositoryManager.lookupRepositoryEntry(course, false); + if(i == 0) { + course10 = re; + } + + int r1 = (i % 4); + int r2 = (i % 7); + + switch(r1) { + case 0: addCoachToCourse(coach10, re); break; + case 1: addCoachToCourse(coach11, re); break; + case 2: addCoachToCourse(coach12, re); break; + case 3: addCoachToCourse(coach13, re); break; + } + + switch(r2) { + case 0: addCoachToCourse(coach20, re); break; + case 1: addCoachToCourse(coach21, re); break; + case 2: addCoachToCourse(coach22, re); break; + case 3: addCoachToCourse(coach23, re); break; + case 4: addCoachToCourse(coach24, re); break; + case 5: addCoachToCourse(coach25, re); break; + case 6: addCoachToCourse(coach26, re); break; + } + assertNotNull(re); + + List<Identity> newStudents = reservoirSample(students, NUM_OF_STUDENTS / 2); + for(Identity newStudent:newStudents) { + addStudentToCourse(newStudent, re); + if(qCount++ % 20 == 0) { + dbInstance.intermediateCommit(); + } + } + dbInstance.intermediateCommit(); + } + + //create courses with members + for(int i=0; i<NUM_OF_COURSES; i++) { + ICourse course = CoursesWebService.createEmptyCourse(author, "Coaching - " + i, "Coaching - " + i, null); + RepositoryEntry re = repositoryManager.lookupRepositoryEntry(course, false); + // create groups without waiting list + BusinessGroup g1 = businessGroupService.createBusinessGroup(author, "coach-g1", null, new Integer(0), new Integer(10), false, false, re); + BusinessGroup g2 = businessGroupService.createBusinessGroup(author, "coach-g2", null, new Integer(0), new Integer(10), false, false, re); + + //permission to see owners and participants + businessGroupService.updateDisplayMembers(g1, new DisplayMembers(false, false, false)); + businessGroupService.updateDisplayMembers(g2, new DisplayMembers(true, true, false)); + + // coach + addCoachToGroupCourse(coach10, g1, re); + addCoachToGroupCourse(coach11, g1, re); + addCoachToGroupCourse(coach12, g2, re); + + //students + List<Identity> newStudents = reservoirSample(students, NUM_OF_STUDENTS / 2); + for(Iterator<Identity> it=newStudents.iterator(); it.hasNext(); ) { + Identity newStudent = it.next(); + addStudentToGroupCourse(newStudent, g1, re); + it.remove(); + if(qCount++ % 20 == 0) { + dbInstance.intermediateCommit(); + } + if(rnd.nextDouble() > 0.8d) { + break; + } + } + + // members g2 + for(Iterator<Identity> it=newStudents.iterator(); it.hasNext(); ) { + addStudentToGroupCourse(it.next(), g2, re); + if(qCount++ % 20 == 0) { + dbInstance.intermediateCommit(); + } + } + + dbInstance.intermediateCommit(); + } + + isInitialized = true; + } + + private void addCoachToCourse(Identity coach, RepositoryEntry re) { + Long coachKey = coach.getKey(); + + securityManager.addIdentityToSecurityGroup(coach, re.getTutorGroup()); + if(!coachToCourseMap.containsKey(coachKey)) { + coachToCourseMap.put(coachKey, new ArrayList<Long>()); + } + coachToCourseMap.get(coachKey).add(re.getKey()); + } + + private void addCoachToGroupCourse(Identity coach, BusinessGroup group, RepositoryEntry re) { + Long coachKey = coach.getKey(); + + securityManager.addIdentityToSecurityGroup(coach, group.getOwnerGroup()); + if(!coachToCourseMap.containsKey(coachKey)) { + coachToCourseMap.put(coachKey, new ArrayList<Long>()); + } + coachToCourseMap.get(coachKey).add(re.getKey()); + + //GROUPS + if(!coachToGroupCourseMap.containsKey(coachKey)) { + coachToGroupCourseMap.put(coachKey, new ArrayList<Long>()); + } + coachToGroupCourseMap.get(coachKey).add(re.getKey()); + } + + private void addStudentToCourse(Identity student, RepositoryEntry re) { + securityManager.addIdentityToSecurityGroup(student, re.getParticipantGroup()); + if(!studentToCourseMap.containsKey(student)) { + studentToCourseMap.put(student, new ArrayList<RepositoryEntry>()); + } + studentToCourseMap.get(student).add(re); + } + + private void addStudentToGroupCourse(Identity student, BusinessGroup group, RepositoryEntry re) { + securityManager.addIdentityToSecurityGroup(student, group.getPartipiciantGroup()); + if(!studentToCourseMap.containsKey(student)) { + studentToCourseMap.put(student, new ArrayList<RepositoryEntry>()); + } + studentToCourseMap.get(student).add(re); + } + + private Random rnd = new Random(); + + public List<Identity> reservoirSample(Iterable<Identity> items, int m) { + List<Identity> res = new ArrayList<Identity>(m); + int count = 0; + for(Identity item : items){ + count++; + if (count <= m) + res.add(item); + else{ + int r = rnd.nextInt(count); + if (r < m) + res.set(r, item); + } + } + return res; + } + @Test + public void testManagers() { + assertNotNull(coachingService); + assertNotNull(repositoryManager); + assertNotNull(securityManager); + assertNotNull(businessGroupService); + } + + @Test + public void testStudentsStats() { + List<StudentStatEntry> statEntries = coachingService.getStudentsStatistics(coach10); + assertNotNull(statEntries); + } + + @Test + public void testCoachCourses() { + List<CourseStatEntry> statEntries = coachingService.getCoursesStatistics(coach10); + assertNotNull(statEntries); + List<Long> myCourses = coachToCourseMap.get(coach10.getKey()); + assertNotNull(myCourses); + + assertEquals(myCourses.size(), statEntries.size()); + } + + @Test + public void testCoachGroupCourses() { + List<GroupStatEntry> statEntries = coachingService.getGroupsStatistics(coach10); + assertNotNull(statEntries); + List<Long> myCourses = coachToGroupCourseMap.get(coach10.getKey()); + assertNotNull(myCourses); + + assertEquals(myCourses.size(), statEntries.size()); + } + + @Test + public void testCourse() { + List<Long> myCourses = coachToCourseMap.get(coach10.getKey()); + assertNotNull(myCourses); + + List<EfficiencyStatementEntry> statEntries = coachingService.getCourse(coach10, course10, 0, -1); + assertNotNull(statEntries); + assertFalse(statEntries.isEmpty()); + assertTrue(myCourses.contains(course10.getKey())); + + for(EfficiencyStatementEntry statEntry:statEntries) { + assertNotNull(statEntry.getCourse()); + assertEquals(course10.getKey(), statEntry.getCourse().getKey()); + } + } + + @Test + public void testStudentCourses() { + List<RepositoryEntry> courses = coachingService.getStudentsCourses(coach10, student10, 0, -1); + assertNotNull(courses); + + List<Long> myCourses = coachToCourseMap.get(coach10.getKey()); + assertNotNull(myCourses); + } + + private String getUUID() { + return UUID.randomUUID().toString().replace("-", ""); + } + +} diff --git a/src/test/java/org/olat/test/AllTestsJunit4.java b/src/test/java/org/olat/test/AllTestsJunit4.java index 1134ba49ec64c9fd2b1e0ff9d3bea8b8a25e7df0..908b45cd7550b217e0fd6cf17601df20276010c7 100644 --- a/src/test/java/org/olat/test/AllTestsJunit4.java +++ b/src/test/java/org/olat/test/AllTestsJunit4.java @@ -99,12 +99,12 @@ import org.junit.runners.Suite; org.olat.modules.fo.ForumManagerTest.class,//fail org.olat.modules.wiki.WikiUnitTest.class,//ok org.olat.modules.wiki.versioning.diff.CookbookDiffTest.class,//ok + org.olat.modules.coach.CoachingManagerTest.class,//ok org.olat.properties.PropertyTest.class,//ok org.olat.search.service.document.file.FileDocumentFactoryTest.class, org.olat.search.service.document.file.PDFDocumentTest.class, org.olat.search.service.document.file.OfficeDocumentTest.class, org.olat.catalog.CatalogManagerTest.class,//ok - org.olat.bookmark.BookmarkManagerTest.class,//ok org.olat.notifications.NotificationsManagerTest.class,//fail org.olat.registration.RegistrationManagerTest.class,//ok org.olat.commons.coordinate.singlevm.SingleVMLockerTest.class,//ok