diff --git a/src/main/java/org/olat/core/commons/contextHelp/ContextHelpPageCrumbController.java b/src/main/java/org/olat/core/commons/contextHelp/ContextHelpPageCrumbController.java index 77ab764ae2b6d2011c265695666a29d052892f81..15e9ac142fa0323d1e70d04ba7d6c29c825cfa62 100644 --- a/src/main/java/org/olat/core/commons/contextHelp/ContextHelpPageCrumbController.java +++ b/src/main/java/org/olat/core/commons/contextHelp/ContextHelpPageCrumbController.java @@ -24,9 +24,9 @@ import java.util.Locale; import javax.servlet.http.HttpServletRequest; -import org.olat.core.CoreSpringFactory; -import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; -import org.olat.core.commons.services.commentAndRating.impl.ui.UserCommentsAndRatingsController; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingDefaultSecurityCallback; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingSecurityCallback; +import org.olat.core.commons.services.commentAndRating.ui.UserCommentsAndRatingsController; import org.olat.core.dispatcher.mapper.Mapper; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; @@ -166,16 +166,14 @@ class ContextHelpPageCrumbController extends CrumbBasicController { || ! ureq.getUserSession().isAuthenticated() || contextHelpPageVC == null ) return; - CommentAndRatingService commentAndRatingService = (CommentAndRatingService) CoreSpringFactory.getBean(CommentAndRatingService.class); - if (commentAndRatingService != null) { - Roles roles = ureq.getUserSession().getRoles(); - OLATResourceable helpOres = OresHelper.createOLATResourceableType("contexthelp"); - String key = ContextHelpManager.getInstance().calculateCombinedKey(pageTranslator.getLocale(), bundleName, page); - commentAndRatingService.init(getIdentity(), helpOres, key, roles.isOLATAdmin(), roles.isGuestOnly()); - UserCommentsAndRatingsController commentsAndRatingCtr = commentAndRatingService.createUserCommentsAndRatingControllerExpandable(ureq, getWindowControl()); - listenTo(commentsAndRatingCtr); - contextHelpWrapperVC.put("commentsAndRatingCtr", commentsAndRatingCtr.getInitialComponent()); - } + + Roles roles = ureq.getUserSession().getRoles(); + OLATResourceable helpOres = OresHelper.createOLATResourceableType("contexthelp"); + String key = ContextHelpManager.getInstance().calculateCombinedKey(pageTranslator.getLocale(), bundleName, page); + CommentAndRatingSecurityCallback secCallback = new CommentAndRatingDefaultSecurityCallback(getIdentity(), roles.isOLATAdmin(), roles.isGuestOnly()); + UserCommentsAndRatingsController commentsAndRatingCtr = new UserCommentsAndRatingsController(ureq, getWindowControl(), helpOres, key, secCallback, true, true, true); + listenTo(commentsAndRatingCtr); + contextHelpWrapperVC.put("commentsAndRatingCtr", commentsAndRatingCtr.getInitialComponent()); } /** 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 d13f2de617556e083fd40fa36fff7cf483003a86..3d6d9d0720535571029ef3c26e41c3b31657d706 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 @@ -67,10 +67,6 @@ <mapping-file>org/olat/portfolio/model/structel/StructureElement.hbm.xml</mapping-file> <mapping-file>org/olat/portfolio/model/notification/Notifications.hbm.xml</mapping-file> <mapping-file>org/olat/portfolio/model/restriction/CollectRestriction.hbm.xml</mapping-file> - <mapping-file>org/olat/core/commons/services/commentAndRating/impl/UserCommentImpl.hbm.xml</mapping-file> - <!-- - <mapping-file>org/olat/core/commons/services/commentAndRating/impl/UserRatingImpl.hbm.xml</mapping-file> - --> <mapping-file>org/olat/core/commons/services/mark/impl/MarkImpl.hbm.xml</mapping-file> <mapping-file>org/olat/core/commons/services/tagging/model/TagImpl.hbm.xml</mapping-file> <mapping-file>org/olat/core/util/mail/model/DBMail.hbm.xml</mapping-file> @@ -99,7 +95,8 @@ <class>org.olat.core.commons.services.notifications.model.PublisherImpl</class> <class>org.olat.core.commons.services.taskexecutor.model.PersistentTask</class> <class>org.olat.core.commons.services.taskexecutor.model.PersistentTaskModifier</class> - <class>org.olat.core.commons.services.commentAndRating.impl.UserRatingImpl</class> + <class>org.olat.core.commons.services.commentAndRating.model.UserRatingImpl</class> + <class>org.olat.core.commons.services.commentAndRating.model.UserCommentImpl</class> <class>org.olat.course.assessment.model.UserCourseInfosImpl</class> <class>org.olat.course.nodes.cl.model.DBCheckbox</class> <class>org.olat.course.nodes.cl.model.DBCheck</class> diff --git a/src/main/java/org/olat/core/commons/services/_spring/servicesCorecontext.xml b/src/main/java/org/olat/core/commons/services/_spring/servicesCorecontext.xml index 97a9ec8e49558181e3362eb8b67bd6f1ffd18601..caccbda4d9790ef1e0bb5005af25024d2b3ef4bc 100644 --- a/src/main/java/org/olat/core/commons/services/_spring/servicesCorecontext.xml +++ b/src/main/java/org/olat/core/commons/services/_spring/servicesCorecontext.xml @@ -13,18 +13,4 @@ <import resource="classpath:/org/olat/core/commons/services/taskexecutor/_spring/taskExecutorCorecontext.xml"/> <import resource="classpath:/org/olat/core/commons/services/notifications/_spring/notificationsContext.xml"/> - <!-- Define commenting and rating service implementation. Remove this bean if you don't want this service to be enabled at all --> - <bean id="commentAndRatingService" class="org.olat.core.commons.services.commentAndRating.impl.CommentAndRatingServiceImpl" - scope="prototype"> - <property name="userCommentsManager" ref="userCommentsManager" /> - <property name="userRatingsManager" ref="userRatingsManager" /> - </bean> - - <!-- Define the manager implementation used in comment and rating service --> - <bean id="userCommentsManager" - class="org.olat.core.commons.services.commentAndRating.impl.UserCommentsManagerImpl" scope="prototype" /> - - <bean id="userRatingsManager" class="org.olat.core.commons.services.commentAndRating.impl.UserRatingsManagerImpl" scope="prototype"> - <property name="userRatingsDAO" ref="userRatingsDAO"/> - </bean> </beans> \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/CommentAndRatingDefaultSecurityCallback.java b/src/main/java/org/olat/core/commons/services/commentAndRating/CommentAndRatingDefaultSecurityCallback.java similarity index 97% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/CommentAndRatingDefaultSecurityCallback.java rename to src/main/java/org/olat/core/commons/services/commentAndRating/CommentAndRatingDefaultSecurityCallback.java index dbad141702c641c20d769ca3a58be98ed82cb6f1..ebb25f21887fcf77d4a9e546bb7833b655cb2909 100644 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/CommentAndRatingDefaultSecurityCallback.java +++ b/src/main/java/org/olat/core/commons/services/commentAndRating/CommentAndRatingDefaultSecurityCallback.java @@ -17,11 +17,10 @@ * frentix GmbH, http://www.frentix.com * <p> */ -package org.olat.core.commons.services.commentAndRating.impl; +package org.olat.core.commons.services.commentAndRating; import java.util.List; -import org.olat.core.commons.services.commentAndRating.CommentAndRatingSecurityCallback; import org.olat.core.commons.services.commentAndRating.model.UserComment; import org.olat.core.id.Identity; diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/CommentAndRatingService.java b/src/main/java/org/olat/core/commons/services/commentAndRating/CommentAndRatingService.java index 6ff50a03490f31a05a0505decbbc73278fd2d94b..4837e10dd835632f7cb1d10769df445f7f40a9ef 100644 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/CommentAndRatingService.java +++ b/src/main/java/org/olat/core/commons/services/commentAndRating/CommentAndRatingService.java @@ -24,9 +24,12 @@ */ package org.olat.core.commons.services.commentAndRating; -import org.olat.core.commons.services.commentAndRating.impl.ui.UserCommentsAndRatingsController; -import org.olat.core.gui.UserRequest; -import org.olat.core.gui.control.WindowControl; +import java.util.List; + +import org.olat.core.commons.services.commentAndRating.model.OLATResourceableRating; +import org.olat.core.commons.services.commentAndRating.model.UserComment; +import org.olat.core.commons.services.commentAndRating.model.UserCommentsCount; +import org.olat.core.commons.services.commentAndRating.model.UserRating; import org.olat.core.id.Identity; import org.olat.core.id.OLATResourceable; @@ -35,20 +38,6 @@ import org.olat.core.id.OLATResourceable; * The comment and rating service offers GUI elements to comment and rate * OLATResourceable objects. The objects can be specified even more precise by * providing an optional sub path - * <p> - * Get an instance of this service by calling the ServiceCreatorFactory and then - * call the init method to initialize the service for your resource: - * - * <pre> - * //to get the service either use coreSpringFactory.getBean(CommentAndRatingService.class) or when used in a singleton manager - * implement the CommentAndRatingServiceFactory interface and see an example using the CommentAndRatingServiceFactory as the service is - * stateful - * if (commentAndRatingService != null) { - * // initialize the service with the resource, an optional subpath (or NULL) and the administrative flag - * commentAndRatingService.init(myOlatResource, myResourceSubPath, isAdmin); - * // start using the service - * UserCommentsController commentsCtr = commentAndRatingService.createUserCommentsController(ureq, getWindowControl()); - * } * </pre> * <P> * Initial Date: 24.11.2009 <br> @@ -56,102 +45,177 @@ import org.olat.core.id.OLATResourceable; * @author gnaegi */ public interface CommentAndRatingService { + + /** + * @return The number of ratings for the configured resource. 0 if no + * ratings are available. + */ + public Long countRatings(OLATResourceable ores, String resSubPath); + + /** + * + * @return all ratings + */ + public List<UserRating> getAllRatings(OLATResourceable ores, String resSubPath); + + /** + * @return The average of ratings for the configured resource. 0 if no + * ratings are available. + */ + public Float calculateRatingAverage(OLATResourceable ores, String resSubPath); + + /** + * Create a new rating for the configured resource + * + * @param creator + * The user who is rating + * @param ratingValue + * The rating + * @return + */ + public UserRating createRating(Identity creator, OLATResourceable ores, String resSubPath, int ratingValue); /** - * Initialize the service using CommentAndRatingDefaultSecurityCallback as - * security callback. + * Get the rating for the configured user * * @param identity - * @param ores - * @param oresSubPath - * @param isAdmin - * @param isAnonymous + * @return The users rating or NULL */ - public void init(Identity identity, OLATResourceable ores, String oresSubPath, boolean isAdmin, boolean isAnonymous); + public UserRating getRating(Identity identity, OLATResourceable ores, String resSubPath); /** - * Initialize the service using your own security callback + * Reload the given user rating with the most recent version from the + * database * - * @param ores - * @param oresSubPath - * @param securityCallback + * @return the reloaded user rating or NULL if the rating does not exist + * anymore */ - public void init(OLATResourceable ores, String oresSubPath, CommentAndRatingSecurityCallback securityCallback); + public UserRating reloadRating(UserRating rating); /** - * Get the user comments manager. This is normally not used by code from other - * packages. + * Update a rating. This will first reload the comment object and then + * update this new object to reduce stale object issues. Make sure you + * replace your object in your datamodel with the returned user comment + * object. * - * @return + * @param rating + * The rating which should be updated + * @param rewRatingValue + * The updated rating value + * @return the updated rating object. Might be a different object than the + * rating given as attribute or NULL if the rating has been deleted + * in the meantime and could not be updated at all. */ - public UserCommentsManager getUserCommentsManager(); + public UserRating updateRating(UserRating rating, int newRatingValue); /** - * Get the user ratings manager. This is normally not used by code from other packages. + * Delete a rating + * + * @param rating + * @param int number of deleted ratings + */ + public abstract int deleteRating(UserRating rating); + + /** + * Return the most rated resources + * @param limit The maximum number of resources returned * @return */ - public UserRatingsManager getUserRatingsManager(); + public List<OLATResourceableRating> getMostRatedResourceables(OLATResourceable ores, int maxResults); + + + + public long countComments(OLATResourceable ores, String resSubPath); /** - * Create a minimized user comments controller that only shows the number of - * comments. The link information can be clicked to trigger something + * @return The number of comments for the configured resource and its sub path. 0 if no + * comments are available. + */ + public List<UserCommentsCount> countCommentsWithSubPath(OLATResourceable ores, String resSubPath); + + /** + * Get a list of user comments for the configured resource * - * @param ureq - * @param wControl - * @return */ - public UserCommentsAndRatingsController createUserCommentsControllerMinimized(UserRequest ureq, WindowControl wControl); + public List<UserComment> getComments(OLATResourceable ores, String resSubPath); /** - * Create a user comments controller that show the number of comments. In the - * initial view the comments are not visible. When clicking on the number of - * comments the comments are displayed. + * Create a new comment for the configured resource * - * @param ureq - * @param wControl + * @param creator + * The author of the comment + * @param comment + * The commentText * @return */ - public UserCommentsAndRatingsController createUserCommentsControllerExpandable(UserRequest ureq, WindowControl wControl); + public UserComment createComment(Identity creator, OLATResourceable ores, String resSubPath, String commentText); /** - * Create a user rating controller without the commenting functionality + * Reload the given user comment with the most recent version from the + * database * - * @param ureq - * @param wControl - * @return + * @return the reloaded user comment or NULL if the comment does not exist + * anymore */ - public UserCommentsAndRatingsController createUserRatingsController(UserRequest ureq, WindowControl wControl); + public UserComment reloadComment(UserComment comment); /** - * Create a minimized user comments controller that only shows the number of - * comments and allows the user rate the resource on a scale of 1-5. The - * link information can be clicked to trigger something + * Reply to an existing comment * - * @param ureq - * @param wControl - * @return + * @param originalComment + * The comment to which the user replied + * @param creator + * The author of the reply + * @param replyCommentText + * The reply text + * @return The reply or NULL if the given original comment has been deleted + * in the meantime */ - public UserCommentsAndRatingsController createUserCommentsAndRatingControllerMinimized(UserRequest ureq, WindowControl wControl); + public UserComment replyTo(UserComment originalComment, Identity creator, String replyCommentText); /** - * Create a user comments controller that show the number of comments and - * allows the user rate the resource on a scale of 1-5. In the initial view - * the comments are not visible. When clicking on the number of comments the - * comments are displayed. + * Update a comment. This will first reload the comment object and then + * update this new object to reduce stale object issues. Make sure you + * replace your object in your data model with the returned user comment + * object. * - * @param ureq - * @param wControl - * @return + * @param comment + * The comment which should be updated + * @param newCommentText + * The updated comment text + * @return the updated comment object. Might be a different object than the + * comment riven as attribute or NULL if the comment has been + * deleted in the meantime and could not be updated at all. + */ + public UserComment updateComment(UserComment comment, String newCommentText); + + /** + * Delete a comment + * + * @param comment + * @param deleteReplies + * true: cascade delete comment, also any existing replies; + * false: don't delete replies, unlink them so they appear as new + * comments + * @param int number of deleted comments (including replies) */ - public UserCommentsAndRatingsController createUserCommentsAndRatingControllerExpandable(UserRequest ureq, WindowControl wControl); + public int deleteComment(UserComment comment, boolean deleteReplies); + + + + + + + + /** * Delete all comments and ratings for this resource and subpath * configuration. See also the deleteAllIgnoringSubPath() method. * * @param int number of deleted comments and ratings */ - public int deleteAll(); + public int deleteAll(OLATResourceable ores, String oresSubPath); /** * Delete all comments and ratings for this resource while ignoring the @@ -160,6 +224,6 @@ public interface CommentAndRatingService { * * @param int number of deleted comments and ratings */ - public int deleteAllIgnoringSubPath(); + public int deleteAllIgnoringSubPath(OLATResourceable ores); } diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/UserCommentsDelegate.java b/src/main/java/org/olat/core/commons/services/commentAndRating/UserCommentsDelegate.java new file mode 100644 index 0000000000000000000000000000000000000000..79c50182a185a5de3747c155e427e9ec02108716 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/commentAndRating/UserCommentsDelegate.java @@ -0,0 +1,36 @@ +/** + * <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.core.commons.services.commentAndRating; + +import org.olat.core.id.OLATResourceable; + +/** + * + * Initial date: 13.03.2014<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public interface UserCommentsDelegate { + + public boolean accept(OLATResourceable ores, String resSubPath); + + public boolean update(OLATResourceable ores, String resSubPath, int numOfComments); + +} diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/UserCommentsManager.java b/src/main/java/org/olat/core/commons/services/commentAndRating/UserCommentsManager.java deleted file mode 100644 index 323dac0a185a9f62f5a8185012a14c6b56fd5d51..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/UserCommentsManager.java +++ /dev/null @@ -1,204 +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.core.commons.services.commentAndRating; - -import java.util.List; - -import org.olat.core.commons.services.commentAndRating.model.UserComment; -import org.olat.core.commons.services.commentAndRating.model.UserCommentsCount; -import org.olat.core.id.Identity; -import org.olat.core.id.OLATResourceable; -import org.olat.core.manager.BasicManager; - -/** - * Description:<br> - * The user comment manager provides methods to comment any given - * OLATResourceable object. To use this manager, make sure a proper - * implementation for the bean - * 'org.olat.core.commons.services.commentAndRating.UserCommentsManager' is - * defined in the spring configuration. - * - * <P> - * Initial Date: 23.11.2009 <br> - * - * @author gnaegi - */ -public abstract class UserCommentsManager extends BasicManager { - protected OLATResourceable ores; - protected String subpath; - protected static UserCommentsManager instance; - - - /** - * Use only inside commentAndRating package! Otherwise use CommentsAndRatingServiceFactory - * Factory method to create a comment manager for the given - * OLATResourceable. Note that this manager is statefully initialized with - * the OLATResourceable. - * - * @param ores - * The olat resourceable that provides a typename and a type id - * @param subpath - * an optional string that defines any subpath. Use this when - * your ores is not specific enough - * - * @return - */ - public static final UserCommentsManager getInstance(OLATResourceable ores, String subpath) { - return instance.createCommentManager(ores, subpath); - } - - /** - * Factory method to create a new instance of the comment service for the given resource - * @param ores - * @param subpath - * @return - */ - protected abstract UserCommentsManager createCommentManager(OLATResourceable ores, String subpath); - - /** - * Helper method to set the olat resource for this manager - * - * @param ores - * @param subpath - */ - public void init(OLATResourceable ores, String subpath) { - this.ores = ores; - this.subpath = subpath; - } - - /** - * Access method to the OLATResourceable for implementations of this manager - * - * @return - */ - protected final OLATResourceable getOLATResourceable() { - return ores; - } - - /** - * Access method to the sub path object for implementations of this manager - * - * @return - */ - protected final String getOLATResourceableSubPath() { - return subpath; - } - - /** - * @return The number of comments for the configured resource. 0 if no - * comments are available. - */ - public abstract long countComments(); - - /** - * @return The number of comments for the configured resource and its sub path. 0 if no - * comments are available. - */ - public abstract List<UserCommentsCount> countCommentsWithSubPath(); - - /** - * Get a list of user comments for the configured resource - * - */ - public abstract List<UserComment> getComments(); - - /** - * Create a new comment for the configured resource - * - * @param creator - * The author of the comment - * @param comment - * The commentText - * @return - */ - public abstract UserComment createComment(Identity creator, - String commentText); - - /** - * Reload the given user comment with the most recent version from the - * database - * - * @return the reloaded user comment or NULL if the comment does not exist - * anymore - */ - public abstract UserComment reloadComment(UserComment comment); - - /** - * Reply to an existing comment - * - * @param originalComment - * The comment to which the user replied - * @param creator - * The author of the reply - * @param replyCommentText - * The reply text - * @return The reply or NULL if the given original comment has been deleted - * in the meantime - */ - public abstract UserComment replyTo(UserComment originalComment, - Identity creator, String replyCommentText); - - /** - * Update a comment. This will first reload the comment object and then - * update this new object to reduce stale object issues. Make sure you - * replace your object in your data model with the returned user comment - * object. - * - * @param comment - * The comment which should be updated - * @param newCommentText - * The updated comment text - * @return the updated comment object. Might be a different object than the - * comment riven as attribute or NULL if the comment has been - * deleted in the meantime and could not be updated at all. - */ - public abstract UserComment updateComment(UserComment comment, String newCommentText); - - /** - * Delete a comment - * - * @param comment - * @param deleteReplies - * true: cascade delete comment, also any existing replies; - * false: don't delete replies, unlink them so they appear as new - * comments - * @param int number of deleted comments (including replies) - */ - public abstract int deleteComment(UserComment comment, - boolean deleteReplies); - - /** - * Delete all comments and replies for the configured resource and sub path - * - * @return the number of deleted comments - */ - public abstract int deleteAllComments(); - - /** - * Delete all comments and replies for the configured resource while ignoring - * the sub path. Use this to delete all comments e.g. from a blog for all blog - * posts in one query - * - * @return - */ - public abstract int deleteAllCommentsIgnoringSubPath(); - -} diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/UserRatingsDelegate.java b/src/main/java/org/olat/core/commons/services/commentAndRating/UserRatingsDelegate.java index 7ea29745e51ec36d86247f0284cca6619e33f816..dba96e3f6ad8b4fb6e385a3570f8a1b4c52e359f 100644 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/UserRatingsDelegate.java +++ b/src/main/java/org/olat/core/commons/services/commentAndRating/UserRatingsDelegate.java @@ -33,6 +33,6 @@ public interface UserRatingsDelegate { public boolean accept(OLATResourceable ores, String resSubPath); - public boolean update(OLATResourceable ores, String resSubPath, double newRating); + public boolean update(OLATResourceable ores, String resSubPath, double newAverageRating, long numOfRatings); } diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/UserRatingsManager.java b/src/main/java/org/olat/core/commons/services/commentAndRating/UserRatingsManager.java deleted file mode 100644 index d32c7aa61977f64a0e12d7b5384e938803b7f4c2..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/UserRatingsManager.java +++ /dev/null @@ -1,204 +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.core.commons.services.commentAndRating; - -import java.util.List; - -import org.olat.core.CoreSpringFactory; -import org.olat.core.commons.services.commentAndRating.model.OLATResourceableRating; -import org.olat.core.commons.services.commentAndRating.model.UserRating; -import org.olat.core.id.Identity; -import org.olat.core.id.OLATResourceable; -import org.olat.core.manager.BasicManager; - -/** - * Description:<br> - * The user ratings manager provides methods to rate any given OLATResourceable - * object. To use this manager, make sure a proper implementation for the bean - * 'org.olat.core.commons.services.commentAndRating.UserRatingsManager' is - * defined in the spring configuration. - * - * <P> - * Initial Date: 23.11.2009 <br> - * - * @author gnaegi - */ -public abstract class UserRatingsManager extends BasicManager { - protected OLATResourceable ores; - protected String subpath; - - /** - * Use only inside commentAndRating package! Otherwise use CommentsAndRatingServiceFactory - * Factory method to create a ratings manager for the given - * OLATResourceable. Note that this manager is statefully initialized with - * the OLATResourceable. - * - * @param ores - * The olat resourceable that provides a typename and a type id - * @param subpath - * an optional string that defines any subpath. Use this when - * your ores is not specific enough - * - * @return - */ - public static final UserRatingsManager getInstance(OLATResourceable ores, - String subpath) { - UserRatingsManager ratingServiceFactory = (UserRatingsManager) CoreSpringFactory - .getBean(UserRatingsManager.class); - return ratingServiceFactory.createRatingsManager(ores, subpath); - } - - /** - * Factory method to create a new instance of the ratings service for the - * given resource - * - * @param ores - * @param subpath - * @return - */ - protected abstract UserRatingsManager createRatingsManager( - OLATResourceable ores, String subpath); - - /** - * Helper method to set the olat resource for this manager - * - * @param ores - * @param subpath - */ - public void init(OLATResourceable ores, String subpath) { - this.ores = ores; - this.subpath = subpath; - } - - /** - * Access method to the OLATResourceable for implementations of this manager - * - * @return - */ - protected final OLATResourceable getOLATResourceable() { - return ores; - } - - /** - * Access method to the sub path object for implementations of this manager - * - * @return - */ - protected final String getOLATResourceableSubPath() { - return subpath; - } - - /** - * @return The number of ratings for the configured resource. 0 if no - * ratings are available. - */ - public abstract Long countRatings(); - - /** - * - * @return all ratings - */ - public abstract List<UserRating> getAllRatings(); - - /** - * @return The average of ratings for the configured resource. 0 if no - * ratings are available. - */ - public abstract Float calculateRatingAverage(); - - /** - * Create a new rating for the configured resource - * - * @param creator - * The user who is rating - * @param ratingValue - * The rating - * @return - */ - public abstract UserRating createRating(Identity creator, int ratingValue); - - /** - * Get the rating for the configured user - * - * @param identity - * @return The users rating or NULL - */ - public abstract UserRating getRating(Identity identity); - - /** - * Reload the given user rating with the most recent version from the - * database - * - * @return the reloaded user rating or NULL if the rating does not exist - * anymore - */ - public abstract UserRating reloadRating(UserRating rating); - - /** - * Update a rating. This will first reload the comment object and then - * update this new object to reduce stale object issues. Make sure you - * replace your object in your datamodel with the returned user comment - * object. - * - * @param rating - * The rating which should be updated - * @param rewRatingValue - * The updated rating value - * @return the updated rating object. Might be a different object than the - * rating given as attribute or NULL if the rating has been deleted - * in the meantime and could not be updated at all. - */ - public abstract UserRating updateRating(UserRating rating, - int newRatingValue); - - /** - * Delete a rating - * - * @param rating - * @param int number of deleted ratings - */ - public abstract int deleteRating(UserRating rating); - - /** - * Delete all ratings for the configured resource and sub path - * - * @return the number of deleted comments - */ - public abstract int deleteAllRatings(); - - /** - * Delete all ratingsfor the configured resource while ignoring the sub - * path. Use this to delete all ratings e.g. from a blog for all blog posts - * in one query - * - * @return - */ - public abstract int deleteAllRatingsIgnoringSubPath(); - - /** - * Return the most rated resources - * @param limit The maximum number of resources returned - * @return - */ - //fxdiff - public abstract List<OLATResourceableRating> getMostRatedResourceables(int maxResults); - -} diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/CommentAndRatingServiceImpl.java b/src/main/java/org/olat/core/commons/services/commentAndRating/impl/CommentAndRatingServiceImpl.java deleted file mode 100644 index d035cb16e0761ebade031ee607ef638082a3a0a4..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/CommentAndRatingServiceImpl.java +++ /dev/null @@ -1,206 +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.core.commons.services.commentAndRating.impl; - -import org.olat.core.commons.services.commentAndRating.CommentAndRatingSecurityCallback; -import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; -import org.olat.core.commons.services.commentAndRating.UserCommentsManager; -import org.olat.core.commons.services.commentAndRating.UserRatingsManager; -import org.olat.core.commons.services.commentAndRating.impl.ui.UserCommentsAndRatingsController; -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.AssertException; - -/** - * Description:<br> - * User interface controller and manager factory for the comment and rating - * service. This is a spring prototype. Use the init() methods after getting - * your instance from spring to configure the service for your resource. (See - * the interface for an code example) - * <P> - * Initial Date: 24.11.2009 <br> - * - * @author gnaegi - */ -public class CommentAndRatingServiceImpl implements CommentAndRatingService { - // - private OLATResourceable ores; - private String oresSubPath; - private CommentAndRatingSecurityCallback secCallback; - // - private UserCommentsManager userCommentsManager; - - private UserRatingsManager userRatingsManager; - - /** - * [spring only] - */ - private CommentAndRatingServiceImpl() { - // - } - - public void setUserCommentsManager(UserCommentsManager userCommentsManager) { - this.userCommentsManager = userCommentsManager; - } - - public void setUserRatingsManager(UserRatingsManager userRatingsManager) { - this.userRatingsManager = userRatingsManager; - } - - /** - * @see org.olat.core.commons.services.commentAndRating.CommentAndRatingService#init(org.olat.core.id.Identity, - * org.olat.core.id.OLATResourceable, java.lang.String, boolean, - * boolean) - */ - public void init(Identity identity, OLATResourceable oRes, - String oresSubP, boolean isAdmin, boolean isAnonymous) { - CommentAndRatingSecurityCallback callback = new CommentAndRatingDefaultSecurityCallback( - identity, isAdmin, isAnonymous); - init(oRes, oresSubP, callback); - } - - /** - * @see org.olat.core.commons.services.commentAndRating.CommentAndRatingService#init(org.olat.core.id.OLATResourceable, - * java.lang.String, - * org.olat.core.commons.services.commentAndRating.CommentAndRatingSecurityCallback) - */ - public void init(OLATResourceable oRes, String oresSubP, - CommentAndRatingSecurityCallback securityCallback) { - if (this.ores != null) { - throw new AssertException("Programming error - this Comment and Rating service is already used by another party. This is a spring prototype!"); - } - this.ores = oRes; - this.oresSubPath = oresSubP; - this.secCallback = securityCallback; - this.userCommentsManager.init(ores, oresSubPath); - this.userRatingsManager.init(ores, oresSubPath); - } - - /** - * - * @see org.olat.core.commons.services.commentAndRating.CommentAndRatingService#createUserCommentsControllerMinimized(org.olat.core.gui.UserRequest, org.olat.core.gui.control.WindowControl) - */ - public UserCommentsAndRatingsController createUserCommentsControllerMinimized(UserRequest ureq, WindowControl wControl) { - if (ores == null || secCallback == null) { - throw new AssertException( - "CommentAndRatingService must be initialized first, call init method"); - } - return new UserCommentsAndRatingsController(ureq, wControl, ores, oresSubPath, secCallback, true, false, false); - } - - /** - * @see org.olat.core.commons.services.commentAndRating.CommentAndRatingService#createUserCommentsControllerExpandable(org.olat.core.gui.UserRequest, org.olat.core.gui.control.WindowControl) - */ - public UserCommentsAndRatingsController createUserCommentsControllerExpandable(UserRequest ureq, WindowControl wControl) { - if (ores == null || secCallback == null) { - throw new AssertException( - "CommentAndRatingService must be initialized first, call init method"); - } - return new UserCommentsAndRatingsController(ureq, wControl, ores, oresSubPath, secCallback, true, false, true); - } - - /** - * @see org.olat.core.commons.services.commentAndRating.CommentAndRatingService#createUserCommentsAndRatingControllerExpandable(org.olat.core.gui.UserRequest, org.olat.core.gui.control.WindowControl) - */ - @Override - public UserCommentsAndRatingsController createUserCommentsAndRatingControllerExpandable( - UserRequest ureq, WindowControl wControl) { - if (ores == null || secCallback == null) { - throw new AssertException( - "CommentAndRatingService must be initialized first, call init method"); - } - return new UserCommentsAndRatingsController(ureq, wControl, ores, oresSubPath, secCallback, true, true, true); - } - - /** - * @see org.olat.core.commons.services.commentAndRating.CommentAndRatingService#createUserCommentsAndRatingControllerMinimized(org.olat.core.gui.UserRequest, org.olat.core.gui.control.WindowControl) - */ - @Override - public UserCommentsAndRatingsController createUserCommentsAndRatingControllerMinimized( - UserRequest ureq, WindowControl wControl) { - if (ores == null || secCallback == null) { - throw new AssertException( - "CommentAndRatingService must be initialized first, call init method"); - } - return new UserCommentsAndRatingsController(ureq, wControl, ores, oresSubPath, secCallback, true, true, false); - } - - /** - * @see org.olat.core.commons.services.commentAndRating.CommentAndRatingService#createUserRatingsController(org.olat.core.gui.UserRequest, org.olat.core.gui.control.WindowControl) - */ - @Override - public UserCommentsAndRatingsController createUserRatingsController( - UserRequest ureq, WindowControl wControl) { - if (ores == null || secCallback == null) { - throw new AssertException( - "CommentAndRatingService must be initialized first, call init method"); - } - return new UserCommentsAndRatingsController(ureq, wControl, ores, oresSubPath, secCallback, false, true, false); - } - - - - /** - * @see org.olat.core.commons.services.commentAndRating.CommentAndRatingService#deleteAll() - */ - public int deleteAll() { - if (ores == null || secCallback == null) { - throw new AssertException( - "CommentAndRatingService must be initialized first, call init method"); - } - int delCount = getUserCommentsManager().deleteAllComments(); - delCount += getUserRatingsManager().deleteAllRatings(); - return delCount; - } - - /** - * - * @see org.olat.core.commons.services.commentAndRating.CommentAndRatingService#deleteAllIgnoringSubPath() - */ - public int deleteAllIgnoringSubPath() { - if (ores == null || secCallback == null) { - throw new AssertException( - "CommentAndRatingService must be initialized first, call init method"); - } - int delCount = getUserCommentsManager().deleteAllCommentsIgnoringSubPath(); - delCount += getUserRatingsManager().deleteAllRatingsIgnoringSubPath(); - return delCount; - } - - - /** - * @see org.olat.core.commons.services.commentAndRating.CommentAndRatingService#getUserCommentsManager() - */ - public UserCommentsManager getUserCommentsManager() { - return this.userCommentsManager; - } - - /** - * @see org.olat.core.commons.services.commentAndRating.CommentAndRatingService#getUserRatingsManager() - */ - public UserRatingsManager getUserRatingsManager() { - return this.userRatingsManager; - } - - -} diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserCommentImpl.hbm.xml b/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserCommentImpl.hbm.xml deleted file mode 100644 index b9943ca181f094a7f0bf32c20d54509d0af1c1df..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserCommentImpl.hbm.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE hibernate-mapping PUBLIC - "-//Hibernate/Hibernate Mapping DTD//EN" - "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> -<hibernate-mapping default-lazy="false"> - <class name="org.olat.core.commons.services.commentAndRating.impl.UserCommentImpl" table="o_usercomment"> - - <cache usage="transactional" /> - - <id name="key" type="long" column="comment_id" unsaved-value="null"> - <generator class="hilo"/> - </id> - - <version name="version" access="field" column="version" type="int"/> - <property name="creationDate" column="creationdate" type="timestamp" /> - - <property name="resName" type="string" > - <column name="resname" not-null="true" length="50" index="resname_idx"/> - </property> - - <property name="resId" type="long"> - <column name="resid" not-null="true" index="id_idx3" /> - </property> - - <property name="resSubPath" type="string" > - <column name="ressubpath" length="2048" sql-type="varchar(2048)" index="subpath_idx2" not-null="false"/> - </property> - - <many-to-one name="creator" class="org.olat.basesecurity.IdentityImpl" - column="creator_id" outer-join="true" cascade="none" not-null="true"/> - - <property name="comment" unique="false" type="string" not-null="false"> - <column name="commenttext" length="16777210" /> - </property> - - <many-to-one name="parent" class="org.olat.core.commons.services.commentAndRating.impl.UserCommentImpl"> - <column name="parent_key" /> - </many-to-one> - - </class> -</hibernate-mapping> \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserCommentsManagerImpl.java b/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserCommentsManagerImpl.java deleted file mode 100644 index b05c0484b29f25bb479dfc1b6d060964a8c27733..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserCommentsManagerImpl.java +++ /dev/null @@ -1,350 +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.core.commons.services.commentAndRating.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import javax.persistence.TypedQuery; - -import org.olat.core.commons.persistence.DB; -import org.olat.core.commons.persistence.DBFactory; -import org.olat.core.commons.services.commentAndRating.CommentAndRatingLoggingAction; -import org.olat.core.commons.services.commentAndRating.UserCommentsManager; -import org.olat.core.commons.services.commentAndRating.model.UserComment; -import org.olat.core.commons.services.commentAndRating.model.UserCommentsCount; -import org.olat.core.id.Identity; -import org.olat.core.id.OLATResourceable; -import org.olat.core.logging.AssertException; -import org.olat.core.logging.activity.CoreLoggingResourceable; -import org.olat.core.logging.activity.OlatResourceableType; -import org.olat.core.logging.activity.ThreadLocalUserActivityLogger; - -/** - * Description:<br> - * This implementation of the user comments manager is database based. - * - * <P> - * Initial Date: 23.11.2009 <br> - * - * @author gnaegi - */ -public class UserCommentsManagerImpl extends UserCommentsManager { - - /** - * [spring] - */ - private UserCommentsManagerImpl() { - instance = this; - } - - - /** - * @see org.olat.core.commons.services.commentAndRating.UserCommentsManager#createCommentManager(org.olat.core.id.OLATResourceable, - * java.lang.String) - */ - @Override - protected UserCommentsManager createCommentManager(OLATResourceable ores, - String subpath) { - UserCommentsManager manager = new UserCommentsManagerImpl(); - manager.init(ores, subpath); - return manager; - } - - /** - * @see org.olat.core.commons.services.commentAndRating.UserCommentsManager#countComments() - */ - @Override - public long countComments() { - TypedQuery<Number> query; - if (getOLATResourceableSubPath() == null) { - // special query when sub path is null - query = DBFactory.getInstance().getCurrentEntityManager() - .createQuery("select count(*) from UserCommentImpl where resName=:resname AND resId=:resId AND resSubPath is NULL", Number.class); - } else { - query = DBFactory.getInstance().getCurrentEntityManager() - .createQuery("select count(*) from UserCommentImpl where resName=:resname AND resId=:resId AND resSubPath=:resSubPath", Number.class) - .setParameter("resSubPath", getOLATResourceableSubPath()); - } - return query.setParameter("resname", getOLATResourceable().getResourceableTypeName()) - .setParameter("resId", getOLATResourceable().getResourceableId()) - .getSingleResult().longValue(); - } - - /** - * @see org.olat.core.commons.services.commentAndRating.UserCommentsManager#countCommentsWithSubPath() - */ - @Override - public List<UserCommentsCount> countCommentsWithSubPath() { - if (getOLATResourceableSubPath() != null) { - UserCommentsCount count = new UserCommentsCountImpl(getOLATResourceable(), getOLATResourceableSubPath(), countComments()); - return Collections.singletonList(count); - } - - StringBuilder sb = new StringBuilder(); - sb.append("select comment.resSubPath, count(comment.key) from ").append(UserCommentImpl.class.getName()).append(" as comment ") - .append(" where comment.resName=:resname AND comment.resId=:resId") - .append(" group by comment.resSubPath"); - - TypedQuery<Object[]> query = DBFactory.getInstance().getCurrentEntityManager() - .createQuery(sb.toString(), Object[].class) - .setParameter("resname", getOLATResourceable().getResourceableTypeName()) - .setParameter("resId", getOLATResourceable().getResourceableId()); - - Set<String> countMap = new HashSet<String>(); - List<Object[]> counts = query.getResultList(); - List<UserCommentsCount> countList = new ArrayList<UserCommentsCount>(); - for(Object[] count:counts) { - Object subPath = count[0] == null ? "" : count[0]; - if(!countMap.contains(subPath)) { - UserCommentsCount c = new UserCommentsCountImpl(getOLATResourceable(), (String)count[0], (Long)count[1]); - countList.add(c); - } - } - return countList; - } - - /** - * @see org.olat.core.commons.services.commentAndRating.UserCommentsManager#createComment(org.olat.core.id.Identity, - * java.lang.String) - */ - @Override - public UserComment createComment(Identity creator, String commentText) { - UserComment comment = new UserCommentImpl(getOLATResourceable(), - getOLATResourceableSubPath(), creator, commentText); - DBFactory.getInstance().getCurrentEntityManager().persist(comment); - // do Logging - ThreadLocalUserActivityLogger.log(CommentAndRatingLoggingAction.COMMENT_CREATED, getClass(), - CoreLoggingResourceable.wrap(getOLATResourceable(), OlatResourceableType.feedItem)); - return comment; - } - - /** - * @see org.olat.core.commons.services.commentAndRating.UserCommentsManager#reloadComment(org.olat.core.commons.services.commentAndRating.model.UserComment) - */ - public UserComment reloadComment(UserComment comment) { - try { - DB db = DBFactory.getInstance(); - return (UserComment) db.loadObject(comment); - } catch (Exception e) { - // Huh, most likely the given object does not exist anymore on the - // db, probably deleted by someone else - logWarn("Tried to reload a user comment but got an exception. Probably deleted in the meantime", e); - return null; - } - } - - - /** - * @see org.olat.core.commons.services.commentAndRating.UserCommentsManager#replyTo(org.olat.core.commons.services.commentAndRating.model.UserComment, - * org.olat.core.id.Identity, java.lang.String) - */ - @Override - public UserComment replyTo(UserComment originalComment, Identity creator, - String replyCommentText) { - if (!isCommentOfResource(originalComment)) { - throw new AssertException( - "This user comment manager is initialized for another resource than the given comment."); - } - // First reload parent from cache to prevent stale object or cache issues - originalComment = reloadComment(originalComment); - if (originalComment == null) { - // Original comment has been deleted in the meantime. Don't create a reply - return null; - } - UserCommentImpl reply = new UserCommentImpl(getOLATResourceable(), - getOLATResourceableSubPath(), creator, replyCommentText); - reply.setParent(originalComment); - DBFactory.getInstance().getCurrentEntityManager().persist(reply); - return reply; - } - - /** - * @see org.olat.core.commons.services.commentAndRating.UserCommentsManager#getComments() - */ - @Override - public List<UserComment> getComments() { - TypedQuery<UserComment> query; - if (getOLATResourceableSubPath() == null) { - // special query when sub path is null - query = DBFactory.getInstance().getCurrentEntityManager() - .createQuery("select comment from UserCommentImpl as comment where resName=:resname AND resId=:resId AND resSubPath is NULL", UserComment.class); - } else { - query = DBFactory.getInstance().getCurrentEntityManager() - .createQuery("select comment from UserCommentImpl as comment where resName=:resname AND resId=:resId AND resSubPath=:resSubPath", UserComment.class) - .setParameter("resSubPath", getOLATResourceableSubPath()); - } - return query.setParameter("resname", getOLATResourceable().getResourceableTypeName()) - .setParameter("resId", getOLATResourceable().getResourceableId()) - .getResultList(); - } - - /** - * @see org.olat.core.commons.services.commentAndRating.UserCommentsManager#updateComment(org.olat.core.commons.services.commentAndRating.model.UserComment) - */ - @Override - public UserComment updateComment(UserComment comment, String newCommentText) { - if (!isCommentOfResource(comment)) { - throw new AssertException( - "This user comment manager is initialized for another resource than the given comment."); - } - // First reload parent from cache to prevent stale object or cache issues - comment = reloadComment(comment); - if (comment == null) { - // Original comment has been deleted in the meantime. Don't update it - return null; - } - // Update DB entry - comment.setComment(newCommentText); - return DBFactory.getInstance().getCurrentEntityManager().merge(comment); - } - - /** - * @see org.olat.core.commons.services.commentAndRating.UserCommentsManager#deleteComment(org.olat.core.commons.services.commentAndRating.model.UserComment, boolean) - */ - @Override - public int deleteComment(UserComment comment, boolean deleteReplies) { - if (!isCommentOfResource(comment)) { - throw new AssertException( - "This user comment manager is initialized for another resource than the given comment."); - } - int counter = 0; - // First reload parent from cache to prevent stale object or cache issues - comment = reloadComment(comment); - if (comment == null) { - // Original comment has been deleted in the meantime. Don't delete it again. - return 0; - } - DB db = DBFactory.getInstance(); - // First deal with all direct replies - List<UserComment> replies = db.getCurrentEntityManager() - .createQuery("select comment from UserCommentImpl as comment where parent=:parent", UserComment.class) - .setParameter("parent", comment) - .getResultList(); - if (deleteReplies) { - // Since we have a many-to-one we first have to recursively delete - // the replies to prevent foreign key constraints - for (UserComment reply : replies) { - counter += deleteComment(reply, true); - } - } else { - // To not delete the replies we have to set the parent to the parent - // of the original comment for each reply - for (UserComment reply : replies) { - reply.setParent(comment.getParent()); - db.updateObject(reply); - } - } - // Now delete this comment and finish - db.deleteObject(comment); - // do Logging - ThreadLocalUserActivityLogger.log(CommentAndRatingLoggingAction.COMMENT_DELETED, getClass(), - CoreLoggingResourceable.wrap(getOLATResourceable(), OlatResourceableType.feedItem)); - return counter+1; - } - - /** - * @see org.olat.core.commons.services.commentAndRating.UserCommentsManager#deleteAllComments() - */ - public int deleteAllComments() { - DB db = DBFactory.getInstance(); - // special query when sub path is null - - List<UserCommentImpl> comments; - if (getOLATResourceableSubPath() == null) { - StringBuilder sb = new StringBuilder(); - sb.append("select comment from ").append(UserCommentImpl.class.getName()).append(" comment") - .append(" where resName=:resName and resId=:resId and resSubPath is null") - .append(" order by creationDate desc"); - - comments = db.getCurrentEntityManager().createQuery(sb.toString(), UserCommentImpl.class) - .setParameter("resName", getOLATResourceable().getResourceableTypeName()) - .setParameter("resId", getOLATResourceable().getResourceableId()) - .getResultList(); - } else { - StringBuilder sb = new StringBuilder(); - sb.append("select comment from ").append(UserCommentImpl.class.getName()).append(" comment") - .append(" where resName=:resName and resId=:resId and resSubPath=:resSubPath") - .append(" order by creationDate desc"); - - comments = db.getCurrentEntityManager().createQuery(sb.toString(), UserCommentImpl.class) - .setParameter("resName", getOLATResourceable().getResourceableTypeName()) - .setParameter("resId", getOLATResourceable().getResourceableId()) - .setParameter("resSubPath", getOLATResourceableSubPath()) - .getResultList(); - } - - if(comments != null && !comments.isEmpty()) { - for(UserCommentImpl comment:comments) { - db.getCurrentEntityManager().remove(comment); - } - } - return comments == null ? 0 : comments.size(); - } - - /** - * Don't limit to subpath. Ignore if null or not, just delete on the resource - * @see org.olat.core.commons.services.commentAndRating.UserCommentsManager#deleteAllCommentsIgnoringSubPath() - */ - public int deleteAllCommentsIgnoringSubPath() { - DB db = DBFactory.getInstance(); - StringBuilder sb = new StringBuilder(); - sb.append("select comment from ").append(UserCommentImpl.class.getName()).append(" comment") - .append(" where resName=:resName and resId=:resId") - .append(" order by creationDate desc"); - - List<UserCommentImpl> comments = db.getCurrentEntityManager().createQuery(sb.toString(), UserCommentImpl.class) - .setParameter("resName", getOLATResourceable().getResourceableTypeName()) - .setParameter("resId", getOLATResourceable().getResourceableId()) - .getResultList(); - for(UserCommentImpl comment:comments) { - db.getCurrentEntityManager().remove(comment); - } - return comments.size(); - } - - - /** - * Helper method to check if the given comment has the same resource and - * path as configured for this manager - * - * @param originalComment - * @return - */ - private boolean isCommentOfResource(UserComment originalComment) { - if (this.getOLATResourceable().getResourceableId().equals( - originalComment.getResId()) - && this.getOLATResourceable().getResourceableTypeName().equals( - originalComment.getResName())) { - // check on resource subpath: can be null - if (this.getOLATResourceableSubPath() == null) { - return (originalComment.getResSubPath() == null); - } else { - return this.getOLATResourceableSubPath().equals( - originalComment.getResSubPath()); - } - } - return false; - } - -} diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserRatingsManagerImpl.java b/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserRatingsManagerImpl.java deleted file mode 100644 index 685553a67c4bd5ade3167aa3ce9b7ee96c2a0428..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserRatingsManagerImpl.java +++ /dev/null @@ -1,300 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -*/ -package org.olat.core.commons.services.commentAndRating.impl; - -import java.util.List; - -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.commentAndRating.CommentAndRatingLoggingAction; -import org.olat.core.commons.services.commentAndRating.UserRatingsManager; -import org.olat.core.commons.services.commentAndRating.model.OLATResourceableRating; -import org.olat.core.commons.services.commentAndRating.model.UserRating; -import org.olat.core.id.Identity; -import org.olat.core.id.OLATResourceable; -import org.olat.core.logging.AssertException; -import org.olat.core.logging.activity.CoreLoggingResourceable; -import org.olat.core.logging.activity.OlatResourceableType; -import org.olat.core.logging.activity.ThreadLocalUserActivityLogger; - -/** - * Description:<br> - * This implementation of the user rating manager is database based. - * - * <P> - * Initial Date: 01.12.2009 <br> - * @author gnaegi - */ -public class UserRatingsManagerImpl extends UserRatingsManager { - - private UserRatingsDAO userRatingsDAO; - - /** - * Spring constructor. Use the getInstance method instead of calling this - * constructor directly. - */ - public UserRatingsManagerImpl() { - // nothing to do - } - - /** - * [used by Spring] - * @param userRatingsDAO - */ - - public void setUserRatingsDAO(UserRatingsDAO userRatingsDAO) { - this.userRatingsDAO = userRatingsDAO; - } - - /** - * @see org.olat.core.commons.services.commentAndRating.UserRatingsManager#createRatingsManager(org.olat.core.id.OLATResourceable, java.lang.String) - */ - @Override - protected UserRatingsManager createRatingsManager(OLATResourceable ores, String subpath) { - UserRatingsManagerImpl manager = new UserRatingsManagerImpl(); - manager.userRatingsDAO = userRatingsDAO; - manager.init(ores, subpath); - return manager; - } - - /** - * @see org.olat.core.commons.services.commentAndRating.UserRatingsManager#calculateRatingAverage() - */ - @Override - public Float calculateRatingAverage() { - return userRatingsDAO.getRatingAverage(getOLATResourceable(), getOLATResourceableSubPath()); - } - - /** - * @see org.olat.core.commons.services.commentAndRating.UserRatingsManager#countRatings() - */ - @Override - public Long countRatings() { - int count = userRatingsDAO.countRatings(getOLATResourceable(), getOLATResourceableSubPath()); - return new Long(count); - } - - /** - * @see org.olat.core.commons.services.commentAndRating.UserRatingsManager#getAllRatings() - */ - @Override - public List<UserRating> getAllRatings(){ - DBQuery query; - if (getOLATResourceableSubPath() == null) { - // special query when sub path is null - query = DBFactory - .getInstance() - .createQuery( - "select rating from userrating as rating where resName=:resname AND resId=:resId AND resSubPath is NULL"); - } else { - query = DBFactory - .getInstance() - .createQuery( - "select rating from userrating as rating where resName=:resname AND resId=:resId AND resSubPath=:resSubPath"); - query.setString("resSubPath", getOLATResourceableSubPath()); - } - query.setString("resname", getOLATResourceable() - .getResourceableTypeName()); - query.setLong("resId", getOLATResourceable().getResourceableId()); - query.setCacheable(true); - // - List<UserRating> ratings = query.list(); - return ratings; - } - - /** - * @see org.olat.core.commons.services.commentAndRating.UserRatingsManager#createRating(org.olat.core.id.Identity, int) - */ - @Override - public UserRating createRating(Identity creator, int ratingValue) { - UserRating rating = userRatingsDAO.createRating(creator, getOLATResourceable(), getOLATResourceableSubPath(), ratingValue); - // do logging - ThreadLocalUserActivityLogger.log(CommentAndRatingLoggingAction.RATING_CREATED, getClass(), - CoreLoggingResourceable.wrap(getOLATResourceable(), OlatResourceableType.feedItem)); - return rating; - } - - /** - * - * @see org.olat.core.commons.services.commentAndRating.UserRatingsManager#getRating(org.olat.core.id.Identity) - */ - @Override - public UserRating getRating(Identity identity) { - DBQuery query; - if (getOLATResourceableSubPath() == null) { - // special query when sub path is null - query = DBFactory - .getInstance() - .createQuery( - "select userRating from userrating as userRating where creator=:creator AND resName=:resname AND resId=:resId AND resSubPath is NULL "); - } else { - query = DBFactory - .getInstance() - .createQuery( - "select userRating from userrating as userRating where creator=:creator AND resName=:resname AND resId=:resId AND resSubPath=:resSubPath"); - query.setString("resSubPath", getOLATResourceableSubPath()); - } - query.setString("resname", getOLATResourceable() - .getResourceableTypeName()); - query.setLong("resId", getOLATResourceable().getResourceableId()); - query.setEntity("creator", identity); - query.setCacheable(true); - // - List<UserRating> results = query.list(); - if (results.size() == 0) return null; - return results.get(0); - } - - /** - * @see org.olat.core.commons.services.commentAndRating.UserRatingsManager#deleteRating(org.olat.core.commons.services.commentAndRating.model.UserRating) - */ - public int deleteRating (UserRating rating) { - if (!isRatingOfResource(rating)) { - throw new AssertException( - "This user rating manager is initialized for another resource than the given comment."); - } - // First reload parent from cache to prevent stale object or cache issues - rating = reloadRating(rating); - if (rating == null) { - // Original rating has been deleted in the meantime. Don't delete it again. - return 0; - } - // Delete this rating and finish - DB db = DBFactory.getInstance(); - db.deleteObject(rating); - return 1; - - } - - - /** - * @see org.olat.core.commons.services.commentAndRating.UserRatingsManager#deleteAllRatings() - */ - @Override - public int deleteAllRatings() { - DB db = DBFactory.getInstance(); - // special query when sub path is null - if (getOLATResourceableSubPath() == null) { - StringBuilder sb = new StringBuilder(); - sb.append("delete from userrating where resName=:resName and resId=:resId and resSubPath is null"); - return db.getCurrentEntityManager().createQuery(sb.toString()) - .setParameter("resName", getOLATResourceable().getResourceableTypeName()) - .setParameter("resId", getOLATResourceable().getResourceableId()) - .executeUpdate(); - } else { - StringBuilder sb = new StringBuilder(); - sb.append("delete from userrating where resName=:resName and resId=:resId and resSubPath=:resSubPath"); - return db.getCurrentEntityManager().createQuery(sb.toString()) - .setParameter("resName", getOLATResourceable().getResourceableTypeName()) - .setParameter("resId", getOLATResourceable().getResourceableId()) - .setParameter("resSubPath", getOLATResourceableSubPath()) - .executeUpdate(); - } - } - - /** - * Don't limit to subpath. Ignore if null or not, just delete on the resource - * @see org.olat.core.commons.services.commentAndRating.UserRatingsManager#deleteAllRatingsIgnoringSubPath() - */ - @Override - public int deleteAllRatingsIgnoringSubPath() { - DB db = DBFactory.getInstance(); - StringBuilder sb = new StringBuilder(); - sb.append("delete from userrating where resName=:resName and resId=:resId"); - return db.getCurrentEntityManager().createQuery(sb.toString()) - .setParameter("resName", getOLATResourceable().getResourceableTypeName()) - .setParameter("resId", getOLATResourceable().getResourceableId()) - .executeUpdate(); - } - - /** - * @see org.olat.core.commons.services.commentAndRating.UserRatingsManager#reloadRating(org.olat.core.commons.services.commentAndRating.model.UserRating) - */ - @Override - public UserRating reloadRating(UserRating rating) { - return userRatingsDAO.reloadRating(rating); - } - - /** - * @see org.olat.core.commons.services.commentAndRating.UserRatingsManager#updateRating(org.olat.core.commons.services.commentAndRating.model.UserRating, int) - */ - @Override - public UserRating updateRating(UserRating rating, int newRatingValue) { - if (!isRatingOfResource(rating)) { - throw new AssertException( - "This user rating manager is initialized for another resource than the given comment."); - } - return userRatingsDAO.updateRating(rating, newRatingValue); - } - - /** - * Helper method to check if the given commerating has the same resource and - * path as configured for this manager - * - * @param originalRating - * @return - */ - private boolean isRatingOfResource(UserRating originalRating) { - if (this.getOLATResourceable().getResourceableId().equals( - originalRating.getResId()) - && this.getOLATResourceable().getResourceableTypeName().equals( - originalRating.getResName())) { - // check on resource subpath: can be null - if (this.getOLATResourceableSubPath() == null) { - return (originalRating.getResSubPath() == null); - } else { - return this.getOLATResourceableSubPath().equals( - originalRating.getResSubPath()); - } - } - return false; - } - - @Override - public List<OLATResourceableRating> getMostRatedResourceables(int maxResults) { - StringBuilder sb = new StringBuilder(); - sb.append("select new ").append(OLATResourceableRating.class.getName()).append("(") - .append(" rating.resName, rating.resId, rating.resSubPath, avg(rating.rating))") - .append(" from userrating as rating ") - .append(" where rating.resName=:resName and rating.resId=:resId") - .append(" group by rating.resName, rating.resId, rating.resSubPath") - .append(" order by avg(rating.rating) desc"); - - DBQuery query = DBFactory.getInstance().createQuery(sb.toString()); - query.setString("resName", getOLATResourceable().getResourceableTypeName()); - query.setLong("resId", getOLATResourceable().getResourceableId()); - - if(maxResults > 0) { - query.setMaxResults(maxResults); - } - - List<OLATResourceableRating> mostRated = query.list(); - return mostRated; - } - - - -} diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/manager/CommentAndRatingServiceImpl.java b/src/main/java/org/olat/core/commons/services/commentAndRating/manager/CommentAndRatingServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..047649c42a5399bda765a49396b7b2d7e8589eb3 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/commentAndRating/manager/CommentAndRatingServiceImpl.java @@ -0,0 +1,167 @@ +/** + * <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.core.commons.services.commentAndRating.manager; + +import java.util.List; + +import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; +import org.olat.core.commons.services.commentAndRating.model.OLATResourceableRating; +import org.olat.core.commons.services.commentAndRating.model.UserComment; +import org.olat.core.commons.services.commentAndRating.model.UserCommentsCount; +import org.olat.core.commons.services.commentAndRating.model.UserRating; +import org.olat.core.id.Identity; +import org.olat.core.id.OLATResourceable; +import org.olat.core.logging.AssertException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * Description:<br> + * User interface controller and manager factory for the comment and rating + * service. This is a spring prototype. Use the init() methods after getting + * your instance from spring to configure the service for your resource. (See + * the interface for an code example) + * <P> + * Initial Date: 24.11.2009 <br> + * + * @author gnaegi + */ +@Service +public class CommentAndRatingServiceImpl implements CommentAndRatingService { + @Autowired + private UserRatingsDAO userRatingsDao; + @Autowired + private UserCommentsDAO userCommentsDao; + + + + + @Override + public Long countRatings(OLATResourceable ores, String resSubPath) { + return new Long(userRatingsDao.countRatings(ores, resSubPath)); + } + + @Override + public List<UserRating> getAllRatings(OLATResourceable ores, String resSubPath) { + return userRatingsDao.getAllRatings(ores, resSubPath); + } + + @Override + public Float calculateRatingAverage(OLATResourceable ores, String resSubPath) { + return userRatingsDao.getRatingAverage(ores, resSubPath); + } + + @Override + public UserRating createRating(Identity creator, OLATResourceable ores, String resSubPath, int ratingValue) { + return userRatingsDao.createRating(creator, ores, resSubPath, ratingValue); + } + + @Override + public UserRating getRating(Identity identity, OLATResourceable ores, String resSubPath) { + return userRatingsDao.getRating(identity, ores, resSubPath); + } + + @Override + public UserRating reloadRating(UserRating rating) { + return userRatingsDao.reloadRating(rating); + } + + @Override + public UserRating updateRating(UserRating rating, int newRatingValue) { + return userRatingsDao.updateRating(rating, newRatingValue); + } + + @Override + public int deleteRating(UserRating rating) { + return userRatingsDao.deleteRating(rating); + } + + @Override + public List<OLATResourceableRating> getMostRatedResourceables(OLATResourceable ores, int maxResults) { + return userRatingsDao.getMostRatedResourceables(ores, maxResults); + } + + @Override + public long countComments(OLATResourceable ores, String resSubPath) { + return userCommentsDao.countComments(ores, resSubPath); + } + + @Override + public List<UserCommentsCount> countCommentsWithSubPath(OLATResourceable ores, String resSubPath) { + return userCommentsDao.countCommentsWithSubPath(ores, resSubPath); + } + + @Override + public List<UserComment> getComments(OLATResourceable ores, String resSubPath) { + return userCommentsDao.getComments(ores, resSubPath); + } + + @Override + public UserComment createComment(Identity creator, OLATResourceable ores, + String resSubPath, String commentText) { + return userCommentsDao.createComment(creator, ores, resSubPath, commentText); + } + + @Override + public UserComment reloadComment(UserComment comment) { + return userCommentsDao.reloadComment(comment); + } + + @Override + public UserComment replyTo(UserComment originalComment, Identity creator, String replyCommentText) { + return userCommentsDao.replyTo(originalComment, creator, replyCommentText); + } + + @Override + public UserComment updateComment(UserComment comment, String newCommentText) { + return userCommentsDao.updateComment(comment, newCommentText); + } + + @Override + public int deleteComment(UserComment comment, boolean deleteReplies) { + return userCommentsDao.deleteComment(comment, deleteReplies); + } + + /** + * @see org.olat.core.commons.services.commentAndRating.CommentAndRatingService#deleteAll() + */ + public int deleteAll(OLATResourceable ores, String resSubPath) { + if (ores == null) { + throw new AssertException("CommentAndRatingService must be initialized first, call init method"); + } + int delCount = userCommentsDao.deleteAllComments(ores, resSubPath); + delCount += userRatingsDao.deleteAllRatings(ores, resSubPath); + return delCount; + } + + /** + * + * @see org.olat.core.commons.services.commentAndRating.CommentAndRatingService#deleteAllIgnoringSubPath() + */ + public int deleteAllIgnoringSubPath(OLATResourceable ores) { + if (ores == null) { + throw new AssertException("CommentAndRatingService must be initialized first, call init method"); + } + int delCount = userCommentsDao.deleteAllCommentsIgnoringSubPath(ores); + delCount += userRatingsDao.deleteAllRatingsIgnoringSubPath(ores); + return delCount; + } +} diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/manager/UserCommentsDAO.java b/src/main/java/org/olat/core/commons/services/commentAndRating/manager/UserCommentsDAO.java new file mode 100644 index 0000000000000000000000000000000000000000..f13551cd7ee6b51ea84e1f9ea6b6d57a41385df9 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/commentAndRating/manager/UserCommentsDAO.java @@ -0,0 +1,313 @@ +/** + * <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.core.commons.services.commentAndRating.manager; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import javax.persistence.EntityManager; +import javax.persistence.TypedQuery; + +import org.olat.core.commons.persistence.DB; +import org.olat.core.commons.persistence.DBFactory; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingLoggingAction; +import org.olat.core.commons.services.commentAndRating.UserCommentsDelegate; +import org.olat.core.commons.services.commentAndRating.model.UserComment; +import org.olat.core.commons.services.commentAndRating.model.UserCommentImpl; +import org.olat.core.commons.services.commentAndRating.model.UserCommentsCount; +import org.olat.core.commons.services.commentAndRating.model.UserCommentsCountImpl; +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.logging.activity.CoreLoggingResourceable; +import org.olat.core.logging.activity.OlatResourceableType; +import org.olat.core.logging.activity.ThreadLocalUserActivityLogger; +import org.olat.core.util.resource.OresHelper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * + * Initial date: 13.03.2014<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service("userCommentsDAO") +public class UserCommentsDAO { + + private static final OLog log = Tracing.createLoggerFor(UserCommentsDAO.class); + + + @Autowired + private DB dbInstance; + + private List<UserCommentsDelegate> delegates = new ArrayList<>(); + + public void addDelegate(UserCommentsDelegate delegate) { + delegates.add(delegate); + } + + + public UserComment createComment(Identity creator, OLATResourceable ores, String resSubPath, String commentText) { + UserComment comment = new UserCommentImpl(ores, resSubPath, creator, commentText); + dbInstance.getCurrentEntityManager().persist(comment); + updateDelegateRatings(ores, resSubPath); + + // do Logging + ThreadLocalUserActivityLogger.log(CommentAndRatingLoggingAction.COMMENT_CREATED, getClass(), + CoreLoggingResourceable.wrap(ores, OlatResourceableType.feedItem)); + return comment; + } + + public UserComment reloadComment(UserComment comment) { + try { + return (UserComment)dbInstance.loadObject(comment); + } catch (Exception e) { + // Huh, most likely the given object does not exist anymore on the + // db, probably deleted by someone else + log.warn("Tried to reload a user comment but got an exception. Probably deleted in the meantime", e); + return null; + } + } + + public UserComment replyTo(UserComment originalComment, Identity creator, String replyCommentText) { + // First reload parent from cache to prevent stale object or cache issues + originalComment = reloadComment(originalComment); + if (originalComment == null) { + // Original comment has been deleted in the meantime. Don't create a reply + return null; + } + OLATResourceable ores = OresHelper.createOLATResourceableInstance(originalComment.getResName(), originalComment.getResId()); + UserCommentImpl reply = new UserCommentImpl(ores, originalComment.getResSubPath(), creator, replyCommentText); + reply.setParent(originalComment); + dbInstance.getCurrentEntityManager().persist(reply); + updateDelegateRatings(ores, originalComment.getResSubPath()); + return reply; + } + + public List<UserComment> getComments(OLATResourceable ores, String resSubPath) { + TypedQuery<UserComment> query; + if (resSubPath == null) { + // special query when sub path is null + query = DBFactory.getInstance().getCurrentEntityManager() + .createQuery("select comment from usercomment as comment where resName=:resname AND resId=:resId AND resSubPath is NULL", UserComment.class); + } else { + query = DBFactory.getInstance().getCurrentEntityManager() + .createQuery("select comment from usercomment as comment where resName=:resname AND resId=:resId AND resSubPath=:resSubPath", UserComment.class) + .setParameter("resSubPath", resSubPath); + } + return query.setParameter("resname", ores.getResourceableTypeName()) + .setParameter("resId", ores.getResourceableId()) + .getResultList(); + } + + public UserComment updateComment(UserComment comment, String newCommentText) { + // First reload parent from cache to prevent stale object or cache issues + comment = reloadComment(comment); + if (comment == null) { + // Original comment has been deleted in the meantime. Don't update it + return null; + } + // Update DB entry + comment.setComment(newCommentText); + return dbInstance.getCurrentEntityManager().merge(comment); + } + + + public int deleteComment(UserComment comment, boolean deleteReplies) { + int counter = 0; + // First reload parent from cache to prevent stale object or cache issues + comment = reloadComment(comment); + if (comment == null) { + // Original comment has been deleted in the meantime. Don't delete it again. + return 0; + } + + // First deal with all direct replies + List<UserComment> replies = dbInstance.getCurrentEntityManager() + .createQuery("select comment from usercomment as comment where parent=:parent", UserComment.class) + .setParameter("parent", comment) + .getResultList(); + if (deleteReplies) { + // Since we have a many-to-one we first have to recursively delete + // the replies to prevent foreign key constraints + for (UserComment reply : replies) { + counter += deleteComment(reply, true); + } + } else { + // To not delete the replies we have to set the parent to the parent + // of the original comment for each reply + for (UserComment reply : replies) { + reply.setParent(comment.getParent()); + dbInstance.getCurrentEntityManager().merge(reply); + } + } + // Now delete this comment and finish + dbInstance.getCurrentEntityManager().remove(comment); + // do Logging + OLATResourceable ores = OresHelper.createOLATResourceableInstance(comment.getResName(), comment.getResId()); + updateDelegateRatings(ores, comment.getResSubPath()); + ThreadLocalUserActivityLogger.log(CommentAndRatingLoggingAction.COMMENT_DELETED, getClass(), + CoreLoggingResourceable.wrap(ores, OlatResourceableType.feedItem)); + return counter+1; + } + + public List<UserCommentsCount> countCommentsWithSubPath(OLATResourceable ores, String resSubPath) { + if (resSubPath != null) { + UserCommentsCount count = new UserCommentsCountImpl(ores, resSubPath, countComments(ores, resSubPath)); + return Collections.singletonList(count); + } + + StringBuilder sb = new StringBuilder(); + sb.append("select comment.resSubPath, count(comment.key) from usercomment as comment ") + .append(" where comment.resName=:resname AND comment.resId=:resId") + .append(" group by comment.resSubPath"); + + List<Object[]> counts = dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), Object[].class) + .setParameter("resname", ores.getResourceableTypeName()) + .setParameter("resId", ores.getResourceableId()) + .getResultList(); + + Set<String> countMap = new HashSet<String>(); + List<UserCommentsCount> countList = new ArrayList<UserCommentsCount>(); + for(Object[] count:counts) { + Object subPath = count[0] == null ? "" : count[0]; + if(!countMap.contains(subPath)) { + UserCommentsCount c = new UserCommentsCountImpl(ores, (String)count[0], (Long)count[1]); + countList.add(c); + } + } + return countList; + } + + public long countComments(OLATResourceable ores, String resSubPath) { + TypedQuery<Number> query; + if (resSubPath == null) { + // special query when sub path is null + query = DBFactory.getInstance().getCurrentEntityManager() + .createQuery("select count(*) from usercomment where resName=:resname AND resId=:resId AND resSubPath is NULL", Number.class); + } else { + query = DBFactory.getInstance().getCurrentEntityManager() + .createQuery("select count(*) from usercomment where resName=:resname AND resId=:resId AND resSubPath=:resSubPath", Number.class) + .setParameter("resSubPath", resSubPath); + } + return query.setParameter("resname", ores.getResourceableTypeName()) + .setParameter("resId", ores.getResourceableId()) + .getSingleResult().longValue(); + } + + /** + * @see org.olat.core.commons.services.commentAndRating.UserCommentsManager#deleteAllComments() + */ + public int deleteAllComments(OLATResourceable ores, String resSubPath) { + EntityManager em = dbInstance.getCurrentEntityManager(); + // special query when sub path is null + List<UserCommentImpl> comments; + if (resSubPath == null) { + StringBuilder sb = new StringBuilder(); + sb.append("select comment from usercomment comment") + .append(" where resName=:resName and resId=:resId and resSubPath is null") + .append(" order by creationDate desc"); + + comments = em.createQuery(sb.toString(), UserCommentImpl.class) + .setParameter("resName", ores.getResourceableTypeName()) + .setParameter("resId", ores.getResourceableId()) + .getResultList(); + } else { + StringBuilder sb = new StringBuilder(); + sb.append("select comment from usercomment comment") + .append(" where resName=:resName and resId=:resId and resSubPath=:resSubPath") + .append(" order by creationDate desc"); + + comments = em.createQuery(sb.toString(), UserCommentImpl.class) + .setParameter("resName", ores.getResourceableTypeName()) + .setParameter("resId", ores.getResourceableId()) + .setParameter("resSubPath", resSubPath) + .getResultList(); + } + + if(comments != null && !comments.isEmpty()) { + for(UserCommentImpl comment:comments) { + em.remove(comment); + } + } + updateDelegateRatings(ores, resSubPath); + return comments == null ? 0 : comments.size(); + } + + /** + * Don't limit to subpath. Ignore if null or not, just delete on the resource + * @see org.olat.core.commons.services.commentAndRating.UserCommentsManager#deleteAllCommentsIgnoringSubPath() + */ + public int deleteAllCommentsIgnoringSubPath(OLATResourceable ores) { + EntityManager em = dbInstance.getCurrentEntityManager(); + StringBuilder sb = new StringBuilder(); + sb.append("select comment from usercomment comment") + .append(" where resName=:resName and resId=:resId") + .append(" order by creationDate desc"); + + List<UserCommentImpl> comments = em.createQuery(sb.toString(), UserCommentImpl.class) + .setParameter("resName", ores.getResourceableTypeName()) + .setParameter("resId", ores.getResourceableId()) + .getResultList(); + for(UserCommentImpl comment:comments) { + em.remove(comment); + } + updateDelegateRatings(ores, null); + return comments.size(); + } + + private void updateDelegateRatings(OLATResourceable ores, String resSubPath) { + if(delegates == null || delegates.isEmpty()) return; + + for(UserCommentsDelegate delegate:delegates) { + if(delegate.accept(ores, resSubPath)) { + StringBuilder sb = new StringBuilder(); + sb.append("select count(comment.key) from usercomment as comment") + .append(" where comment.resName=:resname and comment.resId=:resId"); + if(resSubPath == null) { + sb.append(" and comment.resSubPath is null"); + } else { + sb.append(" and comment.resSubPath=:resSubPath"); + } + + TypedQuery<Number> query = dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), Number.class) + .setParameter("resname", ores.getResourceableTypeName()) + .setParameter("resId", ores.getResourceableId()); + if(resSubPath!= null) { + query.setParameter("resSubPath", resSubPath); + } + + Number count = query.getSingleResult(); + if(count == null) { + delegate.update(ores, resSubPath, 1); + } else { + delegate.update(ores, resSubPath, count.intValue()); + } + } + } + } +} diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserRatingsDAO.java b/src/main/java/org/olat/core/commons/services/commentAndRating/manager/UserRatingsDAO.java similarity index 68% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserRatingsDAO.java rename to src/main/java/org/olat/core/commons/services/commentAndRating/manager/UserRatingsDAO.java index 0b49f7c5316ff7ee31fa04c96c6f0d6d5969c884..ff6afa56509f5a64675410d0ac46dc2475a042cc 100644 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserRatingsDAO.java +++ b/src/main/java/org/olat/core/commons/services/commentAndRating/manager/UserRatingsDAO.java @@ -17,7 +17,7 @@ * frentix GmbH, http://www.frentix.com * <p> */ -package org.olat.core.commons.services.commentAndRating.impl; +package org.olat.core.commons.services.commentAndRating.manager; import java.util.ArrayList; import java.util.Date; @@ -27,7 +27,9 @@ import javax.persistence.TypedQuery; import org.olat.core.commons.persistence.DB; import org.olat.core.commons.services.commentAndRating.UserRatingsDelegate; +import org.olat.core.commons.services.commentAndRating.model.OLATResourceableRating; import org.olat.core.commons.services.commentAndRating.model.UserRating; +import org.olat.core.commons.services.commentAndRating.model.UserRatingImpl; import org.olat.core.id.Identity; import org.olat.core.id.OLATResourceable; import org.olat.core.logging.OLog; @@ -70,6 +72,23 @@ public class UserRatingsDAO { return rating; } + public List<UserRating> getAllRatings(OLATResourceable ores, String resSubPath){ + TypedQuery<UserRating> query; + if (resSubPath == null) { + // special query when sub path is null + String sb = "select rating from userrating as rating where resName=:resname AND resId=:resId AND resSubPath is NULL"; + query = dbInstance.getCurrentEntityManager().createQuery(sb, UserRating.class); + } else { + String sb = "select rating from userrating as rating where resName=:resname AND resId=:resId AND resSubPath=:resSubPath"; + query = dbInstance.getCurrentEntityManager().createQuery(sb, UserRating.class) + .setParameter("resSubPath", resSubPath); + } + return query.setParameter("resname", ores.getResourceableTypeName()) + .setParameter("resId", ores.getResourceableId()) + .setHint("org.hibernate.cacheable", Boolean.TRUE) + .getResultList(); + } + public float getRatingAverage(OLATResourceable ores, String resSubPath) { StringBuilder sb = new StringBuilder(); sb.append("select avg(rating) from userrating where resName=:resname and resId=:resId and resSubPath"); @@ -92,6 +111,28 @@ public class UserRatingsDAO { return average == null ? 0f : average.floatValue(); } + public List<OLATResourceableRating> getMostRatedResourceables(OLATResourceable ores, int maxResults) { + StringBuilder sb = new StringBuilder(); + sb.append("select new ").append(OLATResourceableRating.class.getName()).append("(") + .append(" rating.resName, rating.resId, rating.resSubPath, avg(rating.rating))") + .append(" from userrating as rating ") + .append(" where rating.resName=:resName and rating.resId=:resId") + .append(" group by rating.resName, rating.resId, rating.resSubPath") + .append(" order by avg(rating.rating) desc"); + + TypedQuery<OLATResourceableRating> query = dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), OLATResourceableRating.class) + .setParameter("resName", ores.getResourceableTypeName()) + .setParameter("resId", ores.getResourceableId()); + + if(maxResults > 0) { + query.setMaxResults(maxResults); + } + + List<OLATResourceableRating> mostRated = query.getResultList(); + return mostRated; + } + public int countRatings(OLATResourceable ores, String resSubPath) { TypedQuery<Number> query; if (resSubPath == null) { @@ -204,14 +245,53 @@ public class UserRatingsDAO { Object[] stats = query.getSingleResult(); if(stats == null || stats[0] == null || stats[1] == null) { Integer rate = rating.getRating(); - delegate.update(ores, rating.getResSubPath(), rate.doubleValue()); + delegate.update(ores, rating.getResSubPath(), rate.doubleValue(), 1l); } else { long numOfRatings = ((Number)stats[0]).longValue(); long sumOfRatings = ((Number)stats[1]).longValue(); double rate = (sumOfRatings + rating.getRating().intValue()) / (numOfRatings + 1); - delegate.update(ores, rating.getResSubPath(), rate); + delegate.update(ores, rating.getResSubPath(), rate, numOfRatings + 1); } } } } + + public int deleteRating(UserRating rating) { + // First reload parent from cache to prevent stale object or cache issues + UserRating ratingRef = dbInstance.getCurrentEntityManager().getReference(UserRatingImpl.class, rating.getKey()); + if (ratingRef == null) { + // Original rating has been deleted in the meantime. Don't delete it again. + return 0; + } + // Delete this rating and finish + dbInstance.getCurrentEntityManager().remove(ratingRef); + return 1; + + } + + public int deleteAllRatings(OLATResourceable ores, String resSubPath) { + // special query when sub path is null + if (resSubPath == null) { + String sb = "delete from userrating where resName=:resName and resId=:resId and resSubPath is null"; + return dbInstance.getCurrentEntityManager().createQuery(sb.toString()) + .setParameter("resName", ores.getResourceableTypeName()) + .setParameter("resId", ores.getResourceableId()) + .executeUpdate(); + } else { + String sb = "delete from userrating where resName=:resName and resId=:resId and resSubPath=:resSubPath"; + return dbInstance.getCurrentEntityManager().createQuery(sb.toString()) + .setParameter("resName", ores.getResourceableTypeName()) + .setParameter("resId", ores.getResourceableId()) + .setParameter("resSubPath", resSubPath) + .executeUpdate(); + } + } + + public int deleteAllRatingsIgnoringSubPath(OLATResourceable ores) { + String sb = "delete from userrating where resName=:resName and resId=:resId"; + return dbInstance.getCurrentEntityManager().createQuery(sb.toString()) + .setParameter("resName", ores.getResourceableTypeName()) + .setParameter("resId", ores.getResourceableId()) + .executeUpdate(); + } } diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserCommentImpl.java b/src/main/java/org/olat/core/commons/services/commentAndRating/model/UserCommentImpl.java similarity index 59% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserCommentImpl.java rename to src/main/java/org/olat/core/commons/services/commentAndRating/model/UserCommentImpl.java index f16d5e774ca2ad8ac18014c602da521441867223..4830efa10718f1d51bf8a49fb044ea3599bab99a 100644 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserCommentImpl.java +++ b/src/main/java/org/olat/core/commons/services/commentAndRating/model/UserCommentImpl.java @@ -17,14 +17,27 @@ * frentix GmbH, http://www.frentix.com * <p> */ -package org.olat.core.commons.services.commentAndRating.impl; +package org.olat.core.commons.services.commentAndRating.model; import java.util.Date; -import org.olat.core.commons.persistence.PersistentObject; -import org.olat.core.commons.services.commentAndRating.model.UserComment; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +import org.hibernate.annotations.GenericGenerator; +import org.olat.basesecurity.IdentityImpl; +import org.olat.core.id.CreateInfo; import org.olat.core.id.Identity; import org.olat.core.id.OLATResourceable; +import org.olat.core.id.Persistable; /** * Description:<br> @@ -35,19 +48,47 @@ import org.olat.core.id.OLATResourceable; * * @author gnaegi */ -public class UserCommentImpl extends PersistentObject implements UserComment { +@Entity(name="usercomment") +@Table(name="o_usercomment") +public class UserCommentImpl implements Persistable, CreateInfo, UserComment { + + private static final long serialVersionUID = -1396648859230164778L; + + @Id + @GeneratedValue(generator = "system-uuid") + @GenericGenerator(name = "system-uuid", strategy = "hilo") + @Column(name="comment_id", nullable=false, unique=true, insertable=true, updatable=false) + private Long key; + + @Column(name="version", nullable=false, insertable=true, updatable=false) + private int version = 0; + + @Temporal(TemporalType.TIMESTAMP) + @Column(name="creationdate", nullable=false, insertable=true, updatable=false) + private Date creationDate; + + @Column(name="resname", nullable=false, insertable=true, updatable=false) private String resName; + @Column(name="resid", nullable=false, insertable=true, updatable=false) private Long resId; + @Column(name="ressubpath", nullable=true, insertable=true, updatable=false) private String resSubPath; - + + @ManyToOne(targetEntity=IdentityImpl.class,fetch=FetchType.LAZY,optional=false) + @JoinColumn(name="creator_id", nullable=false, updatable=false) private Identity creator; - private String comment; + + @ManyToOne(targetEntity=UserCommentImpl.class,fetch=FetchType.LAZY,optional=true) + @JoinColumn(name="parent_key", nullable=true, updatable=true) private UserComment parent; + + @Column(name="commenttext", nullable=false, insertable=true, updatable=true) + private String comment; /** * Default constructor for hibernate, don't use this! */ - private UserCommentImpl() { + public UserCommentImpl() { // } @@ -58,7 +99,7 @@ public class UserCommentImpl extends PersistentObject implements UserComment { * @param creator * @param comment */ - UserCommentImpl(OLATResourceable ores, String subpath, Identity creator, String comment) { + public UserCommentImpl(OLATResourceable ores, String subpath, Identity creator, String comment) { this.creator = creator; this.comment = comment; this.resName = ores.getResourceableTypeName(); @@ -66,6 +107,18 @@ public class UserCommentImpl extends PersistentObject implements UserComment { this.resSubPath = subpath; } + public Long getKey() { + return key; + } + + public void setKey(Long key) { + this.key = key; + } + + public Date getCreationDate() { + return creationDate; + } + /** * @see org.olat.core.commons.services.commentAndRating.model.UserComment#getCreator() */ @@ -163,5 +216,26 @@ public class UserCommentImpl extends PersistentObject implements UserComment { public void setCreationDate(Date date) { this.creationDate = date; } + + @Override + public int hashCode() { + return key == null ? -1356 : key.hashCode(); + } + @Override + public boolean equals(Object obj) { + if(this == obj) { + return true; + } + if(obj instanceof UserCommentImpl) { + UserCommentImpl q = (UserCommentImpl)obj; + return key != null && key.equals(q.key); + } + return false; + } + + @Override + public boolean equalsByPersistableKey(Persistable persistable) { + return equals(persistable); + } } diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserCommentsCountImpl.java b/src/main/java/org/olat/core/commons/services/commentAndRating/model/UserCommentsCountImpl.java similarity index 93% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserCommentsCountImpl.java rename to src/main/java/org/olat/core/commons/services/commentAndRating/model/UserCommentsCountImpl.java index bf550683299476b9b50d17bb549496e84fce7a1a..8a4fc551530564a162a4f052c0688b51acda7245 100644 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserCommentsCountImpl.java +++ b/src/main/java/org/olat/core/commons/services/commentAndRating/model/UserCommentsCountImpl.java @@ -17,9 +17,8 @@ * frentix GmbH, http://www.frentix.com * <p> */ -package org.olat.core.commons.services.commentAndRating.impl; +package org.olat.core.commons.services.commentAndRating.model; -import org.olat.core.commons.services.commentAndRating.model.UserCommentsCount; import org.olat.core.id.OLATResourceable; /** diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserRatingImpl.java b/src/main/java/org/olat/core/commons/services/commentAndRating/model/UserRatingImpl.java similarity index 96% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserRatingImpl.java rename to src/main/java/org/olat/core/commons/services/commentAndRating/model/UserRatingImpl.java index 27c0dda6e4d4773376deab9272be333b7d8e3991..a4e806c6c7e06547aa5e274a62fed2f19a342a21 100644 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/UserRatingImpl.java +++ b/src/main/java/org/olat/core/commons/services/commentAndRating/model/UserRatingImpl.java @@ -17,7 +17,7 @@ * frentix GmbH, http://www.frentix.com * <p> */ -package org.olat.core.commons.services.commentAndRating.impl; +package org.olat.core.commons.services.commentAndRating.model; import java.util.Date; @@ -34,7 +34,6 @@ import javax.persistence.TemporalType; import org.hibernate.annotations.GenericGenerator; import org.olat.basesecurity.IdentityImpl; -import org.olat.core.commons.services.commentAndRating.model.UserRating; import org.olat.core.id.CreateInfo; import org.olat.core.id.Identity; import org.olat.core.id.OLATResourceable; @@ -51,7 +50,7 @@ import org.olat.core.id.Persistable; */ @Entity(name="userrating") @Table(name="o_userrating") -public class UserRatingImpl implements Persistable, CreateInfo, UserRating { +public class UserRatingImpl implements Persistable, CreateInfo, UserRating { private static final long serialVersionUID = -5830951461259559219L; @@ -134,7 +133,7 @@ public class UserRatingImpl implements Persistable, CreateInfo, UserRating { */ @Override public Long getResId() { - return this.resId; + return resId; } /** @@ -142,7 +141,7 @@ public class UserRatingImpl implements Persistable, CreateInfo, UserRating { */ @Override public String getResName() { - return this.resName; + return resName; } /** @@ -150,14 +149,14 @@ public class UserRatingImpl implements Persistable, CreateInfo, UserRating { */ @Override public String getResSubPath() { - return this.resSubPath; + return resSubPath; } /** * @see org.olat.core.commons.services.commentAndRating.model.UserRating#getRating() */ public Integer getRating() { - return this.rating; + return rating; } /** diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentDisplayController.java b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentDisplayController.java similarity index 92% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentDisplayController.java rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentDisplayController.java index bed6cb35ea72d6714af5fd88ab499a37d6c7f54c..9d7bef40935d6bcb93a98b85d70b74f7d72ac2e1 100644 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentDisplayController.java +++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentDisplayController.java @@ -17,7 +17,7 @@ * frentix GmbH, http://www.frentix.com * <p> */ -package org.olat.core.commons.services.commentAndRating.impl.ui; +package org.olat.core.commons.services.commentAndRating.ui; import java.util.ArrayList; import java.util.List; @@ -25,7 +25,7 @@ import java.util.List; import org.olat.core.CoreSpringFactory; import org.olat.core.commons.creator.UserAvatarDisplayControllerCreator; import org.olat.core.commons.services.commentAndRating.CommentAndRatingSecurityCallback; -import org.olat.core.commons.services.commentAndRating.UserCommentsManager; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; import org.olat.core.commons.services.commentAndRating.model.UserComment; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; @@ -43,6 +43,7 @@ import org.olat.core.gui.control.generic.modal.DialogBoxController; import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory; import org.olat.core.gui.control.generic.title.TitleInfo; import org.olat.core.gui.control.generic.title.TitledWrapperController; +import org.olat.core.id.OLATResourceable; import org.olat.core.id.User; import org.olat.core.id.UserConstants; import org.olat.core.util.Formatter; @@ -63,7 +64,6 @@ import org.olat.core.util.StringHelper; */ public class UserCommentDisplayController extends BasicController { private final CommentAndRatingSecurityCallback securityCallback; - private final UserCommentsManager commentManager; // GUI container private final VelocityContainer userCommentDisplayVC; // Data model @@ -82,11 +82,18 @@ public class UserCommentDisplayController extends BasicController { private UserCommentFormController replyCommentFormCtr; private TitledWrapperController replyTitledWrapperCtr; + private String resSubPath; + private OLATResourceable ores; + private final CommentAndRatingService commentAndRatingService; + UserCommentDisplayController(UserRequest ureq, WindowControl wControl, - UserCommentsManager commentManager, UserComment userComment, List<UserComment> allComments, + UserComment userComment, List<UserComment> allComments, + OLATResourceable ores, String resSubPath, CommentAndRatingSecurityCallback securityCallback) { super(ureq, wControl); - this.commentManager = commentManager; + commentAndRatingService = CoreSpringFactory.getImpl(CommentAndRatingService.class); + this.ores = ores; + this.resSubPath = resSubPath; this.userComment = userComment; this.allComments = allComments; this.securityCallback = securityCallback; @@ -150,7 +157,7 @@ public class UserCommentDisplayController extends BasicController { if (reply.getParent() == null) continue; if (reply.getParent().getKey().equals(userComment.getKey())) { // Create child controller - UserCommentDisplayController replyCtr = new UserCommentDisplayController(ureq, getWindowControl(), commentManager, reply, allComments, securityCallback); + UserCommentDisplayController replyCtr = new UserCommentDisplayController(ureq, getWindowControl(), reply, allComments, ores, resSubPath, securityCallback); replyControllers.add(replyCtr); listenTo(replyCtr); userCommentDisplayVC.put(replyCtr.getViewCompName(), replyCtr.getInitialComponent()); @@ -176,7 +183,7 @@ public class UserCommentDisplayController extends BasicController { protected void event(UserRequest ureq, Component source, Event event) { if (source == replyLink) { // Init reply workflow - replyCommentFormCtr = new UserCommentFormController(ureq, getWindowControl(), userComment, null, commentManager); + replyCommentFormCtr = new UserCommentFormController(ureq, getWindowControl(), userComment, null, ores, resSubPath); listenTo(replyCommentFormCtr); User parentUser = userComment.getCreator().getUser(); String title = translate("comments.coment.reply.title", new String[]{parentUser.getProperty(UserConstants.FIRSTNAME, null), parentUser.getProperty(UserConstants.LASTNAME, null)}); @@ -232,7 +239,7 @@ public class UserCommentDisplayController extends BasicController { int buttonPos = DialogBoxUIFactory.getButtonPos(event); if (buttonPos == 0) { // Do delete - commentManager.deleteComment(userComment, false); + commentAndRatingService.deleteComment(userComment, false); allComments.remove(userComment); fireEvent(ureq, DELETED_EVENT); // Inform top level view that it needs to rebuild due to comments that are now unlinked @@ -241,7 +248,7 @@ public class UserCommentDisplayController extends BasicController { } } else if (buttonPos == 1 && hasReplies) { // Delete current comment and all replies. Notify parent, probably needs full redraw - commentManager.deleteComment(userComment, true); + commentAndRatingService.deleteComment(userComment, true); allComments.remove(userComment); fireEvent(ureq, DELETED_EVENT); } else if (buttonPos == 1 && ! hasReplies) { @@ -268,7 +275,7 @@ public class UserCommentDisplayController extends BasicController { UserComment newReply = replyCommentFormCtr.getComment(); allComments.add(newReply); // Create child controller - UserCommentDisplayController replyCtr = new UserCommentDisplayController(ureq, getWindowControl(), commentManager, newReply, allComments, securityCallback); + UserCommentDisplayController replyCtr = new UserCommentDisplayController(ureq, getWindowControl(), newReply, allComments, ores, resSubPath, securityCallback); replyControllers.add(replyCtr); listenTo(replyCtr); userCommentDisplayVC.put(replyCtr.getViewCompName(), replyCtr.getInitialComponent()); diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentFormController.java b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentFormController.java similarity index 87% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentFormController.java rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentFormController.java index 974dbf6b0cc2838b5e0114b58a89c2d721ceb9e8..139d0c3dc58c731942382bae38db3f91d0ee66f4 100644 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentFormController.java +++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentFormController.java @@ -17,9 +17,10 @@ * frentix GmbH, http://www.frentix.com * <p> */ -package org.olat.core.commons.services.commentAndRating.impl.ui; +package org.olat.core.commons.services.commentAndRating.ui; -import org.olat.core.commons.services.commentAndRating.UserCommentsManager; +import org.olat.core.CoreSpringFactory; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; import org.olat.core.commons.services.commentAndRating.model.UserComment; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItemContainer; @@ -29,6 +30,7 @@ import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; +import org.olat.core.id.OLATResourceable; import org.olat.core.id.User; import org.olat.core.id.UserConstants; import org.olat.core.util.StringHelper; @@ -54,11 +56,14 @@ import org.olat.core.util.StringHelper; * @author gnaegi */ public class UserCommentFormController extends FormBasicController { - private UserCommentsManager commentManager; private UserComment parentComment; private UserComment toBeUpdatedComment; // private RichTextElement commentElem; + + private final String resSubPath; + private final OLATResourceable ores; + private final CommentAndRatingService commentAndRatingService; /** * Constructor for a user comment form controller. Use the @@ -72,11 +77,14 @@ public class UserCommentFormController extends FormBasicController { */ UserCommentFormController(UserRequest ureq, WindowControl wControl, UserComment parentComment, UserComment toBeUpdatedComment, - UserCommentsManager commentManager) { + OLATResourceable ores, String resSubPath) { super(ureq, wControl, "userCommentForm"); + this.ores = ores; + this.resSubPath = resSubPath; + commentAndRatingService = CoreSpringFactory.getImpl(CommentAndRatingService.class); + this.parentComment = parentComment; this.toBeUpdatedComment = toBeUpdatedComment; - this.commentManager = commentManager; // initForm(ureq); } @@ -130,12 +138,12 @@ public class UserCommentFormController extends FormBasicController { if (toBeUpdatedComment == null) { if (parentComment == null) { // create new comment - this.toBeUpdatedComment = commentManager.createComment(getIdentity(), commentText); + this.toBeUpdatedComment = commentAndRatingService.createComment(getIdentity(), ores, resSubPath, commentText); // notify listeners that we finished. fireEvent(ureq, Event.CHANGED_EVENT); } else { // reply to parent comment - this.toBeUpdatedComment = commentManager.replyTo(parentComment, getIdentity(), commentText); + this.toBeUpdatedComment = commentAndRatingService.replyTo(parentComment, getIdentity(), commentText); if (this.toBeUpdatedComment == null) { showError("comments.coment.reply.error"); fireEvent(ureq, Event.FAILED_EVENT); @@ -144,7 +152,7 @@ public class UserCommentFormController extends FormBasicController { } } } else { - this.toBeUpdatedComment = commentManager.updateComment(toBeUpdatedComment, commentText); + this.toBeUpdatedComment = commentAndRatingService.updateComment(toBeUpdatedComment, commentText); if (this.toBeUpdatedComment == null) { showError("comments.coment.update.error"); fireEvent(ureq, Event.FAILED_EVENT); diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentsAndRatingsController.java b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentsAndRatingsController.java similarity index 85% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentsAndRatingsController.java rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentsAndRatingsController.java index 18cc1fa098d49bba0062988ef01cde5860adc124..aea442e2d06c25113137142ec064cf8757fd0e0c 100644 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentsAndRatingsController.java +++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentsAndRatingsController.java @@ -17,11 +17,11 @@ * frentix GmbH, http://www.frentix.com * <p> */ -package org.olat.core.commons.services.commentAndRating.impl.ui; +package org.olat.core.commons.services.commentAndRating.ui; +import org.olat.core.CoreSpringFactory; import org.olat.core.commons.services.commentAndRating.CommentAndRatingSecurityCallback; -import org.olat.core.commons.services.commentAndRating.UserCommentsManager; -import org.olat.core.commons.services.commentAndRating.UserRatingsManager; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; import org.olat.core.commons.services.commentAndRating.model.UserRating; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; @@ -60,16 +60,11 @@ public class UserCommentsAndRatingsController extends BasicController implements // Events public static final Event EVENT_COMMENT_LINK_CLICKED = new Event("comment_link_clicked"); public static final Event EVENT_RATING_CHANGED = new Event("rating_changed"); - // Configuration - private final String oresSubPath; - private final CommentAndRatingSecurityCallback securityCallback; + private final VelocityContainer userCommentsAndRatingsVC; private final OLATResourceable USER_COMMENTS_AND_RATING_CHANNEL; private final boolean canExpandToFullView; private Object userObject; - // Managers - private UserCommentsManager commentManager; - private UserRatingsManager userRatingsManager; // Comments private Link commentsCountLink; private Long commentsCount; @@ -80,6 +75,12 @@ public class UserCommentsAndRatingsController extends BasicController implements private UserRating userRating; // Controller state private boolean isExpanded = false; // default + + // Configuration + private final String oresSubPath; + private final OLATResourceable ores; + private final CommentAndRatingSecurityCallback securityCallback; + private final CommentAndRatingService commentAndRatingService; /** * Constructor for a user combined user comments and ratings controller. Use @@ -97,31 +98,31 @@ public class UserCommentsAndRatingsController extends BasicController implements public UserCommentsAndRatingsController(UserRequest ureq, WindowControl wControl, OLATResourceable ores, String oresSubPath, CommentAndRatingSecurityCallback securityCallback, boolean enableComments, boolean enableRatings, boolean canExpandToFullView) { super(ureq, wControl); + this.ores = ores; this.oresSubPath = oresSubPath; this.securityCallback = securityCallback; + commentAndRatingService = CoreSpringFactory.getImpl(CommentAndRatingService.class); this.userCommentsAndRatingsVC = createVelocityContainer("userCommentsAndRatings"); this.canExpandToFullView = canExpandToFullView; putInitialPanel(userCommentsAndRatingsVC); // Add comments views if (enableComments && securityCallback.canViewComments()) { - this.commentManager = UserCommentsManager.getInstance(ores, oresSubPath); - this.userCommentsAndRatingsVC.contextPut("enableComments", Boolean.valueOf(enableComments)); + userCommentsAndRatingsVC.contextPut("enableComments", Boolean.valueOf(enableComments)); // Link with comments count to expand view - this.commentsCountLink = LinkFactory.createLink("comments.count", this.userCommentsAndRatingsVC, this); - this.commentsCountLink.setCustomEnabledLinkCSS("b_comments"); - this.commentsCountLink.setTooltip("comments.count.tooltip"); + commentsCountLink = LinkFactory.createLink("comments.count", this.userCommentsAndRatingsVC, this); + commentsCountLink.setCustomEnabledLinkCSS("b_comments"); + commentsCountLink.setTooltip("comments.count.tooltip"); // Init view with values from DB updateCommentCountView(); } // Add ratings view - this.userCommentsAndRatingsVC.contextPut("viewIdent", CodeHelper.getRAMUniqueID()); - this.userCommentsAndRatingsVC.contextPut("enableRatings", Boolean.valueOf(enableRatings)); + userCommentsAndRatingsVC.contextPut("viewIdent", CodeHelper.getRAMUniqueID()); + userCommentsAndRatingsVC.contextPut("enableRatings", Boolean.valueOf(enableRatings)); if (enableRatings) { - this.userRatingsManager = UserRatingsManager.getInstance(ores, oresSubPath); if (securityCallback.canRate()) { ratingUserC = new RatingComponent("userRating", 0, RATING_MAX, true); ratingUserC.addListener(this); - this.userCommentsAndRatingsVC.put("ratingUserC", ratingUserC); + userCommentsAndRatingsVC.put("ratingUserC", ratingUserC); ratingUserC.setShowRatingAsText(true); ratingUserC.setTitle("rating.personal.title"); ratingUserC.setCssClass("b_rating_personal"); @@ -130,7 +131,7 @@ public class UserCommentsAndRatingsController extends BasicController implements if (securityCallback.canViewRatingAverage()) { ratingAverageC = new RatingComponent("ratingAverageC", 0, RATING_MAX, false); ratingAverageC.addListener(this); - this.userCommentsAndRatingsVC.put("ratingAverageC", ratingAverageC); + userCommentsAndRatingsVC.put("ratingAverageC", ratingAverageC); ratingAverageC.setShowRatingAsText(true); ratingAverageC.setTitle("rating.average.title"); ratingAverageC.setTranslateExplanation(false); @@ -153,7 +154,7 @@ public class UserCommentsAndRatingsController extends BasicController implements */ public void expandComments(UserRequest ureq) { if (!canExpandToFullView) { throw new AssertException("Can not expand messages when controller initialized as not expandable"); } - commentsCtr = new UserCommentsController(ureq, getWindowControl(), commentManager, securityCallback); + commentsCtr = new UserCommentsController(ureq, getWindowControl(), ores, oresSubPath, securityCallback); listenTo(commentsCtr); userCommentsAndRatingsVC.put("commentsCtr", commentsCtr.getInitialComponent()); isExpanded = true; @@ -180,9 +181,9 @@ public class UserCommentsAndRatingsController extends BasicController implements * Package helper method to update the comment count view */ void updateCommentCountView() { - if (this.commentsCountLink != null) { - this.commentsCount = this.commentManager.countComments(); - this.commentsCountLink.setCustomDisplayText(translate("comments.count", commentsCount.toString())); + if (commentsCountLink != null) { + commentsCount = commentAndRatingService.countComments(ores, oresSubPath); + commentsCountLink.setCustomDisplayText(translate("comments.count", commentsCount.toString())); } } @@ -191,14 +192,14 @@ public class UserCommentsAndRatingsController extends BasicController implements */ void updateRatingView() { if (ratingUserC != null) { - userRating = userRatingsManager.getRating(getIdentity()); + userRating = commentAndRatingService.getRating(getIdentity(), ores, oresSubPath); if (userRating != null) { ratingUserC.setCurrentRating(userRating.getRating()); } } if (ratingAverageC != null) { - ratingAverageC.setCurrentRating(userRatingsManager.calculateRatingAverage()); - long ratingsCounter = this.userRatingsManager.countRatings(); + ratingAverageC.setCurrentRating(commentAndRatingService.calculateRatingAverage(ores, oresSubPath)); + long ratingsCounter = commentAndRatingService.countRatings(ores, oresSubPath); ratingAverageC.setExplanation(translate("rating.average.explanation", ratingsCounter + "")); } } @@ -246,10 +247,10 @@ public class UserCommentsAndRatingsController extends BasicController implements Integer newRating = Float.valueOf(ratingUserC.getCurrentRating()).intValue(); if (userRating == null) { // Create new rating - userRating = userRatingsManager.createRating(ureq.getIdentity(), newRating); + userRating = commentAndRatingService.createRating(getIdentity(), ores, oresSubPath, newRating); } else { // Update existing rating - userRating = userRatingsManager.updateRating(userRating, newRating); + userRating = commentAndRatingService.updateRating(userRating, newRating); } // Update GUI updateRatingView(); diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentsController.java b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentsController.java similarity index 75% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentsController.java rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentsController.java index 4bc7e8fdbc6b864507c5b9816c1ee373f7bd8f2f..3dd27d9745ddc0120dfd49c84657a524ee66826c 100644 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentsController.java +++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentsController.java @@ -17,13 +17,14 @@ * frentix GmbH, http://www.frentix.com * <p> */ -package org.olat.core.commons.services.commentAndRating.impl.ui; +package org.olat.core.commons.services.commentAndRating.ui; import java.util.ArrayList; import java.util.List; +import org.olat.core.CoreSpringFactory; import org.olat.core.commons.services.commentAndRating.CommentAndRatingSecurityCallback; -import org.olat.core.commons.services.commentAndRating.UserCommentsManager; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; import org.olat.core.commons.services.commentAndRating.model.UserComment; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; @@ -32,6 +33,7 @@ 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; import org.olat.core.util.Formatter; /** @@ -49,8 +51,7 @@ import org.olat.core.util.Formatter; * @author gnaegi */ public class UserCommentsController extends BasicController { - // Managers - private final UserCommentsManager commentManager; + // Configuration private final CommentAndRatingSecurityCallback securityCallback; // Data model @@ -60,6 +61,12 @@ public class UserCommentsController extends BasicController { private final VelocityContainer userCommentsVC; private UserCommentFormController createCommentFormCtr; private List<Controller> commentControllers; + + private Object userObject; + + private final String resSubPath; + private final OLATResourceable ores; + private final CommentAndRatingService commentAndRatingService; /** * Constructor for a user comments controller. Use the @@ -70,31 +77,41 @@ public class UserCommentsController extends BasicController { * @param commentManager * @param securityCallback */ - UserCommentsController(UserRequest ureq, WindowControl wControl, - UserCommentsManager commentManager, + public UserCommentsController(UserRequest ureq, WindowControl wControl, + OLATResourceable ores, String resSubPath, CommentAndRatingSecurityCallback securityCallback) { super(ureq, wControl); - this.commentManager = commentManager; + this.ores = ores; + this.resSubPath = resSubPath; + commentAndRatingService = CoreSpringFactory.getImpl(CommentAndRatingService.class); this.securityCallback = securityCallback; // Init view - this.userCommentsVC = createVelocityContainer("userComments"); - this.userCommentsVC.contextPut("formatter", Formatter.getInstance(getLocale())); - this.userCommentsVC.contextPut("securityCallback", securityCallback); + userCommentsVC = createVelocityContainer("userComments"); + userCommentsVC.contextPut("formatter", Formatter.getInstance(getLocale())); + userCommentsVC.contextPut("securityCallback", securityCallback); // Add comments commentControllers = new ArrayList<Controller>(); userCommentsVC.contextPut("commentControllers", commentControllers); // Init datamodel and controllers - this.commentsCount = this.commentManager.countComments(); + commentsCount = commentAndRatingService.countComments(ores, resSubPath); buildTopLevelComments(ureq, true); // Add create form if (securityCallback.canCreateComments()) { - if (createCommentFormCtr != null) removeAsListenerAndDispose(createCommentFormCtr); - createCommentFormCtr = new UserCommentFormController(ureq, getWindowControl(), null, null, commentManager); + removeAsListenerAndDispose(createCommentFormCtr); + createCommentFormCtr = new UserCommentFormController(ureq, getWindowControl(), null, null, ores, resSubPath); listenTo(createCommentFormCtr); userCommentsVC.put("createCommentFormCtr", createCommentFormCtr.getInitialComponent()); } // - putInitialPanel(this.userCommentsVC); + putInitialPanel(userCommentsVC); + } + + public Object getUserObject() { + return userObject; + } + + public void setUserObject(Object userObject) { + this.userObject = userObject; } /** @@ -129,19 +146,19 @@ public class UserCommentsController extends BasicController { // Add new comment to view instead of rebuilding datamodel to reduce overhead UserComment newComment = createCommentFormCtr.getComment(); allComments.add(newComment); - this.commentsCount = this.commentManager.countComments(); + commentsCount = commentAndRatingService.countComments(ores, resSubPath); if (allComments.size() != commentsCount.longValue()) { // Ups, we have also other changes in the datamodel, reload everything buildTopLevelComments(ureq, true); } else { // Create top level comment controller - UserCommentDisplayController commentController = new UserCommentDisplayController(ureq, getWindowControl(), commentManager, newComment, allComments, securityCallback); + UserCommentDisplayController commentController = new UserCommentDisplayController(ureq, getWindowControl(), newComment, allComments, ores, resSubPath, securityCallback); commentControllers.add(commentController); listenTo(commentController); userCommentsVC.put(commentController.getViewCompName(), commentController.getInitialComponent()); // Rebuild new comment form if (createCommentFormCtr != null) removeAsListenerAndDispose(createCommentFormCtr); - createCommentFormCtr = new UserCommentFormController(ureq, getWindowControl(), null, null, commentManager); + createCommentFormCtr = new UserCommentFormController(ureq, getWindowControl(), null, null, ores, resSubPath); listenTo(createCommentFormCtr); userCommentsVC.put("createCommentFormCtr", createCommentFormCtr.getInitialComponent()); } @@ -155,26 +172,12 @@ public class UserCommentsController extends BasicController { commentControllers.remove(commentCtr); userCommentsVC.remove(commentCtr.getInitialComponent()); removeAsListenerAndDispose(commentCtr); - // Sanity check: if number of comments is not the same as in our datamodel, - // reload everything to reflect changes made by other users - this.commentsCount = this.commentManager.countComments(); - if (allComments.size() != commentsCount.longValue()) { - buildTopLevelComments(ureq, true); - } - // Notify parent - fireEvent(ureq, UserCommentDisplayController.COMMENT_COUNT_CHANGED); + doCountChanged(ureq); } else if (event == UserCommentDisplayController.COMMENT_COUNT_CHANGED) { - // Sanity check: if number of comments is not the same as in our datamodel, - // reload everything to reflect changes made by other users - this.commentsCount = this.commentManager.countComments(); - if (allComments.size() != commentsCount.longValue()) { - buildTopLevelComments(ureq, true); - } - // Notify parent - fireEvent(ureq, UserCommentDisplayController.COMMENT_COUNT_CHANGED); + doCountChanged(ureq); } else if (event == UserCommentDisplayController.COMMENT_DATAMODEL_DIRTY) { // Reload everything to reflect changes made by other users and us - this.commentsCount = this.commentManager.countComments(); + commentsCount = commentAndRatingService.countComments(ores, resSubPath); buildTopLevelComments(ureq, true); // Notify parent fireEvent(ureq, UserCommentDisplayController.COMMENT_COUNT_CHANGED); @@ -182,6 +185,17 @@ public class UserCommentsController extends BasicController { } } + private void doCountChanged(UserRequest ureq) { + // Sanity check: if number of comments is not the same as in our datamodel, + // reload everything to reflect changes made by other users + commentsCount = commentAndRatingService.countComments(ores, resSubPath); + if (allComments.size() != commentsCount.longValue()) { + buildTopLevelComments(ureq, true); + } + // Notify parent + fireEvent(ureq, UserCommentDisplayController.COMMENT_COUNT_CHANGED); + } + /** * Internal helper to build the view controller for the direct comments @@ -197,13 +211,13 @@ public class UserCommentsController extends BasicController { } commentControllers.clear(); if (initDatamodel) { - allComments = commentManager.getComments(); + allComments = commentAndRatingService.getComments(ores, resSubPath); } // Build replies again for (UserComment comment : allComments) { if (comment.getParent() == null) { // Create top level comment controller - UserCommentDisplayController commentController = new UserCommentDisplayController(ureq, getWindowControl(), commentManager, comment, allComments, securityCallback); + UserCommentDisplayController commentController = new UserCommentDisplayController(ureq, getWindowControl(), comment, allComments, ores, resSubPath, securityCallback); commentControllers.add(commentController); listenTo(commentController); userCommentsVC.put(commentController.getViewCompName(), commentController.getInitialComponent()); @@ -217,10 +231,7 @@ public class UserCommentsController extends BasicController { * * @return a number representing the number of comments viewable by this controller */ - long getCommentsCount() { - return this.commentsCount.longValue(); + public long getCommentsCount() { + return commentsCount.longValue(); } - - - -} +} \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentsCountChangedEvent.java b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentsCountChangedEvent.java similarity index 93% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentsCountChangedEvent.java rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentsCountChangedEvent.java index 245da6b7c3ed104433fde34dc158e56b2d32155d..04455acd6e840e52745d10d0769f504f28d7c1b9 100644 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentsCountChangedEvent.java +++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentsCountChangedEvent.java @@ -17,7 +17,7 @@ * frentix GmbH, http://www.frentix.com * <p> */ -package org.olat.core.commons.services.commentAndRating.impl.ui; +package org.olat.core.commons.services.commentAndRating.ui; import org.olat.core.util.event.GenericEventListener; import org.olat.core.util.event.MultiUserEvent; @@ -33,6 +33,8 @@ import org.olat.core.util.event.MultiUserEvent; * @author gnaegi */ public class UserCommentsCountChangedEvent extends MultiUserEvent { + + private static final long serialVersionUID = 3517889647631428013L; private int senderIdentifyer; private String oresSubPath; diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserRatingChangedEvent.java b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserRatingChangedEvent.java similarity index 93% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserRatingChangedEvent.java rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserRatingChangedEvent.java index 0df4c06a471571b9c3dc48a38a2bedbe493e5596..a0d54c22763879501afc5105441e04114e22af39 100644 --- a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserRatingChangedEvent.java +++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserRatingChangedEvent.java @@ -17,7 +17,7 @@ * frentix GmbH, http://www.frentix.com * <p> */ -package org.olat.core.commons.services.commentAndRating.impl.ui; +package org.olat.core.commons.services.commentAndRating.ui; import org.olat.core.util.event.GenericEventListener; import org.olat.core.util.event.MultiUserEvent; @@ -33,6 +33,8 @@ import org.olat.core.util.event.MultiUserEvent; * @author gnaegi */ public class UserRatingChangedEvent extends MultiUserEvent { + + private static final long serialVersionUID = 6252305450982010188L; private int senderIdentifyer; private String oresSubPath; diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_content/userCommentDisplay.html b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_content/userCommentDisplay.html similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_content/userCommentDisplay.html rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_content/userCommentDisplay.html diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_content/userCommentForm.html b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_content/userCommentForm.html similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_content/userCommentForm.html rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_content/userCommentForm.html diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_content/userComments.html b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_content/userComments.html similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_content/userComments.html rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_content/userComments.html diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_content/userCommentsAndRatings.html b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_content/userCommentsAndRatings.html similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_content/userCommentsAndRatings.html rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_content/userCommentsAndRatings.html diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_ar.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_ar.properties similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_ar.properties rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_ar.properties diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_de.properties similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_de.properties rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_de.properties diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_el.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_el.properties similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_el.properties rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_el.properties diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_en.properties similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_en.properties rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_en.properties diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_fr.properties similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_fr.properties rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_fr.properties diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_it.properties similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_it.properties rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_it.properties diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_jp.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_jp.properties similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_jp.properties rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_jp.properties diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_nl_NL.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_nl_NL.properties similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_nl_NL.properties rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_nl_NL.properties diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_pl.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_pl.properties similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_pl.properties rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_pl.properties diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_pt_BR.properties similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_pt_BR.properties rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_pt_BR.properties diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_ru.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_ru.properties similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_ru.properties rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_ru.properties diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_zh_CN.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_zh_CN.properties similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_zh_CN.properties rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_zh_CN.properties diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_zh_TW.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_zh_TW.properties similarity index 100% rename from src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/_i18n/LocalStrings_zh_TW.properties rename to src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_zh_TW.properties diff --git a/src/main/java/org/olat/core/gui/components/rating/RatingComponent.java b/src/main/java/org/olat/core/gui/components/rating/RatingComponent.java index 923e997f0be328ed6476b8c6e3f7ac46283e4826..818c4e6dda0774799854cdf2d2b35ddcbfa614cb 100644 --- a/src/main/java/org/olat/core/gui/components/rating/RatingComponent.java +++ b/src/main/java/org/olat/core/gui/components/rating/RatingComponent.java @@ -100,10 +100,7 @@ public class RatingComponent extends AbstractComponent { */ protected void doDispatchRequest(UserRequest ureq) { setDirty(true); - String cmd = ureq.getParameter(VelocityContainer.COMMAND_ID); - if(log.isDebug()){ - log.debug("***RATING_CLICKED*** dispatchID::" + ureq.getComponentID() + " rating::" + cmd); - } + String cmd = ureq.getParameter(VelocityContainer.COMMAND_ID); try { float rating = Float.parseFloat(cmd); // update GUI @@ -123,8 +120,6 @@ public class RatingComponent extends AbstractComponent { return RENDERER; } - - // // Various getter and setter methods // @@ -149,7 +144,7 @@ public class RatingComponent extends AbstractComponent { throw new AssertException("Can not set rating at position::" + position + " in rating array of size::" + ratingLabels.size() + " in component::" + getComponentName()); } this.ratingLabels.set(position, ratingLabel); - this.setDirty(true); + setDirty(true); } public boolean isTranslateRatingLabels() { @@ -166,7 +161,7 @@ public class RatingComponent extends AbstractComponent { public void setTitle(String title) { this.title = title; - this.setDirty(true); + setDirty(true); } public boolean isTranslateTitle() { @@ -183,7 +178,7 @@ public class RatingComponent extends AbstractComponent { public void setExplanation(String explanation) { this.explanation = explanation; - this.setDirty(true); + setDirty(true); } public boolean isTranslateExplanation() { @@ -208,7 +203,7 @@ public class RatingComponent extends AbstractComponent { public void setAllowUserInput(boolean allowUserInput) { this.allowUserInput = allowUserInput; - this.setDirty(true); + setDirty(true); } public int getRatingSteps() { @@ -230,7 +225,7 @@ public class RatingComponent extends AbstractComponent { public void setCurrentRating(float currentRating) { this.currentRating = currentRating; - this.setDirty(true); + setDirty(true); } } diff --git a/src/main/java/org/olat/core/gui/components/rating/RatingFormItem.java b/src/main/java/org/olat/core/gui/components/rating/RatingFormItem.java index e735bcccdeb126d7b39c350f8cef5685fa135619..dc622bfec351c648ea12560caab6bb5de3384016 100644 --- a/src/main/java/org/olat/core/gui/components/rating/RatingFormItem.java +++ b/src/main/java/org/olat/core/gui/components/rating/RatingFormItem.java @@ -30,22 +30,31 @@ import org.olat.core.gui.components.form.flexible.impl.FormItemImpl; */ public class RatingFormItem extends FormItemImpl { - private float currentRating; + private float intialRating; private int maxRating; private boolean allowUserInput; private RatingComponent component; - public RatingFormItem(String name, float currentRating, int maxRating, boolean allowUserInput) { + public RatingFormItem(String name, float intialRating, int maxRating, boolean allowUserInput) { super(name); - this.currentRating = currentRating; + this.intialRating = intialRating; this.maxRating = maxRating; this.allowUserInput = allowUserInput; } public float getCurrentRating() { - return currentRating; + if(component != null) { + return component.getCurrentRating(); + } + return intialRating; + } + + public void setCurrentRating(float currentRating) { + if(component != null) { + component.setCurrentRating(currentRating); + } } @Override @@ -56,7 +65,7 @@ public class RatingFormItem extends FormItemImpl { @Override protected void rootFormAvailable() { if(component == null) { - component = new RatingComponent(null, getName(), currentRating, maxRating, allowUserInput, getRootForm()); + component = new RatingComponent(null, getName(), intialRating, maxRating, allowUserInput, getRootForm()); } } @@ -68,10 +77,8 @@ public class RatingFormItem extends FormItemImpl { @Override public void dispatchFormRequest(UserRequest ureq) { component.doDispatchRequest(ureq); - currentRating = component.getCurrentRating(); - - - getRootForm().fireFormEvent(ureq, new RatingFormEvent(this, currentRating)); + float newRating = getCurrentRating(); + getRootForm().fireFormEvent(ureq, new RatingFormEvent(this, newRating)); } @Override diff --git a/src/main/java/org/olat/core/gui/components/rating/RatingWithAverageFormItem.java b/src/main/java/org/olat/core/gui/components/rating/RatingWithAverageFormItem.java index 7f395b87dc29b5796b07a157ebc0919aa94fcaa3..9bac4e4d125be74cc4db29c2ef537e814744c661 100644 --- a/src/main/java/org/olat/core/gui/components/rating/RatingWithAverageFormItem.java +++ b/src/main/java/org/olat/core/gui/components/rating/RatingWithAverageFormItem.java @@ -36,8 +36,9 @@ import org.olat.core.gui.components.form.flexible.impl.FormItemImpl; */ public class RatingWithAverageFormItem extends FormItemImpl implements FormItemCollection { - private float userRating; - private int numOfRatings; + private float initialUserRating; + private float lastUserRating; + private long numOfRatings; private float averageRating; private int maxRating; @@ -45,11 +46,12 @@ public class RatingWithAverageFormItem extends FormItemImpl implements FormItemC private RatingFormItem averageComponent; private RatingWithAverageComponent component; - public RatingWithAverageFormItem(String name, float userRating, float averageRating, int maxRating, int numOfRatings) { + public RatingWithAverageFormItem(String name, float userRating, float averageRating, int maxRating, long numOfRatings) { super(name); this.maxRating = maxRating; - this.userRating = userRating; + this.initialUserRating = userRating; + this.lastUserRating = userRating; this.numOfRatings = numOfRatings; this.averageRating = averageRating; component = new RatingWithAverageComponent(name, this); @@ -89,7 +91,7 @@ public class RatingWithAverageFormItem extends FormItemImpl implements FormItemC @Override protected void rootFormAvailable() { if(userComponent == null) { - userComponent = new RatingFormItem("rusr_" + getName(), userRating, maxRating, true); + userComponent = new RatingFormItem("rusr_" + getName(), initialUserRating, maxRating, true); userComponent.setRootForm(getRootForm()); userComponent.rootFormAvailable(); userComponent.getComponent().addListener(component); @@ -101,7 +103,7 @@ public class RatingWithAverageFormItem extends FormItemImpl implements FormItemC averageComponent.setRootForm(getRootForm()); averageComponent.rootFormAvailable(); - String[] args = new String[]{ Integer.toString(numOfRatings)}; + String[] args = new String[]{ Long.toString(numOfRatings)}; String explanation = translator.translate("rating.average.explanation", args); averageComponent.getFormItemComponent().setExplanation(explanation); averageComponent.getFormItemComponent().setTranslateExplanation(false); @@ -116,8 +118,29 @@ public class RatingWithAverageFormItem extends FormItemImpl implements FormItemC @Override public void dispatchFormRequest(UserRequest ureq) { - userRating = userComponent.getCurrentRating(); - getRootForm().fireFormEvent(ureq, new RatingFormEvent(this, userRating)); + float newUserRating = userComponent.getCurrentRating(); + getRootForm().fireFormEvent(ureq, new RatingFormEvent(this, newUserRating)); + + long correctedNumOfRatings = numOfRatings; + if(initialUserRating <= 0f) { + String[] args = new String[]{ Long.toString(++correctedNumOfRatings)}; + String explanation = translator.translate("rating.average.explanation", args); + averageComponent.getFormItemComponent().setExplanation(explanation); + } + + float newAverageRating; + if(lastUserRating > 0f) { + float sumOfRatings = correctedNumOfRatings * averageComponent.getCurrentRating(); + float newSumOfRatings = (sumOfRatings - lastUserRating) + newUserRating; + newAverageRating = newSumOfRatings / correctedNumOfRatings; + } else { + float sumOfRatings = numOfRatings * averageComponent.getCurrentRating(); + float newSumOfRatings = sumOfRatings + newUserRating; + newAverageRating = newSumOfRatings / correctedNumOfRatings; + } + averageComponent.setCurrentRating(newAverageRating); + + lastUserRating = newUserRating; component.setDirty(true); } diff --git a/src/main/java/org/olat/course/CourseFactory.java b/src/main/java/org/olat/course/CourseFactory.java index be9a26bef611f30e1fe7c533b553bca8d8fc83d5..02d4e7b0b87aa3bd7e4d5fbacdacbeec79cdcf2f 100644 --- a/src/main/java/org/olat/course/CourseFactory.java +++ b/src/main/java/org/olat/course/CourseFactory.java @@ -638,7 +638,7 @@ public class CourseFactory extends BasicManager { re.setAccess(access); // save the repository entry - repositoryManager.saveRepositoryEntry(re); + repositoryService.update(re); //import groups course = openCourseEditSession(course.getResourceableId()); diff --git a/src/main/java/org/olat/course/repository/ImportGlossaryReferencesController.java b/src/main/java/org/olat/course/repository/ImportGlossaryReferencesController.java index 0d5f597527780b985ba7a238ebce350db2397976..5675858310865f3d05b879e97427789e69a1d7b0 100644 --- a/src/main/java/org/olat/course/repository/ImportGlossaryReferencesController.java +++ b/src/main/java/org/olat/course/repository/ImportGlossaryReferencesController.java @@ -60,7 +60,6 @@ import org.olat.modules.glossary.GlossaryManager; import org.olat.repository.DetailsReadOnlyForm; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntryImportExport; -import org.olat.repository.RepositoryManager; import org.olat.repository.RepositoryService; import org.olat.repository.controllers.ReferencableEntriesSearchController; import org.olat.repository.handlers.RepositoryHandler; @@ -189,7 +188,6 @@ public class ImportGlossaryReferencesController extends BasicController { } // create repository entry - RepositoryManager rm = RepositoryManager.getInstance(); RepositoryService repositoryService = CoreSpringFactory.getImpl(RepositoryService.class); OLATResource ores = OLATResourceManager.getInstance().findOrPersistResourceable(resource); @@ -201,7 +199,7 @@ public class ImportGlossaryReferencesController extends BasicController { RepositoryHandler rh = RepositoryHandlerFactory.getInstance().getRepositoryHandler(importedRepositoryEntry); importedRepositoryEntry.setCanLaunch(rh.supportsLaunch(importedRepositoryEntry)); - rm.saveRepositoryEntry(importedRepositoryEntry); + repositoryService.update(importedRepositoryEntry); if (!keepSoftkey) { // set the new glossary reference diff --git a/src/main/java/org/olat/course/repository/ImportReferencesController.java b/src/main/java/org/olat/course/repository/ImportReferencesController.java index f2df9c92b8499b30fa9b34d0589d219c008e7646..f7bd15820949ac547d12ae80e3f029dff2baf8f0 100644 --- a/src/main/java/org/olat/course/repository/ImportReferencesController.java +++ b/src/main/java/org/olat/course/repository/ImportReferencesController.java @@ -334,7 +334,7 @@ public class ImportReferencesController extends BasicController { RepositoryHandler rh = RepositoryHandlerFactory.getInstance().getRepositoryHandler(importedRepositoryEntry); importedRepositoryEntry.setCanLaunch(rh.supportsLaunch(importedRepositoryEntry)); - rm.saveRepositoryEntry(importedRepositoryEntry); + repositoryService.update(importedRepositoryEntry); if (!keepSoftkey) setReference(importedRepositoryEntry, node, importMode); diff --git a/src/main/java/org/olat/course/repository/ImportSharedfolderReferencesController.java b/src/main/java/org/olat/course/repository/ImportSharedfolderReferencesController.java index 79fc40b983c7ce403ee5eb53d7104fb94b3537fe..1f9dcd957f04f7d28c2b4f8663f7aba4bb3c229b 100644 --- a/src/main/java/org/olat/course/repository/ImportSharedfolderReferencesController.java +++ b/src/main/java/org/olat/course/repository/ImportSharedfolderReferencesController.java @@ -58,7 +58,6 @@ import org.olat.modules.sharedfolder.SharedFolderManager; import org.olat.repository.DetailsReadOnlyForm; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntryImportExport; -import org.olat.repository.RepositoryManager; import org.olat.repository.RepositoryService; import org.olat.repository.controllers.ReferencableEntriesSearchController; import org.olat.repository.handlers.RepositoryHandler; @@ -169,7 +168,6 @@ public class ImportSharedfolderReferencesController extends BasicController { log.warn("The actual contents of the shared folder were not found in the export."); } // create repository entry - RepositoryManager rm = RepositoryManager.getInstance(); RepositoryService repositoryService = CoreSpringFactory.getImpl(RepositoryService.class); OLATResource ores = OLATResourceManager.getInstance().findOrPersistResourceable(resource); RepositoryEntry importedRepositoryEntry = repositoryService.create(owner, importExport.getResourceName(), @@ -182,7 +180,7 @@ public class ImportSharedfolderReferencesController extends BasicController { RepositoryHandler rh = RepositoryHandlerFactory.getInstance().getRepositoryHandler(importedRepositoryEntry); importedRepositoryEntry.setCanLaunch(rh.supportsLaunch(importedRepositoryEntry)); - rm.saveRepositoryEntry(importedRepositoryEntry); + repositoryService.update(importedRepositoryEntry); if (!keepSoftkey) { // set the new shared folder reference diff --git a/src/main/java/org/olat/modules/qpool/ui/QuestionItemDetailsController.java b/src/main/java/org/olat/modules/qpool/ui/QuestionItemDetailsController.java index 9e4aa2a281622bb4770f085389439803f8d1185d..7e1fd7976ba548144507e99fb96a42273f0f140e 100644 --- a/src/main/java/org/olat/modules/qpool/ui/QuestionItemDetailsController.java +++ b/src/main/java/org/olat/modules/qpool/ui/QuestionItemDetailsController.java @@ -24,8 +24,9 @@ import java.util.List; import org.olat.core.CoreSpringFactory; import org.olat.core.commons.fullWebApp.LayoutMain3ColsController; -import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; -import org.olat.core.commons.services.commentAndRating.impl.ui.UserCommentsAndRatingsController; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingDefaultSecurityCallback; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingSecurityCallback; +import org.olat.core.commons.services.commentAndRating.ui.UserCommentsAndRatingsController; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; @@ -95,9 +96,8 @@ public class QuestionItemDetailsController extends BasicController implements St Roles roles = ureq.getUserSession().getRoles(); boolean moderator = roles.isOLATAdmin(); boolean anonymous = roles.isGuestOnly() || roles.isInvitee(); - CommentAndRatingService commentAndRatingService = CoreSpringFactory.getImpl(CommentAndRatingService.class); - commentAndRatingService.init(getIdentity(), item, null, moderator, anonymous); - commentsAndRatingCtr = commentAndRatingService.createUserCommentsAndRatingControllerExpandable(ureq, getWindowControl()); + CommentAndRatingSecurityCallback secCallback = new CommentAndRatingDefaultSecurityCallback(getIdentity(), moderator, anonymous); + commentsAndRatingCtr = new UserCommentsAndRatingsController(ureq, getWindowControl(), item, null, secCallback, true, true, true); listenTo(commentsAndRatingCtr); mainVC = createVelocityContainer("item_details"); diff --git a/src/main/java/org/olat/modules/webFeed/managers/FeedManagerImpl.java b/src/main/java/org/olat/modules/webFeed/managers/FeedManagerImpl.java index c13a725cda0312fdfc7b49917ab65c9157b5d7fa..397251357ee7c2ce710416c59f6cea1aa5c808e4 100644 --- a/src/main/java/org/olat/modules/webFeed/managers/FeedManagerImpl.java +++ b/src/main/java/org/olat/modules/webFeed/managers/FeedManagerImpl.java @@ -209,11 +209,7 @@ public class FeedManagerImpl extends FeedManager { fileResourceManager.deleteFileResource(feed); // Delete comments and ratings CommentAndRatingService commentAndRatingService = CoreSpringFactory.getImpl(CommentAndRatingService.class); - if (commentAndRatingService != null) { - commentAndRatingService.init(null, feed, null, true, false); - commentAndRatingService.deleteAllIgnoringSubPath(); - } - // + commentAndRatingService.deleteAllIgnoringSubPath(feed); feed = null; } @@ -615,11 +611,7 @@ public class FeedManagerImpl extends FeedManager { // Delete comments and ratings CommentAndRatingService commentAndRatingService = CoreSpringFactory.getImpl(CommentAndRatingService.class); - if (commentAndRatingService != null) { - commentAndRatingService.init(null, feed, item.getGuid(), true, false); - commentAndRatingService.deleteAll(); - } - // + commentAndRatingService.deleteAll(feed, item.getGuid()); return reloadedFeed; } }); diff --git a/src/main/java/org/olat/modules/webFeed/ui/ItemController.java b/src/main/java/org/olat/modules/webFeed/ui/ItemController.java index 064aafab81d1a12dd8ced135bf14160698e9828f..38b2c1baa56cc98d42d96e032fa9b7d599ecde44 100644 --- a/src/main/java/org/olat/modules/webFeed/ui/ItemController.java +++ b/src/main/java/org/olat/modules/webFeed/ui/ItemController.java @@ -21,9 +21,9 @@ package org.olat.modules.webFeed.ui; import java.util.List; -import org.olat.core.CoreSpringFactory; -import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; -import org.olat.core.commons.services.commentAndRating.impl.ui.UserCommentsAndRatingsController; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingDefaultSecurityCallback; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingSecurityCallback; +import org.olat.core.commons.services.commentAndRating.ui.UserCommentsAndRatingsController; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.date.DateComponentFactory; @@ -83,10 +83,10 @@ public class ItemController extends BasicController implements Activateable2 { DateComponentFactory.createDateComponentWithYear("dateComp", item.getDate(), vcItem); } // Add rating and commenting controller - only when configured - final CommentAndRatingService commentAndRatingService = (CommentAndRatingService) CoreSpringFactory.getBean(CommentAndRatingService.class); - if (commentAndRatingService != null && displayConfig.isShowCRInDetails()) { - commentAndRatingService.init(getIdentity(), feed, item.getGuid(), callback.mayEditMetadata(), ureq.getUserSession().getRoles().isGuestOnly()); - commentsCtr = commentAndRatingService.createUserCommentsAndRatingControllerExpandable(ureq, getWindowControl()); + if (displayConfig.isShowCRInDetails()) { + boolean anonym = ureq.getUserSession().getRoles().isGuestOnly(); + CommentAndRatingSecurityCallback secCallback = new CommentAndRatingDefaultSecurityCallback(getIdentity(), callback.mayEditMetadata(), anonym); + commentsCtr = new UserCommentsAndRatingsController(ureq, getWindowControl(), feed, item.getGuid(), secCallback, true, true, true); listenTo(commentsCtr); vcItem.put("commentsAndRating", commentsCtr.getInitialComponent()); } diff --git a/src/main/java/org/olat/modules/webFeed/ui/ItemsController.java b/src/main/java/org/olat/modules/webFeed/ui/ItemsController.java index b676b375be4f2ff6763229c305bc31d2f5135266..50641f427de11de6c033517384c4529afb72664e 100644 --- a/src/main/java/org/olat/modules/webFeed/ui/ItemsController.java +++ b/src/main/java/org/olat/modules/webFeed/ui/ItemsController.java @@ -31,8 +31,10 @@ import org.olat.core.CoreSpringFactory; import org.olat.core.commons.controllers.navigation.Dated; import org.olat.core.commons.controllers.navigation.NavigationEvent; import org.olat.core.commons.controllers.navigation.YearNavigationController; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingDefaultSecurityCallback; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingSecurityCallback; import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; -import org.olat.core.commons.services.commentAndRating.impl.ui.UserCommentsAndRatingsController; +import org.olat.core.commons.services.commentAndRating.ui.UserCommentsAndRatingsController; import org.olat.core.gui.UserRequest; import org.olat.core.gui.Windows; import org.olat.core.gui.components.Component; @@ -269,9 +271,9 @@ public class ItemsController extends BasicController implements Activateable2 { removeAsListenerAndDispose(commentsLinks.get(item)); } - CommentAndRatingService commentAndRatingService = (CommentAndRatingService) CoreSpringFactory.getBean(CommentAndRatingService.class); - commentAndRatingService.init(getIdentity(), feed, item.getGuid(), callback.mayEditMetadata(), ureq.getUserSession().getRoles().isGuestOnly()); - UserCommentsAndRatingsController commentsAndRatingCtr = commentAndRatingService.createUserCommentsAndRatingControllerMinimized(ureq, getWindowControl()); + boolean anonym = ureq.getUserSession().getRoles().isGuestOnly(); + CommentAndRatingSecurityCallback secCallback = new CommentAndRatingDefaultSecurityCallback(getIdentity(), callback.mayEditMetadata(), anonym); + UserCommentsAndRatingsController commentsAndRatingCtr = new UserCommentsAndRatingsController(ureq, getWindowControl(), feed, item.getGuid(), secCallback, true, true, false); commentsAndRatingCtr.addUserObject(item); listenTo(commentsAndRatingCtr); commentsLinks.put(item, commentsAndRatingCtr); diff --git a/src/main/java/org/olat/portfolio/manager/EPStructureManager.java b/src/main/java/org/olat/portfolio/manager/EPStructureManager.java index cad72449936bcf0a1b8eb98c0325dd9fb16d2939..477add4cb9d4c603c08a3516886a97448b75f843 100755 --- a/src/main/java/org/olat/portfolio/manager/EPStructureManager.java +++ b/src/main/java/org/olat/portfolio/manager/EPStructureManager.java @@ -45,7 +45,6 @@ import org.olat.core.commons.persistence.DB; import org.olat.core.commons.persistence.DBQuery; import org.olat.core.commons.persistence.PersistentObject; import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; -import org.olat.core.commons.services.commentAndRating.impl.CommentAndRatingDefaultSecurityCallback; import org.olat.core.commons.services.notifications.NotificationsManager; import org.olat.core.commons.services.notifications.SubscriptionContext; import org.olat.core.id.Identity; @@ -1075,11 +1074,8 @@ public class EPStructureManager extends BasicManager { } // remove comments and ratings - CommentAndRatingService commentAndRatingService = null; - commentAndRatingService = (CommentAndRatingService) CoreSpringFactory.getBean(CommentAndRatingService.class); - commentAndRatingService.init(struct.getOlatResource(), null, new CommentAndRatingDefaultSecurityCallback(null, true, false)); - commentAndRatingService.deleteAllIgnoringSubPath(); - + CommentAndRatingService commentAndRatingService = CoreSpringFactory.getImpl(CommentAndRatingService.class); + commentAndRatingService.deleteAllIgnoringSubPath(struct.getOlatResource()); // FXOLAT-431 remove subscriptions if the current struct is a map if(struct instanceof EPAbstractMap){ @@ -1863,7 +1859,7 @@ public class EPStructureManager extends BasicManager { // Set the resource on the repository entry and save the entry. // bind resource and repository entry - repositoryManager.saveRepositoryEntry(addedEntry); + repositoryService.update(addedEntry); return addedEntry; } diff --git a/src/main/java/org/olat/portfolio/ui/structel/EPPageViewController.java b/src/main/java/org/olat/portfolio/ui/structel/EPPageViewController.java index 9d48ff18211d4c53db285a7164ea249dcbc1bf76..3c8c00f0f4f861588dc348d2e0dfb6d217cd79fe 100644 --- a/src/main/java/org/olat/portfolio/ui/structel/EPPageViewController.java +++ b/src/main/java/org/olat/portfolio/ui/structel/EPPageViewController.java @@ -22,8 +22,9 @@ package org.olat.portfolio.ui.structel; import java.util.List; import org.olat.core.CoreSpringFactory; -import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; -import org.olat.core.commons.services.commentAndRating.impl.ui.UserCommentsAndRatingsController; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingDefaultSecurityCallback; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingSecurityCallback; +import org.olat.core.commons.services.commentAndRating.ui.UserCommentsAndRatingsController; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.velocity.VelocityContainer; @@ -54,25 +55,23 @@ import org.olat.portfolio.ui.structel.edit.EPCollectRestrictionResultController; public class EPPageViewController extends BasicController { private EPPage page; + private PortfolioStructure map; private final VelocityContainer vC; private final EPSecurityCallback secCallback; private EPCollectRestrictionResultController resultCtrl; private final EPFrontendManager ePFMgr; - private final CommentAndRatingService commentAndRatingService; private UserCommentsAndRatingsController commentsAndRatingCtr; public EPPageViewController(UserRequest ureq, WindowControl wControl, PortfolioStructure map, EPPage page, boolean withComments, EPSecurityCallback secCallback) { super(ureq, wControl); vC = createVelocityContainer("pageView"); + this.map = map; this.page = page; this.secCallback = secCallback; ePFMgr = CoreSpringFactory.getImpl(EPFrontendManager.class); - - commentAndRatingService = (CommentAndRatingService) CoreSpringFactory.getBean(CommentAndRatingService.class); - commentAndRatingService.init(getIdentity(), map.getOlatResource(), page.getKey().toString(), false, ureq.getUserSession().getRoles().isGuestOnly()); - + init(ureq); if(withComments && commentsAndRatingCtr != null) { @@ -137,8 +136,10 @@ public class EPPageViewController extends BasicController { vC.remove(vC.getComponent("commentCtrl")); if(secCallback.canCommentAndRate()) { removeAsListenerAndDispose(commentsAndRatingCtr); - commentsAndRatingCtr = commentAndRatingService.createUserCommentsAndRatingControllerExpandable(ureq, getWindowControl()); - //commentsAndRatingCtr.expandComments(ureq); + + boolean anonym = ureq.getUserSession().getRoles().isGuestOnly(); + CommentAndRatingSecurityCallback secCallback = new CommentAndRatingDefaultSecurityCallback(getIdentity(), false, anonym); + commentsAndRatingCtr = new UserCommentsAndRatingsController(ureq, getWindowControl(), map.getOlatResource(), page.getKey().toString(), secCallback, true, true, true); listenTo(commentsAndRatingCtr); vC.put("commentCtrl", commentsAndRatingCtr.getInitialComponent()); } diff --git a/src/main/java/org/olat/portfolio/ui/structel/view/EPTOCReadOnlyController.java b/src/main/java/org/olat/portfolio/ui/structel/view/EPTOCReadOnlyController.java index 2b44193d4c3ebcaf135c327e7009c950143f115f..987936c1b0ff6c80a2c9f3f3e25bc44fe29db122 100644 --- a/src/main/java/org/olat/portfolio/ui/structel/view/EPTOCReadOnlyController.java +++ b/src/main/java/org/olat/portfolio/ui/structel/view/EPTOCReadOnlyController.java @@ -23,9 +23,11 @@ import java.util.ArrayList; import java.util.List; import org.olat.core.CoreSpringFactory; -import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; -import org.olat.core.commons.services.commentAndRating.impl.ui.UserCommentsAndRatingsController; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingDefaultSecurityCallback; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingSecurityCallback; +import org.olat.core.commons.services.commentAndRating.manager.UserCommentsDAO; import org.olat.core.commons.services.commentAndRating.model.UserCommentsCount; +import org.olat.core.commons.services.commentAndRating.ui.UserCommentsAndRatingsController; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; @@ -66,7 +68,6 @@ public class EPTOCReadOnlyController extends BasicController { private VelocityContainer vC; private EPFrontendManager ePFMgr; private List<UserCommentsCount> commentCounts; - private final CommentAndRatingService commentAndRatingService; private UserCommentsAndRatingsController commentsAndRatingCtr; private PortfolioStructure map; private EPSecurityCallback secCallback; @@ -80,9 +81,8 @@ public class EPTOCReadOnlyController extends BasicController { this.secCallback = secCallback; ePFMgr = (EPFrontendManager) CoreSpringFactory.getBean("epFrontendManager"); - commentAndRatingService = (CommentAndRatingService) CoreSpringFactory.getBean(CommentAndRatingService.class); - commentAndRatingService.init(getIdentity(), map.getOlatResource(), null, false, ureq.getUserSession().getRoles().isGuestOnly()); - commentCounts = commentAndRatingService.getUserCommentsManager().countCommentsWithSubPath(); + commentCounts = CoreSpringFactory.getImpl(UserCommentsDAO.class).countCommentsWithSubPath(map.getOlatResource(), null); + vC = createVelocityContainer("toc"); // have a toggle to show with/without artefacts @@ -102,7 +102,9 @@ public class EPTOCReadOnlyController extends BasicController { if (secCallback.canCommentAndRate()) { removeAsListenerAndDispose(commentsAndRatingCtr); - commentsAndRatingCtr = commentAndRatingService.createUserCommentsAndRatingControllerExpandable(ureq, getWindowControl()); + boolean anonym = ureq.getUserSession().getRoles().isGuestOnly(); + CommentAndRatingSecurityCallback secCallback = new CommentAndRatingDefaultSecurityCallback(getIdentity(), false, anonym); + commentsAndRatingCtr = new UserCommentsAndRatingsController(ureq, getWindowControl(), map.getOlatResource(), null, secCallback, true, true, true); listenTo(commentsAndRatingCtr); vC.put("commentCtrl", commentsAndRatingCtr.getInitialComponent()); } diff --git a/src/main/java/org/olat/repository/RepositoryEntryMyView.java b/src/main/java/org/olat/repository/RepositoryEntryMyView.java index 61f6465f8be7835cd2328fe0582a59aa6fe9e550..32d14225bf0af2d1a1e5a2c283aa179605ad7bcb 100644 --- a/src/main/java/org/olat/repository/RepositoryEntryMyView.java +++ b/src/main/java/org/olat/repository/RepositoryEntryMyView.java @@ -71,6 +71,20 @@ public interface RepositoryEntryMyView extends OLATResourceable { public Long getTimeSpend(); + /** + * @return The rating made by the user or null if the user has never rated the entry + */ + public Integer getMyRating(); + + /** + * @return The average rating of this entry, or null if the entry was never rated + */ + public Float getAverageRating(); + + public long getNumOfRatings(); + + public long getNumOfComments(); + /** * @return True if some offers are currently available */ diff --git a/src/main/java/org/olat/repository/RepositoryManager.java b/src/main/java/org/olat/repository/RepositoryManager.java index f921aee69cfd7233ed0bb9ce6b993984bda447fb..b09ef8cbd327b6ab61fe276b5ec31df41dc16558 100644 --- a/src/main/java/org/olat/repository/RepositoryManager.java +++ b/src/main/java/org/olat/repository/RepositoryManager.java @@ -51,7 +51,6 @@ import org.olat.catalog.CatalogManager; import org.olat.core.CoreSpringFactory; import org.olat.core.commons.modules.bc.FolderConfig; 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.persistence.PersistenceHelper; import org.olat.core.commons.services.mark.MarkManager; @@ -90,6 +89,8 @@ import org.olat.resource.OLATResource; import org.olat.resource.OLATResourceManager; import org.olat.resource.accesscontrol.manager.ACReservationDAO; import org.olat.resource.accesscontrol.model.ResourceReservation; +import org.olat.search.service.document.RepositoryEntryDocument; +import org.olat.search.service.indexer.LifeFullIndexer; import org.olat.user.UserImpl; import org.olat.util.logging.activity.LoggingResourceable; import org.springframework.beans.factory.annotation.Autowired; @@ -122,55 +123,8 @@ public class RepositoryManager extends BasicManager { private RepositoryEntryRelationDAO repositoryEntryRelationDao; @Autowired private ACReservationDAO reservationDao; - - - /** - * [used by Spring] - * @param repositoryModule - */ - public void setRepositoryModule(RepositoryModule repositoryModule) { - this.repositoryModule = repositoryModule; - } - - /** - * [used by Spring] - * @param reservationDao - */ - public void setReservationDao(ACReservationDAO reservationDao) { - this.reservationDao = reservationDao; - } - - /** - * [used by Spring] - * @param securityManager - */ - public void setSecurityManager(BaseSecurity securityManager) { - this.securityManager = securityManager; - } - - /** - * [used by Spring] - * @param userCourseInformationsManager - */ - public void setUserCourseInformationsManager(UserCourseInformationsManager userCourseInformationsManager) { - this.userCourseInformationsManager = userCourseInformationsManager; - } - - /** - * [used by Spring] - * @param userCourseInformationsManager - */ - public void setImageHelper(ImageHelper imageHelper) { - this.imageHelper = imageHelper; - } - - /** - * [used by Spring] - * @param dbInstance - */ - public void setDbInstance(DB dbInstance) { - this.dbInstance = dbInstance; - } + @Autowired + private LifeFullIndexer lifeIndexer; /** * @return Singleton. @@ -186,21 +140,12 @@ public class RepositoryManager extends BasicManager { return new RepositoryEntryStatus(repositoryEntryStatusCode); } - /** - * Save repo entry. - * @param re - */ - public void saveRepositoryEntry(RepositoryEntry re) { - re.setLastModified(new Date()); - DBFactory.getInstance().saveObject(re); - } - /** * Delete repo entry. * @param re */ public void deleteRepositoryEntry(RepositoryEntry re) { - re = (RepositoryEntry) DBFactory.getInstance().loadObject(re,true); + re = (RepositoryEntry) dbInstance.loadObject(re,true); dbInstance.getCurrentEntityManager().remove(re); //TODO:pb:b this should be called in a RepoEntryImageManager.delete //instead of a controller. @@ -282,7 +227,7 @@ public class RepositoryManager extends BasicManager { public boolean deleteRepositoryEntryWithAllData(UserRequest ureq, WindowControl wControl, RepositoryEntry entry) { // invoke handler delete callback logDebug("deleteRepositoryEntry start entry=" + entry); - entry = (RepositoryEntry) DBFactory.getInstance().loadObject(entry,true); + entry = (RepositoryEntry) dbInstance.loadObject(entry,true); logDebug("deleteRepositoryEntry after load entry=" + entry); RepositoryHandler handler = RepositoryHandlerFactory.getInstance().getRepositoryHandler(entry); OLATResource resource = entry.getOlatResource(); @@ -667,8 +612,10 @@ public class RepositoryManager extends BasicManager { reloadedRe.setAccess(access); reloadedRe.setMembersOnly(membersOnly); } + reloadedRe.setLastModified(new Date()); RepositoryEntry updatedRe = dbInstance.getCurrentEntityManager().merge(reloadedRe); dbInstance.commit(); + lifeIndexer.indexDocument(RepositoryEntryDocument.TYPE, updatedRe.getKey()); return updatedRe; } @@ -687,8 +634,10 @@ public class RepositoryManager extends BasicManager { if(StringHelper.containsNonWhitespace(description)) { reloadedRe.setDescription(description); } + reloadedRe.setLastModified(new Date()); RepositoryEntry updatedRe = dbInstance.getCurrentEntityManager().merge(reloadedRe); dbInstance.commit(); + lifeIndexer.indexDocument(RepositoryEntryDocument.TYPE, updatedRe.getKey()); return updatedRe; } @@ -723,13 +672,14 @@ public class RepositoryManager extends BasicManager { } } reloadedRe.setLifecycle(cycle); - - RepositoryEntry updatedRe = DBFactory.getInstance().getCurrentEntityManager().merge(reloadedRe); + reloadedRe.setLastModified(new Date()); + RepositoryEntry updatedRe = dbInstance.getCurrentEntityManager().merge(reloadedRe); if(cycleToDelete != null) { dbInstance.getCurrentEntityManager().remove(cycleToDelete); } dbInstance.commit(); + lifeIndexer.indexDocument(RepositoryEntryDocument.TYPE, updatedRe.getKey()); return updatedRe; } @@ -753,13 +703,14 @@ public class RepositoryManager extends BasicManager { } } reloadedRe.setLifecycle(cycle); - + reloadedRe.setLastModified(new Date()); RepositoryEntry updatedRe = dbInstance.getCurrentEntityManager().merge(reloadedRe); if(cycleToDelete != null) { dbInstance.getCurrentEntityManager().remove(cycleToDelete); } dbInstance.commit(); + lifeIndexer.indexDocument(RepositoryEntryDocument.TYPE, updatedRe.getKey()); return updatedRe; } @@ -839,7 +790,7 @@ public class RepositoryManager extends BasicManager { " org.olat.repository.RepositoryEntry v, " + " org.olat.resource.OLATResourceImpl res " + " where v.olatResource = res and res.resName= :restrictedType and v.access >= :restrictedAccess "); - DBQuery dbquery = DBFactory.getInstance().createQuery(query.toString()); + DBQuery dbquery = dbInstance.createQuery(query.toString()); dbquery.setString("restrictedType", restrictedType); dbquery.setInteger("restrictedAccess", restrictedAccess); dbquery.setCacheable(true); @@ -976,7 +927,7 @@ public class RepositoryManager extends BasicManager { */ public List<RepositoryEntry> queryByInitialAuthor(String initialAuthor) { String query = "select v from org.olat.repository.RepositoryEntry v where v.initialAuthor= :initialAuthor"; - DBQuery dbquery = DBFactory.getInstance().createQuery(query); + DBQuery dbquery = dbInstance.createQuery(query); dbquery.setString("initialAuthor", initialAuthor); return dbquery.list(); } diff --git a/src/main/java/org/olat/repository/RepositoryService.java b/src/main/java/org/olat/repository/RepositoryService.java index 84977e9286d0649a6aedb49dd0cb27ffb94e530e..b162f9d05ebc136a8775f4778df6e9dee5405d9f 100644 --- a/src/main/java/org/olat/repository/RepositoryService.java +++ b/src/main/java/org/olat/repository/RepositoryService.java @@ -46,6 +46,8 @@ public interface RepositoryService { public RepositoryEntry loadByKey(Long key); + public RepositoryEntry update(RepositoryEntry re); + public void incrementLaunchCounter(RepositoryEntry re); diff --git a/src/main/java/org/olat/repository/SearchMyRepositoryEntryViewParams.java b/src/main/java/org/olat/repository/SearchMyRepositoryEntryViewParams.java index 111d921cd8eed713ba4ce288ef86a8d6c940e368..2faa0cdeeb266d142d25f6969012a382977f2d1a 100644 --- a/src/main/java/org/olat/repository/SearchMyRepositoryEntryViewParams.java +++ b/src/main/java/org/olat/repository/SearchMyRepositoryEntryViewParams.java @@ -43,6 +43,7 @@ public class SearchMyRepositoryEntryViewParams { private List<Filter> filters; private CatalogEntry parentEntry; private List<String> resourceTypes; + private List<Long> repoEntryKeys; public SearchMyRepositoryEntryViewParams(Identity identity, Roles roles, String... resourceTypes) { this.identity = identity; @@ -66,6 +67,14 @@ public class SearchMyRepositoryEntryViewParams { this.membershipMandatory = membershipMandatory; } + public List<Long> getRepoEntryKeys() { + return repoEntryKeys; + } + + public void setRepoEntryKeys(List<Long> repoEntryKeys) { + this.repoEntryKeys = repoEntryKeys; + } + public OrderBy getOrderBy() { return orderBy; } 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 aa536edd20e4c5f4a6868ed7c2f668f0cdfe140c..0f0d11cbe95923a2ff9b3dc85665bc005d4667cd 100644 --- a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties @@ -20,7 +20,7 @@ FileResource.SURVEY=Fragebogen FileResource.TEST=Test FileResource.WIKI=Wiki FileResource.XLS=Excel - +comments=Kommentar passed.true=$org.olat.course.assessment\:passed.true passed.false=$org.olat.course.assessment\:passed.false NoImage=Dieses Dateiformat kann nicht als Bild hochgeladen werden. diff --git a/src/main/java/org/olat/repository/controllers/RepositoryAddController.java b/src/main/java/org/olat/repository/controllers/RepositoryAddController.java index f1418f5f9a7c676059addb2e00e087b6088c20c4..bac64339f61795813743d521464c82edfbe50421 100644 --- a/src/main/java/org/olat/repository/controllers/RepositoryAddController.java +++ b/src/main/java/org/olat/repository/controllers/RepositoryAddController.java @@ -394,8 +394,7 @@ public class RepositoryAddController extends BasicController { addedEntry.setCanLaunch(typeToAdd.supportsLaunch(addedEntry)); // Set the resource on the repository entry and save the entry. - RepositoryManager rm = RepositoryManager.getInstance(); - rm.saveRepositoryEntry(addedEntry); + repositoryService.update(addedEntry); removeAsListenerAndDispose(detailsController); detailsController = new RepositoryEditDescriptionController(ureq, getWindowControl(), addedEntry, true); diff --git a/src/main/java/org/olat/repository/controllers/RepositoryCopyController.java b/src/main/java/org/olat/repository/controllers/RepositoryCopyController.java index 5dbbd9d99207b7203a41c290412a838806a256b7..8271821158a0b2ffe568768ce9a346aca000ec3f 100644 --- a/src/main/java/org/olat/repository/controllers/RepositoryCopyController.java +++ b/src/main/java/org/olat/repository/controllers/RepositoryCopyController.java @@ -181,7 +181,7 @@ public class RepositoryCopyController extends BasicController { RepositoryEntry preparedEntry = repositoryService.create(ureq.getIdentity(), resName, newDispalyname, src.getDescription(), ores); preparedEntry.setCanDownload(src.getCanDownload()); preparedEntry.setCanLaunch(src.getCanLaunch()); - RepositoryManager.getInstance().saveRepositoryEntry(preparedEntry); + repositoryService.update(preparedEntry); // copy image if available RepositoryManager.getInstance().copyImage(src, preparedEntry); return preparedEntry; diff --git a/src/main/java/org/olat/repository/manager/RepositoryEntryDAO.java b/src/main/java/org/olat/repository/manager/RepositoryEntryDAO.java index b8faae907a687b328b8952ccece0da12ceeb66c1..4dff8bbfd798da011f37e3e85992e36db3ee45f0 100644 --- a/src/main/java/org/olat/repository/manager/RepositoryEntryDAO.java +++ b/src/main/java/org/olat/repository/manager/RepositoryEntryDAO.java @@ -56,5 +56,19 @@ public class RepositoryEntryDAO { return entries.get(0); } + + public List<RepositoryEntry> getAllRepositoryEntries(int firstResult, int maxResults) { + StringBuilder sb = new StringBuilder(); + sb.append("select v from ").append(RepositoryEntry.class.getName()).append(" as v ") + .append(" inner join fetch v.olatResource as ores") + .append(" inner join fetch v.statistics as statistics") + .append(" left join fetch v.lifecycle as lifecycle"); + + return dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), RepositoryEntry.class) + .setFirstResult(firstResult) + .setMaxResults(maxResults) + .getResultList(); + } } diff --git a/src/main/java/org/olat/repository/manager/RepositoryEntryDocumentFactory.java b/src/main/java/org/olat/repository/manager/RepositoryEntryDocumentFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..ee9745bac586553cc6ceeacd3587ed2517afcd77 --- /dev/null +++ b/src/main/java/org/olat/repository/manager/RepositoryEntryDocumentFactory.java @@ -0,0 +1,78 @@ +/** + * <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.manager; + +import org.apache.lucene.document.Document; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryService; +import org.olat.search.model.OlatDocument; +import org.olat.search.service.SearchResourceContext; +import org.olat.search.service.document.RepositoryEntryDocument; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * + * Initial date: 13.03.2014<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service +public class RepositoryEntryDocumentFactory { + + @Autowired + private RepositoryService repositoryService; + + + public String getResourceUrl(Long itemKey) { + return "[RepositoryEntry:" + itemKey + "]"; + } + + public Document createDocument(SearchResourceContext searchResourceContext, Long repoEntryKey) { + RepositoryEntry re = repositoryService.loadByKey(repoEntryKey); + if(re != null) { + return createDocument(searchResourceContext, re); + } + return null; + } + + public Document createDocument(SearchResourceContext searchResourceContext, RepositoryEntry re) { + OlatDocument oDocument = new OlatDocument(); + oDocument.setId(re.getKey()); + oDocument.setCreatedDate(re.getCreationDate()); + oDocument.setLastChange(re.getLastModified()); + oDocument.setTitle(re.getDisplayname()); + oDocument.setDescription(re.getDescription()); + oDocument.setResourceUrl(getResourceUrl(re.getKey())); + oDocument.setDocumentType(RepositoryEntryDocument.TYPE); + oDocument.setCssIcon("o_qitem_icon"); + + String docType = RepositoryEntryDocument.TYPE + re.getOlatResource().getResourceableTypeName(); + oDocument.setDocumentType(docType); + oDocument.setCssIcon(RepositoryEntryDocument.getIconCss(docType)); + oDocument.setParentContextType(searchResourceContext.getParentContextType()); + oDocument.setParentContextName(searchResourceContext.getParentContextName()); + oDocument.setAuthor(re.getAuthors()); + + //add specific fields + Document document = oDocument.getLuceneDocument(); + return document; + } +} diff --git a/src/main/java/org/olat/repository/manager/RepositoryEntryLifeIndexer.java b/src/main/java/org/olat/repository/manager/RepositoryEntryLifeIndexer.java new file mode 100644 index 0000000000000000000000000000000000000000..ed162641f1114b9f088d7c96dac79d6220f1a244 --- /dev/null +++ b/src/main/java/org/olat/repository/manager/RepositoryEntryLifeIndexer.java @@ -0,0 +1,104 @@ +/** + * <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.manager; + +import java.util.List; + +import javax.annotation.PostConstruct; + +import org.apache.lucene.document.Document; +import org.apache.lucene.index.IndexWriter; +import org.olat.core.logging.OLog; +import org.olat.core.logging.Tracing; +import org.olat.repository.RepositoryEntry; +import org.olat.search.service.SearchResourceContext; +import org.olat.search.service.document.RepositoryEntryDocument; +import org.olat.search.service.indexer.LifeFullIndexer; +import org.olat.search.service.indexer.LifeIndexer; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * + * Initial date: 13.03.2014<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service +public class RepositoryEntryLifeIndexer implements LifeIndexer { + private static final OLog log = Tracing.createLoggerFor(RepositoryEntryLifeIndexer.class); + private static final int BATCH_SIZE = 100; + + @Autowired + private LifeFullIndexer lifeIndexer; + @Autowired + private RepositoryEntryDAO repositoryEntryDAO; + @Autowired + private RepositoryEntryDocumentFactory documentFactory; + + @PostConstruct + public void init() { + lifeIndexer.addIndexer(this); + } + + @Override + public String getSupportedTypeName() { + return RepositoryEntryDocument.TYPE; + } + + @Override + public void indexDocument(Long key, LifeFullIndexer indexWriter) { + SearchResourceContext ctxt = new SearchResourceContext(); + Document doc = documentFactory.createDocument(ctxt, key); + indexWriter.addDocument(doc); + } + + @Override + public void deleteDocument(Long key, LifeFullIndexer indexWriter) { + String resourceUrl = documentFactory.getResourceUrl(key); + indexWriter.deleteDocument(resourceUrl); + } + + @Override + public void fullIndex(LifeFullIndexer indexWriter) { + SearchResourceContext ctxt = new SearchResourceContext(); + + IndexWriter writer = null; + try { + writer = indexWriter.getAndLockWriter(); + + int counter = 0; + List<RepositoryEntry> items; + do { + items = repositoryEntryDAO.getAllRepositoryEntries(counter, BATCH_SIZE); + for(RepositoryEntry item:items) { + Document doc = documentFactory.createDocument(ctxt, item); + indexWriter.addDocument(doc, writer); + } + counter += items.size(); + } while(items.size() == BATCH_SIZE); + + } catch (Exception e) { + log.error("", e); + } finally { + indexWriter.releaseWriter(writer); + } + } +} diff --git a/src/main/java/org/olat/repository/manager/RepositoryEntryMyCourseViewQueries.java b/src/main/java/org/olat/repository/manager/RepositoryEntryMyCourseViewQueries.java index b2c64024b54b3b5da02bbcd35655053bcf32e816..21a2aafccaa5bcfd1b8dd4b847efe6738f780cce 100644 --- a/src/main/java/org/olat/repository/manager/RepositoryEntryMyCourseViewQueries.java +++ b/src/main/java/org/olat/repository/manager/RepositoryEntryMyCourseViewQueries.java @@ -105,6 +105,9 @@ public class RepositoryEntryMyCourseViewQueries { sb.append(" where v.identityKey=:identityKey and "); appendMyViewAccessSubSelect(sb, roles, params.getFilters(), params.isMembershipMandatory()); + if(params.getRepoEntryKeys() != null && params.getRepoEntryKeys().size() > 0) { + sb.append(" and v.key=:repoEntryKeys "); + } if(params.getFilters() != null) { for(Filter filter:params.getFilters()) { @@ -133,7 +136,9 @@ public class RepositoryEntryMyCourseViewQueries { if(params.getParentEntry() != null) { dbQuery.setParameter("parentCeiKey", params.getParentEntry().getKey()); } - + if(params.getRepoEntryKeys() != null && params.getRepoEntryKeys().size() > 0) { + dbQuery.setParameter("repoEntryKeys", params.getRepoEntryKeys()); + } if (params.isResourceTypesDefined()) { dbQuery.setParameter("resourcetypes", resourceTypes); } diff --git a/src/main/java/org/olat/repository/manager/RepositoryEntryStatisticsDAO.java b/src/main/java/org/olat/repository/manager/RepositoryEntryStatisticsDAO.java index 5e6970d3841ab41dbb710a4428b70c307f3911ee..317b21c6f23de631b6502fc9ccd9961b4d553e67 100644 --- a/src/main/java/org/olat/repository/manager/RepositoryEntryStatisticsDAO.java +++ b/src/main/java/org/olat/repository/manager/RepositoryEntryStatisticsDAO.java @@ -26,8 +26,10 @@ import javax.persistence.LockModeType; import org.olat.commons.lifecycle.LifeCycleManager; import org.olat.core.commons.persistence.DB; +import org.olat.core.commons.services.commentAndRating.UserCommentsDelegate; import org.olat.core.commons.services.commentAndRating.UserRatingsDelegate; -import org.olat.core.commons.services.commentAndRating.impl.UserRatingsDAO; +import org.olat.core.commons.services.commentAndRating.manager.UserCommentsDAO; +import org.olat.core.commons.services.commentAndRating.manager.UserRatingsDAO; import org.olat.core.id.OLATResourceable; import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; @@ -44,7 +46,7 @@ import org.springframework.stereotype.Service; * */ @Service -public class RepositoryEntryStatisticsDAO implements UserRatingsDelegate { +public class RepositoryEntryStatisticsDAO implements UserRatingsDelegate, UserCommentsDelegate { private static final OLog log = Tracing.createLoggerFor(RepositoryEntryStatisticsDAO.class); @@ -52,10 +54,13 @@ public class RepositoryEntryStatisticsDAO implements UserRatingsDelegate { private DB dbInstance; @Autowired private UserRatingsDAO userRatingsDao; + @Autowired + private UserCommentsDAO userCommentsDao; @PostConstruct public void init() { userRatingsDao.addDegelate(this); + userCommentsDao.addDelegate(this); } /** @@ -122,7 +127,7 @@ public class RepositoryEntryStatisticsDAO implements UserRatingsDelegate { } } - public RepositoryEntryStatistics loadStatistics(OLATResourceable repositoryEntryRes) { + protected RepositoryEntryStatistics loadStatistics(OLATResourceable repositoryEntryRes) { StringBuilder sb = new StringBuilder(); sb.append("select v.statistics from ").append(RepositoryEntry.class.getName()).append(" as v") .append(" where v.key=:key"); @@ -133,7 +138,7 @@ public class RepositoryEntryStatisticsDAO implements UserRatingsDelegate { .getSingleResult(); } - public RepositoryEntryStatistics loadStatisticsForUpdate(OLATResourceable repositoryEntryRes) { + private RepositoryEntryStatistics loadStatisticsForUpdate(OLATResourceable repositoryEntryRes) { StringBuilder sb = new StringBuilder(); sb.append("select stats from ").append(RepositoryEntryStatistics.class.getName()).append(" as stats") .append(" where stats.key in (select v.statistics.key from ").append(RepositoryEntry.class.getName()).append(" as v where v.key=:key)"); @@ -154,14 +159,27 @@ public class RepositoryEntryStatisticsDAO implements UserRatingsDelegate { } @Override - public boolean update(OLATResourceable ores, String resSubPath, double newRating) { + public boolean update(OLATResourceable ores, String resSubPath, double newAverageRating, long numOfRatings) { + RepositoryEntryStatistics statistics = loadStatisticsForUpdate(ores); + if(statistics != null) { + statistics.setRating(newAverageRating); + statistics.setNumOfRatings(numOfRatings); + statistics.setLastModified(new Date()); + dbInstance.getCurrentEntityManager().merge(statistics); + return true; + } + return false; + } + + @Override + public boolean update(OLATResourceable ores, String resSubPath, int numOfComments) { RepositoryEntryStatistics statistics = loadStatisticsForUpdate(ores); if(statistics != null) { - statistics.setRating(newRating); + statistics.setNumOfComments(numOfComments); statistics.setLastModified(new Date()); dbInstance.getCurrentEntityManager().merge(statistics); return true; } return false; } -} +} \ No newline at end of file diff --git a/src/main/java/org/olat/repository/manager/RepositoryServiceImpl.java b/src/main/java/org/olat/repository/manager/RepositoryServiceImpl.java index 0522769a803b07b5c61a40d25e57bae3a5e2db4c..2ffdb4477546ca4f4eb7654875f7d749e3a4fd5e 100644 --- a/src/main/java/org/olat/repository/manager/RepositoryServiceImpl.java +++ b/src/main/java/org/olat/repository/manager/RepositoryServiceImpl.java @@ -44,6 +44,8 @@ import org.olat.repository.model.RepositoryEntryStatistics; import org.olat.repository.model.RepositoryEntryToGroupRelation; import org.olat.resource.OLATResource; import org.olat.resource.OLATResourceManager; +import org.olat.search.service.document.RepositoryEntryDocument; +import org.olat.search.service.indexer.LifeFullIndexer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -72,6 +74,9 @@ public class RepositoryServiceImpl implements RepositoryService { private RepositoryEntryMyCourseViewQueries myCourseViewQueries; @Autowired private OLATResourceManager resourceManager; + + @Autowired + private LifeFullIndexer lifeIndexer; @Override public RepositoryEntry create(String initialAuthor, String resourceName, @@ -119,6 +124,8 @@ public class RepositoryServiceImpl implements RepositoryService { statistics.setLastModified(now); statistics.setDownloadCounter(0l); statistics.setLaunchCounter(0l); + statistics.setNumOfRatings(0l); + statistics.setNumOfComments(0l); dbInstance.getCurrentEntityManager().persist(statistics); re.setStatistics(statistics); @@ -141,14 +148,21 @@ public class RepositoryServiceImpl implements RepositoryService { dbInstance.getCurrentEntityManager().persist(re); return re; } + + @Override + public RepositoryEntry update(RepositoryEntry re) { + re.setLastModified(new Date()); + RepositoryEntry mergedRe = dbInstance.getCurrentEntityManager().merge(re); + dbInstance.commit(); + lifeIndexer.indexDocument(RepositoryEntryDocument.TYPE, mergedRe.getKey()); + return mergedRe; + } @Override public RepositoryEntry loadByKey(Long key) { return repositoryEntryDAO.loadByKey(key); } - - @Override public void incrementLaunchCounter(RepositoryEntry re) { repositoryEntryStatisticsDao.incrementLaunchCounter(re); diff --git a/src/main/java/org/olat/repository/model/RepositoryEntryMyCourseView.java b/src/main/java/org/olat/repository/model/RepositoryEntryMyCourseView.java index b800e675d26dd98ccf9874d74e4d45b9032de3ee..54b5746bb769019d77bdf0a3aafee7d3cda8d3f7 100644 --- a/src/main/java/org/olat/repository/model/RepositoryEntryMyCourseView.java +++ b/src/main/java/org/olat/repository/model/RepositoryEntryMyCourseView.java @@ -101,6 +101,10 @@ public class RepositoryEntryMyCourseView implements RepositoryEntryMyView, Persi private Integer myRating; @Column(name="stats_rating", nullable=true, insertable=false, updatable=false) private Float averageRating; + @Column(name="stats_num_of_ratings", nullable=true, insertable=false, updatable=false) + private long numOfRatings; + @Column(name="stats_num_of_comments", nullable=true, insertable=false, updatable=false) + private long numOfComments; @Column(name="ci_initiallaunchdate", nullable=true, insertable=false, updatable=false) private Date initialLaunch; @@ -294,6 +298,22 @@ public class RepositoryEntryMyCourseView implements RepositoryEntryMyView, Persi this.averageRating = averageRating; } + public long getNumOfRatings() { + return numOfRatings; + } + + public void setNumOfRatings(long numOfRatings) { + this.numOfRatings = numOfRatings; + } + + public long getNumOfComments() { + return numOfComments; + } + + public void setNumOfComments(long numOfComments) { + this.numOfComments = numOfComments; + } + @Override public boolean isValidOfferAvailable() { return offersAvailable > 0; diff --git a/src/main/java/org/olat/repository/model/RepositoryEntryStatistics.java b/src/main/java/org/olat/repository/model/RepositoryEntryStatistics.java index 466ee4a63aa616ca6bb91ca2e4e67b708d85dc08..398ca2d11ee2a36e7df773daef002c736d249c61 100644 --- a/src/main/java/org/olat/repository/model/RepositoryEntryStatistics.java +++ b/src/main/java/org/olat/repository/model/RepositoryEntryStatistics.java @@ -59,6 +59,11 @@ public class RepositoryEntryStatistics implements Persistable { @Column(name="r_rating", nullable=true, insertable=true, updatable=true) private Double rating; + @Column(name="r_num_of_ratings", nullable=true, insertable=true, updatable=true) + private long numOfRatings; + @Column(name="r_num_of_comments", nullable=true, insertable=true, updatable=true) + private long numOfComments; + @Column(name="r_launchcounter", nullable=false, insertable=true, updatable=true) private long launchCounter; @Column(name="r_downloadcounter", nullable=false, insertable=true, updatable=true) @@ -103,6 +108,22 @@ public class RepositoryEntryStatistics implements Persistable { this.rating = rating; } + public long getNumOfRatings() { + return numOfRatings; + } + + public void setNumOfRatings(long numOfRatings) { + this.numOfRatings = numOfRatings; + } + + public long getNumOfComments() { + return numOfComments; + } + + public void setNumOfComments(long numOfComments) { + this.numOfComments = numOfComments; + } + public long getLaunchCounter() { return launchCounter; } diff --git a/src/main/java/org/olat/repository/ui/list/AbstractRepositoryEntryListController.java b/src/main/java/org/olat/repository/ui/list/AbstractRepositoryEntryListController.java deleted file mode 100644 index 24d0d17fdbef30f212685a4fc5d7d49ec60ac845..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/repository/ui/list/AbstractRepositoryEntryListController.java +++ /dev/null @@ -1,339 +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.ui.list; - -import java.util.Collections; -import java.util.List; - -import org.olat.NewControllerFactory; -import org.olat.core.CoreSpringFactory; -import org.olat.core.commons.services.commentAndRating.impl.UserRatingsDAO; -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.form.flexible.FormItem; -import org.olat.core.gui.components.form.flexible.FormItemContainer; -import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement; -import org.olat.core.gui.components.form.flexible.elements.FormLink; -import org.olat.core.gui.components.form.flexible.impl.FormBasicController; -import org.olat.core.gui.components.form.flexible.impl.FormEvent; -import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel; -import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; -import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableComponentDelegate; -import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModelFactory; -import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataSourceDelegate; -import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableRendererType; -import org.olat.core.gui.components.link.Link; -import org.olat.core.gui.components.panel.Panel; -import org.olat.core.gui.components.rating.RatingFormEvent; -import org.olat.core.gui.components.rating.RatingWithAverageFormItem; -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.closablewrapper.CloseableCalloutWindowController; -import org.olat.core.id.OLATResourceable; -import org.olat.core.util.Util; -import org.olat.core.util.resource.OresHelper; -import org.olat.repository.RepositoryManager; -import org.olat.repository.SearchMyRepositoryEntryViewParams.Filter; -import org.olat.repository.SearchMyRepositoryEntryViewParams.OrderBy; -import org.olat.repository.ui.RepositoryEntryImageMapper; -import org.olat.repository.ui.list.RepositoryEntryDataModel.Cols; - -/** - * - * Initial date: 20.11.2012<br> - * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com - */ -public abstract class AbstractRepositoryEntryListController extends FormBasicController - implements RepositoryEntryDataSourceUIFactory, FlexiTableComponentDelegate { - - private FormLink listLink, tableLink, filterLink, sortLink; - private FlexiTableElement tableEl; - private RepositoryEntryDataModel model; - private FlexiTableDataSourceDelegate<RepositoryEntryRow> dataSource; - private OrderByController sortCtrl; - private FilterController filterCtrl; - private CloseableCalloutWindowController calloutCtrl; - - private final String mapperThumbnailUrl; - private final MarkManager markManager; - private final UserRatingsDAO userRatingsDao; - - public AbstractRepositoryEntryListController(UserRequest ureq, WindowControl wControl) { - super(ureq, wControl, "repoentry_table"); - setTranslator(Util.createPackageTranslator(RepositoryManager.class, getLocale(), getTranslator())); - markManager = CoreSpringFactory.getImpl(MarkManager.class); - userRatingsDao = CoreSpringFactory.getImpl(UserRatingsDAO.class); - mapperThumbnailUrl = registerCacheableMapper(ureq, "repositoryentryImage", new RepositoryEntryImageMapper()); - } - - public FlexiTableDataSourceDelegate<RepositoryEntryRow> getDataSource() { - return dataSource; - } - - public void setDataSource(FlexiTableDataSourceDelegate<RepositoryEntryRow> dataSource) { - this.dataSource = dataSource; - if(tableEl != null) { - model.setSource(dataSource); - tableEl.reset(); - } - } - - public boolean isEmpty() { - return dataSource.getRowCount() == 0; - } - - @Override - protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { - listLink = uifactory.addFormLink("switchLayoutList", "list", "table.switch.list", null, formLayout, Link.BUTTON); - tableLink = uifactory.addFormLink("switchLayoutTable", "table", "table.switch.table", null, formLayout, Link.BUTTON); - sortLink = uifactory.addFormLink("sortTable", "sort", "table.sort", null, formLayout, Link.BUTTON); - filterLink = uifactory.addFormLink("filterTable", "filter", "table.filter", null, formLayout, Link.BUTTON); - - //add the table - FlexiTableColumnModel columnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel(); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.key.i18nKey(), Cols.key.ordinal(), false, null)); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.mark.i18nKey(), Cols.mark.ordinal())); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.displayName.i18nKey(), Cols.displayName.ordinal())); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.lifecycleLabel.i18nKey(), Cols.lifecycleLabel.ordinal())); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.lifecycleSoftkey.i18nKey(), Cols.lifecycleSoftkey.ordinal())); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.lifecycleStart.i18nKey(), Cols.lifecycleStart.ordinal())); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.lifecycleEnd.i18nKey(), Cols.lifecycleEnd.ordinal())); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.select.i18nKey(), Cols.select.ordinal(), false, null)); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.details.i18nKey(), Cols.details.ordinal())); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.start.i18nKey(), Cols.start.ordinal())); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.ratings.i18nKey(), Cols.ratings.ordinal())); - - model = new RepositoryEntryDataModel(dataSource, columnsModel); - tableEl = uifactory.addTableElement(ureq, getWindowControl(), "table", model, 20, getTranslator(), formLayout); - tableEl.setRendererType(FlexiTableRendererType.custom); - VelocityContainer row = createVelocityContainer("row_1"); - tableEl.setRowRenderer(row, this); - } - - @Override - public String getMapperThumbnailUrl() { - return mapperThumbnailUrl; - } - - @Override - protected void doDispose() { - // - } - - @Override - protected void formOK(UserRequest ureq) { - // - } - - @Override - protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { - if(listLink == source) { - tableEl.setRendererType(FlexiTableRendererType.custom); - } else if(tableLink == source) { - tableEl.setRendererType(FlexiTableRendererType.classic); - } else if(filterLink == source) { - doChooseFilter(ureq); - } else if(sortLink == source) { - doChooseSorter(ureq); - } else if(source instanceof RatingWithAverageFormItem && event instanceof RatingFormEvent) { - RatingFormEvent ratingEvent = (RatingFormEvent)event; - RatingWithAverageFormItem ratingItem = (RatingWithAverageFormItem)source; - RepositoryEntryRow row = (RepositoryEntryRow)ratingItem.getUserObject(); - doRating(row, ratingEvent.getRating()); - } else if(source instanceof FormLink) { - FormLink link = (FormLink)source; - String cmd = link.getCmd(); - - if("mark".equals(cmd)) { - RepositoryEntryRow row = (RepositoryEntryRow)link.getUserObject(); - if(doMark(row)) { - link.setCustomEnabledLinkCSS("b_mark_set"); - } else { - link.setCustomEnabledLinkCSS("b_mark_not_set"); - } - link.getComponent().setDirty(true); - } else if ("select".equals(cmd) || "start".equals(cmd)){ - RepositoryEntryRow row = (RepositoryEntryRow)link.getUserObject(); - doOpen(ureq, row); - } else if ("details".equals(cmd)){ - RepositoryEntryRow row = (RepositoryEntryRow)link.getUserObject(); - doOpenDetails(row); - } - } - - super.formInnerEvent(ureq, source, event); - } - - @Override - protected void event(UserRequest ureq, Controller source, Event event) { - if(filterCtrl == source && event == Event.CHANGED_EVENT) { - doFilter(filterCtrl.getSelectedFilters()); - calloutCtrl.deactivate(); - cleanUp(); - tableEl.reset(); - } else if(sortCtrl == source && event == Event.CHANGED_EVENT) { - doOrderBy(sortCtrl.getOrderBy()); - calloutCtrl.deactivate(); - cleanUp(); - tableEl.reset(); - } - - super.event(ureq, source, event); - } - - @Override - protected void propagateDirtinessToContainer(FormItem fiSrc) { - //do not update the - } - - private void cleanUp() { - removeAsListenerAndDispose(calloutCtrl); - calloutCtrl = null; - } - - protected void doChooseSorter(UserRequest ureq) { - removeAsListenerAndDispose(sortCtrl); - sortCtrl = new OrderByController(ureq, getWindowControl()); - listenTo(sortCtrl); - - removeAsListenerAndDispose(calloutCtrl); - calloutCtrl = new CloseableCalloutWindowController(ureq, getWindowControl(), sortCtrl.getInitialComponent(), - sortLink, null, true, null); - listenTo(calloutCtrl); - calloutCtrl.activate(); - } - - protected void doChooseFilter(UserRequest ureq) { - if(filterCtrl == null) { - filterCtrl = new FilterController(ureq, getWindowControl()); - listenTo(filterCtrl); - } - - removeAsListenerAndDispose(calloutCtrl); - calloutCtrl = new CloseableCalloutWindowController(ureq, getWindowControl(), filterCtrl.getInitialComponent(), - filterLink, null, true, null); - listenTo(calloutCtrl); - calloutCtrl.activate(); - } - - protected abstract void doFilter(List<Filter> filters); - - protected abstract void doOrderBy(OrderBy orderBy); - - protected void doRating(RepositoryEntryRow row, float rating) { - OLATResourceable ores = row.getRepositoryEntryResourceable(); - userRatingsDao.updateRating(getIdentity(), ores, null, Math.round(rating)); - } - - protected void doOpen(UserRequest ureq, RepositoryEntryRow row) { - String businessPath = "[RepositoryEntry:" + row.getKey() + "]"; - NewControllerFactory.getInstance().launch(businessPath, ureq, getWindowControl()); - } - - protected void doOpenDetails(RepositoryEntryRow row) { - if(row.getDetailsPanel().getContent() == null) { - VelocityContainer content = createVelocityContainer("row_details"); - row.getDetailsPanel().setContent(content); - content.contextPut("description", row.getDescription()); - } - - Panel detailsPanel = row.getDetailsPanel(); - boolean visible = detailsPanel.isVisible(); - if(visible) { - detailsPanel.setContent(null); - } - detailsPanel.setVisible(!visible); - detailsPanel.setDirty(true); - } - - protected boolean doMark(RepositoryEntryRow row) { - OLATResourceable item = OresHelper.createOLATResourceableInstance("RepositoryEntry", row.getKey()); - if(markManager.isMarked(item, getIdentity(), null)) { - markManager.removeMark(item, getIdentity(), null); - return false; - } else { - String businessPath = "[QuestionItem:" + item.getResourceableId() + "]"; - markManager.setMark(item, getIdentity(), null, businessPath); - return true; - } - } - - @Override - public void forgeMarkLink(RepositoryEntryRow row) { - FormLink markLink = uifactory.addFormLink("mark_" + row.getKey(), "mark", " ", null, null, Link.NONTRANSLATED); - markLink.setCustomEnabledLinkCSS(row.isMarked() ? "b_mark_set" : "b_mark_not_set"); - markLink.setUserObject(row); - row.setMarkLink(markLink); - } - - @Override - public void forgeSelectLink(RepositoryEntryRow row) { - String name = row.getDisplayName(); - FormLink selectLink = uifactory.addFormLink("select_" + row.getKey(), "select", name, null, null, Link.NONTRANSLATED); - selectLink.setUserObject(row); - row.setSelectLink(selectLink); - } - - @Override - public void forgeStartLink(RepositoryEntryRow row) { - FormLink startLink = uifactory.addFormLink("start_" + row.getKey(), "start", "start", null, null, Link.LINK); - startLink.setUserObject(row); - row.setStartLink(startLink); - } - - @Override - public void forgeDetails(RepositoryEntryRow row) { - FormLink detailsLink = uifactory.addFormLink("details_" + row.getKey(), "details", "details", null, null, Link.LINK); - detailsLink.setUserObject(row); - row.setDetailsLink(detailsLink); - - String id = "detailsp_" + row.getKey(); - Panel detailsPanel = new Panel(id); - detailsPanel.setVisible(false); - row.setDetailsPanel(detailsPanel); - } - - @Override - public Iterable<Component> getComponents(int row, Object rowObject) { - if(rowObject instanceof RepositoryEntryRow) { - RepositoryEntryRow r = (RepositoryEntryRow)rowObject; - Panel detailsPanel = r.getDetailsPanel(); - tableEl.getComponent().put(detailsPanel.getComponentName(), detailsPanel); - return Collections.<Component>singletonList(detailsPanel); - } - return null; - } - - @Override - public void forgeRatings(RepositoryEntryRow row) { - Integer myRating = row.getMyRating(); - Float averageRating = row.getAverageRating(); - - float ratingValue = myRating == null ? 0f : myRating.floatValue(); - float averageRatingValue = averageRating == null ? 0f : averageRating.floatValue(); - RatingWithAverageFormItem ratingCmp - = new RatingWithAverageFormItem("rat_" + row.getKey(), ratingValue, averageRatingValue, 5, 32); - row.setRatingFormItem(ratingCmp); - ratingCmp.setUserObject(row); - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/repository/ui/list/DefaultRepositoryEntryDataSource.java b/src/main/java/org/olat/repository/ui/list/DefaultRepositoryEntryDataSource.java index cb765393fd26ce8243e453bf0b9c4f91ffa2cf93..d49c5512f9e3bb0d37fb73c79678ef57b47d63a6 100644 --- a/src/main/java/org/olat/repository/ui/list/DefaultRepositoryEntryDataSource.java +++ b/src/main/java/org/olat/repository/ui/list/DefaultRepositoryEntryDataSource.java @@ -23,11 +23,15 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import org.apache.lucene.queryparser.classic.ParseException; import org.olat.core.CoreSpringFactory; import org.olat.core.commons.persistence.DefaultResultInfos; import org.olat.core.commons.persistence.ResultInfos; import org.olat.core.commons.persistence.SortKey; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataSourceDelegate; +import org.olat.core.logging.OLog; +import org.olat.core.logging.Tracing; +import org.olat.core.util.StringHelper; import org.olat.core.util.resource.OresHelper; import org.olat.core.util.vfs.VFSLeaf; import org.olat.course.assessment.AssessmentHelper; @@ -44,6 +48,10 @@ import org.olat.resource.accesscontrol.ACService; import org.olat.resource.accesscontrol.model.OLATResourceAccess; import org.olat.resource.accesscontrol.model.PriceMethodBundle; import org.olat.resource.accesscontrol.ui.PriceFormat; +import org.olat.search.QueryException; +import org.olat.search.ServiceNotAvailableException; +import org.olat.search.service.searcher.SearchClient; +import org.olat.search.service.searcher.SearchClientLocal; /** * @@ -52,11 +60,15 @@ import org.olat.resource.accesscontrol.ui.PriceFormat; * */ public class DefaultRepositoryEntryDataSource implements FlexiTableDataSourceDelegate<RepositoryEntryRow> { + + private static final OLog log = Tracing.createLoggerFor(DefaultRepositoryEntryDataSource.class); private final RepositoryEntryDataSourceUIFactory uifactory; private final SearchMyRepositoryEntryViewParams searchParams; + private final ACService acService; + private final SearchClient searchClient; private final RepositoryService repositoryService; private final RepositoryManager repositoryManager; @@ -68,6 +80,7 @@ public class DefaultRepositoryEntryDataSource implements FlexiTableDataSourceDel this.searchParams = searchParams; acService = CoreSpringFactory.getImpl(ACService.class); + searchClient = CoreSpringFactory.getImpl(SearchClientLocal.class); repositoryService = CoreSpringFactory.getImpl(RepositoryService.class); repositoryManager = CoreSpringFactory.getImpl(RepositoryManager.class); } @@ -97,6 +110,15 @@ public class DefaultRepositoryEntryDataSource implements FlexiTableDataSourceDel @Override public final ResultInfos<RepositoryEntryRow> getRows(String query, List<String> condQueries, int firstResult, int maxResults, SortKey... orderBy) { + + if(StringHelper.containsNonWhitespace(query)) { + try { + List<Long> fullTextResults = searchClient.doSearch(query, null, searchParams.getIdentity(), searchParams.getRoles(), 0, 100); + searchParams.setRepoEntryKeys(fullTextResults); + } catch (ServiceNotAvailableException | ParseException | QueryException e) { + log.error("", e); + } + } List<RepositoryEntryMyView> views = repositoryService.searchMyView(searchParams, firstResult, maxResults); List<RepositoryEntryRow> rows = processViewModel(views); @@ -118,50 +140,59 @@ public class DefaultRepositoryEntryDataSource implements FlexiTableDataSourceDel List<RepositoryEntryRow> items = new ArrayList<RepositoryEntryRow>(); for(RepositoryEntryMyView entry:repoEntries) { - RepositoryEntryRow details = new RepositoryEntryRow(); - details.setKey(entry.getKey()); - details.setDisplayName(entry.getDisplayname()); - details.setDescription(entry.getDescription()); - details.setOLATResourceable(OresHelper.clone(entry.getOlatResource())); + RepositoryEntryRow row = new RepositoryEntryRow(); + row.setKey(entry.getKey()); + row.setDisplayName(entry.getDisplayname()); + row.setDescription(entry.getDescription()); + row.setOLATResourceable(OresHelper.clone(entry.getOlatResource())); //bookmark - details.setMarked(entry.isMarked()); + row.setMarked(entry.isMarked()); + //efficiency statement - details.setPassed(entry.getPassed()); - details.setScore(AssessmentHelper.getRoundedScore(entry.getScore())); + row.setPassed(entry.getPassed()); + row.setScore(AssessmentHelper.getRoundedScore(entry.getScore())); + //user course infos - details.setInitialLaunch(entry.getInitialLaunch()); - details.setRecentLaunch(entry.getRecentLaunch()); + row.setInitialLaunch(entry.getInitialLaunch()); + row.setRecentLaunch(entry.getRecentLaunch()); if(entry.getVisit() != null) { - details.setVisit(entry.getVisit().intValue()); + row.setVisit(entry.getVisit().intValue()); } else { - details.setVisit(0); + row.setVisit(0); } if(entry.getTimeSpend() != null) { - details.setTimeSpend(entry.getTimeSpend().longValue()); + row.setTimeSpend(entry.getTimeSpend().longValue()); } else { - details.setTimeSpend(0l); + row.setTimeSpend(0l); } + //rating + row.setMyRating(entry.getMyRating()); + row.setAverageRating(entry.getAverageRating()); + row.setNumOfRatings(entry.getNumOfRatings()); + row.setNumOfComments(entry.getNumOfComments()); + RepositoryEntryLifecycle lifecycle = entry.getLifecycle(); if(lifecycle != null) { - details.setLifecycleStart(lifecycle.getValidFrom()); - details.setLifecycleEnd(lifecycle.getValidTo()); + row.setLifecycleStart(lifecycle.getValidFrom()); + row.setLifecycleEnd(lifecycle.getValidTo()); if(!lifecycle.isPrivateCycle()) { - details.setLifecycle(lifecycle.getLabel()); - details.setLifecycleSoftKey(lifecycle.getSoftKey()); + row.setLifecycle(lifecycle.getLabel()); + row.setLifecycleSoftKey(lifecycle.getSoftKey()); } } - uifactory.forgeMarkLink(details); - uifactory.forgeSelectLink(details); - uifactory.forgeStartLink(details); - uifactory.forgeDetails(details); - uifactory.forgeRatings(details); + uifactory.forgeMarkLink(row); + uifactory.forgeSelectLink(row); + uifactory.forgeStartLink(row); + uifactory.forgeDetails(row); + uifactory.forgeRatings(row); + uifactory.forgeComments(row); VFSLeaf image = repositoryManager.getImage(entry); if(image != null) { - details.setThumbnailRelPath(uifactory.getMapperThumbnailUrl() + "/" + image.getName()); + row.setThumbnailRelPath(uifactory.getMapperThumbnailUrl() + "/" + image.getName()); } List<PriceMethod> types = new ArrayList<PriceMethod>(); @@ -183,10 +214,10 @@ public class DefaultRepositoryEntryDataSource implements FlexiTableDataSourceDel } if(!types.isEmpty()) { - details.setAccessTypes(types); + row.setAccessTypes(types); } - items.add(details); + items.add(row); } return items; diff --git a/src/main/java/org/olat/repository/ui/list/RepositoryEntryDataModel.java b/src/main/java/org/olat/repository/ui/list/RepositoryEntryDataModel.java index 81a482765f97a38d526a7901d449102bd477983e..2315ff2feae66d54d17c0e84a1adf2dbcad5d112 100644 --- a/src/main/java/org/olat/repository/ui/list/RepositoryEntryDataModel.java +++ b/src/main/java/org/olat/repository/ui/list/RepositoryEntryDataModel.java @@ -59,6 +59,7 @@ public class RepositoryEntryDataModel extends DefaultFlexiTableDataSourceModel<R case start: return item.getStartLink(); case details: return item.getDetailsLink(); case ratings: return item.getRatingFormItem(); + case comments: return item.getCommentsLink(); } return null; } @@ -74,7 +75,8 @@ public class RepositoryEntryDataModel extends DefaultFlexiTableDataSourceModel<R select("table.header.details"), start("table.header.start"), mark("table.header.mark"), - ratings("ratings"); + ratings("ratings"), + comments("comments"); private final String i18nKey; diff --git a/src/main/java/org/olat/repository/ui/list/RepositoryEntryDataSourceUIFactory.java b/src/main/java/org/olat/repository/ui/list/RepositoryEntryDataSourceUIFactory.java index c2e1658ef31832437cb11b3fd31e306f9c8a1bef..96459e14381441eceeab8b8325f419efafa67977 100644 --- a/src/main/java/org/olat/repository/ui/list/RepositoryEntryDataSourceUIFactory.java +++ b/src/main/java/org/olat/repository/ui/list/RepositoryEntryDataSourceUIFactory.java @@ -41,5 +41,7 @@ public interface RepositoryEntryDataSourceUIFactory { public void forgeDetails(RepositoryEntryRow row); public void forgeRatings(RepositoryEntryRow row); + + public void forgeComments(RepositoryEntryRow row); } diff --git a/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java b/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java index 3e0714558ca7db3f3ad34931c707aecf7d5a138d..39b0e4c1e77a94da9a4f9f02005c0350fa00918b 100644 --- a/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java +++ b/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java @@ -24,7 +24,10 @@ import java.util.List; import org.olat.NewControllerFactory; import org.olat.core.CoreSpringFactory; -import org.olat.core.commons.services.commentAndRating.impl.UserRatingsDAO; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingDefaultSecurityCallback; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingSecurityCallback; +import org.olat.core.commons.services.commentAndRating.manager.UserRatingsDAO; +import org.olat.core.commons.services.commentAndRating.ui.UserCommentsController; import org.olat.core.commons.services.mark.MarkManager; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; @@ -48,6 +51,7 @@ 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.closablewrapper.CloseableCalloutWindowController; +import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; import org.olat.core.id.OLATResourceable; import org.olat.core.util.Util; import org.olat.core.util.resource.OresHelper; @@ -72,6 +76,8 @@ public class RepositoryEntryListController extends FormBasicController private DefaultRepositoryEntryDataSource dataSource; private OrderByController sortCtrl; private FilterController filterCtrl; + private CloseableModalController cmc; + private UserCommentsController commentsCtrl; private CloseableCalloutWindowController calloutCtrl; private final String mapperThumbnailUrl; @@ -113,10 +119,13 @@ public class RepositoryEntryListController extends FormBasicController columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.details.i18nKey(), Cols.details.ordinal())); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.start.i18nKey(), Cols.start.ordinal())); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.ratings.i18nKey(), Cols.ratings.ordinal())); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.comments.i18nKey(), Cols.comments.ordinal())); model = new RepositoryEntryDataModel(dataSource, columnsModel); tableEl = uifactory.addTableElement(ureq, getWindowControl(), "table", model, 20, getTranslator(), formLayout); tableEl.setRendererType(FlexiTableRendererType.custom); + tableEl.setSearchEnabled(true); + tableEl.setCustomizeColumns(false); VelocityContainer row = createVelocityContainer("row_1"); tableEl.setRowRenderer(row, this); } @@ -140,8 +149,10 @@ public class RepositoryEntryListController extends FormBasicController protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { if(listLink == source) { tableEl.setRendererType(FlexiTableRendererType.custom); + tableEl.setCustomizeColumns(false); } else if(tableLink == source) { tableEl.setRendererType(FlexiTableRendererType.classic); + tableEl.setCustomizeColumns(true); } else if(filterLink == source) { doChooseFilter(ureq); } else if(sortLink == source) { @@ -169,9 +180,11 @@ public class RepositoryEntryListController extends FormBasicController } else if ("details".equals(cmd)){ RepositoryEntryRow row = (RepositoryEntryRow)link.getUserObject(); doOpenDetails(row); + } else if ("comments".equals(cmd)){ + RepositoryEntryRow row = (RepositoryEntryRow)link.getUserObject(); + doOpenComments(ureq, row); } } - super.formInnerEvent(ureq, source, event); } @@ -185,6 +198,17 @@ public class RepositoryEntryListController extends FormBasicController doOrderBy(sortCtrl.getOrderBy()); calloutCtrl.deactivate(); cleanUp(); + } else if(cmc == source) { + if(commentsCtrl != null) { + RepositoryEntryRow row = (RepositoryEntryRow)commentsCtrl.getUserObject(); + long numOfComments = commentsCtrl.getCommentsCount(); + String css = numOfComments > 0 ? "b_comments" : "b_comments b_no_comment"; + row.getCommentsLink().setCustomEnabledLinkCSS(css); + String title = "(" + numOfComments + ")"; + row.getCommentsLink().setI18nKey(title); + row.getCommentsLink().getComponent().setDirty(true); + } + cleanUp(); } super.event(ureq, source, event); @@ -196,8 +220,12 @@ public class RepositoryEntryListController extends FormBasicController } private void cleanUp() { + removeAsListenerAndDispose(cmc); removeAsListenerAndDispose(calloutCtrl); + removeAsListenerAndDispose(commentsCtrl); calloutCtrl = null; + commentsCtrl = null; + cmc = null; } protected void doChooseSorter(UserRequest ureq) { @@ -246,21 +274,32 @@ public class RepositoryEntryListController extends FormBasicController } protected void doOpenDetails(RepositoryEntryRow row) { - if(row.getDetailsPanel().getContent() == null) { - VelocityContainer content = createVelocityContainer("row_details"); - row.getDetailsPanel().setContent(content); - content.contextPut("description", row.getDescription()); - } - Panel detailsPanel = row.getDetailsPanel(); boolean visible = detailsPanel.isVisible(); if(visible) { detailsPanel.setContent(null); + } else { + VelocityContainer content = createVelocityContainer("row_details"); + row.getDetailsPanel().setContent(content); + content.contextPut("description", row.getDescription()); } detailsPanel.setVisible(!visible); detailsPanel.setDirty(true); } + protected void doOpenComments(UserRequest ureq, RepositoryEntryRow row) { + if(commentsCtrl != null) return; + + boolean anonym = ureq.getUserSession().getRoles().isGuestOnly(); + CommentAndRatingSecurityCallback secCallback = new CommentAndRatingDefaultSecurityCallback(getIdentity(), false, anonym); + commentsCtrl = new UserCommentsController(ureq, getWindowControl(), row.getRepositoryEntryResourceable(), null, secCallback); + commentsCtrl.setUserObject(row); + listenTo(commentsCtrl); + cmc = new CloseableModalController(getWindowControl(), "close", commentsCtrl.getInitialComponent(), true, translate("comments")); + listenTo(cmc); + cmc.activate(); + } + protected boolean doMark(RepositoryEntryRow row) { OLATResourceable item = OresHelper.createOLATResourceableInstance("RepositoryEntry", row.getKey()); if(markManager.isMarked(item, getIdentity(), null)) { @@ -323,12 +362,25 @@ public class RepositoryEntryListController extends FormBasicController public void forgeRatings(RepositoryEntryRow row) { Integer myRating = row.getMyRating(); Float averageRating = row.getAverageRating(); + long numOfRatings = row.getNumOfRatings(); float ratingValue = myRating == null ? 0f : myRating.floatValue(); float averageRatingValue = averageRating == null ? 0f : averageRating.floatValue(); RatingWithAverageFormItem ratingCmp - = new RatingWithAverageFormItem("rat_" + row.getKey(), ratingValue, averageRatingValue, 5, 32); + = new RatingWithAverageFormItem("rat_" + row.getKey(), ratingValue, averageRatingValue, 5, numOfRatings); row.setRatingFormItem(ratingCmp); ratingCmp.setUserObject(row); } + + @Override + public void forgeComments(RepositoryEntryRow row) { + long numOfComments = row.getNumOfComments(); + String title = "(" + numOfComments + ")"; + FormLink commentsLink = uifactory.addFormLink("comments_" + row.getKey(), "comments", title, null, null, Link.NONTRANSLATED); + commentsLink.setUserObject(row); + String css = numOfComments > 0 ? "b_comments" : "b_comments b_no_comment"; + commentsLink.setCustomEnabledLinkCSS(css); + row.setCommentsLink(commentsLink); + } + } \ No newline at end of file diff --git a/src/main/java/org/olat/repository/ui/list/RepositoryEntryRow.java b/src/main/java/org/olat/repository/ui/list/RepositoryEntryRow.java index 29fe87ddf65f96d6256fc830b49720e5979cc2a1..2a17d6e127767a73cb04da951ca58dc6a963e3fc 100644 --- a/src/main/java/org/olat/repository/ui/list/RepositoryEntryRow.java +++ b/src/main/java/org/olat/repository/ui/list/RepositoryEntryRow.java @@ -56,6 +56,8 @@ public class RepositoryEntryRow { private Integer myRating; private Float averageRating; + private long numOfRatings; + private long numOfComments; private String lifecycle; private String lifecycleSoftKey; @@ -68,6 +70,7 @@ public class RepositoryEntryRow { private FormLink selectLink; private FormLink startLink; private FormLink detailsLink; + private FormLink commentsLink; private Panel detailsPanel; private OLATResourceable olatResource; @@ -121,6 +124,22 @@ public class RepositoryEntryRow { this.averageRating = averageRating; } + public long getNumOfRatings() { + return numOfRatings; + } + + public void setNumOfRatings(long numOfRatings) { + this.numOfRatings = numOfRatings; + } + + public long getNumOfComments() { + return numOfComments; + } + + public void setNumOfComments(long numOfComments) { + this.numOfComments = numOfComments; + } + public String getLifecycle() { return lifecycle; } @@ -232,6 +251,18 @@ public class RepositoryEntryRow { this.ratingFormItem = ratingFormItem; } + public FormLink getCommentsLink() { + return commentsLink; + } + + public String getCommentsLinkName() { + return commentsLink.getComponent().getComponentName(); + } + + public void setCommentsLink(FormLink commentsLink) { + this.commentsLink = commentsLink; + } + public OLATResourceable getRepositoryEntryResourceable() { return OresHelper.createOLATResourceableInstance("RepositoryEntry", getKey()); } diff --git a/src/main/java/org/olat/repository/ui/list/_content/row_1.html b/src/main/java/org/olat/repository/ui/list/_content/row_1.html index ebaa7c940bb621a83cad9b6d97078d2f409384dd..a6024d33fed086a07a0550bfaa7deb49110e53f4 100644 --- a/src/main/java/org/olat/repository/ui/list/_content/row_1.html +++ b/src/main/java/org/olat/repository/ui/list/_content/row_1.html @@ -26,11 +26,10 @@ #end <p>$row.description</p> </div> + <div class="f_metadata_mark">$r.render($row.markLinkName)</div> </div> <div class="f_metadata_additional_infos"> <div class="f_metadata_additional_infos_inner"> - <div class="f_metadata_mark">$r.render($row.markLinkName)</div> - #if($r.get("ac_$item.key")) #foreach($ac_type in $r.get("ac_$item.key")) #if($ac_type.price && $ac_type.price.length() > 0) @@ -61,7 +60,8 @@ #end $r.render($row.ratingFormItemName) - + $r.render($row.commentsLinkName) + <div class="f_metadata_details"> $r.render($row.getDetailsLinkName()) </div> diff --git a/src/main/java/org/olat/restapi/repository/RepositoryEntriesResource.java b/src/main/java/org/olat/restapi/repository/RepositoryEntriesResource.java index 12233a493628b66f35137034dbfb92b610ecf325..bc02330024648f855fdc2837e4ed9fb6c441b020 100644 --- a/src/main/java/org/olat/restapi/repository/RepositoryEntriesResource.java +++ b/src/main/java/org/olat/restapi/repository/RepositoryEntriesResource.java @@ -351,8 +351,7 @@ public class RepositoryEntriesResource { addedEntry.setAccess(access); } - RepositoryManager rm = RepositoryManager.getInstance(); - rm.saveRepositoryEntry(addedEntry); + repositoryService.update(addedEntry); return addedEntry; } diff --git a/src/main/java/org/olat/restapi/repository/course/CoursesWebService.java b/src/main/java/org/olat/restapi/repository/course/CoursesWebService.java index 71ee3e394c6c797abc2ce87412969b3c3406974d..09dd9e312ae08cd99c3d4a3cae4ff8bb64b5bc9f 100644 --- a/src/main/java/org/olat/restapi/repository/course/CoursesWebService.java +++ b/src/main/java/org/olat/restapi/repository/course/CoursesWebService.java @@ -359,7 +359,7 @@ public class CoursesWebService { } else { re.setAccess(access); } - RepositoryManager.getInstance().saveRepositoryEntry(re); + CoreSpringFactory.getImpl(RepositoryService.class).update(re); //update tree course.getRunStructure().getRootNode().setShortTitle(Formatter.truncateOnly(course.getCourseTitle(), 25)); //do not use truncate! @@ -499,7 +499,7 @@ public class CoursesWebService { } else { preparedEntry.setAccess(access); } - RepositoryManager.getInstance().saveRepositoryEntry(preparedEntry); + repositoryService.update(preparedEntry); // copy image if available RepositoryManager.getInstance().copyImage(src, preparedEntry); @@ -556,7 +556,7 @@ public class CoursesWebService { } else { addedEntry.setAccess(access); } - RepositoryManager.getInstance().saveRepositoryEntry(addedEntry); + CoreSpringFactory.getImpl(RepositoryService.class).update(addedEntry); return prepareCourse(addedEntry, shortTitle, longTitle, courseConfigVO); } catch (Exception e) { throw new WebApplicationException(e); diff --git a/src/main/java/org/olat/search/service/document/RepositoryEntryDocument.java b/src/main/java/org/olat/search/service/document/RepositoryEntryDocument.java index f503e3f37b75e26bf88c63c7ba4d3bd9e4988d9e..1b359e184b9f31920c55526dd44fd80357e7836d 100644 --- a/src/main/java/org/olat/search/service/document/RepositoryEntryDocument.java +++ b/src/main/java/org/olat/search/service/document/RepositoryEntryDocument.java @@ -72,7 +72,7 @@ public class RepositoryEntryDocument extends OlatDocument { return repositoryEntryDocument.getLuceneDocument(); } - private static String getIconCss(String docType) { + public static String getIconCss(String docType) { String icon; if (docType.equals("type.repository.entry.CourseModule")) icon = "o_course_icon"; diff --git a/src/main/java/org/olat/upgrade/OLATUpgrade_7_1_1.java b/src/main/java/org/olat/upgrade/OLATUpgrade_7_1_1.java index a1859f9fb42d63e1ac86b4b86fce2ebcaabcf652..cbe04797b963a443cff823ac15e00008a91689f1 100644 --- a/src/main/java/org/olat/upgrade/OLATUpgrade_7_1_1.java +++ b/src/main/java/org/olat/upgrade/OLATUpgrade_7_1_1.java @@ -33,8 +33,7 @@ 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.commentAndRating.CommentAndRatingSecurityCallback; -import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; -import org.olat.core.commons.services.commentAndRating.UserCommentsManager; +import org.olat.core.commons.services.commentAndRating.manager.UserCommentsDAO; import org.olat.core.commons.services.commentAndRating.model.UserComment; import org.olat.core.id.Identity; import org.olat.portfolio.PortfolioModule; @@ -72,7 +71,7 @@ public class OLATUpgrade_7_1_1 extends OLATUpgrade { private static final String VERSION = "OLAT_7.1.1"; private boolean portfolioCourseNodeEnabled; private EPFrontendManager ePFMgr; - private CommentAndRatingService commentAndRatingService; + private UserCommentsDAO commentAndRatingService; private PortfolioModule epfModule; @@ -283,36 +282,25 @@ public class OLATUpgrade_7_1_1 extends OLATUpgrade { // collect all comments out there for (PortfolioStructure portfolioStructure : wrongStructs) { if (!(portfolioStructure instanceof EPPage)) return; // no comments on StructureElements! - UserCommentsManager thisStructCommentRSMgr = getUserCommentsManager(portfolioStructure); - List<UserComment> oldComments = thisStructCommentRSMgr.getComments(); + List<UserComment> oldComments = commentAndRatingService.getComments(portfolioStructure.getRootMap(), portfolioStructure.getKey().toString()); collectedComments.addAll(oldComments); - thisStructCommentRSMgr.deleteAllComments(); + commentAndRatingService.deleteAllComments(portfolioStructure.getRootMap(), portfolioStructure.getKey().toString()); } log.audit(" found " + collectedComments.size() + " comments for this structure, will be merged to new destination."); if (collectedComments.size() == 0) return; - UserCommentsManager finalStructCommentRSMgr = getUserCommentsManager(finalStruct); + Identity ident = collectedComments.get(0).getCreator(); - UserComment topComment = finalStructCommentRSMgr.createComment(ident, "The following comments were restored from a migration task to rescue lost data."); + UserComment topComment = commentAndRatingService.createComment(ident, finalStruct.getRootMap(), finalStruct.getKey().toString(), "The following comments were restored from a migration task to rescue lost data."); // attach all to this info-comment for (UserComment userComment : collectedComments) { - UserComment attachedComment = finalStructCommentRSMgr.replyTo(topComment, userComment.getCreator(), userComment.getComment()); + UserComment attachedComment = commentAndRatingService.replyTo(topComment, userComment.getCreator(), userComment.getComment()); // set original date attachedComment.setCreationDate(userComment.getCreationDate()); - finalStructCommentRSMgr.updateComment(attachedComment, attachedComment.getComment()); + commentAndRatingService.updateComment(attachedComment, attachedComment.getComment()); } } - private UserCommentsManager getUserCommentsManager(PortfolioStructure page){ - commentAndRatingService = null; - commentAndRatingService = (CommentAndRatingService) CoreSpringFactory.getBean(CommentAndRatingService.class); - PortfolioStructure map = page.getRootMap(); - - commentAndRatingService.init(map, page.getKey().toString(), new FullCommentAndRatingSecCallback()); - return commentAndRatingService.getUserCommentsManager(); - } - - private void mergeLinkedArtefactsToFinalStruct(PortfolioStructure finalStruct, List<PortfolioStructure> wrongStructs){ if (wrongStructs == null || wrongStructs.isEmpty()) return; // temporarily remove the collectrestriction, will be added by next sync. diff --git a/src/main/resources/database/postgresql/alter_9_4_0_to_10_0_0.sql b/src/main/resources/database/postgresql/alter_9_4_0_to_10_0_0.sql index 5f8cac12c0d0e5ec0249fa0398bade29cc974f76..4c944e2f7c694825cd5aba652cdf8323c9ea4b8d 100644 --- a/src/main/resources/database/postgresql/alter_9_4_0_to_10_0_0.sql +++ b/src/main/resources/database/postgresql/alter_9_4_0_to_10_0_0.sql @@ -14,6 +14,8 @@ create table o_repositoryentry_stats ( creationdate timestamp not null, lastmodified timestamp not null, r_rating decimal(65,30), + r_num_of_ratings int8 not null default 0, + r_num_of_comments int8 not null default 0, r_launchcounter int8 not null default 0, r_downloadcounter int8 not null default 0, r_lastusage timestamp not null, @@ -310,6 +312,8 @@ create view o_repositoryentry_my_v as ( mark.mark_id as mark_id, rating.rating as rat_rating, stats.r_rating as stats_rating, + stats.r_num_of_ratings as stats_num_of_ratings, + stats.r_num_of_comments as stats_num_of_comments, ident.id as member_id, (select count(offer.offer_id) from o_ac_offer as offer where offer.fk_resource_id = re.fk_olatresource diff --git a/src/main/resources/database/postgresql/setupDatabase.sql b/src/main/resources/database/postgresql/setupDatabase.sql index 45563b6f8230c39248f66ebc458fc8ce8fa62d85..5614c19aff99d3713ef63bf4dffaae19fa16c2aa 100644 --- a/src/main/resources/database/postgresql/setupDatabase.sql +++ b/src/main/resources/database/postgresql/setupDatabase.sql @@ -338,6 +338,8 @@ create table o_repositoryentry_stats ( creationdate timestamp not null, lastmodified timestamp not null, r_rating decimal(65,30), + r_num_of_ratings int8 not null default 0, + r_num_of_comments int8 not null default 0, r_launchcounter int8 not null default 0, r_downloadcounter int8 not null default 0, r_lastusage timestamp not null, @@ -1471,6 +1473,8 @@ create view o_repositoryentry_my_v as ( mark.mark_id as mark_id, rating.rating as rat_rating, stats.r_rating as stats_rating, + stats.r_num_of_ratings as stats_num_of_ratings, + stats.r_num_of_comments as stats_num_of_comments, ident.id as member_id, (select count(offer.offer_id) from o_ac_offer as offer where offer.fk_resource_id = re.fk_olatresource diff --git a/src/main/webapp/static/themes/openolat/all/modules/_misc.scss b/src/main/webapp/static/themes/openolat/all/modules/_misc.scss index 535e62fe79b7e2625918cba78ec9958a6bc88241..9839827d966fbf7b266540375c99db7f3e3c6b39 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_misc.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_misc.scss @@ -239,7 +239,14 @@ div.b_ratings_and_comments { div.b_rating_personal { background: #fff; z-index: 5; } } -div.b_ratings_and_comments a.b_comments, div.b_eportfolio_map a.b_comments { background: url(../openolat/images/comment.png) 3px 50% no-repeat; padding: 3px 0 1px 23px; vertical-align: middle; min-height: 18px;} +a.b_comments, div.b_ratings_and_comments a.b_comments, div.b_eportfolio_map a.b_comments { + background: url(../openolat/images/comment.png) 3px 50% no-repeat; + padding: 3px 0 1px 23px; + vertical-align: middle; min-height: 18px; +} +a.b_comments.b_no_comment { + background: url(../openolat/images/comment_none.png) 3px 50% no-repeat; +} div.b_comments { font-size: 0.9em; diff --git a/src/main/webapp/static/themes/openolat/all/modules/_repository.scss b/src/main/webapp/static/themes/openolat/all/modules/_repository.scss index a8e6c90ba281c5e01a50919803c6538c5a73b63e..b6584672743bbed83b44b5b340086521ac061f92 100644 --- a/src/main/webapp/static/themes/openolat/all/modules/_repository.scss +++ b/src/main/webapp/static/themes/openolat/all/modules/_repository.scss @@ -35,7 +35,7 @@ div.o_table_row { div.f_metadata_mark { position: absolute; top: 10px; - right: 10px; + right: 215px; } div.f_metadata_additional_infos { position: absolute; diff --git a/src/main/webapp/static/themes/openolat/images/comment_none.png b/src/main/webapp/static/themes/openolat/images/comment_none.png new file mode 100644 index 0000000000000000000000000000000000000000..25464536de345319279881c69be5dcdda99cab26 Binary files /dev/null and b/src/main/webapp/static/themes/openolat/images/comment_none.png differ diff --git a/src/main/webapp/static/themes/openolat/layout.css b/src/main/webapp/static/themes/openolat/layout.css index 0131756de758e9c0373fa18739f8ad4ceab9ae0c..f645825ddb4c4137e053e196cf984c34deb16e24 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(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,#b_main_toolbar div.b_breadcumb_close .b_close{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_group_icon.b_managed_icon{background-image:url("../openolat/images/managed_users.png")}.b_qpool_icon{background-image:url("../openolat/images/qti/pool.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_settings{background-image:url("../openolat/images/gear.png")}.o_notes_icon{background-image:url("../openolat/images/docs/document--pencil.png")}.o_notifications_icon{background-image:url("../openolat/images/radar.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_gl_ES{background-image:url("../openolat/images/flags/galicia.png")}.b_filetype_file,.b_filetype_ico{background-image:url("../openolat/images/docs/document_plain.png") !important}.b_filetype_folder{background-image:url("../openolat/images/folder.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_zip,.b_filetype_gz,.b_filetype_tar,.b_filetype_tgz{background-image:url("../openolat/images/docs/document-zipper.png") !important}.b_filetype_css,.b_filetype_js,.b_filetype_java,.b_filetype_numbers,.b_filetype_ods,.b_filetype_xml,.b_filetype_xsl{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_bat_icon,.b_filetype_bat,.b_filetype_exe,.b_filetype_app,.b_filetype_sh{background-image:url("../openolat/images/docs/document-binary.png") !important}.b_filetype_xls,.b_filetype_xlsx{background-image:url("../openolat/images/docs/document-excel.png") !important}.b_filetype_swf,.b_filetype_flv{background-image:url("../openolat/images/docs/document-flash-movie.png") !important}.b_filetype_htm,.b_filetype_html{background-image:url("../openolat/images/docs/document-globe.png") !important}.b_filetype_ai{background-image:url("../openolat/images/docs/document-illustrator.png") !important}.b_filetype_png,.b_filetype_tiff,.b_filetype_webp,.b_filetype_gif,.b_filetype_ico,.b_filetype_jpeg,.b_filetype_bmp,.b_filetype_odg,.b_filetype_eps,.b_filetype_jpg{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_avi_icon,.b_filetype_avi,.b_filetype_dvi,.b_filetype_mp4,.b_filetype_m4v,.b_filetype_webm,.b_filetype_ogg,.b_filetype_video,.b_filetype_mov,.b_filetype_mpeg,.b_filetype_mpg,.b_filetype_qt,.b_filetype_ra,.b_filetype_ram{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_midi,.b_filetype_audio,.b_filetype_mp3,.b_filetype_m3u,.b_filetype_wav{background-image:url("../openolat/images/docs/document-music.png") !important}.b_filetype_ps,.b_filetype_pdf{background-image:url("../openolat/images/docs/document-pdf.png") !important}.b_filetype_psd{background-image:url("../openolat/images/docs/document-photoshop.png") !important}.b_filetype_key,.b_filetype_odp,.b_filetype_ppt,.b_filetype_pptx{background-image:url("../openolat/images/docs/document-powerpoint.png") !important}.b_filetype_odf,.b_filetype_rtf,.b_filetype_readme,.b_filetype_README,.b_filetype_log,.b_filetype_txt{background-image:url("../openolat/images/docs/document-text.png") !important}.b_filetype_pages,.b_filetype_doc,.b_filetype_docx{background-image:url("../openolat/images/docs/document-word.png") !important}.b_large_icon.b_filetype_file{background-image:url("../openolat/images/docs_large/file.png") !important}.b_large_icon.b_filetype_folder{background-image:url("../openolat/images/docs_large/folder.png") !important}.b_large_icon.b_filetype_zip,.b_large_icon.b_filetype_gz,.b_large_icon.b_filetype_tar,.b_large_icon.b_filetype_tgz{background-image:url("../openolat/images/docs_large/compressed.png") !important}.b_large_icon.b_filetype_css{background-image:url("../openolat/images/docs_large/css.png") !important}.b_large_icon.b_filetype_js,.b_large_icon.b_filetype_java,.b_large_icon.b_filetype_xml,.b_large_icon.b_filetype_xsl,.b_large_icon.b_filetype_bat,.b_large_icon.b_filetype_exe,.b_large_icon.b_filetype_app,.b_large_icon.b_filetype_sh{background-image:url("../openolat/images/docs_large/developer.png") !important}.b_large_icon.b_filetype_numbers{background-image:url("../openolat/images/docs_large/numbers.png") !important}.b_large_icon.b_filetype_ods,.b_large_icon.b_filetype_xls,.b_large_icon.b_filetype_xlsx{background-image:url("../openolat/images/docs_large/excel.png") !important}.b_large_icon.b_filetype_swf,.b_large_icon.b_filetype_flv{background-image:url("../openolat/images/docs_large/flash.png") !important}.b_large_icon.b_filetype_htm,.b_large_icon.b_filetype_html{background-image:url("../openolat/images/docs_large/html.png") !important}.b_large_icon.b_filetype_ai{background-image:url("../openolat/images/docs_large/illustrator.png") !important}.b_large_icon.b_filetype_png,.b_large_icon.b_filetype_tiff,.b_large_icon.b_filetype_webp,.b_large_icon.b_filetype_gif,.b_large_icon.b_filetype_ico,.b_large_icon.b_filetype_jpeg,.b_large_icon.b_filetype_bmp,.b_large_icon.b_filetype_odg,.b_large_icon.b_filetype_eps,.b_large_icon.b_filetype_jpg{background-image:url("../openolat/images/docs_large/image.png") !important}.b_large_icon.b_filetype_avi,.b_large_icon.b_filetype_dvi,.b_large_icon.b_filetype_mp4,.b_large_icon.b_filetype_m4v,.b_large_icon.b_filetype_webm,.b_large_icon.b_filetype_ogg,.b_large_icon.b_filetype_video,.b_large_icon.b_filetype_mov,.b_large_icon.b_filetype_mpeg,.b_large_icon.b_filetype_mpg,.b_large_icon.b_filetype_qt,.b_large_icon.b_filetype_ra,.b_large_icon.b_filetype_ram{background-image:url("../openolat/images/docs_large/movie.png") !important}.b_large_icon.b_filetype_midi,.b_large_icon.b_filetype_audio,.b_large_icon.b_filetype_mp3,.b_large_icon.b_filetype_m3u,.b_large_icon.b_filetype_wav{background-image:url("../openolat/images/docs_large/music.png") !important}.b_large_icon.b_filetype_ps,.b_large_icon.b_filetype_pdf{background-image:url("../openolat/images/docs_large/pdf.png") !important}.b_large_icon.b_filetype_psd{background-image:url("../openolat/images/docs_large/photoshop.png") !important}.b_large_icon.b_filetype_key{background-image:url("../openolat/images/docs_large/keynote.png") !important}.b_large_icon.b_filetype_odp,.b_large_icon.b_filetype_ppt,.b_large_icon.b_filetype_pptx{background-image:url("../openolat/images/docs_large/powerpoint.png") !important}.b_large_icon.b_filetype_odf,.b_large_icon.b_filetype_rtf,.b_large_icon.b_filetype_readme,.b_large_icon.b_filetype_README,.b_large_icon.b_filetype_log,.b_large_icon.b_filetype_txt{background-image:url("../openolat/images/docs_large/text.png") !important}.b_large_icon.b_filetype_pages{background-image:url("../openolat/images/docs_large/pages.png") !important}.b_large_icon.b_filetype_doc,.b_large_icon.b_filetype_docx{background-image:url("../openolat/images/docs_large/word.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")}.o_CourseModule_icon.b_managed_icon{background-image:url("../openolat/images/le_resources/book-open-text-image_locked.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_qitem_icon{background-image:url("../openolat/images//question-octagon-frame.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/projection-screen-presentation.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")}.o_portrait_dummy{background-image:url(../openolat/images/dummy.png);width:100px;height:100px}.o_portrait_dummy_small{background-image:url(../openolat/images/dummy_small.png);width:30px;height:30px}.o_portrait_dummy_female_big{background-image:url(../openolat/images/dummy_female_big.png);width:100px;height:100px}.o_portrait_dummy_female_small{background-image:url(../openolat/images/dummy_female_small.png);width:30px;height:30px}.o_portrait_dummy_male_big{background-image:url(../openolat/images/dummy_male_big.png);width:100px;height:100px}.o_portrait_dummy_male_small{background-image:url(../openolat/images/dummy_male_small.png);width:30px;height:30px}.o_portrait_anonymous{background-image:url(../openolat/images/dummy.png);width:100px;height:100px}.o_portrait_anonymous_small{background-image:url(../openolat/images/dummy_small.png);width:30px;height:30px}@media all{html{min-height:100%}body{min-height:100%;overflow-y:scroll;background:#ececec url("../openolat/images/sky.png") repeat-x left 83px}#b_page_margins{min-width:740px;max-width:1324px;margin:0 auto;width:100%;height:100%;position:relative;z-index:1}#b_main_toolbar{clear:both;height:24px;line-height:24px;vertical-align:middle;margin:0;padding:1px 0 0 0;border-bottom:1px solid #dadada;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;font-family:Century Gothic, Apple Gothic, sans-serif;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,#b_header #b_topnav #b_main_toolbar div.b_breadcumb_close .b_close,#b_main_toolbar div.b_breadcumb_close #b_header #b_topnav .b_close{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_header #b_topnav li#o_topnav_my_menu_link div.o_topnav_portrait{width:30px;height:30px;float:left;margin-right:5px}.o_topnav_my_menu ul{list-style-type:none;margin:0;padding:0}.o_topnav_my_menu li{margin:0;padding:0}.o_topnav_my_menu .o_topnav_my_submenu{color:grey}.o_topnav_my_menu #o_topnav_logout a#b_logout{background:url("../openolat/images/control/control-power.png") no-repeat left 50%;padding:0 0 0 20px;margin:0;font-weight:bold}.o_topnav_my_menu a.o_password{background:url("../openolat/images/locked.png") no-repeat left 50%;padding:0 0 0 20px;margin:0}#b_nav_main{float:left;font-family:Century Gothic, Apple Gothic, sans-serif}#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_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_portal > div{background-image:url("../openolat/images/home.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_site.o_site_catalog div{background-image:url(../openolat/images/drawer-open.png)}#b_nav_main ul li.b_nav_site.o_site_qpool div{background-image:url(../openolat/images/qti/pool.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}.b_clickable:hover{cursor:pointer}div.b_tree{position:relative;font-size:100%;font-family:Century Gothic, Apple Gothic, sans-serif;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_l0{padding-left:16px}div.b_tree ul li .b_tree_oc_l0{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l0,div.b_tree ul li .b_tree_level_close.b_tree_oc_l0{z-index:10}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_level_open.b_tree_oc_l1,div.b_tree ul li .b_tree_level_close.b_tree_oc_l1{z-index:10}div.b_tree ul li .b_tree_oc_l2{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l2,div.b_tree ul li .b_tree_level_close.b_tree_oc_l2{z-index:10}div.b_tree ul li .b_tree_oc_l3{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l3,div.b_tree ul li .b_tree_level_close.b_tree_oc_l3{z-index:10}div.b_tree ul li .b_tree_oc_l4{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l4,div.b_tree ul li .b_tree_level_close.b_tree_oc_l4{z-index:10}div.b_tree ul li .b_tree_oc_l5{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l5,div.b_tree ul li .b_tree_level_close.b_tree_oc_l5{z-index:10}div.b_tree ul li .b_tree_oc_l6{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l6,div.b_tree ul li .b_tree_level_close.b_tree_oc_l6{z-index:10}div.b_tree ul li .b_tree_oc_l7{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l7,div.b_tree ul li .b_tree_level_close.b_tree_oc_l7{z-index:10}div.b_tree ul li .b_tree_oc_l8{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l8,div.b_tree ul li .b_tree_level_close.b_tree_oc_l8{z-index:10}div.b_tree ul li .b_tree_oc_l9{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l9,div.b_tree ul li .b_tree_level_close.b_tree_oc_l9{z-index:10}div.b_tree ul li .b_tree_oc_l10{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l10,div.b_tree ul li .b_tree_level_close.b_tree_oc_l10{z-index:10}div.b_tree ul li .b_tree_oc_l11{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l11,div.b_tree ul li .b_tree_level_close.b_tree_oc_l11{z-index:10}div.b_tree ul li a.b_tree_l0{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l1{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l2{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l3{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l4{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l5{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l6{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l7{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l8{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l9{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l10{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l11{padding-left:13px;z-index:9}div.b_tree ul li span.b_tree_icon_decorator{width:12px;height:12px;float:right;display:inline;position:static;z-index:9;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:33px;background-position:15px 50%}div.b_tree ul.b_tree_l1 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l2 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l3 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l4 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l5 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l6 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l7 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l8 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l9 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l10 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l11 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree.b_tree_root_hidden{margin:0 0 0 1em}div.b_tree.b_tree_root_hidden ul{padding:0}div.b_tree.b_tree_root_hidden ul.b_tree_l0{margin-left:0}div.b_tree.b_tree_root_visible{left:-13px}div.b_tree a.b_tree_level_close,div.b_tree a.b_tree_level_open{background:transparent !important}div.b_tree a.b_tree_level_close span,div.b_tree a.b_tree_level_open span{background-position:0 50%;background-repeat:no-repeat;padding-right:13px}div.b_tree a.b_tree_level_close:hover,div.b_tree a.b_tree_level_open:hover{text-decoration:none}div.b_tree a.b_tree_level_close span{background-image:url("../openolat/images/tree_parent_open.png")}div.b_tree a.b_tree_level_open span{background-image:url("../openolat/images/tree_parent_closed.png")}div.b_master_detail div.b_tree ul li{background:url("../openolat/images/detail/detail_separator.png") repeat-y right}div.b_master_detail div.b_tree ul li a.b_tree_l0{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l1{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l2{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l3{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l4{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l5{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l6{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l7{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l8{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l9{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l10{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l11{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_selected{background-image:url("../openolat/images/detail/detail_arrow.png")}div.b_master_detail div.b_tree ul li a.b_tree_selected.b_tree_l0{background-image:none}#b_footer{color:#9D9D9D;padding:0;margin:0;position:relative;min-height:60px}#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;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 #dadada}#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}#b_main_toolbar div.b_breadcumb_close{position:absolute;right:5px;size:80%}#b_main_toolbar div.b_breadcumb_close .b_close{background-image:url("../openolat/images/close.png");color:#2d2e2d}#b_main_toolbar div.b_breadcumb_close .b_close:hover{color:#585a58;text-decoration:none}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.png") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}a.b_togglebox_opened{background:url("../openolat/images/tree_parent_open.png") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}div.b_togglebox{margin-top:10px;padding:10px;background:#FAFAFA}div.b_togglebox div.b_togglebox_content{background:transparent;border:0px;padding:0px}div.b_titled_wrapper div.b_togglebox{margin-top:0;padding:0;background:transparent}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 fieldset{padding:1em 1em 0.5em 1em}div.o_catalog div.o_catalog_title{display:none}div.o_catalog div.o_catalog_nav{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-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:100}.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 8px rgba(68, 68, 68, 0.5);-ms-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-o-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-webkit-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5)}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_area{position:absolute;top:0px;left:0px;moz-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-ms-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-o-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-webkit-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5)}div.b_callout_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1;background:#000;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=1);-moz-opacity:0.01;-khtml-opacity:0.01;opacity:0.01}div.b_callout{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_callout_content{max-width:60em;margin:10px;overflow:hidden}.b_callout_top_right_arrow{width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid #FFF;position:absolute;right:20px;top:-10px;z-index:1001}.b_callout_top_right_arrow-border{width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid #025d8c;position:absolute;right:20px;top:-11px;z-index:1000}.b_callout_top_left_arrow{width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid #FFF;position:absolute;left:20px;top:-10px;z-index:1001}.b_callout_top_left_arrow-border{width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid #025d8c;position:absolute;left:20px;top:-11px;z-index:1000}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(../openolat/images/ajax-loader.svg)}html.no-svg div.b_ajax_busy{background-image:url(../openolat/images/ajax-loader.gif)}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,#b_msg_sticky_preview{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 8px rgba(68, 68, 68, 0.5);-ms-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-o-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-webkit-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5)}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{margin:20px 0 20px 0}.o_infomessage_wrapper .o_infomessage{text-align:left}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:#777777;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.25em 0.5em 0.25em 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.25em 0.5em 0.25em 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.25em 0.5em 0.25em 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}.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 #ff9f5b;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.25em 0.5em 0.25em 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.25em 0.5em 0.25em 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.25em 0.5em 0.25em 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")}.b_link_ok > span{background-image:url("../openolat/images/tick.png")}.b_link_nok > span{background-image:url("../openolat/images/cross.png")}.b_link_edit > span{background-image:url("../openolat/images/docs/document--pencil.png")}.b_move_left_icon > span{background-image:url("../openolat/images/arrow_left_big.png")}.b_move_right_icon > span{background-image:url("../openolat/images/arrow_right_big.png")}.b_remove_icon > span{background-image:url("../openolat/images/cross_small.png")}.b_deletableentry_wrapper .b_link_left_icon{border:none;background:inherit;margin:0}.b_deletableentry_wrapper .b_link_left_icon:focus,.b_deletableentry_wrapper .b_link_left_icon:hover,.b_deletableentry_wrapper .b_link_left_icon:focus,.b_deletableentry_wrapper .b_link_left_icon:active{text-decoration:none;border:none;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.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.o_login div.o_login_form input{width:15em;padding:2px 3px 2px 3px}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;margin-top:1em;margin-bottom:0.3em}div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_vertical label{float:none}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 div.b_inline_elements div{display:inline}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.o_buttons_bar div.o_buttons_box_right{position:relative;text-align:right;padding:5px 0 5px 0}div.o_buttons_box_right{position:absolute;top:0;right:0}fieldset div.o_buttons_box_right{top:1em}div.b_box_with_chelp div.o_buttons_box_right{right:20px}div.o_buttons_box_center{padding:15px 0 0 0;text-align:center}div.b_fileinput{position:relative}div.b_fileinput div.b_fileinput_fakechooser{position:relative;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:absolute;top:0;left:0;height:1.8em;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_off.png") !important}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{background-position:center right;background-repeat:no-repeat;display:block;width:20px;height:20px}div.b_mark a span{display:block;width:19px;height:19px}div.b_mark a:hover{text-decoration:none}button::-moz-focus-inner,input[type="reset"]::-moz-focus-inner,input[type="button"]::-moz-focus-inner,input[type="submit"]::-moz-focus-inner,input[type="file"] > input[type="button"]::-moz-focus-inner{padding:0;border:0}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.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}table tbody tr.b_row_selected td{background:#ff9f5b}div.b_table_drag{padding:5px;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;border:1px solid #025d8c;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_table_wrapper table{width:99.5%;margin-left:1px;border:1px solid #eeeeee}div.b_table_wrapper table thead,div.b_table_wrapper table thead a{color:#025d8c}div.b_table_wrapper table thead a.b_sorting,div.b_table_wrapper table thead a a.b_sorting{padding:0 20px 0 0;text-decoration:none;background:url("../openolat/images/arrow-resize-090.png") no-repeat center right}div.b_table_wrapper table thead a.b_sorting_asc,div.b_table_wrapper table thead a a.b_sorting_asc{padding:0 20px 0 0;text-decoration:none;background:url("../openolat/images/arrow_up.png") no-repeat center right}div.b_table_wrapper table thead a.b_sorting_desc,div.b_table_wrapper table thead a a.b_sorting_desc{padding:0 20px 0 0;text-decoration:none;background:url("../openolat/images/arrow_down.png") no-repeat center right}div.b_table_wrapper table tbody tr:hover td{background:#ffdbc1}div.b_table_wrapper table tbody tr.b_row_selected:hover td{background:#ff9f5b}div.b_table_wrapper table tbody a{color:#025d8c}div.b_table_wrapper table tbody a:hover{color:#025d8c}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_wrapper div.b_table_footer{float:left;margin:5px 0 0 10px}div.b_table_wrapper div.dataTables_info{float:left;margin:5px 0 0 0}div.b_table_wrapper .dataTables_wrapper .paginate_enabled_previous{background:url("../openolat/images/arrow_left.png") no-repeat top left}div.b_table_wrapper .dataTables_wrapper .paginate_enabled_previous:hover{background:url("../openolat/images/arrow_left.png") no-repeat top left}div.b_table_wrapper .dataTables_wrapper .paginate_disabled_previous{background:url("../openolat/images/arrow_left.png") no-repeat top left}div.b_table_wrapper .dataTables_wrapper .paginate_enabled_next{background:url("../openolat/images/arrow_right.png") no-repeat top right}div.b_table_wrapper .dataTables_wrapper .paginate_enabled_next:hover{background:url("../openolat/images/arrow_right.png") no-repeat top right}div.b_table_wrapper .dataTables_wrapper .paginate_disabled_next{background:url("../openolat/images/arrow_right.png") no-repeat top right}div.b_table_wrapper .dataTables_wrapper .sorting{background:url("../openolat/images/arrow-resize-090.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper .sorting_asc{background:url("../openolat/images/arrow_up.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper .sorting_desc{background:url("../openolat/images/arrow_down.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper .sorting_asc_disabled{background:url("../openolat/images/arrow_up.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper .sorting_desc_disabled{background:url("../openolat/images/arrow_down.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper div.dataTables_scrollBody table.dataTable{border-top:none}div.b_table_wrapper .dataTables_wrapper div.dataTables_scrollBody table.dataTable thead th{border:none}div.b_table_wrapper .dataTables_wrapper table.dataTable thead th{border-bottom:1px solid #ccc;color:#025d8c}div.b_table_wrapper .dataTables_wrapper table.dataTable tbody a{color:#025d8c}div.b_table_wrapper .dataTables_wrapper table.dataTable tbody a:hover{color:#025d8c}div.b_table_wrapper .dataTables_wrapper table.dataTable tr.even td.sorting_1{background:#eee}div.b_table_wrapper .dataTables_wrapper table.dataTable tr.odd{background-color:#fff}div.b_table_wrapper .dataTables_wrapper table.dataTable tr.odd td.sorting_1{background:#fff}div.b_table_wrapper.b_table_edit table thead{border-bottom:solid #f3ca22 5px}div.b_table_wrapper.b_flexitable_wrapper div.b_table_filter{margin:3px 0 3px 0}div.b_table_wrapper.b_flexitable_wrapper div.b_table_filter label{padding:3px 7px 3px 0}div.b_table_wrapper.b_flexitable_wrapper div.b_table_filter div.b_form_selection_element{float:right}div.o_table_rowline div.o_table_row{margin-bottom:30px}div.o_table_rowline div.o_table_rowline_details{background-color:#f3feff !important;margin-top:-30px;margin-bottom:30px;border-bottom:1px solid #999;border-left:1px solid #999;border-right:1px solid #999}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.png") no-repeat;width:15px;height:15px;float:right;margin:3px}a#b_devcon_handle_expand{cursor:pointer;background:url("../openolat/images/tree_parent_closed.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 tr:hover td{background:#ffdbc1}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}div.o_table_row div.f_thumbnail{width:280px;height:158px;float:left;border-right:1px solid #999}div.o_table_row div.f_item_links a{background-repeat:no-repeat}div.o_table_row div.f_metadata{position:relative;border:1px solid #999;background-color:#fcfcfc;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.o_table_row div.f_metadata div.f_thumbnail_inner{width:280px;height:158px}div.o_table_row 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.o_table_row div.f_metadata div.f_metadata_text{margin:10px 220px 10px 300px}div.o_table_row div.f_metadata div.f_metadata_text_inner{width:100%}div.o_table_row div.f_metadata div.f_metadata_lifecycle{position:absolute;top:10px;right:220px}div.o_table_row div.f_metadata div.f_metadata_mark{position:absolute;top:10px;right:10px}div.o_table_row div.f_metadata div.f_metadata_additional_infos{position:absolute;top:0;right:0;height:158px;width:210px;border-left:1px solid #999}div.o_table_row div.f_metadata div.f_metadata_start{position:absolute;bottom:0;right:0;width:91px;height:20px;padding:7px;background-color:#025d8c}div.o_table_row div.f_metadata div.f_metadata_start a{color:#ffffff;font-size:140%;text-decoration:none}div.o_table_row div.f_metadata div.f_metadata_details{position:absolute;bottom:0;right:105px;width:91px;height:20px;padding:7px;background-color:#94bed3}div.o_table_row div.f_metadata div.f_metadata_details a{color:#ffffff;font-size:140%;text-decoration:none}div.o_table_row div.f_metadata span.b_access_method{width:16px;height:16px;background-position:0 50%;background-repeat:no-repeat}div.o_table_row div.f_metadata div.f_metadata_additional_infos_inner{margin:10px 10px 10px 10px}@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.6em}div.o_wiki_wrapper h2{font-size:1.4em}div.o_wiki_wrapper h3{font-size:1.2em}div.o_wiki_wrapper h4{font-size:1.1em}div.o_wiki_wrapper h5{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}img.wikiimg{border:0px}a.wikiimg{text-decoration:none;color:inherit;font-weight:inherit}div.imgcaption{padding:0.3em 0em 0.2em 0.3em}div.imgleft{clear:left;float:left;margin:0.3em 0.3em 0.3em 0em;text-align:left}div.imgright{clear:right;float:right;margin:0.3em 0em 0.3em 0.3em;text-align:right}div.o_wikimod-article-box div{width:auto !important}div.imgcenter{clear:both;overflow:hidden;text-align:center;margin:0.3em 0em 0.3em 0em}div.imgthumb{border:1px solid #bbbbbb;padding:0.3em}table.gallery{border:1px solid #B8B8DB;margin:2px;padding:2px;background-color:white}table.gallery tr{vertical-align:middle}table.gallery td{background-color:#EEEEEE;border:solid 2px #B8B8DB;text-align:center;vertical-align:middle;width:150px}img.gallery{border:1px solid #B8B8DB;padding:0.3em}a.edit{font-style:italic;color:#E98F8F}a.externallink:before{content:url("../openolat/images/external_link.png");padding-right:2px}pre{padding:1em;border:1px dashed #B8B8DB;color:black;background-color:#EEEEEE;line-height:1.1em}}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)}.b_quote_wrapper{position:relative;margin:20px}.b_quote_author{background:url(../openolat/images/forum/quote.gif) no-repeat left bottom;padding:10px 5px 15px 11px;position:relative;top:1px;font-style:italic;color:#A2A2A2}blockquote.b_quote{margin:0;border:1px solid #e5e5e5;padding:8px 10px 6px;color:#646464;background:#fff;font-size:100%}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}div.b_eportfolio_share_with_user{clear:both}div.b_eportfolio_share_with_user p{vertical-align:middle}div.b_eportfolio_share_with_user p span{float:none}@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}.epmst-green div.b_pagination li.b_changelog{float:right}}@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}.epmst-green2 div.b_pagination li.b_changelog{float:right}}@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}.epmst-green3 div.b_pagination li.b_changelog{float:right}}@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}.epmst-green4 div.b_pagination li.b_changelog{float:right}}@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}.epmst-red div.b_pagination li.b_changelog{float:right}}@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}.epmst-red2 div.b_pagination li.b_changelog{float:right}}@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}.epmst-red3 div.b_pagination li.b_changelog{float:right}}@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}.epmst-red4 div.b_pagination li.b_changelog{float:right}}@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}.epmst-blue div.b_pagination li.b_changelog{float:right}}@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}.epmst-blue2 div.b_pagination li.b_changelog{float:right}}@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}.epmst-blue3 div.b_pagination li.b_changelog{float:right}}@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}.epmst-blue4 div.b_pagination li.b_changelog{float:right}}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_sel_qpool_pool{background-image:url("../openolat/images/qti/pool-share.png") !important}.o_sel_qpool_my_items{background-image:url("../openolat/images/user.png") !important}.o_sel_qpool_favorits{background-image:url("../openolat/images/flag.png") !important}.o_sel_qpool_share{background-image:url("../openolat/images/users.png") !important}.o_sel_qpool_collection{background-image:url("../openolat/images/document-list.png") !important}.o_readwrite{background-image:url("../openolat/images/pencil.png")}.o_readonly{background-image:url("../openolat/images/pencil-prohibition.png")}.o_public,.o_exportable{background-image:url("../openolat/images/tick.png")}.o_private,.o_unexportable{background-image:url("../openolat/images/cross.png")}.o_qpool_edit_learning_time div{float:left}.o_qpool_edit_learning_time div input,.o_qpool_edit_learning_time div select,.o_qpool_edit_learning_time div span.o_qpool_edit_learning_time_label{margin-right:5px;padding-right:5px}div.o_sel_qpool_edit_content{float:right}div.o_sel_qpool_edit_content .b_link_edit{margin-right:20px}div.o_sel_qpool_presentation div.b_c33l li{padding-right:15px}div.o_sel_qpool_presentation h5{margin:0.5em 0 0.5em 0}#qpoolcontainer div.b_table_wrapper a.b_table_prefs{position:relative;top:1.5em;left:19px}#qpoolcontainer div.b_table_wrapper div.dataTables_wrapper{margin-top:1em}div.o_qpool_metadata_sharing h5{margin-top:1em}div.o_qpool_metadata_sharing table td.b_first_child{width:15%}div.o_qpool_filter_box{margin:3px 0 3px 0}div.o_qpool_filter_box label{padding:3px 7px 3px 0;float:left}div.o_qpool_filter_box div.b_form_selection_element{float:left}a.o_print_icon{background-image:url("../openolat/images/printer.png")}a.o_print_icon span{display:none}.d3chart .bar_green{fill:#9dd53a}.d3chart .bar_green:hover{fill:#7cbc0a}.d3chart .bar_red{fill:#f85032}.d3chart .bar_red:hover{fill:#e73827}.d3chart .bar_grey{fill:lightgrey}.d3chart .bar_grey:hover{fill:grey}div.o_qti_statistics{padding-top:20px;padding-left:40px;padding-right:5%}div.o_qti_statistics ul{list-style-type:none;padding:0;margin:0}div.o_qti_statistics li{padding-left:22px}div.o_qti_statistics li.o_qti_statistics-survey-item{padding-left:0px}div.o_qti_statistics li.o_qti_statistics-ncorrect{background:url(../img/decorator_error.png) no-repeat 5px 4px}div.o_qti_statistics li.o_qti_statistics-correct{background:url(../img/decorator_ok.png) no-repeat 5px 2px}div.o_qti_statistics h4{padding-left:20px}div.o_qti_statistics h4.qti-qtype1{background:url(../img/scItem.png) no-repeat}div.o_qti_statistics h4.qti-qtype2{background:url(../img/mcItem.png) no-repeat}div.o_qti_statistics h4.qti-qtype3{background:url(../img/fibItem.png) no-repeat}div.o_qti_statistics h4.qti-qtype4{background:url(../img/essayItem.png) no-repeat}div.o_qti_statistics h4.qti-qtype5{background:url(../img/kprimItem.png) no-repeat}#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,.o_qti_menu_item_attempts_marked{color:#666;padding:.2em .4em;border:1px solid transparent;background-position:center right;background-repeat:no-repeat;display:block;width:20px;height:12px}.o_qti_menu_item_attempts{background-image:url(../openolat/images/flag_off.png)}.o_qti_menu_item_attempts:hover,.o_qti_menu_item_attempts_marked:hover{border:1px solid silver;cursor:pointer}.o_qti_menu_item_attempts_marked{background-image:url(../openolat/images/flag.png)}#o_qti_item_note{padding:0;margin:0;border:0;color:#666;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:#666}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_qpool_import{background-image:url(../openolat/images/qti/pool.png)}.o_mi_qpool_export{background-image:url(../openolat/images/qti/pool.png)}.o_mi_docx_export{background-image:url(../openolat/images/docs/document-word.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}div.b_lti_edit_wrapper div.o_buttons_box_right{z-index:10;top:13px;right:20px}#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_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}span.o_cl_duedate{color:red}.d3chart .bar{shape-rendering:crispEdges}.d3chart .bar_default_light{fill:#f3feff}.d3chart .bar_default_light:hover{fill:#94bed3}.d3chart .bar_default{fill:#94bed3}.d3chart .bar_default:hover{fill:#025d8c}.d3chart .bar_default_dark{fill:#025d8c}.d3chart .bar_default_dark:hover{fill:black}.d3chart .axis{font:12px sans-serif}.d3chart .axis path,.d3chart .axis line{fill:none;stroke:#000;shape-rendering:crispEdges}.d3chart .x.axis path{display: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}div.o_visitingcard h4{background:url("../openolat/images/card-address.png") 0 50% no-repeat;padding-left:20px;margin-bottom:1em}div.o_visitingcard table th{width:20%}.popup_iframe{width:100%;height:100%;border:none;min-height:60em}div.o_reservation{position:relative;margin-top:2em;padding:1em;background:#F7F7F7;border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_reservation span.o_reservation_name{font-weight:bold;line-height:2em}div.o_reservation span.o_reservation_role_coach{margin-left:1em}div.o_reservation span.o_reservation_accepted{margin-left:2em;background:transparent url(../openolat/images/tick.png) 0 50% no-repeat;color:#009900;padding-left:20px;font-style:italic;line-height:2em}div.o_reservation span.o_reservation_refused{margin-left:2em;background:transparent url(../openolat/images/cross.png) 0 50% no-repeat;color:#990000;padding-left:20px;font-style:italic;line-height:2em}div.o_reservation a.o_reservation_details_link{padding:0 1em}div.o_reservation div.o_reservation_details{padding:1em 0 0 0}div.o_reservation ul{list-style:none;padding:0;margin:0}div.o_reservation ul li{background-repeat:no-repeat;padding:0;margin:0}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 div.b_clearfix{margin-bottom:1.5em}div.o_cmembers div.o_cmember{float:left;position:relative;width:30%;height:30px;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 div.o_cmember_portrait_wrapper{position:absolute}div.o_cmembers div.o_cmember div.o_cmember_portrait_wrapper div.o_cmember_portrait{top:3px;left:3px;border:1px solid #bbb;width:30px;height:30px;background-color:#fff;background-repeat:no-repeat;background-position:50% 50%}div.o_cmembers div.o_cmember div.o_cmember_info_wrapper{padding-left:35px;line-height:30px;vertical-align:middle}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_contexthelp_wrapper{position:relative}a.b_contexthelp{display:block;width:16px;height:16px;background:url(../openolat/images/help.png) no-repeat;line-height:0;cursor:help}div.b_contexthelp_wrapper a.b_contexthelp{position:absolute;top:0;right:0}fieldset a.b_contexthelp,fieldset div.b_contexthelp_wrapper a.b_contexthelp{position:absolute;top:-1.5em;right:-0.8em}#b_contexthelp_content{padding:0}#b_ch_topnav_search div.b_form_element_wrapper.b_form_horizontal{margin:2px 0 0 0}#b_contexthelp_rating{text-align:center;margin-top:20px;padding:10px;border-top:1px #ACAAAA solid}#b_contexthelp_rating h4{font-size:90%;margin:0;font-style:italic}#b_contexthelp_rating table{display:inline-block}#b_contexthelp_rating table td{width:50%}.b_contexthelp_icon{background-image:url(../openolat/images/help.png)}div.b_ratings_and_comments{margin:4em 0 1.5em 0;padding-bottom:0.5em;border-bottom:1px solid #eee;font-size:0.9em;position:relative}div.b_ratings_and_comments div.b_rating_wrapper{position:absolute;right:0;bottom:0;width:150px;height:4em}div.b_ratings_and_comments div.b_rating{background:none;border:none;padding:0;margin:0;position:absolute;left:0;bottom:2px;width:100%}div.b_ratings_and_comments div.b_rating_personal{background:#fff;z-index:5}div.b_ratings_and_comments a.b_comments,div.b_eportfolio_map a.b_comments{background:url(../openolat/images/comment.png) 3px 50% no-repeat;padding:3px 0 1px 23px;vertical-align:middle;min-height:18px}div.b_comments{font-size:0.9em}div.b_comments div.b_comment_wrapper{border:1px solid #eee;padding:10px 10px 5px 10px;margin-bottom:2em;background:#fbfbfb;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.b_comments div.b_comment_wrapper div.b_avatar img{border:1px solid #aaa}div.b_comments div.b_comment_wrapper h5{font-size:1em;background:url(../openolat/images/user.png) 0 50% no-repeat;padding:1px 0 1px 20px;vertical-align:middle;min-height:16px}div.b_comments div.b_comment_wrapper span.b_date{color:#aaaaaa;font-weight:normal;display:block;margin-top:5px}div.b_comments div.b_comment_wrapper div.b_comment_wrapper{margin-left:7px;background:#fff}div.b_comments div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper{background:#fbfbfb}div.b_comments div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper{background:#fff}div.b_comments blockquote.b_comment{padding:3px 0 0 0px;margin:0}div.b_comments div.b_form{padding:10px;border:1px solid #eee;margin:2em 0 2em 0;background: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}div.b_comments div.b_form h5{font-size:1em;margin-bottom:0.5em}div.b_comments div.b_form div.b_button_group{text-align:center}.b_comment_icon{background-image:url(../openolat/images/comment.png)}#b_comment_form_link{font-size:0.9em;position:relative;top:-15px;left:23px}div.b_rating{margin:10px;padding:5px;font-size:80%;white-space:nowrap;text-align:left;background:#EEE;border:1px solid #ACAAAA;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.b_rating div.b_rating_title{font-weight:bold}div.b_rating div.b_rating_items{vertical-align:middle;line-height:18px}div.b_rating div.b_rating_items a{float:left;display:inline;width:16px;height:16px;background-repeat:no-repeat;background-position:0 0;margin:1px 4px 1px 0}div.b_rating div.b_rating_items a.b_rating_item_on{background-image:url(../openolat/images/star.png)}div.b_rating div.b_rating_items a.b_rating_item_off{background-image:url(../openolat/images/star_grey.png)}div.b_rating div.b_rating_items a:hover{cursor:default}div.b_rating div.b_rating_items.b_enabled a:hover{cursor:pointer}div.b_rating div.b_rating_items.b_enabled a.b_rating_item_off:hover{background-image:url(../openolat/images/star.png)}div.b_rating div.b_rating_explanation{clear:both;font-size:90%}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}.b_content_download{background:url("../openolat/images/drive-download.png") no-repeat top left;padding-left:20px;margin:3px;display:block;min-height:16px}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}ul.fx_portlets_column_portlets{border:1px solid #eee;padding:0;margin:0;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%)}ul.fx_portlets_column_portlets li{margin-left:0}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}@media all{.fc-button-print span{background:url(../openolat/images/printer.png) no-repeat right 50%;padding:0 20px 0 0}#o_cal_manage_calendars{float:right;margin-right:10px;margin-top:5px}#o_cal_config_below_cal_container{padding:6px;position:relative;overflow:hidden}#o_cal_config_below_cal_container div.b_contexthelp_wrapper a.b_contexthelp{top:0;right:0}.o_cal_embedded_course_container{padding-top:6px}.o_cal_embedded_course_container #b_content_popup{position:absolute;top:0;right:0}.o_course_run_peekview .o_cal_peekview ul li{list-style:none}#o_cal_wv_actions{vertical-align:middle;line-height:16px;padding-right:30px;float:right;display:inline;position:relative}#o_cal_wv_nav{text-align:left;vertical-align:middle;line-height:16px;float:left;display:inline;position:absolute;top:5px;left:5px}.o_cal_wv_prev,.o_cal_wv_next{margin-left:0 !important;margin-right:0 !important}.o_cal_wv_prev span{width:20px;height:20px;float:left;background:transparent url(arrow_left_big.png) no-repeat center center}.o_cal_wv_next span{width:20px;height:20px;float:left;background:transparent url(arrow_right_big.png) no-repeat center center}#o_cal_wv{padding:0 0px 5px 0px;position:relative;width:auto}#o_cal_wv_header_wrapper{padding-top:10px;position:relative;clear:both}#o_cal_wv_header{border:1px solid #888;position:relative;height:20px;margin-bottom:2px;background:#FFF}.o_cal_wv_grid_wrapper{position:relative;border:1px solid #888;background:#FFF;padding-bottom:1px}.o_cal_wv_grid{position:relative;width:auto;height:600px;overflow:scroll !important;overflow-x:hidden !important}#o_cal_wv_daylong{border:1px solid #888;position:relative;width:auto;overflow:visible;margin-bottom:2px;background:#FFF}.o_cal_wv_dlday{border-left:1px solid #888;position:absolute;width:13%;background:#FFF}.o_cal_wv_time{position:absolute;width:9%}.o_cal_wv_legend_hours{margin:0;padding:0;height:20px;text-align:center;color:#888}.o_cal_wv_legend_hour{border-bottom:1px solid #DDD;margin:0;padding:0;height:39px}.o_cal_wv_legend_hour div{padding:3px 3px 0 3px;text-align:center;color:#444;overflow:hidden;height:16px}.o_cal_wv_day{border-left:1px solid #888;position:absolute;width:13%;border-collapse:collapse;background:#FFF}.o_cal_wv_legend_day{margin:0;padding:0;height:20px}.o_cal_wv_legend_day div{padding:3px 3px 0px 3px;height:15px;overflow:hidden;text-align:center;color:#888}.o_cal_wv_hour{border-bottom:1px dotted #DDD;margin:0;padding:0;height:19px}.o_cal_wv_half_hour{border-bottom:1px solid #DDD;margin:0;padding:0;height:19px}.o_cal_wv_half_hour:hover{background:#DCDDE0}.o_cal_wv_hour:hover{background:#DCDDE0}.o_cal_wv_row0{left:0}.o_cal_wv_row1{left:9%}.o_cal_wv_row2{left:22%}.o_cal_wv_row3{left:35%}.o_cal_wv_row4{left:48%}.o_cal_wv_row5{left:61%}.o_cal_wv_row6{left:74%}.o_cal_wv_row7{left:87%}.o_cal_wv_holiday{background:#eee}.o_cal_wv_today{background:#fff5cc}.o_cal_wv_lastday{border-right:1px solid #888}.o_cal_wv_lasthour{border-bottom:0}.o_cal_wv_event_wrapper{padding:0;margin:0;padding-bottom:2px;position:absolute;overflow:hidden;z-index:10}.o_cal_wv_event{border:1px solid;padding:0;margin:0;position:relative;overflow:hidden;z-index:10}.o_cal_wv_event_overflow{position:absolute;right:2px;z-index:20}.o_cal_wv_event:hover{border-color:#000;z-index:11}.o_cal_wv_event_header{height:1em;overflow:hidden;padding:0px 2px 3px 2px;font-weight:bold;vertical-align:bottom}.o_cal_wv_event_content{padding:1px 2px 1px 2px}.o_cal_toptoolbar{margin-bottom:0.8em;min-width:707px;padding-bottom:8px;border-bottom:1px solid #eee}.o_cal_toptoolbar .o_cal_pagination{float:left;height:2em;width:235px}.o_cal_toptoolbar .o_cal_gotodate{float:left;height:2em;width:350px}.o_cal_gotodate div.b_form div.b_form_element_wrapper div.b_form_element{margin-left:0}.o_cal_toptoolbar .o_cal_search{float:left;height:2em}.o_cal_wv_devent_wrapper{padding:0;margin:0;position:relative;top:-1px;left:-1px;width:auto;height:20px}.o_cal_wv_devent{border:1px solid;padding:0;margin:0;width:100%;height:19px;overflow:hidden;z-index:11}.o_cal_wv_devent:hover{border-color:#000;z-index:12}.o_cal_wv_devent_content{padding:1px 2px 1px 2px}.o_cal_config{margin:2em 0;position:relative;padding:5px}.o_cal_manage_config{position:relative;padding:5px}.o_cal_manage_config fieldset{position:relative;display:inline}.o_cal_config fieldset{position:relative;display:inline}.o_cal_config_scrollwrapper{width:400px;height:100px;overflow:scroll;overflow-x:hidden;border:1px solid #BFBFBF;position:relative}.o_cal_config_row{clear:both;padding:2px 15px 0 0}.o_cal_config_enabled{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/check_on.png) no-repeat;float:left;display:inline}a.o_cal_config_enabled:hover{background:url(../openolat/images/cal/check_on_over.png) no-repeat}.o_cal_config_disabled{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/check_off.png) no-repeat;float:left;display:inline}.o_cal_config_calendar{border:1px solid;padding:0;margin:0;padding:1px 6px 1px 4px;position:relative;height:14px;width:200px;overflow:hidden;float:left;display:inline}.o_cal_config_chosecolor{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/color.png) no-repeat 2px 0px;float:left;display:inline}.o_cal_config_subscribeical{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar_ical_export.png) no-repeat 2px 0px;float:left;display:inline}.o_cal_config_remove_subscribeical{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar_ical_export_remove.png) no-repeat 0 0;float:left;display:inline}a.o_cal_config_unsubscribe{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar_remove.png) no-repeat 0 0;float:left;display:inline}.o_cal_config_regenerate_link{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar_ical_export_regen.png) no-repeat 0 0;float:left;display:inline}.o_cal_config_remove_cal{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/delete.png) no-repeat 2px 0px;float:left;display:inline}.o_cal_config_addevent{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar--plus.png) no-repeat 0 0;float:left;display:inline}.o_cal_config_importevent{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar--arrow.png) no-repeat 0 0;float:left;display:inline}.o_cal_config_readonly{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar--plus.png) no-repeat 0 0;opacity:0.6;float:left;display:inline}#o_cal_colorchooser{background:#DCDDE0;border:1px solid #999999;float:left;display:inline;padding:3px;position:relative}#o_cal_colorchooser div{position:relative;border:1px solid #FFF;margin:5px;float:left;display:inline}#o_cal_colorchooser div:hover{border:1px solid #000}#o_cal_colorchooser a{position:relative;width:20px;height:20px;float:left;display:inline}.o_cal_colorchooser_selected{background:url(../openolat/images/cal/selectedcolor.gif) no-repeat 2px 2px}.o_cal_orange{background:#ffc266;border-color:#ff9900;color:#5D5D5D}.o_cal_orange .o_cal_wv_event_header{background:#ff9900}.o_cal_orange a{color:#5d5d5d !important}.o_cal_green{background:#66c266;border-color:#009900;color:#FFF}.o_cal_green .o_cal_wv_event_header{background:#009900}.o_cal_green a{color:white !important}.o_cal_blue{background:#4d6e9f;border-color:#2e5894;color:#FFF}.o_cal_blue .o_cal_wv_event_header{background:#2e5894}.o_cal_blue a{color:white !important}.o_cal_yellow{background:#ffe066;border-color:#ffcc00;color:#5D5D5D}.o_cal_yellow .o_cal_wv_event_header{background:#ffcc00}.o_cal_yellow a{color:#5d5d5d !important}.o_cal_red{background:#c26666;border-color:#990000;color:#FFF}.o_cal_red .o_cal_wv_event_header{background:#990000}.o_cal_red a{color:white !important}.o_cal_grey{background:#DDDAAA;border-color:#5D5D5D;color:#FFF}.o_cal_grey .o_cal_wv_event_header{background:#5D5D5D}.o_cal_grey a{color:white !important}div.o_cal_gotodate div.b_form_element{margin-left:0%;margin-top:-4px}div.o_cal_search_subscribe{float:right;margin-right:20px}div.o_cal_week_year_label{font-weight:bold;margin-top:8px}.o_cal_config_regenerate_link{position:relative;float:left;display:inline}.o_cal_wv_event_tooltip{display:none}.o_cal_tooltip_buttons{text-align:right}.o_cal_wv .x-tip-body div{padding:0.2em 0}div.o_cal_wv_event_tooltip_content{padding-top:1em}div.o_cal_tooltip_buttons{padding-top:1em}body.o_cal_print{background:white}body.o_cal_print .o_cal_toptoolbar.b_clearfix{display:none}body.o_cal_print .o_cal_wv{display:none}body.o_cal_print .o_cal_wv_print{display:block}body.o_cal_print #o_cal_config .b_float_right{display:none}body.o_cal_print #o_cal_config_below_cal_container .b_subcolumns{display:none}body.o_cal_print .o_cal_wv_print ul{list-style-type:none;margin:0 0 0 0;padding:0 0 0 0}body.o_cal_print .o_cal_event{clear:left;margin:0.2em 0}body.o_cal_print .o_cal_wv_list *{float:left;width:100%}body.o_cal_print .o_cal_event span{padding:0 0.4em;display:block}body.o_cal_print .o_cal_date{font-weight:bold}body.o_cal_print .o_cal_time{width:25%}body.o_cal_print .o_cal_subject{width:40%;border-left-style:solid;border-left-width:thick;background:white}body.o_cal_print .o_cal_subject p{padding:0 0.4em;margin:0;color:black}body.o_cal_print .o_cal_location{float:right;width:34%}body.o_cal_print .o_cal_config_scrollwrapper{width:auto;height:auto;overflow:visible;overflow-x:visible}body.o_cal_print .o_cal_config_calendar{border-width:0;border-left-style:solid;border-left-width:thick;float:none;display:block;color:black;background:white}}.o_glossary{margin:0 100px 0 100px}.o_glossary_entry{margin:0px 0 0px 0;padding:10px;border-top:1px solid #DCDDE0;border-left:1px solid #DCDDE0;border-right:1px solid #DCDDE0}.o_glossary_commands{float:right}.o_glossary_addcommand{float:right}.o_glossary dt{font-weight:bold}dt span.o_glossary_author{font-weight:normal}dt span.o_glossary_modifier{font-weight:normal;color:#98221F}dt span.o_glossary_modifier a,dt span.o_glossary_modifier a:hover{color:#98221F}dt o_glossary_synonym{font-size:80%;font-variant:small-caps;font-style:italic}dd{padding-left:20px;clear:both}.o_glossary_register{margin-bottom:10px}.o_glossary_register_active{font-weight:bold;background-color:lightgrey;font-size:120%}.o_tm_glossary{border-bottom:1px dotted #666699}.o_tm_yellow{background-color:#FFFF66}.o_tm_blue{background-color:#33FFFF}.o_tm_red{background-color:#FF3333}.o_tm_green{background-color:#99FF00}@media print{.o_cal_toptoolbar.b_clearfix{display:none}.o_cal_wv{display:none}.o_cal_wv_print{display:block}#o_cal_config .b_float_right{display:none}#o_cal_config_below_cal_container .b_subcolumns{display:none}.o_cal_wv_print ul{list-style-type:none;margin-left:0}.o_cal_event{clear:left;margin:0.2em 0}.o_cal_wv_list *{float:left;width:100%}.o_cal_event span{padding:0 0.4em;display:block}.o_cal_date{font-weight:bold}.o_cal_time{width:25%}.o_cal_subject{width:40%;border-left-style:solid;border-left-width:thick}.o_cal_subject p{padding:0 0.4em;margin:0}.o_cal_location{float:right;width:34%}.o_cal_config_scrollwrapper{width:auto;height:auto;overflow:visible;overflow-x:visible}.o_cal_config_calendar{border-width:0;border-left-style:solid;border-left-width:thick;float:none;display:block}#o_cal_config_below_cal_container{border:none;background:none;overflow:visible}#o_cal_config_below_cal_container *{background:none;color:black}#o_cal_config_below_cal_container fieldset{border:none}#o_cal_config_below_cal_container fieldset legend{font-weight:bold}}#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{border:1px solid #ACAAAA;height:170px;font-size:90%;margin:0 0 1em 0;overflow:scroll;overflow-x:auto}.o_instantmessaging_chat_history div.o_instantmessaging_message_group{border-top:1px solid #eee;padding:3px 3px 3px 40px;min-height:40px;position:relative;background:#fff}.o_instantmessaging_chat_history div.o_instantmessaging_message_group.o_odd{background:#F4F4F4}.o_instantmessaging_chat_history div.o_instantmessaging_message_group div.o_instantmessaging_avatar{position:absolute;top:3px;left:3px;border:1px solid #bbb;width:30px;height:30px;background-color:#fff;background-repeat:no-repeat;background-position:50% 50%}.o_instantmessaging_chat_history div.o_instantmessaging_message_group div.o_instantmessaging_from{text-align:left;color:#999;text-decoration:none;font-weight:500}.o_instantmessaging_chat_history div.o_instantmessaging_message_group a:hover{color:#000;text-decoration:none}.o_instantmessaging_chat_history div.o_instantmessaging_message_group a:hover div.o_instantmessaging_from{color:#000}.o_instantmessaging_chat_history div.o_instantmessaging_message_group div.o_instantmessaging_body{padding:3px 0 3px 0}.o_instantmessaging_chat_history div.o_instantmessaging_message_group div.o_instantmessaging_body span.o_instantmessaging_date{text-align:right;color:#999;font-size:90%;font-weight:200}.o_instantmessaging_chat_form input{width:99%}.o_instantmessaging_chat_form div.b_button_group{margin-top:1em}#o_instantmessages_buddieslist{font-size:90%;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_group{padding-bottom:0.5em}#o_instantmessages_buddieslist li.o_instantmessaging_group div.o_instantmessaging_groupname{padding:0 0 0 20px;background:url(../openolat/images/users.png) no-repeat 0 50%}#o_instantmessages_buddieslist a.o_instantmessaging_vip span{font-weight:bold}#o_instantmessages_buddieslist li a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 50%}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler{border-bottom:1px #eee solid;margin:0 0 0.5em 0;padding:0 0 0.5em 0}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler span{white-space:nowrap}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 50%;margin-right:1em}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a.o_instantmessaging_showgroupswitch{background-image:url(../openolat/images/users_conf.png)}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a.o_instantmessaging_hidegroupswitch{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;background-image:url(../openolat/images/users_conf.png)}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a.o_instantmessaging_showofflineswitch{background-image:url(../openolat/images/im/status-offline.png)}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a.o_instantmessaging_hideofflineswitch{background-image:url(../openolat/images/im/status.png)}#o_instantmessages_buddy{margin:1em 0 2em 0}#o_instantmessages_buddy a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 50%}div.o_groupchat_roster{margin:0}div.o_groupchat_roster ul{list-style-type:none;margin:0;padding:0}div.o_groupchat_roster ul li{font-size:90%;margin:0;padding:0 0 0 20px;background:url(../openolat/images/user.png) no-repeat 0 50%}div.o_groupchat_roster ul li.o_instantmessaging_anonymous{background-image:url(../openolat/images/user_silhouette.png)}div.o_groupchat_roster ul li.o_instantmessaging_vip{font-weight:bold}div.o_groupchat_roster ul li.o_instantmessaging_vip.o_instantmessaging_anonymous{font-weight:normal}.o_instantmessaging_available_icon{background-image:url(../openolat/images/im/status.png)}.o_instantmessaging_dnd_icon{background-image:url(../openolat/images/im/status-away.png)}.o_instantmessaging_unavailable_icon{background-image:url(../openolat/images/im/status-offline.png)}.o_instantmessaging_new_msg_icon{background-image:url(../openolat/images/im/new_message.png)}.o_instantmessaging_chat_icon{background-image:url(../openolat/images/im/balloon-white-left.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;margin-right:1em}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-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;background-repeat:no-repeat;background-size:100%;width:45%;height:300px;margin:0 20px 0 20px}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_big_icon{background-image:url(../openolat/images/library_image.png)}.f_library_icon{background-image:url(../openolat/images/library.png)}.f_thumbnail_unavailable{background-image:url(../openolat/images/no_preview.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}.ui-widget{font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:100%}.ui-widget-header{border-top:none;border-left:none;border-right:none;border-bottom:1px solid #eee;background:#fff;font-weight:bold}.ui-dialog{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)}.ui-dialog .ui-widget-header .ui-icon-closethick{background:white url("../openolat/images/close.png") no-repeat center center}.ui-dialog .ui-widget-header .ui-button.ui-corner-all{border:none !important;background:#fff !important}.ui-dialog .ui-widget-content{border-color:#fff;padding:5px}.ui-dialog .ui-dialog-titlebar{padding:2px 30px 2px 5px}.ui-dialog.ui-corner-all{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}.ui-dialog.ui-widget-content{border-color:#025d8c}.ui-dialog.o_modal-ui div.ui-dialog-buttonpane{display:none}.ui-autocomplete-input{line-height:1.5em;font-size:98%}.ui-autocomplete{z-index:10000}.ui-autocomplete.ui-menu{padding:1px}.ui-autocomplete.ui-corner-all{border:1px solid #025d8c;border-top:none;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:2px;-webkit-border-bottom-left-radius:2px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:2px;-moz-border-radius-bottomleft:2px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px;moz-box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3);-ms-box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3);-o-box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3);-webkit-box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3);box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3)}.ui-autocomplete a.ui-corner-all{border:none;margin:-1px;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0}.ui-autocomplete a.ui-corner-all.ui-state-focus{background:#ffdbc1}.ui-autocomplete .b_error_icon{color:#990000;font-style:italic}.ui-datepicker{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)}.ui-datepicker .ui-widget-header .ui-datepicker-prev.ui-corner-all,.ui-datepicker .ui-widget-header .ui-datepicker-next.ui-corner-all{border:none !important;background:#fff !important}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e{background:white url("../openolat/images/arrow_right_big.png") no-repeat center center}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{background:white url("../openolat/images/arrow_left_big.png") no-repeat center center}.ui-datepicker .ui-state-default{background:#eee}.ui-datepicker .ui-state-highlight,.ui-datepicker .ui-widget-content .ui-state-highlight{border:1px solid #94bed3;background:#f3feff}.ui-datepicker.ui-corner-all{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}.ui-datepicker.ui-widget-content{border-color:#025d8c}.ui-tooltip{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)}.ui-tooltip.ui-corner-all{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}.ui-tooltip.ui-widget-content{border:1px solid #025d8c}ul.tagit li.tagit-choice.ui-widget-content.ui-state-default{background:#DEE7F8;border:1px solid #CAD8F3}ul.tagit.ui-corner-all{border:none;background:none}.ui-layout-pane{border:none}.ui-layout-resizer{background:none;border-width:1px;border-style:dotted}.ui-layout-toggler-hover,.ui-layout-resizer-hover .ui-layout-toggler-hover{background-color:#025d8c}.ui-layout-resizer-open-hover,.ui-layout-resizer-dragging{background:#f3feff}.fc-state-highlight{background:#ffdbc1}@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}.o_cal_toptoolbar.b_clearfix{display:none}.o_cal_wv{display:none}.o_cal_wv_print{display:block}#o_cal_config .b_float_right{display:none}#o_cal_config_below_cal_container .b_subcolumns{display:none}.o_cal_wv_print ul{list-style-type:none;margin-left:0}.o_cal_event{clear:left;margin:0.2em 0}.o_cal_wv_list *{float:left;width:100%}.o_cal_event span{padding:0 0.4em;display:block}.o_cal_date{font-weight:bold}.o_cal_time{width:25%}.o_cal_subject{width:40%;border-left-style:solid;border-left-width:thick}.o_cal_subject p{padding:0 0.4em;margin:0}.o_cal_location{float:right;width:34%}.o_cal_config_scrollwrapper{width:auto;height:auto;overflow:visible;overflow-x:visible}.o_cal_config_calendar{border-width:0;border-left-style:solid;border-left-width:thick;float:none;display:block}#o_cal_config_below_cal_container{border:none;background:none;overflow:visible}#o_cal_config_below_cal_container *{background:none;color:black}#o_cal_config_below_cal_container fieldset{border:none}#o_cal_config_below_cal_container fieldset legend{font-weight:bold}} +**/@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,#b_main_toolbar div.b_breadcumb_close .b_close{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_group_icon.b_managed_icon{background-image:url("../openolat/images/managed_users.png")}.b_qpool_icon{background-image:url("../openolat/images/qti/pool.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_settings{background-image:url("../openolat/images/gear.png")}.o_notes_icon{background-image:url("../openolat/images/docs/document--pencil.png")}.o_notifications_icon{background-image:url("../openolat/images/radar.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_gl_ES{background-image:url("../openolat/images/flags/galicia.png")}.b_filetype_file,.b_filetype_ico{background-image:url("../openolat/images/docs/document_plain.png") !important}.b_filetype_folder{background-image:url("../openolat/images/folder.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_zip,.b_filetype_gz,.b_filetype_tar,.b_filetype_tgz{background-image:url("../openolat/images/docs/document-zipper.png") !important}.b_filetype_css,.b_filetype_js,.b_filetype_java,.b_filetype_numbers,.b_filetype_ods,.b_filetype_xml,.b_filetype_xsl{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_bat_icon,.b_filetype_bat,.b_filetype_exe,.b_filetype_app,.b_filetype_sh{background-image:url("../openolat/images/docs/document-binary.png") !important}.b_filetype_xls,.b_filetype_xlsx{background-image:url("../openolat/images/docs/document-excel.png") !important}.b_filetype_swf,.b_filetype_flv{background-image:url("../openolat/images/docs/document-flash-movie.png") !important}.b_filetype_htm,.b_filetype_html{background-image:url("../openolat/images/docs/document-globe.png") !important}.b_filetype_ai{background-image:url("../openolat/images/docs/document-illustrator.png") !important}.b_filetype_png,.b_filetype_tiff,.b_filetype_webp,.b_filetype_gif,.b_filetype_ico,.b_filetype_jpeg,.b_filetype_bmp,.b_filetype_odg,.b_filetype_eps,.b_filetype_jpg{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_avi_icon,.b_filetype_avi,.b_filetype_dvi,.b_filetype_mp4,.b_filetype_m4v,.b_filetype_webm,.b_filetype_ogg,.b_filetype_video,.b_filetype_mov,.b_filetype_mpeg,.b_filetype_mpg,.b_filetype_qt,.b_filetype_ra,.b_filetype_ram{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_midi,.b_filetype_audio,.b_filetype_mp3,.b_filetype_m3u,.b_filetype_wav{background-image:url("../openolat/images/docs/document-music.png") !important}.b_filetype_ps,.b_filetype_pdf{background-image:url("../openolat/images/docs/document-pdf.png") !important}.b_filetype_psd{background-image:url("../openolat/images/docs/document-photoshop.png") !important}.b_filetype_key,.b_filetype_odp,.b_filetype_ppt,.b_filetype_pptx{background-image:url("../openolat/images/docs/document-powerpoint.png") !important}.b_filetype_odf,.b_filetype_rtf,.b_filetype_readme,.b_filetype_README,.b_filetype_log,.b_filetype_txt{background-image:url("../openolat/images/docs/document-text.png") !important}.b_filetype_pages,.b_filetype_doc,.b_filetype_docx{background-image:url("../openolat/images/docs/document-word.png") !important}.b_large_icon.b_filetype_file{background-image:url("../openolat/images/docs_large/file.png") !important}.b_large_icon.b_filetype_folder{background-image:url("../openolat/images/docs_large/folder.png") !important}.b_large_icon.b_filetype_zip,.b_large_icon.b_filetype_gz,.b_large_icon.b_filetype_tar,.b_large_icon.b_filetype_tgz{background-image:url("../openolat/images/docs_large/compressed.png") !important}.b_large_icon.b_filetype_css{background-image:url("../openolat/images/docs_large/css.png") !important}.b_large_icon.b_filetype_js,.b_large_icon.b_filetype_java,.b_large_icon.b_filetype_xml,.b_large_icon.b_filetype_xsl,.b_large_icon.b_filetype_bat,.b_large_icon.b_filetype_exe,.b_large_icon.b_filetype_app,.b_large_icon.b_filetype_sh{background-image:url("../openolat/images/docs_large/developer.png") !important}.b_large_icon.b_filetype_numbers{background-image:url("../openolat/images/docs_large/numbers.png") !important}.b_large_icon.b_filetype_ods,.b_large_icon.b_filetype_xls,.b_large_icon.b_filetype_xlsx{background-image:url("../openolat/images/docs_large/excel.png") !important}.b_large_icon.b_filetype_swf,.b_large_icon.b_filetype_flv{background-image:url("../openolat/images/docs_large/flash.png") !important}.b_large_icon.b_filetype_htm,.b_large_icon.b_filetype_html{background-image:url("../openolat/images/docs_large/html.png") !important}.b_large_icon.b_filetype_ai{background-image:url("../openolat/images/docs_large/illustrator.png") !important}.b_large_icon.b_filetype_png,.b_large_icon.b_filetype_tiff,.b_large_icon.b_filetype_webp,.b_large_icon.b_filetype_gif,.b_large_icon.b_filetype_ico,.b_large_icon.b_filetype_jpeg,.b_large_icon.b_filetype_bmp,.b_large_icon.b_filetype_odg,.b_large_icon.b_filetype_eps,.b_large_icon.b_filetype_jpg{background-image:url("../openolat/images/docs_large/image.png") !important}.b_large_icon.b_filetype_avi,.b_large_icon.b_filetype_dvi,.b_large_icon.b_filetype_mp4,.b_large_icon.b_filetype_m4v,.b_large_icon.b_filetype_webm,.b_large_icon.b_filetype_ogg,.b_large_icon.b_filetype_video,.b_large_icon.b_filetype_mov,.b_large_icon.b_filetype_mpeg,.b_large_icon.b_filetype_mpg,.b_large_icon.b_filetype_qt,.b_large_icon.b_filetype_ra,.b_large_icon.b_filetype_ram{background-image:url("../openolat/images/docs_large/movie.png") !important}.b_large_icon.b_filetype_midi,.b_large_icon.b_filetype_audio,.b_large_icon.b_filetype_mp3,.b_large_icon.b_filetype_m3u,.b_large_icon.b_filetype_wav{background-image:url("../openolat/images/docs_large/music.png") !important}.b_large_icon.b_filetype_ps,.b_large_icon.b_filetype_pdf{background-image:url("../openolat/images/docs_large/pdf.png") !important}.b_large_icon.b_filetype_psd{background-image:url("../openolat/images/docs_large/photoshop.png") !important}.b_large_icon.b_filetype_key{background-image:url("../openolat/images/docs_large/keynote.png") !important}.b_large_icon.b_filetype_odp,.b_large_icon.b_filetype_ppt,.b_large_icon.b_filetype_pptx{background-image:url("../openolat/images/docs_large/powerpoint.png") !important}.b_large_icon.b_filetype_odf,.b_large_icon.b_filetype_rtf,.b_large_icon.b_filetype_readme,.b_large_icon.b_filetype_README,.b_large_icon.b_filetype_log,.b_large_icon.b_filetype_txt{background-image:url("../openolat/images/docs_large/text.png") !important}.b_large_icon.b_filetype_pages{background-image:url("../openolat/images/docs_large/pages.png") !important}.b_large_icon.b_filetype_doc,.b_large_icon.b_filetype_docx{background-image:url("../openolat/images/docs_large/word.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")}.o_CourseModule_icon.b_managed_icon{background-image:url("../openolat/images/le_resources/book-open-text-image_locked.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_qitem_icon{background-image:url("../openolat/images//question-octagon-frame.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/projection-screen-presentation.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")}.o_portrait_dummy{background-image:url(../openolat/images/dummy.png);width:100px;height:100px}.o_portrait_dummy_small{background-image:url(../openolat/images/dummy_small.png);width:30px;height:30px}.o_portrait_dummy_female_big{background-image:url(../openolat/images/dummy_female_big.png);width:100px;height:100px}.o_portrait_dummy_female_small{background-image:url(../openolat/images/dummy_female_small.png);width:30px;height:30px}.o_portrait_dummy_male_big{background-image:url(../openolat/images/dummy_male_big.png);width:100px;height:100px}.o_portrait_dummy_male_small{background-image:url(../openolat/images/dummy_male_small.png);width:30px;height:30px}.o_portrait_anonymous{background-image:url(../openolat/images/dummy.png);width:100px;height:100px}.o_portrait_anonymous_small{background-image:url(../openolat/images/dummy_small.png);width:30px;height:30px}@media all{html{min-height:100%}body{min-height:100%;overflow-y:scroll;background:#ececec url("../openolat/images/sky.png") repeat-x left 83px}#b_page_margins{min-width:740px;max-width:1324px;margin:0 auto;width:100%;height:100%;position:relative;z-index:1}#b_main_toolbar{clear:both;height:24px;line-height:24px;vertical-align:middle;margin:0;padding:1px 0 0 0;border-bottom:1px solid #dadada;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;font-family:Century Gothic, Apple Gothic, sans-serif;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,#b_header #b_topnav #b_main_toolbar div.b_breadcumb_close .b_close,#b_main_toolbar div.b_breadcumb_close #b_header #b_topnav .b_close{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_header #b_topnav li#o_topnav_my_menu_link div.o_topnav_portrait{width:30px;height:30px;float:left;margin-right:5px}.o_topnav_my_menu ul{list-style-type:none;margin:0;padding:0}.o_topnav_my_menu li{margin:0;padding:0}.o_topnav_my_menu .o_topnav_my_submenu{color:grey}.o_topnav_my_menu #o_topnav_logout a#b_logout{background:url("../openolat/images/control/control-power.png") no-repeat left 50%;padding:0 0 0 20px;margin:0;font-weight:bold}.o_topnav_my_menu a.o_password{background:url("../openolat/images/locked.png") no-repeat left 50%;padding:0 0 0 20px;margin:0}#b_nav_main{float:left;font-family:Century Gothic, Apple Gothic, sans-serif}#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_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_portal > div{background-image:url("../openolat/images/home.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_site.o_site_catalog div{background-image:url(../openolat/images/drawer-open.png)}#b_nav_main ul li.b_nav_site.o_site_qpool div{background-image:url(../openolat/images/qti/pool.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}.b_clickable:hover{cursor:pointer}div.b_tree{position:relative;font-size:100%;font-family:Century Gothic, Apple Gothic, sans-serif;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_l0{padding-left:16px}div.b_tree ul li .b_tree_oc_l0{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l0,div.b_tree ul li .b_tree_level_close.b_tree_oc_l0{z-index:10}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_level_open.b_tree_oc_l1,div.b_tree ul li .b_tree_level_close.b_tree_oc_l1{z-index:10}div.b_tree ul li .b_tree_oc_l2{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l2,div.b_tree ul li .b_tree_level_close.b_tree_oc_l2{z-index:10}div.b_tree ul li .b_tree_oc_l3{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l3,div.b_tree ul li .b_tree_level_close.b_tree_oc_l3{z-index:10}div.b_tree ul li .b_tree_oc_l4{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l4,div.b_tree ul li .b_tree_level_close.b_tree_oc_l4{z-index:10}div.b_tree ul li .b_tree_oc_l5{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l5,div.b_tree ul li .b_tree_level_close.b_tree_oc_l5{z-index:10}div.b_tree ul li .b_tree_oc_l6{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l6,div.b_tree ul li .b_tree_level_close.b_tree_oc_l6{z-index:10}div.b_tree ul li .b_tree_oc_l7{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l7,div.b_tree ul li .b_tree_level_close.b_tree_oc_l7{z-index:10}div.b_tree ul li .b_tree_oc_l8{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l8,div.b_tree ul li .b_tree_level_close.b_tree_oc_l8{z-index:10}div.b_tree ul li .b_tree_oc_l9{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l9,div.b_tree ul li .b_tree_level_close.b_tree_oc_l9{z-index:10}div.b_tree ul li .b_tree_oc_l10{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l10,div.b_tree ul li .b_tree_level_close.b_tree_oc_l10{z-index:10}div.b_tree ul li .b_tree_oc_l11{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l11,div.b_tree ul li .b_tree_level_close.b_tree_oc_l11{z-index:10}div.b_tree ul li a.b_tree_l0{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l1{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l2{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l3{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l4{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l5{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l6{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l7{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l8{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l9{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l10{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l11{padding-left:13px;z-index:9}div.b_tree ul li span.b_tree_icon_decorator{width:12px;height:12px;float:right;display:inline;position:static;z-index:9;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:33px;background-position:15px 50%}div.b_tree ul.b_tree_l1 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l2 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l3 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l4 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l5 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l6 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l7 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l8 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l9 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l10 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l11 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree.b_tree_root_hidden{margin:0 0 0 1em}div.b_tree.b_tree_root_hidden ul{padding:0}div.b_tree.b_tree_root_hidden ul.b_tree_l0{margin-left:0}div.b_tree.b_tree_root_visible{left:-13px}div.b_tree a.b_tree_level_close,div.b_tree a.b_tree_level_open{background:transparent !important}div.b_tree a.b_tree_level_close span,div.b_tree a.b_tree_level_open span{background-position:0 50%;background-repeat:no-repeat;padding-right:13px}div.b_tree a.b_tree_level_close:hover,div.b_tree a.b_tree_level_open:hover{text-decoration:none}div.b_tree a.b_tree_level_close span{background-image:url("../openolat/images/tree_parent_open.png")}div.b_tree a.b_tree_level_open span{background-image:url("../openolat/images/tree_parent_closed.png")}div.b_master_detail div.b_tree ul li{background:url("../openolat/images/detail/detail_separator.png") repeat-y right}div.b_master_detail div.b_tree ul li a.b_tree_l0{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l1{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l2{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l3{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l4{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l5{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l6{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l7{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l8{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l9{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l10{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l11{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_selected{background-image:url("../openolat/images/detail/detail_arrow.png")}div.b_master_detail div.b_tree ul li a.b_tree_selected.b_tree_l0{background-image:none}#b_footer{color:#9D9D9D;padding:0;margin:0;position:relative;min-height:60px}#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;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 #dadada}#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}#b_main_toolbar div.b_breadcumb_close{position:absolute;right:5px;size:80%}#b_main_toolbar div.b_breadcumb_close .b_close{background-image:url("../openolat/images/close.png");color:#2d2e2d}#b_main_toolbar div.b_breadcumb_close .b_close:hover{color:#585a58;text-decoration:none}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.png") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}a.b_togglebox_opened{background:url("../openolat/images/tree_parent_open.png") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}div.b_togglebox{margin-top:10px;padding:10px;background:#FAFAFA}div.b_togglebox div.b_togglebox_content{background:transparent;border:0px;padding:0px}div.b_titled_wrapper div.b_togglebox{margin-top:0;padding:0;background:transparent}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 fieldset{padding:1em 1em 0.5em 1em}div.o_catalog div.o_catalog_title{display:none}div.o_catalog div.o_catalog_nav{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-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:100}.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 8px rgba(68, 68, 68, 0.5);-ms-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-o-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-webkit-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5)}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_area{position:absolute;top:0px;left:0px;moz-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-ms-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-o-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-webkit-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5)}div.b_callout_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1;background:#000;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=1);-moz-opacity:0.01;-khtml-opacity:0.01;opacity:0.01}div.b_callout{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_callout_content{max-width:60em;margin:10px;overflow:hidden}.b_callout_top_right_arrow{width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid #FFF;position:absolute;right:20px;top:-10px;z-index:1001}.b_callout_top_right_arrow-border{width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid #025d8c;position:absolute;right:20px;top:-11px;z-index:1000}.b_callout_top_left_arrow{width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid #FFF;position:absolute;left:20px;top:-10px;z-index:1001}.b_callout_top_left_arrow-border{width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid #025d8c;position:absolute;left:20px;top:-11px;z-index:1000}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(../openolat/images/ajax-loader.svg)}html.no-svg div.b_ajax_busy{background-image:url(../openolat/images/ajax-loader.gif)}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,#b_msg_sticky_preview{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 8px rgba(68, 68, 68, 0.5);-ms-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-o-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-webkit-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5)}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{margin:20px 0 20px 0}.o_infomessage_wrapper .o_infomessage{text-align:left}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:#777777;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.25em 0.5em 0.25em 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.25em 0.5em 0.25em 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.25em 0.5em 0.25em 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}.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 #ff9f5b;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.25em 0.5em 0.25em 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.25em 0.5em 0.25em 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.25em 0.5em 0.25em 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")}.b_link_ok > span{background-image:url("../openolat/images/tick.png")}.b_link_nok > span{background-image:url("../openolat/images/cross.png")}.b_link_edit > span{background-image:url("../openolat/images/docs/document--pencil.png")}.b_move_left_icon > span{background-image:url("../openolat/images/arrow_left_big.png")}.b_move_right_icon > span{background-image:url("../openolat/images/arrow_right_big.png")}.b_remove_icon > span{background-image:url("../openolat/images/cross_small.png")}.b_deletableentry_wrapper .b_link_left_icon{border:none;background:inherit;margin:0}.b_deletableentry_wrapper .b_link_left_icon:focus,.b_deletableentry_wrapper .b_link_left_icon:hover,.b_deletableentry_wrapper .b_link_left_icon:focus,.b_deletableentry_wrapper .b_link_left_icon:active{text-decoration:none;border:none;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.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.o_login div.o_login_form input{width:15em;padding:2px 3px 2px 3px}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;margin-top:1em;margin-bottom:0.3em}div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_vertical label{float:none}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 div.b_inline_elements div{display:inline}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.o_buttons_bar div.o_buttons_box_right{position:relative;text-align:right;padding:5px 0 5px 0}div.o_buttons_box_right{position:absolute;top:0;right:0}fieldset div.o_buttons_box_right{top:1em}div.b_box_with_chelp div.o_buttons_box_right{right:20px}div.o_buttons_box_center{padding:15px 0 0 0;text-align:center}div.b_fileinput{position:relative}div.b_fileinput div.b_fileinput_fakechooser{position:relative;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:absolute;top:0;left:0;height:1.8em;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_off.png") !important}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{background-position:center right;background-repeat:no-repeat;display:block;width:20px;height:20px}div.b_mark a span{display:block;width:19px;height:19px}div.b_mark a:hover{text-decoration:none}button::-moz-focus-inner,input[type="reset"]::-moz-focus-inner,input[type="button"]::-moz-focus-inner,input[type="submit"]::-moz-focus-inner,input[type="file"] > input[type="button"]::-moz-focus-inner{padding:0;border:0}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.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}table tbody tr.b_row_selected td{background:#ff9f5b}div.b_table_drag{padding:5px;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;border:1px solid #025d8c;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_table_wrapper table{width:99.5%;margin-left:1px;border:1px solid #eeeeee}div.b_table_wrapper table thead,div.b_table_wrapper table thead a{color:#025d8c}div.b_table_wrapper table thead a.b_sorting,div.b_table_wrapper table thead a a.b_sorting{padding:0 20px 0 0;text-decoration:none;background:url("../openolat/images/arrow-resize-090.png") no-repeat center right}div.b_table_wrapper table thead a.b_sorting_asc,div.b_table_wrapper table thead a a.b_sorting_asc{padding:0 20px 0 0;text-decoration:none;background:url("../openolat/images/arrow_up.png") no-repeat center right}div.b_table_wrapper table thead a.b_sorting_desc,div.b_table_wrapper table thead a a.b_sorting_desc{padding:0 20px 0 0;text-decoration:none;background:url("../openolat/images/arrow_down.png") no-repeat center right}div.b_table_wrapper table tbody tr:hover td{background:#ffdbc1}div.b_table_wrapper table tbody tr.b_row_selected:hover td{background:#ff9f5b}div.b_table_wrapper table tbody a{color:#025d8c}div.b_table_wrapper table tbody a:hover{color:#025d8c}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_wrapper div.b_table_footer{float:left;margin:5px 0 0 10px}div.b_table_wrapper div.dataTables_info{float:left;margin:5px 0 0 0}div.b_table_wrapper .dataTables_wrapper .paginate_enabled_previous{background:url("../openolat/images/arrow_left.png") no-repeat top left}div.b_table_wrapper .dataTables_wrapper .paginate_enabled_previous:hover{background:url("../openolat/images/arrow_left.png") no-repeat top left}div.b_table_wrapper .dataTables_wrapper .paginate_disabled_previous{background:url("../openolat/images/arrow_left.png") no-repeat top left}div.b_table_wrapper .dataTables_wrapper .paginate_enabled_next{background:url("../openolat/images/arrow_right.png") no-repeat top right}div.b_table_wrapper .dataTables_wrapper .paginate_enabled_next:hover{background:url("../openolat/images/arrow_right.png") no-repeat top right}div.b_table_wrapper .dataTables_wrapper .paginate_disabled_next{background:url("../openolat/images/arrow_right.png") no-repeat top right}div.b_table_wrapper .dataTables_wrapper .sorting{background:url("../openolat/images/arrow-resize-090.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper .sorting_asc{background:url("../openolat/images/arrow_up.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper .sorting_desc{background:url("../openolat/images/arrow_down.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper .sorting_asc_disabled{background:url("../openolat/images/arrow_up.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper .sorting_desc_disabled{background:url("../openolat/images/arrow_down.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper div.dataTables_scrollBody table.dataTable{border-top:none}div.b_table_wrapper .dataTables_wrapper div.dataTables_scrollBody table.dataTable thead th{border:none}div.b_table_wrapper .dataTables_wrapper table.dataTable thead th{border-bottom:1px solid #ccc;color:#025d8c}div.b_table_wrapper .dataTables_wrapper table.dataTable tbody a{color:#025d8c}div.b_table_wrapper .dataTables_wrapper table.dataTable tbody a:hover{color:#025d8c}div.b_table_wrapper .dataTables_wrapper table.dataTable tr.even td.sorting_1{background:#eee}div.b_table_wrapper .dataTables_wrapper table.dataTable tr.odd{background-color:#fff}div.b_table_wrapper .dataTables_wrapper table.dataTable tr.odd td.sorting_1{background:#fff}div.b_table_wrapper.b_table_edit table thead{border-bottom:solid #f3ca22 5px}div.b_table_wrapper.b_flexitable_wrapper div.b_table_filter{margin:3px 0 3px 0}div.b_table_wrapper.b_flexitable_wrapper div.b_table_filter label{padding:3px 7px 3px 0}div.b_table_wrapper.b_flexitable_wrapper div.b_table_filter div.b_form_selection_element{float:right}div.o_table_rowline div.o_table_row{margin-bottom:30px}div.o_table_rowline div.o_table_rowline_details{background-color:#f3feff !important;margin-top:-30px;margin-bottom:30px;border-bottom:1px solid #999;border-left:1px solid #999;border-right:1px solid #999}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.png") no-repeat;width:15px;height:15px;float:right;margin:3px}a#b_devcon_handle_expand{cursor:pointer;background:url("../openolat/images/tree_parent_closed.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 tr:hover td{background:#ffdbc1}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}div.o_table_row div.f_thumbnail{width:280px;height:158px;float:left;border-right:1px solid #999}div.o_table_row div.f_item_links a{background-repeat:no-repeat}div.o_table_row div.f_metadata{position:relative;border:1px solid #999;background-color:#fcfcfc;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.o_table_row div.f_metadata div.f_thumbnail_inner{width:280px;height:158px}div.o_table_row 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.o_table_row div.f_metadata div.f_metadata_text{margin:10px 220px 10px 300px}div.o_table_row div.f_metadata div.f_metadata_text_inner{width:100%}div.o_table_row div.f_metadata div.f_metadata_lifecycle{position:absolute;top:10px;right:220px}div.o_table_row div.f_metadata div.f_metadata_mark{position:absolute;top:10px;right:215px}div.o_table_row div.f_metadata div.f_metadata_additional_infos{position:absolute;top:0;right:0;height:158px;width:210px;border-left:1px solid #999}div.o_table_row div.f_metadata div.f_metadata_start{position:absolute;bottom:0;right:0;width:91px;height:20px;padding:7px;background-color:#025d8c}div.o_table_row div.f_metadata div.f_metadata_start a{color:#ffffff;font-size:140%;text-decoration:none}div.o_table_row div.f_metadata div.f_metadata_details{position:absolute;bottom:0;right:105px;width:91px;height:20px;padding:7px;background-color:#94bed3}div.o_table_row div.f_metadata div.f_metadata_details a{color:#ffffff;font-size:140%;text-decoration:none}div.o_table_row div.f_metadata span.b_access_method{width:16px;height:16px;background-position:0 50%;background-repeat:no-repeat}div.o_table_row div.f_metadata div.f_metadata_additional_infos_inner{margin:10px 10px 10px 10px}@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.6em}div.o_wiki_wrapper h2{font-size:1.4em}div.o_wiki_wrapper h3{font-size:1.2em}div.o_wiki_wrapper h4{font-size:1.1em}div.o_wiki_wrapper h5{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}img.wikiimg{border:0px}a.wikiimg{text-decoration:none;color:inherit;font-weight:inherit}div.imgcaption{padding:0.3em 0em 0.2em 0.3em}div.imgleft{clear:left;float:left;margin:0.3em 0.3em 0.3em 0em;text-align:left}div.imgright{clear:right;float:right;margin:0.3em 0em 0.3em 0.3em;text-align:right}div.o_wikimod-article-box div{width:auto !important}div.imgcenter{clear:both;overflow:hidden;text-align:center;margin:0.3em 0em 0.3em 0em}div.imgthumb{border:1px solid #bbbbbb;padding:0.3em}table.gallery{border:1px solid #B8B8DB;margin:2px;padding:2px;background-color:white}table.gallery tr{vertical-align:middle}table.gallery td{background-color:#EEEEEE;border:solid 2px #B8B8DB;text-align:center;vertical-align:middle;width:150px}img.gallery{border:1px solid #B8B8DB;padding:0.3em}a.edit{font-style:italic;color:#E98F8F}a.externallink:before{content:url("../openolat/images/external_link.png");padding-right:2px}pre{padding:1em;border:1px dashed #B8B8DB;color:black;background-color:#EEEEEE;line-height:1.1em}}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)}.b_quote_wrapper{position:relative;margin:20px}.b_quote_author{background:url(../openolat/images/forum/quote.gif) no-repeat left bottom;padding:10px 5px 15px 11px;position:relative;top:1px;font-style:italic;color:#A2A2A2}blockquote.b_quote{margin:0;border:1px solid #e5e5e5;padding:8px 10px 6px;color:#646464;background:#fff;font-size:100%}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}div.b_eportfolio_share_with_user{clear:both}div.b_eportfolio_share_with_user p{vertical-align:middle}div.b_eportfolio_share_with_user p span{float:none}@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}.epmst-green div.b_pagination li.b_changelog{float:right}}@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}.epmst-green2 div.b_pagination li.b_changelog{float:right}}@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}.epmst-green3 div.b_pagination li.b_changelog{float:right}}@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}.epmst-green4 div.b_pagination li.b_changelog{float:right}}@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}.epmst-red div.b_pagination li.b_changelog{float:right}}@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}.epmst-red2 div.b_pagination li.b_changelog{float:right}}@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}.epmst-red3 div.b_pagination li.b_changelog{float:right}}@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}.epmst-red4 div.b_pagination li.b_changelog{float:right}}@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}.epmst-blue div.b_pagination li.b_changelog{float:right}}@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}.epmst-blue2 div.b_pagination li.b_changelog{float:right}}@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}.epmst-blue3 div.b_pagination li.b_changelog{float:right}}@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}.epmst-blue4 div.b_pagination li.b_changelog{float:right}}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_sel_qpool_pool{background-image:url("../openolat/images/qti/pool-share.png") !important}.o_sel_qpool_my_items{background-image:url("../openolat/images/user.png") !important}.o_sel_qpool_favorits{background-image:url("../openolat/images/flag.png") !important}.o_sel_qpool_share{background-image:url("../openolat/images/users.png") !important}.o_sel_qpool_collection{background-image:url("../openolat/images/document-list.png") !important}.o_readwrite{background-image:url("../openolat/images/pencil.png")}.o_readonly{background-image:url("../openolat/images/pencil-prohibition.png")}.o_public,.o_exportable{background-image:url("../openolat/images/tick.png")}.o_private,.o_unexportable{background-image:url("../openolat/images/cross.png")}.o_qpool_edit_learning_time div{float:left}.o_qpool_edit_learning_time div input,.o_qpool_edit_learning_time div select,.o_qpool_edit_learning_time div span.o_qpool_edit_learning_time_label{margin-right:5px;padding-right:5px}div.o_sel_qpool_edit_content{float:right}div.o_sel_qpool_edit_content .b_link_edit{margin-right:20px}div.o_sel_qpool_presentation div.b_c33l li{padding-right:15px}div.o_sel_qpool_presentation h5{margin:0.5em 0 0.5em 0}#qpoolcontainer div.b_table_wrapper a.b_table_prefs{position:relative;top:1.5em;left:19px}#qpoolcontainer div.b_table_wrapper div.dataTables_wrapper{margin-top:1em}div.o_qpool_metadata_sharing h5{margin-top:1em}div.o_qpool_metadata_sharing table td.b_first_child{width:15%}div.o_qpool_filter_box{margin:3px 0 3px 0}div.o_qpool_filter_box label{padding:3px 7px 3px 0;float:left}div.o_qpool_filter_box div.b_form_selection_element{float:left}a.o_print_icon{background-image:url("../openolat/images/printer.png")}a.o_print_icon span{display:none}.d3chart .bar_green{fill:#9dd53a}.d3chart .bar_green:hover{fill:#7cbc0a}.d3chart .bar_red{fill:#f85032}.d3chart .bar_red:hover{fill:#e73827}.d3chart .bar_grey{fill:lightgrey}.d3chart .bar_grey:hover{fill:grey}div.o_qti_statistics{padding-top:20px;padding-left:40px;padding-right:5%}div.o_qti_statistics ul{list-style-type:none;padding:0;margin:0}div.o_qti_statistics li{padding-left:22px}div.o_qti_statistics li.o_qti_statistics-survey-item{padding-left:0px}div.o_qti_statistics li.o_qti_statistics-ncorrect{background:url(../img/decorator_error.png) no-repeat 5px 4px}div.o_qti_statistics li.o_qti_statistics-correct{background:url(../img/decorator_ok.png) no-repeat 5px 2px}div.o_qti_statistics h4{padding-left:20px}div.o_qti_statistics h4.qti-qtype1{background:url(../img/scItem.png) no-repeat}div.o_qti_statistics h4.qti-qtype2{background:url(../img/mcItem.png) no-repeat}div.o_qti_statistics h4.qti-qtype3{background:url(../img/fibItem.png) no-repeat}div.o_qti_statistics h4.qti-qtype4{background:url(../img/essayItem.png) no-repeat}div.o_qti_statistics h4.qti-qtype5{background:url(../img/kprimItem.png) no-repeat}#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,.o_qti_menu_item_attempts_marked{color:#666;padding:.2em .4em;border:1px solid transparent;background-position:center right;background-repeat:no-repeat;display:block;width:20px;height:12px}.o_qti_menu_item_attempts{background-image:url(../openolat/images/flag_off.png)}.o_qti_menu_item_attempts:hover,.o_qti_menu_item_attempts_marked:hover{border:1px solid silver;cursor:pointer}.o_qti_menu_item_attempts_marked{background-image:url(../openolat/images/flag.png)}#o_qti_item_note{padding:0;margin:0;border:0;color:#666;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:#666}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_qpool_import{background-image:url(../openolat/images/qti/pool.png)}.o_mi_qpool_export{background-image:url(../openolat/images/qti/pool.png)}.o_mi_docx_export{background-image:url(../openolat/images/docs/document-word.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}div.b_lti_edit_wrapper div.o_buttons_box_right{z-index:10;top:13px;right:20px}#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_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}span.o_cl_duedate{color:red}.d3chart .bar{shape-rendering:crispEdges}.d3chart .bar_default_light{fill:#f3feff}.d3chart .bar_default_light:hover{fill:#94bed3}.d3chart .bar_default{fill:#94bed3}.d3chart .bar_default:hover{fill:#025d8c}.d3chart .bar_default_dark{fill:#025d8c}.d3chart .bar_default_dark:hover{fill:black}.d3chart .axis{font:12px sans-serif}.d3chart .axis path,.d3chart .axis line{fill:none;stroke:#000;shape-rendering:crispEdges}.d3chart .x.axis path{display: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}div.o_visitingcard h4{background:url("../openolat/images/card-address.png") 0 50% no-repeat;padding-left:20px;margin-bottom:1em}div.o_visitingcard table th{width:20%}.popup_iframe{width:100%;height:100%;border:none;min-height:60em}div.o_reservation{position:relative;margin-top:2em;padding:1em;background:#F7F7F7;border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_reservation span.o_reservation_name{font-weight:bold;line-height:2em}div.o_reservation span.o_reservation_role_coach{margin-left:1em}div.o_reservation span.o_reservation_accepted{margin-left:2em;background:transparent url(../openolat/images/tick.png) 0 50% no-repeat;color:#009900;padding-left:20px;font-style:italic;line-height:2em}div.o_reservation span.o_reservation_refused{margin-left:2em;background:transparent url(../openolat/images/cross.png) 0 50% no-repeat;color:#990000;padding-left:20px;font-style:italic;line-height:2em}div.o_reservation a.o_reservation_details_link{padding:0 1em}div.o_reservation div.o_reservation_details{padding:1em 0 0 0}div.o_reservation ul{list-style:none;padding:0;margin:0}div.o_reservation ul li{background-repeat:no-repeat;padding:0;margin:0}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 div.b_clearfix{margin-bottom:1.5em}div.o_cmembers div.o_cmember{float:left;position:relative;width:30%;height:30px;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 div.o_cmember_portrait_wrapper{position:absolute}div.o_cmembers div.o_cmember div.o_cmember_portrait_wrapper div.o_cmember_portrait{top:3px;left:3px;border:1px solid #bbb;width:30px;height:30px;background-color:#fff;background-repeat:no-repeat;background-position:50% 50%}div.o_cmembers div.o_cmember div.o_cmember_info_wrapper{padding-left:35px;line-height:30px;vertical-align:middle}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_contexthelp_wrapper{position:relative}a.b_contexthelp{display:block;width:16px;height:16px;background:url(../openolat/images/help.png) no-repeat;line-height:0;cursor:help}div.b_contexthelp_wrapper a.b_contexthelp{position:absolute;top:0;right:0}fieldset a.b_contexthelp,fieldset div.b_contexthelp_wrapper a.b_contexthelp{position:absolute;top:-1.5em;right:-0.8em}#b_contexthelp_content{padding:0}#b_ch_topnav_search div.b_form_element_wrapper.b_form_horizontal{margin:2px 0 0 0}#b_contexthelp_rating{text-align:center;margin-top:20px;padding:10px;border-top:1px #ACAAAA solid}#b_contexthelp_rating h4{font-size:90%;margin:0;font-style:italic}#b_contexthelp_rating table{display:inline-block}#b_contexthelp_rating table td{width:50%}.b_contexthelp_icon{background-image:url(../openolat/images/help.png)}div.b_ratings_and_comments{margin:4em 0 1.5em 0;padding-bottom:0.5em;border-bottom:1px solid #eee;font-size:0.9em;position:relative}div.b_ratings_and_comments div.b_rating_wrapper{position:absolute;right:0;bottom:0;width:150px;height:4em}div.b_ratings_and_comments div.b_rating{background:none;border:none;padding:0;margin:0;position:absolute;left:0;bottom:2px;width:100%}div.b_ratings_and_comments div.b_rating_personal{background:#fff;z-index:5}a.b_comments,div.b_ratings_and_comments a.b_comments,div.b_eportfolio_map a.b_comments{background:url(../openolat/images/comment.png) 3px 50% no-repeat;padding:3px 0 1px 23px;vertical-align:middle;min-height:18px}a.b_comments.b_no_comment{background:url(../openolat/images/comment_none.png) 3px 50% no-repeat}div.b_comments{font-size:0.9em}div.b_comments div.b_comment_wrapper{border:1px solid #eee;padding:10px 10px 5px 10px;margin-bottom:2em;background:#fbfbfb;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.b_comments div.b_comment_wrapper div.b_avatar img{border:1px solid #aaa}div.b_comments div.b_comment_wrapper h5{font-size:1em;background:url(../openolat/images/user.png) 0 50% no-repeat;padding:1px 0 1px 20px;vertical-align:middle;min-height:16px}div.b_comments div.b_comment_wrapper span.b_date{color:#aaaaaa;font-weight:normal;display:block;margin-top:5px}div.b_comments div.b_comment_wrapper div.b_comment_wrapper{margin-left:7px;background:#fff}div.b_comments div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper{background:#fbfbfb}div.b_comments div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper{background:#fff}div.b_comments blockquote.b_comment{padding:3px 0 0 0px;margin:0}div.b_comments div.b_form{padding:10px;border:1px solid #eee;margin:2em 0 2em 0;background: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}div.b_comments div.b_form h5{font-size:1em;margin-bottom:0.5em}div.b_comments div.b_form div.b_button_group{text-align:center}.b_comment_icon{background-image:url(../openolat/images/comment.png)}#b_comment_form_link{font-size:0.9em;position:relative;top:-15px;left:23px}div.b_rating{margin:10px;padding:5px;font-size:80%;white-space:nowrap;text-align:left;background:#EEE;border:1px solid #ACAAAA;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.b_rating div.b_rating_title{font-weight:bold}div.b_rating div.b_rating_items{vertical-align:middle;line-height:18px}div.b_rating div.b_rating_items a{float:left;display:inline;width:16px;height:16px;background-repeat:no-repeat;background-position:0 0;margin:1px 4px 1px 0}div.b_rating div.b_rating_items a.b_rating_item_on{background-image:url(../openolat/images/star.png)}div.b_rating div.b_rating_items a.b_rating_item_off{background-image:url(../openolat/images/star_grey.png)}div.b_rating div.b_rating_items a:hover{cursor:default}div.b_rating div.b_rating_items.b_enabled a:hover{cursor:pointer}div.b_rating div.b_rating_items.b_enabled a.b_rating_item_off:hover{background-image:url(../openolat/images/star.png)}div.b_rating div.b_rating_explanation{clear:both;font-size:90%}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}.b_content_download{background:url("../openolat/images/drive-download.png") no-repeat top left;padding-left:20px;margin:3px;display:block;min-height:16px}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}ul.fx_portlets_column_portlets{border:1px solid #eee;padding:0;margin:0;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%)}ul.fx_portlets_column_portlets li{margin-left:0}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}@media all{.fc-button-print span{background:url(../openolat/images/printer.png) no-repeat right 50%;padding:0 20px 0 0}#o_cal_manage_calendars{float:right;margin-right:10px;margin-top:5px}#o_cal_config_below_cal_container{padding:6px;position:relative;overflow:hidden}#o_cal_config_below_cal_container div.b_contexthelp_wrapper a.b_contexthelp{top:0;right:0}.o_cal_embedded_course_container{padding-top:6px}.o_cal_embedded_course_container #b_content_popup{position:absolute;top:0;right:0}.o_course_run_peekview .o_cal_peekview ul li{list-style:none}#o_cal_wv_actions{vertical-align:middle;line-height:16px;padding-right:30px;float:right;display:inline;position:relative}#o_cal_wv_nav{text-align:left;vertical-align:middle;line-height:16px;float:left;display:inline;position:absolute;top:5px;left:5px}.o_cal_wv_prev,.o_cal_wv_next{margin-left:0 !important;margin-right:0 !important}.o_cal_wv_prev span{width:20px;height:20px;float:left;background:transparent url(arrow_left_big.png) no-repeat center center}.o_cal_wv_next span{width:20px;height:20px;float:left;background:transparent url(arrow_right_big.png) no-repeat center center}#o_cal_wv{padding:0 0px 5px 0px;position:relative;width:auto}#o_cal_wv_header_wrapper{padding-top:10px;position:relative;clear:both}#o_cal_wv_header{border:1px solid #888;position:relative;height:20px;margin-bottom:2px;background:#FFF}.o_cal_wv_grid_wrapper{position:relative;border:1px solid #888;background:#FFF;padding-bottom:1px}.o_cal_wv_grid{position:relative;width:auto;height:600px;overflow:scroll !important;overflow-x:hidden !important}#o_cal_wv_daylong{border:1px solid #888;position:relative;width:auto;overflow:visible;margin-bottom:2px;background:#FFF}.o_cal_wv_dlday{border-left:1px solid #888;position:absolute;width:13%;background:#FFF}.o_cal_wv_time{position:absolute;width:9%}.o_cal_wv_legend_hours{margin:0;padding:0;height:20px;text-align:center;color:#888}.o_cal_wv_legend_hour{border-bottom:1px solid #DDD;margin:0;padding:0;height:39px}.o_cal_wv_legend_hour div{padding:3px 3px 0 3px;text-align:center;color:#444;overflow:hidden;height:16px}.o_cal_wv_day{border-left:1px solid #888;position:absolute;width:13%;border-collapse:collapse;background:#FFF}.o_cal_wv_legend_day{margin:0;padding:0;height:20px}.o_cal_wv_legend_day div{padding:3px 3px 0px 3px;height:15px;overflow:hidden;text-align:center;color:#888}.o_cal_wv_hour{border-bottom:1px dotted #DDD;margin:0;padding:0;height:19px}.o_cal_wv_half_hour{border-bottom:1px solid #DDD;margin:0;padding:0;height:19px}.o_cal_wv_half_hour:hover{background:#DCDDE0}.o_cal_wv_hour:hover{background:#DCDDE0}.o_cal_wv_row0{left:0}.o_cal_wv_row1{left:9%}.o_cal_wv_row2{left:22%}.o_cal_wv_row3{left:35%}.o_cal_wv_row4{left:48%}.o_cal_wv_row5{left:61%}.o_cal_wv_row6{left:74%}.o_cal_wv_row7{left:87%}.o_cal_wv_holiday{background:#eee}.o_cal_wv_today{background:#fff5cc}.o_cal_wv_lastday{border-right:1px solid #888}.o_cal_wv_lasthour{border-bottom:0}.o_cal_wv_event_wrapper{padding:0;margin:0;padding-bottom:2px;position:absolute;overflow:hidden;z-index:10}.o_cal_wv_event{border:1px solid;padding:0;margin:0;position:relative;overflow:hidden;z-index:10}.o_cal_wv_event_overflow{position:absolute;right:2px;z-index:20}.o_cal_wv_event:hover{border-color:#000;z-index:11}.o_cal_wv_event_header{height:1em;overflow:hidden;padding:0px 2px 3px 2px;font-weight:bold;vertical-align:bottom}.o_cal_wv_event_content{padding:1px 2px 1px 2px}.o_cal_toptoolbar{margin-bottom:0.8em;min-width:707px;padding-bottom:8px;border-bottom:1px solid #eee}.o_cal_toptoolbar .o_cal_pagination{float:left;height:2em;width:235px}.o_cal_toptoolbar .o_cal_gotodate{float:left;height:2em;width:350px}.o_cal_gotodate div.b_form div.b_form_element_wrapper div.b_form_element{margin-left:0}.o_cal_toptoolbar .o_cal_search{float:left;height:2em}.o_cal_wv_devent_wrapper{padding:0;margin:0;position:relative;top:-1px;left:-1px;width:auto;height:20px}.o_cal_wv_devent{border:1px solid;padding:0;margin:0;width:100%;height:19px;overflow:hidden;z-index:11}.o_cal_wv_devent:hover{border-color:#000;z-index:12}.o_cal_wv_devent_content{padding:1px 2px 1px 2px}.o_cal_config{margin:2em 0;position:relative;padding:5px}.o_cal_manage_config{position:relative;padding:5px}.o_cal_manage_config fieldset{position:relative;display:inline}.o_cal_config fieldset{position:relative;display:inline}.o_cal_config_scrollwrapper{width:400px;height:100px;overflow:scroll;overflow-x:hidden;border:1px solid #BFBFBF;position:relative}.o_cal_config_row{clear:both;padding:2px 15px 0 0}.o_cal_config_enabled{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/check_on.png) no-repeat;float:left;display:inline}a.o_cal_config_enabled:hover{background:url(../openolat/images/cal/check_on_over.png) no-repeat}.o_cal_config_disabled{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/check_off.png) no-repeat;float:left;display:inline}.o_cal_config_calendar{border:1px solid;padding:0;margin:0;padding:1px 6px 1px 4px;position:relative;height:14px;width:200px;overflow:hidden;float:left;display:inline}.o_cal_config_chosecolor{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/color.png) no-repeat 2px 0px;float:left;display:inline}.o_cal_config_subscribeical{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar_ical_export.png) no-repeat 2px 0px;float:left;display:inline}.o_cal_config_remove_subscribeical{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar_ical_export_remove.png) no-repeat 0 0;float:left;display:inline}a.o_cal_config_unsubscribe{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar_remove.png) no-repeat 0 0;float:left;display:inline}.o_cal_config_regenerate_link{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar_ical_export_regen.png) no-repeat 0 0;float:left;display:inline}.o_cal_config_remove_cal{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/delete.png) no-repeat 2px 0px;float:left;display:inline}.o_cal_config_addevent{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar--plus.png) no-repeat 0 0;float:left;display:inline}.o_cal_config_importevent{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar--arrow.png) no-repeat 0 0;float:left;display:inline}.o_cal_config_readonly{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar--plus.png) no-repeat 0 0;opacity:0.6;float:left;display:inline}#o_cal_colorchooser{background:#DCDDE0;border:1px solid #999999;float:left;display:inline;padding:3px;position:relative}#o_cal_colorchooser div{position:relative;border:1px solid #FFF;margin:5px;float:left;display:inline}#o_cal_colorchooser div:hover{border:1px solid #000}#o_cal_colorchooser a{position:relative;width:20px;height:20px;float:left;display:inline}.o_cal_colorchooser_selected{background:url(../openolat/images/cal/selectedcolor.gif) no-repeat 2px 2px}.o_cal_orange{background:#ffc266;border-color:#ff9900;color:#5D5D5D}.o_cal_orange .o_cal_wv_event_header{background:#ff9900}.o_cal_orange a{color:#5d5d5d !important}.o_cal_green{background:#66c266;border-color:#009900;color:#FFF}.o_cal_green .o_cal_wv_event_header{background:#009900}.o_cal_green a{color:white !important}.o_cal_blue{background:#4d6e9f;border-color:#2e5894;color:#FFF}.o_cal_blue .o_cal_wv_event_header{background:#2e5894}.o_cal_blue a{color:white !important}.o_cal_yellow{background:#ffe066;border-color:#ffcc00;color:#5D5D5D}.o_cal_yellow .o_cal_wv_event_header{background:#ffcc00}.o_cal_yellow a{color:#5d5d5d !important}.o_cal_red{background:#c26666;border-color:#990000;color:#FFF}.o_cal_red .o_cal_wv_event_header{background:#990000}.o_cal_red a{color:white !important}.o_cal_grey{background:#DDDAAA;border-color:#5D5D5D;color:#FFF}.o_cal_grey .o_cal_wv_event_header{background:#5D5D5D}.o_cal_grey a{color:white !important}div.o_cal_gotodate div.b_form_element{margin-left:0%;margin-top:-4px}div.o_cal_search_subscribe{float:right;margin-right:20px}div.o_cal_week_year_label{font-weight:bold;margin-top:8px}.o_cal_config_regenerate_link{position:relative;float:left;display:inline}.o_cal_wv_event_tooltip{display:none}.o_cal_tooltip_buttons{text-align:right}.o_cal_wv .x-tip-body div{padding:0.2em 0}div.o_cal_wv_event_tooltip_content{padding-top:1em}div.o_cal_tooltip_buttons{padding-top:1em}body.o_cal_print{background:white}body.o_cal_print .o_cal_toptoolbar.b_clearfix{display:none}body.o_cal_print .o_cal_wv{display:none}body.o_cal_print .o_cal_wv_print{display:block}body.o_cal_print #o_cal_config .b_float_right{display:none}body.o_cal_print #o_cal_config_below_cal_container .b_subcolumns{display:none}body.o_cal_print .o_cal_wv_print ul{list-style-type:none;margin:0 0 0 0;padding:0 0 0 0}body.o_cal_print .o_cal_event{clear:left;margin:0.2em 0}body.o_cal_print .o_cal_wv_list *{float:left;width:100%}body.o_cal_print .o_cal_event span{padding:0 0.4em;display:block}body.o_cal_print .o_cal_date{font-weight:bold}body.o_cal_print .o_cal_time{width:25%}body.o_cal_print .o_cal_subject{width:40%;border-left-style:solid;border-left-width:thick;background:white}body.o_cal_print .o_cal_subject p{padding:0 0.4em;margin:0;color:black}body.o_cal_print .o_cal_location{float:right;width:34%}body.o_cal_print .o_cal_config_scrollwrapper{width:auto;height:auto;overflow:visible;overflow-x:visible}body.o_cal_print .o_cal_config_calendar{border-width:0;border-left-style:solid;border-left-width:thick;float:none;display:block;color:black;background:white}}.o_glossary{margin:0 100px 0 100px}.o_glossary_entry{margin:0px 0 0px 0;padding:10px;border-top:1px solid #DCDDE0;border-left:1px solid #DCDDE0;border-right:1px solid #DCDDE0}.o_glossary_commands{float:right}.o_glossary_addcommand{float:right}.o_glossary dt{font-weight:bold}dt span.o_glossary_author{font-weight:normal}dt span.o_glossary_modifier{font-weight:normal;color:#98221F}dt span.o_glossary_modifier a,dt span.o_glossary_modifier a:hover{color:#98221F}dt o_glossary_synonym{font-size:80%;font-variant:small-caps;font-style:italic}dd{padding-left:20px;clear:both}.o_glossary_register{margin-bottom:10px}.o_glossary_register_active{font-weight:bold;background-color:lightgrey;font-size:120%}.o_tm_glossary{border-bottom:1px dotted #666699}.o_tm_yellow{background-color:#FFFF66}.o_tm_blue{background-color:#33FFFF}.o_tm_red{background-color:#FF3333}.o_tm_green{background-color:#99FF00}@media print{.o_cal_toptoolbar.b_clearfix{display:none}.o_cal_wv{display:none}.o_cal_wv_print{display:block}#o_cal_config .b_float_right{display:none}#o_cal_config_below_cal_container .b_subcolumns{display:none}.o_cal_wv_print ul{list-style-type:none;margin-left:0}.o_cal_event{clear:left;margin:0.2em 0}.o_cal_wv_list *{float:left;width:100%}.o_cal_event span{padding:0 0.4em;display:block}.o_cal_date{font-weight:bold}.o_cal_time{width:25%}.o_cal_subject{width:40%;border-left-style:solid;border-left-width:thick}.o_cal_subject p{padding:0 0.4em;margin:0}.o_cal_location{float:right;width:34%}.o_cal_config_scrollwrapper{width:auto;height:auto;overflow:visible;overflow-x:visible}.o_cal_config_calendar{border-width:0;border-left-style:solid;border-left-width:thick;float:none;display:block}#o_cal_config_below_cal_container{border:none;background:none;overflow:visible}#o_cal_config_below_cal_container *{background:none;color:black}#o_cal_config_below_cal_container fieldset{border:none}#o_cal_config_below_cal_container fieldset legend{font-weight:bold}}#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{border:1px solid #ACAAAA;height:170px;font-size:90%;margin:0 0 1em 0;overflow:scroll;overflow-x:auto}.o_instantmessaging_chat_history div.o_instantmessaging_message_group{border-top:1px solid #eee;padding:3px 3px 3px 40px;min-height:40px;position:relative;background:#fff}.o_instantmessaging_chat_history div.o_instantmessaging_message_group.o_odd{background:#F4F4F4}.o_instantmessaging_chat_history div.o_instantmessaging_message_group div.o_instantmessaging_avatar{position:absolute;top:3px;left:3px;border:1px solid #bbb;width:30px;height:30px;background-color:#fff;background-repeat:no-repeat;background-position:50% 50%}.o_instantmessaging_chat_history div.o_instantmessaging_message_group div.o_instantmessaging_from{text-align:left;color:#999;text-decoration:none;font-weight:500}.o_instantmessaging_chat_history div.o_instantmessaging_message_group a:hover{color:#000;text-decoration:none}.o_instantmessaging_chat_history div.o_instantmessaging_message_group a:hover div.o_instantmessaging_from{color:#000}.o_instantmessaging_chat_history div.o_instantmessaging_message_group div.o_instantmessaging_body{padding:3px 0 3px 0}.o_instantmessaging_chat_history div.o_instantmessaging_message_group div.o_instantmessaging_body span.o_instantmessaging_date{text-align:right;color:#999;font-size:90%;font-weight:200}.o_instantmessaging_chat_form input{width:99%}.o_instantmessaging_chat_form div.b_button_group{margin-top:1em}#o_instantmessages_buddieslist{font-size:90%;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_group{padding-bottom:0.5em}#o_instantmessages_buddieslist li.o_instantmessaging_group div.o_instantmessaging_groupname{padding:0 0 0 20px;background:url(../openolat/images/users.png) no-repeat 0 50%}#o_instantmessages_buddieslist a.o_instantmessaging_vip span{font-weight:bold}#o_instantmessages_buddieslist li a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 50%}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler{border-bottom:1px #eee solid;margin:0 0 0.5em 0;padding:0 0 0.5em 0}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler span{white-space:nowrap}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 50%;margin-right:1em}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a.o_instantmessaging_showgroupswitch{background-image:url(../openolat/images/users_conf.png)}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a.o_instantmessaging_hidegroupswitch{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;background-image:url(../openolat/images/users_conf.png)}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a.o_instantmessaging_showofflineswitch{background-image:url(../openolat/images/im/status-offline.png)}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a.o_instantmessaging_hideofflineswitch{background-image:url(../openolat/images/im/status.png)}#o_instantmessages_buddy{margin:1em 0 2em 0}#o_instantmessages_buddy a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 50%}div.o_groupchat_roster{margin:0}div.o_groupchat_roster ul{list-style-type:none;margin:0;padding:0}div.o_groupchat_roster ul li{font-size:90%;margin:0;padding:0 0 0 20px;background:url(../openolat/images/user.png) no-repeat 0 50%}div.o_groupchat_roster ul li.o_instantmessaging_anonymous{background-image:url(../openolat/images/user_silhouette.png)}div.o_groupchat_roster ul li.o_instantmessaging_vip{font-weight:bold}div.o_groupchat_roster ul li.o_instantmessaging_vip.o_instantmessaging_anonymous{font-weight:normal}.o_instantmessaging_available_icon{background-image:url(../openolat/images/im/status.png)}.o_instantmessaging_dnd_icon{background-image:url(../openolat/images/im/status-away.png)}.o_instantmessaging_unavailable_icon{background-image:url(../openolat/images/im/status-offline.png)}.o_instantmessaging_new_msg_icon{background-image:url(../openolat/images/im/new_message.png)}.o_instantmessaging_chat_icon{background-image:url(../openolat/images/im/balloon-white-left.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;margin-right:1em}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-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;background-repeat:no-repeat;background-size:100%;width:45%;height:300px;margin:0 20px 0 20px}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_big_icon{background-image:url(../openolat/images/library_image.png)}.f_library_icon{background-image:url(../openolat/images/library.png)}.f_thumbnail_unavailable{background-image:url(../openolat/images/no_preview.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}.ui-widget{font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:100%}.ui-widget-header{border-top:none;border-left:none;border-right:none;border-bottom:1px solid #eee;background:#fff;font-weight:bold}.ui-dialog{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)}.ui-dialog .ui-widget-header .ui-icon-closethick{background:white url("../openolat/images/close.png") no-repeat center center}.ui-dialog .ui-widget-header .ui-button.ui-corner-all{border:none !important;background:#fff !important}.ui-dialog .ui-widget-content{border-color:#fff;padding:5px}.ui-dialog .ui-dialog-titlebar{padding:2px 30px 2px 5px}.ui-dialog.ui-corner-all{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}.ui-dialog.ui-widget-content{border-color:#025d8c}.ui-dialog.o_modal-ui div.ui-dialog-buttonpane{display:none}.ui-autocomplete-input{line-height:1.5em;font-size:98%}.ui-autocomplete{z-index:10000}.ui-autocomplete.ui-menu{padding:1px}.ui-autocomplete.ui-corner-all{border:1px solid #025d8c;border-top:none;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:2px;-webkit-border-bottom-left-radius:2px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:2px;-moz-border-radius-bottomleft:2px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px;moz-box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3);-ms-box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3);-o-box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3);-webkit-box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3);box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3)}.ui-autocomplete a.ui-corner-all{border:none;margin:-1px;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0}.ui-autocomplete a.ui-corner-all.ui-state-focus{background:#ffdbc1}.ui-autocomplete .b_error_icon{color:#990000;font-style:italic}.ui-datepicker{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)}.ui-datepicker .ui-widget-header .ui-datepicker-prev.ui-corner-all,.ui-datepicker .ui-widget-header .ui-datepicker-next.ui-corner-all{border:none !important;background:#fff !important}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e{background:white url("../openolat/images/arrow_right_big.png") no-repeat center center}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{background:white url("../openolat/images/arrow_left_big.png") no-repeat center center}.ui-datepicker .ui-state-default{background:#eee}.ui-datepicker .ui-state-highlight,.ui-datepicker .ui-widget-content .ui-state-highlight{border:1px solid #94bed3;background:#f3feff}.ui-datepicker.ui-corner-all{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}.ui-datepicker.ui-widget-content{border-color:#025d8c}.ui-tooltip{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)}.ui-tooltip.ui-corner-all{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}.ui-tooltip.ui-widget-content{border:1px solid #025d8c}ul.tagit li.tagit-choice.ui-widget-content.ui-state-default{background:#DEE7F8;border:1px solid #CAD8F3}ul.tagit.ui-corner-all{border:none;background:none}.ui-layout-pane{border:none}.ui-layout-resizer{background:none;border-width:1px;border-style:dotted}.ui-layout-toggler-hover,.ui-layout-resizer-hover .ui-layout-toggler-hover{background-color:#025d8c}.ui-layout-resizer-open-hover,.ui-layout-resizer-dragging{background:#f3feff}.fc-state-highlight{background:#ffdbc1}@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}.o_cal_toptoolbar.b_clearfix{display:none}.o_cal_wv{display:none}.o_cal_wv_print{display:block}#o_cal_config .b_float_right{display:none}#o_cal_config_below_cal_container .b_subcolumns{display:none}.o_cal_wv_print ul{list-style-type:none;margin-left:0}.o_cal_event{clear:left;margin:0.2em 0}.o_cal_wv_list *{float:left;width:100%}.o_cal_event span{padding:0 0.4em;display:block}.o_cal_date{font-weight:bold}.o_cal_time{width:25%}.o_cal_subject{width:40%;border-left-style:solid;border-left-width:thick}.o_cal_subject p{padding:0 0.4em;margin:0}.o_cal_location{float:right;width:34%}.o_cal_config_scrollwrapper{width:auto;height:auto;overflow:visible;overflow-x:visible}.o_cal_config_calendar{border-width:0;border-left-style:solid;border-left-width:thick;float:none;display:block}#o_cal_config_below_cal_container{border:none;background:none;overflow:visible}#o_cal_config_below_cal_container *{background:none;color:black}#o_cal_config_below_cal_container fieldset{border:none}#o_cal_config_below_cal_container fieldset legend{font-weight:bold}} diff --git a/src/main/webapp/static/themes/openolatexample/layout.css b/src/main/webapp/static/themes/openolatexample/layout.css index ffec7b81a4017ac42432682429a9a5f96c4146f5..f4d05f7232f091855c2742d50745e2b56caa9e7f 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(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,#b_main_toolbar div.b_breadcumb_close .b_close{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_group_icon.b_managed_icon{background-image:url("../openolat/images/managed_users.png")}.b_qpool_icon{background-image:url("../openolat/images/qti/pool.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_settings{background-image:url("../openolat/images/gear.png")}.o_notes_icon{background-image:url("../openolat/images/docs/document--pencil.png")}.o_notifications_icon{background-image:url("../openolat/images/radar.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_gl_ES{background-image:url("../openolat/images/flags/galicia.png")}.b_filetype_file,.b_filetype_ico{background-image:url("../openolat/images/docs/document_plain.png") !important}.b_filetype_folder{background-image:url("../openolat/images/folder.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_zip,.b_filetype_gz,.b_filetype_tar,.b_filetype_tgz{background-image:url("../openolat/images/docs/document-zipper.png") !important}.b_filetype_css,.b_filetype_js,.b_filetype_java,.b_filetype_numbers,.b_filetype_ods,.b_filetype_xml,.b_filetype_xsl{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_bat_icon,.b_filetype_bat,.b_filetype_exe,.b_filetype_app,.b_filetype_sh{background-image:url("../openolat/images/docs/document-binary.png") !important}.b_filetype_xls,.b_filetype_xlsx{background-image:url("../openolat/images/docs/document-excel.png") !important}.b_filetype_swf,.b_filetype_flv{background-image:url("../openolat/images/docs/document-flash-movie.png") !important}.b_filetype_htm,.b_filetype_html{background-image:url("../openolat/images/docs/document-globe.png") !important}.b_filetype_ai{background-image:url("../openolat/images/docs/document-illustrator.png") !important}.b_filetype_png,.b_filetype_tiff,.b_filetype_webp,.b_filetype_gif,.b_filetype_ico,.b_filetype_jpeg,.b_filetype_bmp,.b_filetype_odg,.b_filetype_eps,.b_filetype_jpg{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_avi_icon,.b_filetype_avi,.b_filetype_dvi,.b_filetype_mp4,.b_filetype_m4v,.b_filetype_webm,.b_filetype_ogg,.b_filetype_video,.b_filetype_mov,.b_filetype_mpeg,.b_filetype_mpg,.b_filetype_qt,.b_filetype_ra,.b_filetype_ram{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_midi,.b_filetype_audio,.b_filetype_mp3,.b_filetype_m3u,.b_filetype_wav{background-image:url("../openolat/images/docs/document-music.png") !important}.b_filetype_ps,.b_filetype_pdf{background-image:url("../openolat/images/docs/document-pdf.png") !important}.b_filetype_psd{background-image:url("../openolat/images/docs/document-photoshop.png") !important}.b_filetype_key,.b_filetype_odp,.b_filetype_ppt,.b_filetype_pptx{background-image:url("../openolat/images/docs/document-powerpoint.png") !important}.b_filetype_odf,.b_filetype_rtf,.b_filetype_readme,.b_filetype_README,.b_filetype_log,.b_filetype_txt{background-image:url("../openolat/images/docs/document-text.png") !important}.b_filetype_pages,.b_filetype_doc,.b_filetype_docx{background-image:url("../openolat/images/docs/document-word.png") !important}.b_large_icon.b_filetype_file{background-image:url("../openolat/images/docs_large/file.png") !important}.b_large_icon.b_filetype_folder{background-image:url("../openolat/images/docs_large/folder.png") !important}.b_large_icon.b_filetype_zip,.b_large_icon.b_filetype_gz,.b_large_icon.b_filetype_tar,.b_large_icon.b_filetype_tgz{background-image:url("../openolat/images/docs_large/compressed.png") !important}.b_large_icon.b_filetype_css{background-image:url("../openolat/images/docs_large/css.png") !important}.b_large_icon.b_filetype_js,.b_large_icon.b_filetype_java,.b_large_icon.b_filetype_xml,.b_large_icon.b_filetype_xsl,.b_large_icon.b_filetype_bat,.b_large_icon.b_filetype_exe,.b_large_icon.b_filetype_app,.b_large_icon.b_filetype_sh{background-image:url("../openolat/images/docs_large/developer.png") !important}.b_large_icon.b_filetype_numbers{background-image:url("../openolat/images/docs_large/numbers.png") !important}.b_large_icon.b_filetype_ods,.b_large_icon.b_filetype_xls,.b_large_icon.b_filetype_xlsx{background-image:url("../openolat/images/docs_large/excel.png") !important}.b_large_icon.b_filetype_swf,.b_large_icon.b_filetype_flv{background-image:url("../openolat/images/docs_large/flash.png") !important}.b_large_icon.b_filetype_htm,.b_large_icon.b_filetype_html{background-image:url("../openolat/images/docs_large/html.png") !important}.b_large_icon.b_filetype_ai{background-image:url("../openolat/images/docs_large/illustrator.png") !important}.b_large_icon.b_filetype_png,.b_large_icon.b_filetype_tiff,.b_large_icon.b_filetype_webp,.b_large_icon.b_filetype_gif,.b_large_icon.b_filetype_ico,.b_large_icon.b_filetype_jpeg,.b_large_icon.b_filetype_bmp,.b_large_icon.b_filetype_odg,.b_large_icon.b_filetype_eps,.b_large_icon.b_filetype_jpg{background-image:url("../openolat/images/docs_large/image.png") !important}.b_large_icon.b_filetype_avi,.b_large_icon.b_filetype_dvi,.b_large_icon.b_filetype_mp4,.b_large_icon.b_filetype_m4v,.b_large_icon.b_filetype_webm,.b_large_icon.b_filetype_ogg,.b_large_icon.b_filetype_video,.b_large_icon.b_filetype_mov,.b_large_icon.b_filetype_mpeg,.b_large_icon.b_filetype_mpg,.b_large_icon.b_filetype_qt,.b_large_icon.b_filetype_ra,.b_large_icon.b_filetype_ram{background-image:url("../openolat/images/docs_large/movie.png") !important}.b_large_icon.b_filetype_midi,.b_large_icon.b_filetype_audio,.b_large_icon.b_filetype_mp3,.b_large_icon.b_filetype_m3u,.b_large_icon.b_filetype_wav{background-image:url("../openolat/images/docs_large/music.png") !important}.b_large_icon.b_filetype_ps,.b_large_icon.b_filetype_pdf{background-image:url("../openolat/images/docs_large/pdf.png") !important}.b_large_icon.b_filetype_psd{background-image:url("../openolat/images/docs_large/photoshop.png") !important}.b_large_icon.b_filetype_key{background-image:url("../openolat/images/docs_large/keynote.png") !important}.b_large_icon.b_filetype_odp,.b_large_icon.b_filetype_ppt,.b_large_icon.b_filetype_pptx{background-image:url("../openolat/images/docs_large/powerpoint.png") !important}.b_large_icon.b_filetype_odf,.b_large_icon.b_filetype_rtf,.b_large_icon.b_filetype_readme,.b_large_icon.b_filetype_README,.b_large_icon.b_filetype_log,.b_large_icon.b_filetype_txt{background-image:url("../openolat/images/docs_large/text.png") !important}.b_large_icon.b_filetype_pages{background-image:url("../openolat/images/docs_large/pages.png") !important}.b_large_icon.b_filetype_doc,.b_large_icon.b_filetype_docx{background-image:url("../openolat/images/docs_large/word.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")}.o_CourseModule_icon.b_managed_icon{background-image:url("../openolat/images/le_resources/book-open-text-image_locked.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_qitem_icon{background-image:url("../openolat/images//question-octagon-frame.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/projection-screen-presentation.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")}.o_portrait_dummy{background-image:url(../openolat/images/dummy.png);width:100px;height:100px}.o_portrait_dummy_small{background-image:url(../openolat/images/dummy_small.png);width:30px;height:30px}.o_portrait_dummy_female_big{background-image:url(../openolat/images/dummy_female_big.png);width:100px;height:100px}.o_portrait_dummy_female_small{background-image:url(../openolat/images/dummy_female_small.png);width:30px;height:30px}.o_portrait_dummy_male_big{background-image:url(../openolat/images/dummy_male_big.png);width:100px;height:100px}.o_portrait_dummy_male_small{background-image:url(../openolat/images/dummy_male_small.png);width:30px;height:30px}.o_portrait_anonymous{background-image:url(../openolat/images/dummy.png);width:100px;height:100px}.o_portrait_anonymous_small{background-image:url(../openolat/images/dummy_small.png);width:30px;height:30px}@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%;position:relative;z-index:1}#b_main_toolbar{clear:both;height:24px;line-height:24px;vertical-align:middle;margin:0;padding:1px 0 0 0;border-bottom:1px solid #dadada;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;font-family:Century Gothic, Apple Gothic, sans-serif;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,#b_header #b_topnav #b_main_toolbar div.b_breadcumb_close .b_close,#b_main_toolbar div.b_breadcumb_close #b_header #b_topnav .b_close{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_header #b_topnav li#o_topnav_my_menu_link div.o_topnav_portrait{width:30px;height:30px;float:left;margin-right:5px}.o_topnav_my_menu ul{list-style-type:none;margin:0;padding:0}.o_topnav_my_menu li{margin:0;padding:0}.o_topnav_my_menu .o_topnav_my_submenu{color:grey}.o_topnav_my_menu #o_topnav_logout a#b_logout{background:url("../openolat/images/control/control-power.png") no-repeat left 50%;padding:0 0 0 20px;margin:0;font-weight:bold}.o_topnav_my_menu a.o_password{background:url("../openolat/images/locked.png") no-repeat left 50%;padding:0 0 0 20px;margin:0}#b_nav_main{float:left;font-family:Century Gothic, Apple Gothic, sans-serif}#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_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_portal > div{background-image:url("../openolat/images/home.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_site.o_site_catalog div{background-image:url(../openolat/images/drawer-open.png)}#b_nav_main ul li.b_nav_site.o_site_qpool div{background-image:url(../openolat/images/qti/pool.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}.b_clickable:hover{cursor:pointer}div.b_tree{position:relative;font-size:100%;font-family:Century Gothic, Apple Gothic, sans-serif;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_l0{padding-left:16px}div.b_tree ul li .b_tree_oc_l0{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l0,div.b_tree ul li .b_tree_level_close.b_tree_oc_l0{z-index:10}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_level_open.b_tree_oc_l1,div.b_tree ul li .b_tree_level_close.b_tree_oc_l1{z-index:10}div.b_tree ul li .b_tree_oc_l2{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l2,div.b_tree ul li .b_tree_level_close.b_tree_oc_l2{z-index:10}div.b_tree ul li .b_tree_oc_l3{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l3,div.b_tree ul li .b_tree_level_close.b_tree_oc_l3{z-index:10}div.b_tree ul li .b_tree_oc_l4{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l4,div.b_tree ul li .b_tree_level_close.b_tree_oc_l4{z-index:10}div.b_tree ul li .b_tree_oc_l5{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l5,div.b_tree ul li .b_tree_level_close.b_tree_oc_l5{z-index:10}div.b_tree ul li .b_tree_oc_l6{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l6,div.b_tree ul li .b_tree_level_close.b_tree_oc_l6{z-index:10}div.b_tree ul li .b_tree_oc_l7{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l7,div.b_tree ul li .b_tree_level_close.b_tree_oc_l7{z-index:10}div.b_tree ul li .b_tree_oc_l8{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l8,div.b_tree ul li .b_tree_level_close.b_tree_oc_l8{z-index:10}div.b_tree ul li .b_tree_oc_l9{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l9,div.b_tree ul li .b_tree_level_close.b_tree_oc_l9{z-index:10}div.b_tree ul li .b_tree_oc_l10{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l10,div.b_tree ul li .b_tree_level_close.b_tree_oc_l10{z-index:10}div.b_tree ul li .b_tree_oc_l11{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l11,div.b_tree ul li .b_tree_level_close.b_tree_oc_l11{z-index:10}div.b_tree ul li a.b_tree_l0{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l1{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l2{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l3{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l4{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l5{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l6{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l7{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l8{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l9{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l10{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l11{padding-left:13px;z-index:9}div.b_tree ul li span.b_tree_icon_decorator{width:12px;height:12px;float:right;display:inline;position:static;z-index:9;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:33px;background-position:15px 50%}div.b_tree ul.b_tree_l1 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l2 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l3 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l4 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l5 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l6 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l7 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l8 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l9 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l10 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l11 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree.b_tree_root_hidden{margin:0 0 0 1em}div.b_tree.b_tree_root_hidden ul{padding:0}div.b_tree.b_tree_root_hidden ul.b_tree_l0{margin-left:0}div.b_tree.b_tree_root_visible{left:-13px}div.b_tree a.b_tree_level_close,div.b_tree a.b_tree_level_open{background:transparent !important}div.b_tree a.b_tree_level_close span,div.b_tree a.b_tree_level_open span{background-position:0 50%;background-repeat:no-repeat;padding-right:13px}div.b_tree a.b_tree_level_close:hover,div.b_tree a.b_tree_level_open:hover{text-decoration:none}div.b_tree a.b_tree_level_close span{background-image:url("../openolat/images/tree_parent_open.gif")}div.b_tree a.b_tree_level_open span{background-image:url("../openolat/images/tree_parent_closed.gif")}div.b_master_detail div.b_tree ul li{background:url("../openolat/images/detail/detail_separator.png") repeat-y right}div.b_master_detail div.b_tree ul li a.b_tree_l0{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l1{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l2{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l3{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l4{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l5{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l6{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l7{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l8{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l9{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l10{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l11{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_selected{background-image:url("../openolat/images/detail/detail_arrow.png")}div.b_master_detail div.b_tree ul li a.b_tree_selected.b_tree_l0{background-image:none}#b_footer{color:#9D9D9D;padding:0;margin:0;position:relative;min-height:60px}#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;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 #dadada}#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}#b_main_toolbar div.b_breadcumb_close{position:absolute;right:5px;size:80%}#b_main_toolbar div.b_breadcumb_close .b_close{background-image:url("../openolat/images/close.png");color:#2d2e2d}#b_main_toolbar div.b_breadcumb_close .b_close:hover{color:#585a58;text-decoration:none}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_togglebox{margin-top:10px;padding:10px;background:#FAFAFA}div.b_togglebox div.b_togglebox_content{background:transparent;border:0px;padding:0px}div.b_titled_wrapper div.b_togglebox{margin-top:0;padding:0;background:transparent}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 fieldset{padding:1em 1em 0.5em 1em}div.o_catalog div.o_catalog_title{display:none}div.o_catalog div.o_catalog_nav{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-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:100}.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 8px rgba(68, 68, 68, 0.5);-ms-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-o-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-webkit-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5)}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_area{position:absolute;top:0px;left:0px;moz-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-ms-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-o-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-webkit-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5)}div.b_callout_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1;background:#000;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=1);-moz-opacity:0.01;-khtml-opacity:0.01;opacity:0.01}div.b_callout{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_callout_content{max-width:60em;margin:10px;overflow:hidden}.b_callout_top_right_arrow{width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid #FFF;position:absolute;right:20px;top:-10px;z-index:1001}.b_callout_top_right_arrow-border{width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid red;position:absolute;right:20px;top:-11px;z-index:1000}.b_callout_top_left_arrow{width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid #FFF;position:absolute;left:20px;top:-10px;z-index:1001}.b_callout_top_left_arrow-border{width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid red;position:absolute;left:20px;top:-11px;z-index:1000}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(../openolat/images/ajax-loader.svg)}html.no-svg div.b_ajax_busy{background-image:url(../openolat/images/ajax-loader.gif)}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,#b_msg_sticky_preview{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 8px rgba(68, 68, 68, 0.5);-ms-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-o-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-webkit-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5)}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{margin:20px 0 20px 0}.o_infomessage_wrapper .o_infomessage{text-align:left}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:#777777;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.25em 0.5em 0.25em 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.25em 0.5em 0.25em 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.25em 0.5em 0.25em 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}.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 #ff9f5b;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.25em 0.5em 0.25em 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.25em 0.5em 0.25em 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.25em 0.5em 0.25em 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")}.b_link_ok > span{background-image:url("../openolat/images/tick.png")}.b_link_nok > span{background-image:url("../openolat/images/cross.png")}.b_link_edit > span{background-image:url("../openolat/images/docs/document--pencil.png")}.b_move_left_icon > span{background-image:url("../openolat/images/arrow_left_big.png")}.b_move_right_icon > span{background-image:url("../openolat/images/arrow_right_big.png")}.b_remove_icon > span{background-image:url("../openolat/images/cross_small.png")}.b_deletableentry_wrapper .b_link_left_icon{border:none;background:inherit;margin:0}.b_deletableentry_wrapper .b_link_left_icon:focus,.b_deletableentry_wrapper .b_link_left_icon:hover,.b_deletableentry_wrapper .b_link_left_icon:focus,.b_deletableentry_wrapper .b_link_left_icon:active{text-decoration:none;border:none;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.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.o_login div.o_login_form input{width:15em;padding:2px 3px 2px 3px}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;margin-top:1em;margin-bottom:0.3em}div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_vertical label{float:none}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 div.b_inline_elements div{display:inline}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.o_buttons_bar div.o_buttons_box_right{position:relative;text-align:right;padding:5px 0 5px 0}div.o_buttons_box_right{position:absolute;top:0;right:0}fieldset div.o_buttons_box_right{top:1em}div.b_box_with_chelp div.o_buttons_box_right{right:20px}div.o_buttons_box_center{padding:15px 0 0 0;text-align:center}div.b_fileinput{position:relative}div.b_fileinput div.b_fileinput_fakechooser{position:relative;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:absolute;top:0;left:0;height:1.8em;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_off.png") !important}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{background-position:center right;background-repeat:no-repeat;display:block;width:20px;height:20px}div.b_mark a span{display:block;width:19px;height:19px}div.b_mark a:hover{text-decoration:none}button::-moz-focus-inner,input[type="reset"]::-moz-focus-inner,input[type="button"]::-moz-focus-inner,input[type="submit"]::-moz-focus-inner,input[type="file"] > input[type="button"]::-moz-focus-inner{padding:0;border:0}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.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}table tbody tr.b_row_selected td{background:#ff9f5b}div.b_table_drag{padding:5px;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;border:1px solid red;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_table_wrapper table{width:99.5%;margin-left:1px;border:1px solid #eeeeee}div.b_table_wrapper table thead,div.b_table_wrapper table thead a{color:#025d8c}div.b_table_wrapper table thead a.b_sorting,div.b_table_wrapper table thead a a.b_sorting{padding:0 20px 0 0;text-decoration:none;background:url("../openolat/images/arrow-resize-090.png") no-repeat center right}div.b_table_wrapper table thead a.b_sorting_asc,div.b_table_wrapper table thead a a.b_sorting_asc{padding:0 20px 0 0;text-decoration:none;background:url("../openolat/images/arrow_up.png") no-repeat center right}div.b_table_wrapper table thead a.b_sorting_desc,div.b_table_wrapper table thead a a.b_sorting_desc{padding:0 20px 0 0;text-decoration:none;background:url("../openolat/images/arrow_down.png") no-repeat center right}div.b_table_wrapper table tbody tr:hover td{background:#ffdbc1}div.b_table_wrapper table tbody tr.b_row_selected:hover td{background:#ff9f5b}div.b_table_wrapper table tbody a{color:#025d8c}div.b_table_wrapper table tbody a:hover{color:#025d8c}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_wrapper div.b_table_footer{float:left;margin:5px 0 0 10px}div.b_table_wrapper div.dataTables_info{float:left;margin:5px 0 0 0}div.b_table_wrapper .dataTables_wrapper .paginate_enabled_previous{background:url("../openolat/images/arrow_left.png") no-repeat top left}div.b_table_wrapper .dataTables_wrapper .paginate_enabled_previous:hover{background:url("../openolat/images/arrow_left.png") no-repeat top left}div.b_table_wrapper .dataTables_wrapper .paginate_disabled_previous{background:url("../openolat/images/arrow_left.png") no-repeat top left}div.b_table_wrapper .dataTables_wrapper .paginate_enabled_next{background:url("../openolat/images/arrow_right.png") no-repeat top right}div.b_table_wrapper .dataTables_wrapper .paginate_enabled_next:hover{background:url("../openolat/images/arrow_right.png") no-repeat top right}div.b_table_wrapper .dataTables_wrapper .paginate_disabled_next{background:url("../openolat/images/arrow_right.png") no-repeat top right}div.b_table_wrapper .dataTables_wrapper .sorting{background:url("../openolat/images/arrow-resize-090.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper .sorting_asc{background:url("../openolat/images/arrow_up.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper .sorting_desc{background:url("../openolat/images/arrow_down.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper .sorting_asc_disabled{background:url("../openolat/images/arrow_up.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper .sorting_desc_disabled{background:url("../openolat/images/arrow_down.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper div.dataTables_scrollBody table.dataTable{border-top:none}div.b_table_wrapper .dataTables_wrapper div.dataTables_scrollBody table.dataTable thead th{border:none}div.b_table_wrapper .dataTables_wrapper table.dataTable thead th{border-bottom:1px solid #ccc;color:#025d8c}div.b_table_wrapper .dataTables_wrapper table.dataTable tbody a{color:#025d8c}div.b_table_wrapper .dataTables_wrapper table.dataTable tbody a:hover{color:#025d8c}div.b_table_wrapper .dataTables_wrapper table.dataTable tr.even td.sorting_1{background:#eee}div.b_table_wrapper .dataTables_wrapper table.dataTable tr.odd{background-color:#fff}div.b_table_wrapper .dataTables_wrapper table.dataTable tr.odd td.sorting_1{background:#fff}div.b_table_wrapper.b_table_edit table thead{border-bottom:solid #f3ca22 5px}div.b_table_wrapper.b_flexitable_wrapper div.b_table_filter{margin:3px 0 3px 0}div.b_table_wrapper.b_flexitable_wrapper div.b_table_filter label{padding:3px 7px 3px 0}div.b_table_wrapper.b_flexitable_wrapper div.b_table_filter div.b_form_selection_element{float:right}div.o_table_rowline div.o_table_row{margin-bottom:30px}div.o_table_rowline div.o_table_rowline_details{background-color:#ffcccc !important;margin-top:-30px;margin-bottom:30px;border-bottom:1px solid #999;border-left:1px solid #999;border-right:1px solid #999}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 tr:hover td{background:#ffdbc1}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}div.o_table_row div.f_thumbnail{width:280px;height:158px;float:left;border-right:1px solid #999}div.o_table_row div.f_item_links a{background-repeat:no-repeat}div.o_table_row div.f_metadata{position:relative;border:1px solid #999;background-color:#fcfcfc;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.o_table_row div.f_metadata div.f_thumbnail_inner{width:280px;height:158px}div.o_table_row 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.o_table_row div.f_metadata div.f_metadata_text{margin:10px 220px 10px 300px}div.o_table_row div.f_metadata div.f_metadata_text_inner{width:100%}div.o_table_row div.f_metadata div.f_metadata_lifecycle{position:absolute;top:10px;right:220px}div.o_table_row div.f_metadata div.f_metadata_mark{position:absolute;top:10px;right:10px}div.o_table_row div.f_metadata div.f_metadata_additional_infos{position:absolute;top:0;right:0;height:158px;width:210px;border-left:1px solid #999}div.o_table_row div.f_metadata div.f_metadata_start{position:absolute;bottom:0;right:0;width:91px;height:20px;padding:7px;background-color:red}div.o_table_row div.f_metadata div.f_metadata_start a{color:#ffffff;font-size:140%;text-decoration:none}div.o_table_row div.f_metadata div.f_metadata_details{position:absolute;bottom:0;right:105px;width:91px;height:20px;padding:7px;background-color:#ff6666}div.o_table_row div.f_metadata div.f_metadata_details a{color:#ffffff;font-size:140%;text-decoration:none}div.o_table_row div.f_metadata span.b_access_method{width:16px;height:16px;background-position:0 50%;background-repeat:no-repeat}div.o_table_row div.f_metadata div.f_metadata_additional_infos_inner{margin:10px 10px 10px 10px}@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.6em}div.o_wiki_wrapper h2{font-size:1.4em}div.o_wiki_wrapper h3{font-size:1.2em}div.o_wiki_wrapper h4{font-size:1.1em}div.o_wiki_wrapper h5{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}img.wikiimg{border:0px}a.wikiimg{text-decoration:none;color:inherit;font-weight:inherit}div.imgcaption{padding:0.3em 0em 0.2em 0.3em}div.imgleft{clear:left;float:left;margin:0.3em 0.3em 0.3em 0em;text-align:left}div.imgright{clear:right;float:right;margin:0.3em 0em 0.3em 0.3em;text-align:right}div.o_wikimod-article-box div{width:auto !important}div.imgcenter{clear:both;overflow:hidden;text-align:center;margin:0.3em 0em 0.3em 0em}div.imgthumb{border:1px solid #bbbbbb;padding:0.3em}table.gallery{border:1px solid #B8B8DB;margin:2px;padding:2px;background-color:white}table.gallery tr{vertical-align:middle}table.gallery td{background-color:#EEEEEE;border:solid 2px #B8B8DB;text-align:center;vertical-align:middle;width:150px}img.gallery{border:1px solid #B8B8DB;padding:0.3em}a.edit{font-style:italic;color:#E98F8F}a.externallink:before{content:url("../openolat/images/external_link.png");padding-right:2px}pre{padding:1em;border:1px dashed #B8B8DB;color:black;background-color:#EEEEEE;line-height:1.1em}}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)}.b_quote_wrapper{position:relative;margin:20px}.b_quote_author{background:url(../openolat/images/forum/quote.gif) no-repeat left bottom;padding:10px 5px 15px 11px;position:relative;top:1px;font-style:italic;color:#A2A2A2}blockquote.b_quote{margin:0;border:1px solid #e5e5e5;padding:8px 10px 6px;color:#646464;background:#fff;font-size:100%}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}div.b_eportfolio_share_with_user{clear:both}div.b_eportfolio_share_with_user p{vertical-align:middle}div.b_eportfolio_share_with_user p span{float:none}@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}.epmst-green div.b_pagination li.b_changelog{float:right}}@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}.epmst-green2 div.b_pagination li.b_changelog{float:right}}@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}.epmst-green3 div.b_pagination li.b_changelog{float:right}}@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}.epmst-green4 div.b_pagination li.b_changelog{float:right}}@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}.epmst-red div.b_pagination li.b_changelog{float:right}}@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}.epmst-red2 div.b_pagination li.b_changelog{float:right}}@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}.epmst-red3 div.b_pagination li.b_changelog{float:right}}@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}.epmst-red4 div.b_pagination li.b_changelog{float:right}}@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}.epmst-blue div.b_pagination li.b_changelog{float:right}}@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}.epmst-blue2 div.b_pagination li.b_changelog{float:right}}@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}.epmst-blue3 div.b_pagination li.b_changelog{float:right}}@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}.epmst-blue4 div.b_pagination li.b_changelog{float:right}}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_sel_qpool_pool{background-image:url("../openolat/images/qti/pool-share.png") !important}.o_sel_qpool_my_items{background-image:url("../openolat/images/user.png") !important}.o_sel_qpool_favorits{background-image:url("../openolat/images/flag.png") !important}.o_sel_qpool_share{background-image:url("../openolat/images/users.png") !important}.o_sel_qpool_collection{background-image:url("../openolat/images/document-list.png") !important}.o_readwrite{background-image:url("../openolat/images/pencil.png")}.o_readonly{background-image:url("../openolat/images/pencil-prohibition.png")}.o_public,.o_exportable{background-image:url("../openolat/images/tick.png")}.o_private,.o_unexportable{background-image:url("../openolat/images/cross.png")}.o_qpool_edit_learning_time div{float:left}.o_qpool_edit_learning_time div input,.o_qpool_edit_learning_time div select,.o_qpool_edit_learning_time div span.o_qpool_edit_learning_time_label{margin-right:5px;padding-right:5px}div.o_sel_qpool_edit_content{float:right}div.o_sel_qpool_edit_content .b_link_edit{margin-right:20px}div.o_sel_qpool_presentation div.b_c33l li{padding-right:15px}div.o_sel_qpool_presentation h5{margin:0.5em 0 0.5em 0}#qpoolcontainer div.b_table_wrapper a.b_table_prefs{position:relative;top:1.5em;left:19px}#qpoolcontainer div.b_table_wrapper div.dataTables_wrapper{margin-top:1em}div.o_qpool_metadata_sharing h5{margin-top:1em}div.o_qpool_metadata_sharing table td.b_first_child{width:15%}div.o_qpool_filter_box{margin:3px 0 3px 0}div.o_qpool_filter_box label{padding:3px 7px 3px 0;float:left}div.o_qpool_filter_box div.b_form_selection_element{float:left}a.o_print_icon{background-image:url("../openolat/images/printer.png")}a.o_print_icon span{display:none}.d3chart .bar_green{fill:#9dd53a}.d3chart .bar_green:hover{fill:#7cbc0a}.d3chart .bar_red{fill:#f85032}.d3chart .bar_red:hover{fill:#e73827}.d3chart .bar_grey{fill:lightgrey}.d3chart .bar_grey:hover{fill:grey}div.o_qti_statistics{padding-top:20px;padding-left:40px;padding-right:5%}div.o_qti_statistics ul{list-style-type:none;padding:0;margin:0}div.o_qti_statistics li{padding-left:22px}div.o_qti_statistics li.o_qti_statistics-survey-item{padding-left:0px}div.o_qti_statistics li.o_qti_statistics-ncorrect{background:url(../img/decorator_error.png) no-repeat 5px 4px}div.o_qti_statistics li.o_qti_statistics-correct{background:url(../img/decorator_ok.png) no-repeat 5px 2px}div.o_qti_statistics h4{padding-left:20px}div.o_qti_statistics h4.qti-qtype1{background:url(../img/scItem.png) no-repeat}div.o_qti_statistics h4.qti-qtype2{background:url(../img/mcItem.png) no-repeat}div.o_qti_statistics h4.qti-qtype3{background:url(../img/fibItem.png) no-repeat}div.o_qti_statistics h4.qti-qtype4{background:url(../img/essayItem.png) no-repeat}div.o_qti_statistics h4.qti-qtype5{background:url(../img/kprimItem.png) no-repeat}#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,.o_qti_menu_item_attempts_marked{color:#666;padding:.2em .4em;border:1px solid transparent;background-position:center right;background-repeat:no-repeat;display:block;width:20px;height:12px}.o_qti_menu_item_attempts{background-image:url(../openolat/images/flag_off.png)}.o_qti_menu_item_attempts:hover,.o_qti_menu_item_attempts_marked:hover{border:1px solid silver;cursor:pointer}.o_qti_menu_item_attempts_marked{background-image:url(../openolat/images/flag.png)}#o_qti_item_note{padding:0;margin:0;border:0;color:#666;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:#666}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_qpool_import{background-image:url(../openolat/images/qti/pool.png)}.o_mi_qpool_export{background-image:url(../openolat/images/qti/pool.png)}.o_mi_docx_export{background-image:url(../openolat/images/docs/document-word.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}div.b_lti_edit_wrapper div.o_buttons_box_right{z-index:10;top:13px;right:20px}#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_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}span.o_cl_duedate{color:red}.d3chart .bar{shape-rendering:crispEdges}.d3chart .bar_default_light{fill:#ffcccc}.d3chart .bar_default_light:hover{fill:#ff6666}.d3chart .bar_default{fill:#ff6666}.d3chart .bar_default:hover{fill:red}.d3chart .bar_default_dark{fill:red}.d3chart .bar_default_dark:hover{fill:black}.d3chart .axis{font:12px sans-serif}.d3chart .axis path,.d3chart .axis line{fill:none;stroke:#000;shape-rendering:crispEdges}.d3chart .x.axis path{display: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}div.o_visitingcard h4{background:url("../openolat/images/card-address.png") 0 50% no-repeat;padding-left:20px;margin-bottom:1em}div.o_visitingcard table th{width:20%}.popup_iframe{width:100%;height:100%;border:none;min-height:60em}div.o_reservation{position:relative;margin-top:2em;padding:1em;background:#F7F7F7;border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_reservation span.o_reservation_name{font-weight:bold;line-height:2em}div.o_reservation span.o_reservation_role_coach{margin-left:1em}div.o_reservation span.o_reservation_accepted{margin-left:2em;background:transparent url(../openolat/images/tick.png) 0 50% no-repeat;color:#009900;padding-left:20px;font-style:italic;line-height:2em}div.o_reservation span.o_reservation_refused{margin-left:2em;background:transparent url(../openolat/images/cross.png) 0 50% no-repeat;color:#990000;padding-left:20px;font-style:italic;line-height:2em}div.o_reservation a.o_reservation_details_link{padding:0 1em}div.o_reservation div.o_reservation_details{padding:1em 0 0 0}div.o_reservation ul{list-style:none;padding:0;margin:0}div.o_reservation ul li{background-repeat:no-repeat;padding:0;margin:0}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 div.b_clearfix{margin-bottom:1.5em}div.o_cmembers div.o_cmember{float:left;position:relative;width:30%;height:30px;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 div.o_cmember_portrait_wrapper{position:absolute}div.o_cmembers div.o_cmember div.o_cmember_portrait_wrapper div.o_cmember_portrait{top:3px;left:3px;border:1px solid #bbb;width:30px;height:30px;background-color:#fff;background-repeat:no-repeat;background-position:50% 50%}div.o_cmembers div.o_cmember div.o_cmember_info_wrapper{padding-left:35px;line-height:30px;vertical-align:middle}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_contexthelp_wrapper{position:relative}a.b_contexthelp{display:block;width:16px;height:16px;background:url(../openolat/images/help.png) no-repeat;line-height:0;cursor:help}div.b_contexthelp_wrapper a.b_contexthelp{position:absolute;top:0;right:0}fieldset a.b_contexthelp,fieldset div.b_contexthelp_wrapper a.b_contexthelp{position:absolute;top:-1.5em;right:-0.8em}#b_contexthelp_content{padding:0}#b_ch_topnav_search div.b_form_element_wrapper.b_form_horizontal{margin:2px 0 0 0}#b_contexthelp_rating{text-align:center;margin-top:20px;padding:10px;border-top:1px #ACAAAA solid}#b_contexthelp_rating h4{font-size:90%;margin:0;font-style:italic}#b_contexthelp_rating table{display:inline-block}#b_contexthelp_rating table td{width:50%}.b_contexthelp_icon{background-image:url(../openolat/images/help.png)}div.b_ratings_and_comments{margin:4em 0 1.5em 0;padding-bottom:0.5em;border-bottom:1px solid #eee;font-size:0.9em;position:relative}div.b_ratings_and_comments div.b_rating_wrapper{position:absolute;right:0;bottom:0;width:150px;height:4em}div.b_ratings_and_comments div.b_rating{background:none;border:none;padding:0;margin:0;position:absolute;left:0;bottom:2px;width:100%}div.b_ratings_and_comments div.b_rating_personal{background:#fff;z-index:5}div.b_ratings_and_comments a.b_comments,div.b_eportfolio_map a.b_comments{background:url(../openolat/images/comment.png) 3px 50% no-repeat;padding:3px 0 1px 23px;vertical-align:middle;min-height:18px}div.b_comments{font-size:0.9em}div.b_comments div.b_comment_wrapper{border:1px solid #eee;padding:10px 10px 5px 10px;margin-bottom:2em;background:#fbfbfb;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.b_comments div.b_comment_wrapper div.b_avatar img{border:1px solid #aaa}div.b_comments div.b_comment_wrapper h5{font-size:1em;background:url(../openolat/images/user.png) 0 50% no-repeat;padding:1px 0 1px 20px;vertical-align:middle;min-height:16px}div.b_comments div.b_comment_wrapper span.b_date{color:#aaaaaa;font-weight:normal;display:block;margin-top:5px}div.b_comments div.b_comment_wrapper div.b_comment_wrapper{margin-left:7px;background:#fff}div.b_comments div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper{background:#fbfbfb}div.b_comments div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper{background:#fff}div.b_comments blockquote.b_comment{padding:3px 0 0 0px;margin:0}div.b_comments div.b_form{padding:10px;border:1px solid #eee;margin:2em 0 2em 0;background: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}div.b_comments div.b_form h5{font-size:1em;margin-bottom:0.5em}div.b_comments div.b_form div.b_button_group{text-align:center}.b_comment_icon{background-image:url(../openolat/images/comment.png)}#b_comment_form_link{font-size:0.9em;position:relative;top:-15px;left:23px}div.b_rating{margin:10px;padding:5px;font-size:80%;white-space:nowrap;text-align:left;background:#EEE;border:1px solid #ACAAAA;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.b_rating div.b_rating_title{font-weight:bold}div.b_rating div.b_rating_items{vertical-align:middle;line-height:18px}div.b_rating div.b_rating_items a{float:left;display:inline;width:16px;height:16px;background-repeat:no-repeat;background-position:0 0;margin:1px 4px 1px 0}div.b_rating div.b_rating_items a.b_rating_item_on{background-image:url(../openolat/images/star.png)}div.b_rating div.b_rating_items a.b_rating_item_off{background-image:url(../openolat/images/star_grey.png)}div.b_rating div.b_rating_items a:hover{cursor:default}div.b_rating div.b_rating_items.b_enabled a:hover{cursor:pointer}div.b_rating div.b_rating_items.b_enabled a.b_rating_item_off:hover{background-image:url(../openolat/images/star.png)}div.b_rating div.b_rating_explanation{clear:both;font-size:90%}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}.b_content_download{background:url("../openolat/images/drive-download.png") no-repeat top left;padding-left:20px;margin:3px;display:block;min-height:16px}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}ul.fx_portlets_column_portlets{border:1px solid #eee;padding:0;margin:0;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%)}ul.fx_portlets_column_portlets li{margin-left:0}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}@media all{.fc-button-print span{background:url(../openolat/images/printer.png) no-repeat right 50%;padding:0 20px 0 0}#o_cal_manage_calendars{float:right;margin-right:10px;margin-top:5px}#o_cal_config_below_cal_container{padding:6px;position:relative;overflow:hidden}#o_cal_config_below_cal_container div.b_contexthelp_wrapper a.b_contexthelp{top:0;right:0}.o_cal_embedded_course_container{padding-top:6px}.o_cal_embedded_course_container #b_content_popup{position:absolute;top:0;right:0}.o_course_run_peekview .o_cal_peekview ul li{list-style:none}#o_cal_wv_actions{vertical-align:middle;line-height:16px;padding-right:30px;float:right;display:inline;position:relative}#o_cal_wv_nav{text-align:left;vertical-align:middle;line-height:16px;float:left;display:inline;position:absolute;top:5px;left:5px}.o_cal_wv_prev,.o_cal_wv_next{margin-left:0 !important;margin-right:0 !important}.o_cal_wv_prev span{width:20px;height:20px;float:left;background:transparent url(arrow_left_big.png) no-repeat center center}.o_cal_wv_next span{width:20px;height:20px;float:left;background:transparent url(arrow_right_big.png) no-repeat center center}#o_cal_wv{padding:0 0px 5px 0px;position:relative;width:auto}#o_cal_wv_header_wrapper{padding-top:10px;position:relative;clear:both}#o_cal_wv_header{border:1px solid #888;position:relative;height:20px;margin-bottom:2px;background:#FFF}.o_cal_wv_grid_wrapper{position:relative;border:1px solid #888;background:#FFF;padding-bottom:1px}.o_cal_wv_grid{position:relative;width:auto;height:600px;overflow:scroll !important;overflow-x:hidden !important}#o_cal_wv_daylong{border:1px solid #888;position:relative;width:auto;overflow:visible;margin-bottom:2px;background:#FFF}.o_cal_wv_dlday{border-left:1px solid #888;position:absolute;width:13%;background:#FFF}.o_cal_wv_time{position:absolute;width:9%}.o_cal_wv_legend_hours{margin:0;padding:0;height:20px;text-align:center;color:#888}.o_cal_wv_legend_hour{border-bottom:1px solid #DDD;margin:0;padding:0;height:39px}.o_cal_wv_legend_hour div{padding:3px 3px 0 3px;text-align:center;color:#444;overflow:hidden;height:16px}.o_cal_wv_day{border-left:1px solid #888;position:absolute;width:13%;border-collapse:collapse;background:#FFF}.o_cal_wv_legend_day{margin:0;padding:0;height:20px}.o_cal_wv_legend_day div{padding:3px 3px 0px 3px;height:15px;overflow:hidden;text-align:center;color:#888}.o_cal_wv_hour{border-bottom:1px dotted #DDD;margin:0;padding:0;height:19px}.o_cal_wv_half_hour{border-bottom:1px solid #DDD;margin:0;padding:0;height:19px}.o_cal_wv_half_hour:hover{background:#DCDDE0}.o_cal_wv_hour:hover{background:#DCDDE0}.o_cal_wv_row0{left:0}.o_cal_wv_row1{left:9%}.o_cal_wv_row2{left:22%}.o_cal_wv_row3{left:35%}.o_cal_wv_row4{left:48%}.o_cal_wv_row5{left:61%}.o_cal_wv_row6{left:74%}.o_cal_wv_row7{left:87%}.o_cal_wv_holiday{background:#eee}.o_cal_wv_today{background:#fff5cc}.o_cal_wv_lastday{border-right:1px solid #888}.o_cal_wv_lasthour{border-bottom:0}.o_cal_wv_event_wrapper{padding:0;margin:0;padding-bottom:2px;position:absolute;overflow:hidden;z-index:10}.o_cal_wv_event{border:1px solid;padding:0;margin:0;position:relative;overflow:hidden;z-index:10}.o_cal_wv_event_overflow{position:absolute;right:2px;z-index:20}.o_cal_wv_event:hover{border-color:#000;z-index:11}.o_cal_wv_event_header{height:1em;overflow:hidden;padding:0px 2px 3px 2px;font-weight:bold;vertical-align:bottom}.o_cal_wv_event_content{padding:1px 2px 1px 2px}.o_cal_toptoolbar{margin-bottom:0.8em;min-width:707px;padding-bottom:8px;border-bottom:1px solid #eee}.o_cal_toptoolbar .o_cal_pagination{float:left;height:2em;width:235px}.o_cal_toptoolbar .o_cal_gotodate{float:left;height:2em;width:350px}.o_cal_gotodate div.b_form div.b_form_element_wrapper div.b_form_element{margin-left:0}.o_cal_toptoolbar .o_cal_search{float:left;height:2em}.o_cal_wv_devent_wrapper{padding:0;margin:0;position:relative;top:-1px;left:-1px;width:auto;height:20px}.o_cal_wv_devent{border:1px solid;padding:0;margin:0;width:100%;height:19px;overflow:hidden;z-index:11}.o_cal_wv_devent:hover{border-color:#000;z-index:12}.o_cal_wv_devent_content{padding:1px 2px 1px 2px}.o_cal_config{margin:2em 0;position:relative;padding:5px}.o_cal_manage_config{position:relative;padding:5px}.o_cal_manage_config fieldset{position:relative;display:inline}.o_cal_config fieldset{position:relative;display:inline}.o_cal_config_scrollwrapper{width:400px;height:100px;overflow:scroll;overflow-x:hidden;border:1px solid #BFBFBF;position:relative}.o_cal_config_row{clear:both;padding:2px 15px 0 0}.o_cal_config_enabled{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/check_on.png) no-repeat;float:left;display:inline}a.o_cal_config_enabled:hover{background:url(../openolat/images/cal/check_on_over.png) no-repeat}.o_cal_config_disabled{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/check_off.png) no-repeat;float:left;display:inline}.o_cal_config_calendar{border:1px solid;padding:0;margin:0;padding:1px 6px 1px 4px;position:relative;height:14px;width:200px;overflow:hidden;float:left;display:inline}.o_cal_config_chosecolor{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/color.png) no-repeat 2px 0px;float:left;display:inline}.o_cal_config_subscribeical{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar_ical_export.png) no-repeat 2px 0px;float:left;display:inline}.o_cal_config_remove_subscribeical{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar_ical_export_remove.png) no-repeat 0 0;float:left;display:inline}a.o_cal_config_unsubscribe{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar_remove.png) no-repeat 0 0;float:left;display:inline}.o_cal_config_regenerate_link{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar_ical_export_regen.png) no-repeat 0 0;float:left;display:inline}.o_cal_config_remove_cal{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/delete.png) no-repeat 2px 0px;float:left;display:inline}.o_cal_config_addevent{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar--plus.png) no-repeat 0 0;float:left;display:inline}.o_cal_config_importevent{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar--arrow.png) no-repeat 0 0;float:left;display:inline}.o_cal_config_readonly{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar--plus.png) no-repeat 0 0;opacity:0.6;float:left;display:inline}#o_cal_colorchooser{background:#DCDDE0;border:1px solid #999999;float:left;display:inline;padding:3px;position:relative}#o_cal_colorchooser div{position:relative;border:1px solid #FFF;margin:5px;float:left;display:inline}#o_cal_colorchooser div:hover{border:1px solid #000}#o_cal_colorchooser a{position:relative;width:20px;height:20px;float:left;display:inline}.o_cal_colorchooser_selected{background:url(../openolat/images/cal/selectedcolor.gif) no-repeat 2px 2px}.o_cal_orange{background:#ffc266;border-color:#ff9900;color:#5D5D5D}.o_cal_orange .o_cal_wv_event_header{background:#ff9900}.o_cal_orange a{color:#5d5d5d !important}.o_cal_green{background:#66c266;border-color:#009900;color:#FFF}.o_cal_green .o_cal_wv_event_header{background:#009900}.o_cal_green a{color:white !important}.o_cal_blue{background:#4d6e9f;border-color:#2e5894;color:#FFF}.o_cal_blue .o_cal_wv_event_header{background:#2e5894}.o_cal_blue a{color:white !important}.o_cal_yellow{background:#ffe066;border-color:#ffcc00;color:#5D5D5D}.o_cal_yellow .o_cal_wv_event_header{background:#ffcc00}.o_cal_yellow a{color:#5d5d5d !important}.o_cal_red{background:#c26666;border-color:#990000;color:#FFF}.o_cal_red .o_cal_wv_event_header{background:#990000}.o_cal_red a{color:white !important}.o_cal_grey{background:#DDDAAA;border-color:#5D5D5D;color:#FFF}.o_cal_grey .o_cal_wv_event_header{background:#5D5D5D}.o_cal_grey a{color:white !important}div.o_cal_gotodate div.b_form_element{margin-left:0%;margin-top:-4px}div.o_cal_search_subscribe{float:right;margin-right:20px}div.o_cal_week_year_label{font-weight:bold;margin-top:8px}.o_cal_config_regenerate_link{position:relative;float:left;display:inline}.o_cal_wv_event_tooltip{display:none}.o_cal_tooltip_buttons{text-align:right}.o_cal_wv .x-tip-body div{padding:0.2em 0}div.o_cal_wv_event_tooltip_content{padding-top:1em}div.o_cal_tooltip_buttons{padding-top:1em}body.o_cal_print{background:white}body.o_cal_print .o_cal_toptoolbar.b_clearfix{display:none}body.o_cal_print .o_cal_wv{display:none}body.o_cal_print .o_cal_wv_print{display:block}body.o_cal_print #o_cal_config .b_float_right{display:none}body.o_cal_print #o_cal_config_below_cal_container .b_subcolumns{display:none}body.o_cal_print .o_cal_wv_print ul{list-style-type:none;margin:0 0 0 0;padding:0 0 0 0}body.o_cal_print .o_cal_event{clear:left;margin:0.2em 0}body.o_cal_print .o_cal_wv_list *{float:left;width:100%}body.o_cal_print .o_cal_event span{padding:0 0.4em;display:block}body.o_cal_print .o_cal_date{font-weight:bold}body.o_cal_print .o_cal_time{width:25%}body.o_cal_print .o_cal_subject{width:40%;border-left-style:solid;border-left-width:thick;background:white}body.o_cal_print .o_cal_subject p{padding:0 0.4em;margin:0;color:black}body.o_cal_print .o_cal_location{float:right;width:34%}body.o_cal_print .o_cal_config_scrollwrapper{width:auto;height:auto;overflow:visible;overflow-x:visible}body.o_cal_print .o_cal_config_calendar{border-width:0;border-left-style:solid;border-left-width:thick;float:none;display:block;color:black;background:white}}.o_glossary{margin:0 100px 0 100px}.o_glossary_entry{margin:0px 0 0px 0;padding:10px;border-top:1px solid #DCDDE0;border-left:1px solid #DCDDE0;border-right:1px solid #DCDDE0}.o_glossary_commands{float:right}.o_glossary_addcommand{float:right}.o_glossary dt{font-weight:bold}dt span.o_glossary_author{font-weight:normal}dt span.o_glossary_modifier{font-weight:normal;color:#98221F}dt span.o_glossary_modifier a,dt span.o_glossary_modifier a:hover{color:#98221F}dt o_glossary_synonym{font-size:80%;font-variant:small-caps;font-style:italic}dd{padding-left:20px;clear:both}.o_glossary_register{margin-bottom:10px}.o_glossary_register_active{font-weight:bold;background-color:lightgrey;font-size:120%}.o_tm_glossary{border-bottom:1px dotted #666699}.o_tm_yellow{background-color:#FFFF66}.o_tm_blue{background-color:#33FFFF}.o_tm_red{background-color:#FF3333}.o_tm_green{background-color:#99FF00}@media print{.o_cal_toptoolbar.b_clearfix{display:none}.o_cal_wv{display:none}.o_cal_wv_print{display:block}#o_cal_config .b_float_right{display:none}#o_cal_config_below_cal_container .b_subcolumns{display:none}.o_cal_wv_print ul{list-style-type:none;margin-left:0}.o_cal_event{clear:left;margin:0.2em 0}.o_cal_wv_list *{float:left;width:100%}.o_cal_event span{padding:0 0.4em;display:block}.o_cal_date{font-weight:bold}.o_cal_time{width:25%}.o_cal_subject{width:40%;border-left-style:solid;border-left-width:thick}.o_cal_subject p{padding:0 0.4em;margin:0}.o_cal_location{float:right;width:34%}.o_cal_config_scrollwrapper{width:auto;height:auto;overflow:visible;overflow-x:visible}.o_cal_config_calendar{border-width:0;border-left-style:solid;border-left-width:thick;float:none;display:block}#o_cal_config_below_cal_container{border:none;background:none;overflow:visible}#o_cal_config_below_cal_container *{background:none;color:black}#o_cal_config_below_cal_container fieldset{border:none}#o_cal_config_below_cal_container fieldset legend{font-weight:bold}}#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{border:1px solid #ACAAAA;height:170px;font-size:90%;margin:0 0 1em 0;overflow:scroll;overflow-x:auto}.o_instantmessaging_chat_history div.o_instantmessaging_message_group{border-top:1px solid #eee;padding:3px 3px 3px 40px;min-height:40px;position:relative;background:#fff}.o_instantmessaging_chat_history div.o_instantmessaging_message_group.o_odd{background:#F4F4F4}.o_instantmessaging_chat_history div.o_instantmessaging_message_group div.o_instantmessaging_avatar{position:absolute;top:3px;left:3px;border:1px solid #bbb;width:30px;height:30px;background-color:#fff;background-repeat:no-repeat;background-position:50% 50%}.o_instantmessaging_chat_history div.o_instantmessaging_message_group div.o_instantmessaging_from{text-align:left;color:#999;text-decoration:none;font-weight:500}.o_instantmessaging_chat_history div.o_instantmessaging_message_group a:hover{color:#000;text-decoration:none}.o_instantmessaging_chat_history div.o_instantmessaging_message_group a:hover div.o_instantmessaging_from{color:#000}.o_instantmessaging_chat_history div.o_instantmessaging_message_group div.o_instantmessaging_body{padding:3px 0 3px 0}.o_instantmessaging_chat_history div.o_instantmessaging_message_group div.o_instantmessaging_body span.o_instantmessaging_date{text-align:right;color:#999;font-size:90%;font-weight:200}.o_instantmessaging_chat_form input{width:99%}.o_instantmessaging_chat_form div.b_button_group{margin-top:1em}#o_instantmessages_buddieslist{font-size:90%;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_group{padding-bottom:0.5em}#o_instantmessages_buddieslist li.o_instantmessaging_group div.o_instantmessaging_groupname{padding:0 0 0 20px;background:url(../openolat/images/users.png) no-repeat 0 50%}#o_instantmessages_buddieslist a.o_instantmessaging_vip span{font-weight:bold}#o_instantmessages_buddieslist li a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 50%}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler{border-bottom:1px #eee solid;margin:0 0 0.5em 0;padding:0 0 0.5em 0}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler span{white-space:nowrap}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 50%;margin-right:1em}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a.o_instantmessaging_showgroupswitch{background-image:url(../openolat/images/users_conf.png)}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a.o_instantmessaging_hidegroupswitch{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;background-image:url(../openolat/images/users_conf.png)}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a.o_instantmessaging_showofflineswitch{background-image:url(../openolat/images/im/status-offline.png)}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a.o_instantmessaging_hideofflineswitch{background-image:url(../openolat/images/im/status.png)}#o_instantmessages_buddy{margin:1em 0 2em 0}#o_instantmessages_buddy a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 50%}div.o_groupchat_roster{margin:0}div.o_groupchat_roster ul{list-style-type:none;margin:0;padding:0}div.o_groupchat_roster ul li{font-size:90%;margin:0;padding:0 0 0 20px;background:url(../openolat/images/user.png) no-repeat 0 50%}div.o_groupchat_roster ul li.o_instantmessaging_anonymous{background-image:url(../openolat/images/user_silhouette.png)}div.o_groupchat_roster ul li.o_instantmessaging_vip{font-weight:bold}div.o_groupchat_roster ul li.o_instantmessaging_vip.o_instantmessaging_anonymous{font-weight:normal}.o_instantmessaging_available_icon{background-image:url(../openolat/images/im/status.png)}.o_instantmessaging_dnd_icon{background-image:url(../openolat/images/im/status-away.png)}.o_instantmessaging_unavailable_icon{background-image:url(../openolat/images/im/status-offline.png)}.o_instantmessaging_new_msg_icon{background-image:url(../openolat/images/im/new_message.png)}.o_instantmessaging_chat_icon{background-image:url(../openolat/images/im/balloon-white-left.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;margin-right:1em}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-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;background-repeat:no-repeat;background-size:100%;width:45%;height:300px;margin:0 20px 0 20px}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_big_icon{background-image:url(../openolat/images/library_image.png)}.f_library_icon{background-image:url(../openolat/images/library.png)}.f_thumbnail_unavailable{background-image:url(../openolat/images/no_preview.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:#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_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}.ui-widget{font-family:Courier;font-size:100%}.ui-widget-header{border-top:none;border-left:none;border-right:none;border-bottom:1px solid #eee;background:#fff;font-weight:bold}.ui-dialog{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)}.ui-dialog .ui-widget-header .ui-icon-closethick{background:white url("../openolat/images/close.png") no-repeat center center}.ui-dialog .ui-widget-header .ui-button.ui-corner-all{border:none !important;background:#fff !important}.ui-dialog .ui-widget-content{border-color:#fff;padding:5px}.ui-dialog .ui-dialog-titlebar{padding:2px 30px 2px 5px}.ui-dialog.ui-corner-all{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}.ui-dialog.ui-widget-content{border-color:red}.ui-dialog.o_modal-ui div.ui-dialog-buttonpane{display:none}.ui-autocomplete-input{line-height:1.5em;font-size:98%}.ui-autocomplete{z-index:10000}.ui-autocomplete.ui-menu{padding:1px}.ui-autocomplete.ui-corner-all{border:1px solid red;border-top:none;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:2px;-webkit-border-bottom-left-radius:2px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:2px;-moz-border-radius-bottomleft:2px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px;moz-box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3);-ms-box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3);-o-box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3);-webkit-box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3);box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3)}.ui-autocomplete a.ui-corner-all{border:none;margin:-1px;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0}.ui-autocomplete a.ui-corner-all.ui-state-focus{background:#ffdbc1}.ui-autocomplete .b_error_icon{color:#990000;font-style:italic}.ui-datepicker{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)}.ui-datepicker .ui-widget-header .ui-datepicker-prev.ui-corner-all,.ui-datepicker .ui-widget-header .ui-datepicker-next.ui-corner-all{border:none !important;background:#fff !important}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e{background:white url("../openolat/images/arrow_right_big.png") no-repeat center center}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{background:white url("../openolat/images/arrow_left_big.png") no-repeat center center}.ui-datepicker .ui-state-default{background:#eee}.ui-datepicker .ui-state-highlight,.ui-datepicker .ui-widget-content .ui-state-highlight{border:1px solid #ff6666;background:#ffcccc}.ui-datepicker.ui-corner-all{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}.ui-datepicker.ui-widget-content{border-color:red}.ui-tooltip{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)}.ui-tooltip.ui-corner-all{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}.ui-tooltip.ui-widget-content{border:1px solid red}ul.tagit li.tagit-choice.ui-widget-content.ui-state-default{background:#DEE7F8;border:1px solid #CAD8F3}ul.tagit.ui-corner-all{border:none;background:none}.ui-layout-pane{border:none}.ui-layout-resizer{background:none;border-width:1px;border-style:dotted}.ui-layout-toggler-hover,.ui-layout-resizer-hover .ui-layout-toggler-hover{background-color:red}.ui-layout-resizer-open-hover,.ui-layout-resizer-dragging{background:#ffcccc}.fc-state-highlight{background:#ffdbc1}#b_page_wrapper{border-bottom:0;padding:0 10px 0 10px;moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}#b_header{height:50px}#b_header #b_logo{position:absolute;top:10px;left:0;width:120px;height:40px;background:url("images/openolat_powerd_by_120x30.png") no-repeat}@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}.o_cal_toptoolbar.b_clearfix{display:none}.o_cal_wv{display:none}.o_cal_wv_print{display:block}#o_cal_config .b_float_right{display:none}#o_cal_config_below_cal_container .b_subcolumns{display:none}.o_cal_wv_print ul{list-style-type:none;margin-left:0}.o_cal_event{clear:left;margin:0.2em 0}.o_cal_wv_list *{float:left;width:100%}.o_cal_event span{padding:0 0.4em;display:block}.o_cal_date{font-weight:bold}.o_cal_time{width:25%}.o_cal_subject{width:40%;border-left-style:solid;border-left-width:thick}.o_cal_subject p{padding:0 0.4em;margin:0}.o_cal_location{float:right;width:34%}.o_cal_config_scrollwrapper{width:auto;height:auto;overflow:visible;overflow-x:visible}.o_cal_config_calendar{border-width:0;border-left-style:solid;border-left-width:thick;float:none;display:block}#o_cal_config_below_cal_container{border:none;background:none;overflow:visible}#o_cal_config_below_cal_container *{background:none;color:black}#o_cal_config_below_cal_container fieldset{border:none}#o_cal_config_below_cal_container fieldset legend{font-weight:bold}} +**/@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,#b_main_toolbar div.b_breadcumb_close .b_close{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_group_icon.b_managed_icon{background-image:url("../openolat/images/managed_users.png")}.b_qpool_icon{background-image:url("../openolat/images/qti/pool.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_settings{background-image:url("../openolat/images/gear.png")}.o_notes_icon{background-image:url("../openolat/images/docs/document--pencil.png")}.o_notifications_icon{background-image:url("../openolat/images/radar.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_gl_ES{background-image:url("../openolat/images/flags/galicia.png")}.b_filetype_file,.b_filetype_ico{background-image:url("../openolat/images/docs/document_plain.png") !important}.b_filetype_folder{background-image:url("../openolat/images/folder.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_zip,.b_filetype_gz,.b_filetype_tar,.b_filetype_tgz{background-image:url("../openolat/images/docs/document-zipper.png") !important}.b_filetype_css,.b_filetype_js,.b_filetype_java,.b_filetype_numbers,.b_filetype_ods,.b_filetype_xml,.b_filetype_xsl{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_bat_icon,.b_filetype_bat,.b_filetype_exe,.b_filetype_app,.b_filetype_sh{background-image:url("../openolat/images/docs/document-binary.png") !important}.b_filetype_xls,.b_filetype_xlsx{background-image:url("../openolat/images/docs/document-excel.png") !important}.b_filetype_swf,.b_filetype_flv{background-image:url("../openolat/images/docs/document-flash-movie.png") !important}.b_filetype_htm,.b_filetype_html{background-image:url("../openolat/images/docs/document-globe.png") !important}.b_filetype_ai{background-image:url("../openolat/images/docs/document-illustrator.png") !important}.b_filetype_png,.b_filetype_tiff,.b_filetype_webp,.b_filetype_gif,.b_filetype_ico,.b_filetype_jpeg,.b_filetype_bmp,.b_filetype_odg,.b_filetype_eps,.b_filetype_jpg{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_avi_icon,.b_filetype_avi,.b_filetype_dvi,.b_filetype_mp4,.b_filetype_m4v,.b_filetype_webm,.b_filetype_ogg,.b_filetype_video,.b_filetype_mov,.b_filetype_mpeg,.b_filetype_mpg,.b_filetype_qt,.b_filetype_ra,.b_filetype_ram{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_midi,.b_filetype_audio,.b_filetype_mp3,.b_filetype_m3u,.b_filetype_wav{background-image:url("../openolat/images/docs/document-music.png") !important}.b_filetype_ps,.b_filetype_pdf{background-image:url("../openolat/images/docs/document-pdf.png") !important}.b_filetype_psd{background-image:url("../openolat/images/docs/document-photoshop.png") !important}.b_filetype_key,.b_filetype_odp,.b_filetype_ppt,.b_filetype_pptx{background-image:url("../openolat/images/docs/document-powerpoint.png") !important}.b_filetype_odf,.b_filetype_rtf,.b_filetype_readme,.b_filetype_README,.b_filetype_log,.b_filetype_txt{background-image:url("../openolat/images/docs/document-text.png") !important}.b_filetype_pages,.b_filetype_doc,.b_filetype_docx{background-image:url("../openolat/images/docs/document-word.png") !important}.b_large_icon.b_filetype_file{background-image:url("../openolat/images/docs_large/file.png") !important}.b_large_icon.b_filetype_folder{background-image:url("../openolat/images/docs_large/folder.png") !important}.b_large_icon.b_filetype_zip,.b_large_icon.b_filetype_gz,.b_large_icon.b_filetype_tar,.b_large_icon.b_filetype_tgz{background-image:url("../openolat/images/docs_large/compressed.png") !important}.b_large_icon.b_filetype_css{background-image:url("../openolat/images/docs_large/css.png") !important}.b_large_icon.b_filetype_js,.b_large_icon.b_filetype_java,.b_large_icon.b_filetype_xml,.b_large_icon.b_filetype_xsl,.b_large_icon.b_filetype_bat,.b_large_icon.b_filetype_exe,.b_large_icon.b_filetype_app,.b_large_icon.b_filetype_sh{background-image:url("../openolat/images/docs_large/developer.png") !important}.b_large_icon.b_filetype_numbers{background-image:url("../openolat/images/docs_large/numbers.png") !important}.b_large_icon.b_filetype_ods,.b_large_icon.b_filetype_xls,.b_large_icon.b_filetype_xlsx{background-image:url("../openolat/images/docs_large/excel.png") !important}.b_large_icon.b_filetype_swf,.b_large_icon.b_filetype_flv{background-image:url("../openolat/images/docs_large/flash.png") !important}.b_large_icon.b_filetype_htm,.b_large_icon.b_filetype_html{background-image:url("../openolat/images/docs_large/html.png") !important}.b_large_icon.b_filetype_ai{background-image:url("../openolat/images/docs_large/illustrator.png") !important}.b_large_icon.b_filetype_png,.b_large_icon.b_filetype_tiff,.b_large_icon.b_filetype_webp,.b_large_icon.b_filetype_gif,.b_large_icon.b_filetype_ico,.b_large_icon.b_filetype_jpeg,.b_large_icon.b_filetype_bmp,.b_large_icon.b_filetype_odg,.b_large_icon.b_filetype_eps,.b_large_icon.b_filetype_jpg{background-image:url("../openolat/images/docs_large/image.png") !important}.b_large_icon.b_filetype_avi,.b_large_icon.b_filetype_dvi,.b_large_icon.b_filetype_mp4,.b_large_icon.b_filetype_m4v,.b_large_icon.b_filetype_webm,.b_large_icon.b_filetype_ogg,.b_large_icon.b_filetype_video,.b_large_icon.b_filetype_mov,.b_large_icon.b_filetype_mpeg,.b_large_icon.b_filetype_mpg,.b_large_icon.b_filetype_qt,.b_large_icon.b_filetype_ra,.b_large_icon.b_filetype_ram{background-image:url("../openolat/images/docs_large/movie.png") !important}.b_large_icon.b_filetype_midi,.b_large_icon.b_filetype_audio,.b_large_icon.b_filetype_mp3,.b_large_icon.b_filetype_m3u,.b_large_icon.b_filetype_wav{background-image:url("../openolat/images/docs_large/music.png") !important}.b_large_icon.b_filetype_ps,.b_large_icon.b_filetype_pdf{background-image:url("../openolat/images/docs_large/pdf.png") !important}.b_large_icon.b_filetype_psd{background-image:url("../openolat/images/docs_large/photoshop.png") !important}.b_large_icon.b_filetype_key{background-image:url("../openolat/images/docs_large/keynote.png") !important}.b_large_icon.b_filetype_odp,.b_large_icon.b_filetype_ppt,.b_large_icon.b_filetype_pptx{background-image:url("../openolat/images/docs_large/powerpoint.png") !important}.b_large_icon.b_filetype_odf,.b_large_icon.b_filetype_rtf,.b_large_icon.b_filetype_readme,.b_large_icon.b_filetype_README,.b_large_icon.b_filetype_log,.b_large_icon.b_filetype_txt{background-image:url("../openolat/images/docs_large/text.png") !important}.b_large_icon.b_filetype_pages{background-image:url("../openolat/images/docs_large/pages.png") !important}.b_large_icon.b_filetype_doc,.b_large_icon.b_filetype_docx{background-image:url("../openolat/images/docs_large/word.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")}.o_CourseModule_icon.b_managed_icon{background-image:url("../openolat/images/le_resources/book-open-text-image_locked.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_qitem_icon{background-image:url("../openolat/images//question-octagon-frame.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/projection-screen-presentation.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")}.o_portrait_dummy{background-image:url(../openolat/images/dummy.png);width:100px;height:100px}.o_portrait_dummy_small{background-image:url(../openolat/images/dummy_small.png);width:30px;height:30px}.o_portrait_dummy_female_big{background-image:url(../openolat/images/dummy_female_big.png);width:100px;height:100px}.o_portrait_dummy_female_small{background-image:url(../openolat/images/dummy_female_small.png);width:30px;height:30px}.o_portrait_dummy_male_big{background-image:url(../openolat/images/dummy_male_big.png);width:100px;height:100px}.o_portrait_dummy_male_small{background-image:url(../openolat/images/dummy_male_small.png);width:30px;height:30px}.o_portrait_anonymous{background-image:url(../openolat/images/dummy.png);width:100px;height:100px}.o_portrait_anonymous_small{background-image:url(../openolat/images/dummy_small.png);width:30px;height:30px}@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%;position:relative;z-index:1}#b_main_toolbar{clear:both;height:24px;line-height:24px;vertical-align:middle;margin:0;padding:1px 0 0 0;border-bottom:1px solid #dadada;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;font-family:Century Gothic, Apple Gothic, sans-serif;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,#b_header #b_topnav #b_main_toolbar div.b_breadcumb_close .b_close,#b_main_toolbar div.b_breadcumb_close #b_header #b_topnav .b_close{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_header #b_topnav li#o_topnav_my_menu_link div.o_topnav_portrait{width:30px;height:30px;float:left;margin-right:5px}.o_topnav_my_menu ul{list-style-type:none;margin:0;padding:0}.o_topnav_my_menu li{margin:0;padding:0}.o_topnav_my_menu .o_topnav_my_submenu{color:grey}.o_topnav_my_menu #o_topnav_logout a#b_logout{background:url("../openolat/images/control/control-power.png") no-repeat left 50%;padding:0 0 0 20px;margin:0;font-weight:bold}.o_topnav_my_menu a.o_password{background:url("../openolat/images/locked.png") no-repeat left 50%;padding:0 0 0 20px;margin:0}#b_nav_main{float:left;font-family:Century Gothic, Apple Gothic, sans-serif}#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_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_portal > div{background-image:url("../openolat/images/home.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_site.o_site_catalog div{background-image:url(../openolat/images/drawer-open.png)}#b_nav_main ul li.b_nav_site.o_site_qpool div{background-image:url(../openolat/images/qti/pool.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}.b_clickable:hover{cursor:pointer}div.b_tree{position:relative;font-size:100%;font-family:Century Gothic, Apple Gothic, sans-serif;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_l0{padding-left:16px}div.b_tree ul li .b_tree_oc_l0{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l0,div.b_tree ul li .b_tree_level_close.b_tree_oc_l0{z-index:10}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_level_open.b_tree_oc_l1,div.b_tree ul li .b_tree_level_close.b_tree_oc_l1{z-index:10}div.b_tree ul li .b_tree_oc_l2{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l2,div.b_tree ul li .b_tree_level_close.b_tree_oc_l2{z-index:10}div.b_tree ul li .b_tree_oc_l3{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l3,div.b_tree ul li .b_tree_level_close.b_tree_oc_l3{z-index:10}div.b_tree ul li .b_tree_oc_l4{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l4,div.b_tree ul li .b_tree_level_close.b_tree_oc_l4{z-index:10}div.b_tree ul li .b_tree_oc_l5{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l5,div.b_tree ul li .b_tree_level_close.b_tree_oc_l5{z-index:10}div.b_tree ul li .b_tree_oc_l6{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l6,div.b_tree ul li .b_tree_level_close.b_tree_oc_l6{z-index:10}div.b_tree ul li .b_tree_oc_l7{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l7,div.b_tree ul li .b_tree_level_close.b_tree_oc_l7{z-index:10}div.b_tree ul li .b_tree_oc_l8{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l8,div.b_tree ul li .b_tree_level_close.b_tree_oc_l8{z-index:10}div.b_tree ul li .b_tree_oc_l9{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l9,div.b_tree ul li .b_tree_level_close.b_tree_oc_l9{z-index:10}div.b_tree ul li .b_tree_oc_l10{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l10,div.b_tree ul li .b_tree_level_close.b_tree_oc_l10{z-index:10}div.b_tree ul li .b_tree_oc_l11{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_level_open.b_tree_oc_l11,div.b_tree ul li .b_tree_level_close.b_tree_oc_l11{z-index:10}div.b_tree ul li a.b_tree_l0{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l1{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l2{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l3{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l4{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l5{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l6{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l7{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l8{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l9{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l10{padding-left:13px;z-index:9}div.b_tree ul li a.b_tree_l11{padding-left:13px;z-index:9}div.b_tree ul li span.b_tree_icon_decorator{width:12px;height:12px;float:right;display:inline;position:static;z-index:9;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:33px;background-position:15px 50%}div.b_tree ul.b_tree_l1 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l2 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l3 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l4 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l5 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l6 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l7 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l8 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l9 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l10 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l11 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree.b_tree_root_hidden{margin:0 0 0 1em}div.b_tree.b_tree_root_hidden ul{padding:0}div.b_tree.b_tree_root_hidden ul.b_tree_l0{margin-left:0}div.b_tree.b_tree_root_visible{left:-13px}div.b_tree a.b_tree_level_close,div.b_tree a.b_tree_level_open{background:transparent !important}div.b_tree a.b_tree_level_close span,div.b_tree a.b_tree_level_open span{background-position:0 50%;background-repeat:no-repeat;padding-right:13px}div.b_tree a.b_tree_level_close:hover,div.b_tree a.b_tree_level_open:hover{text-decoration:none}div.b_tree a.b_tree_level_close span{background-image:url("../openolat/images/tree_parent_open.gif")}div.b_tree a.b_tree_level_open span{background-image:url("../openolat/images/tree_parent_closed.gif")}div.b_master_detail div.b_tree ul li{background:url("../openolat/images/detail/detail_separator.png") repeat-y right}div.b_master_detail div.b_tree ul li a.b_tree_l0{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l1{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l2{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l3{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l4{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l5{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l6{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l7{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l8{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l9{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l10{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_l11{display:block;padding-right:20px;background-repeat:no-repeat;background-position:right}div.b_master_detail div.b_tree ul li a.b_tree_selected{background-image:url("../openolat/images/detail/detail_arrow.png")}div.b_master_detail div.b_tree ul li a.b_tree_selected.b_tree_l0{background-image:none}#b_footer{color:#9D9D9D;padding:0;margin:0;position:relative;min-height:60px}#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;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 #dadada}#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}#b_main_toolbar div.b_breadcumb_close{position:absolute;right:5px;size:80%}#b_main_toolbar div.b_breadcumb_close .b_close{background-image:url("../openolat/images/close.png");color:#2d2e2d}#b_main_toolbar div.b_breadcumb_close .b_close:hover{color:#585a58;text-decoration:none}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_togglebox{margin-top:10px;padding:10px;background:#FAFAFA}div.b_togglebox div.b_togglebox_content{background:transparent;border:0px;padding:0px}div.b_titled_wrapper div.b_togglebox{margin-top:0;padding:0;background:transparent}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 fieldset{padding:1em 1em 0.5em 1em}div.o_catalog div.o_catalog_title{display:none}div.o_catalog div.o_catalog_nav{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-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:100}.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 8px rgba(68, 68, 68, 0.5);-ms-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-o-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-webkit-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5)}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_area{position:absolute;top:0px;left:0px;moz-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-ms-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-o-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-webkit-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5)}div.b_callout_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1;background:#000;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=1);-moz-opacity:0.01;-khtml-opacity:0.01;opacity:0.01}div.b_callout{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_callout_content{max-width:60em;margin:10px;overflow:hidden}.b_callout_top_right_arrow{width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid #FFF;position:absolute;right:20px;top:-10px;z-index:1001}.b_callout_top_right_arrow-border{width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid red;position:absolute;right:20px;top:-11px;z-index:1000}.b_callout_top_left_arrow{width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid #FFF;position:absolute;left:20px;top:-10px;z-index:1001}.b_callout_top_left_arrow-border{width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid red;position:absolute;left:20px;top:-11px;z-index:1000}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(../openolat/images/ajax-loader.svg)}html.no-svg div.b_ajax_busy{background-image:url(../openolat/images/ajax-loader.gif)}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,#b_msg_sticky_preview{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 8px rgba(68, 68, 68, 0.5);-ms-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-o-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);-webkit-box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5);box-shadow:0px 0px 8px rgba(68, 68, 68, 0.5)}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{margin:20px 0 20px 0}.o_infomessage_wrapper .o_infomessage{text-align:left}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:#777777;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.25em 0.5em 0.25em 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.25em 0.5em 0.25em 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.25em 0.5em 0.25em 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}.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 #ff9f5b;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.25em 0.5em 0.25em 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.25em 0.5em 0.25em 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.25em 0.5em 0.25em 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")}.b_link_ok > span{background-image:url("../openolat/images/tick.png")}.b_link_nok > span{background-image:url("../openolat/images/cross.png")}.b_link_edit > span{background-image:url("../openolat/images/docs/document--pencil.png")}.b_move_left_icon > span{background-image:url("../openolat/images/arrow_left_big.png")}.b_move_right_icon > span{background-image:url("../openolat/images/arrow_right_big.png")}.b_remove_icon > span{background-image:url("../openolat/images/cross_small.png")}.b_deletableentry_wrapper .b_link_left_icon{border:none;background:inherit;margin:0}.b_deletableentry_wrapper .b_link_left_icon:focus,.b_deletableentry_wrapper .b_link_left_icon:hover,.b_deletableentry_wrapper .b_link_left_icon:focus,.b_deletableentry_wrapper .b_link_left_icon:active{text-decoration:none;border:none;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.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.o_login div.o_login_form input{width:15em;padding:2px 3px 2px 3px}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;margin-top:1em;margin-bottom:0.3em}div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_vertical label{float:none}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 div.b_inline_elements div{display:inline}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.o_buttons_bar div.o_buttons_box_right{position:relative;text-align:right;padding:5px 0 5px 0}div.o_buttons_box_right{position:absolute;top:0;right:0}fieldset div.o_buttons_box_right{top:1em}div.b_box_with_chelp div.o_buttons_box_right{right:20px}div.o_buttons_box_center{padding:15px 0 0 0;text-align:center}div.b_fileinput{position:relative}div.b_fileinput div.b_fileinput_fakechooser{position:relative;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:absolute;top:0;left:0;height:1.8em;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_off.png") !important}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{background-position:center right;background-repeat:no-repeat;display:block;width:20px;height:20px}div.b_mark a span{display:block;width:19px;height:19px}div.b_mark a:hover{text-decoration:none}button::-moz-focus-inner,input[type="reset"]::-moz-focus-inner,input[type="button"]::-moz-focus-inner,input[type="submit"]::-moz-focus-inner,input[type="file"] > input[type="button"]::-moz-focus-inner{padding:0;border:0}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.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}table tbody tr.b_row_selected td{background:#ff9f5b}div.b_table_drag{padding:5px;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;border:1px solid red;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_table_wrapper table{width:99.5%;margin-left:1px;border:1px solid #eeeeee}div.b_table_wrapper table thead,div.b_table_wrapper table thead a{color:#025d8c}div.b_table_wrapper table thead a.b_sorting,div.b_table_wrapper table thead a a.b_sorting{padding:0 20px 0 0;text-decoration:none;background:url("../openolat/images/arrow-resize-090.png") no-repeat center right}div.b_table_wrapper table thead a.b_sorting_asc,div.b_table_wrapper table thead a a.b_sorting_asc{padding:0 20px 0 0;text-decoration:none;background:url("../openolat/images/arrow_up.png") no-repeat center right}div.b_table_wrapper table thead a.b_sorting_desc,div.b_table_wrapper table thead a a.b_sorting_desc{padding:0 20px 0 0;text-decoration:none;background:url("../openolat/images/arrow_down.png") no-repeat center right}div.b_table_wrapper table tbody tr:hover td{background:#ffdbc1}div.b_table_wrapper table tbody tr.b_row_selected:hover td{background:#ff9f5b}div.b_table_wrapper table tbody a{color:#025d8c}div.b_table_wrapper table tbody a:hover{color:#025d8c}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_wrapper div.b_table_footer{float:left;margin:5px 0 0 10px}div.b_table_wrapper div.dataTables_info{float:left;margin:5px 0 0 0}div.b_table_wrapper .dataTables_wrapper .paginate_enabled_previous{background:url("../openolat/images/arrow_left.png") no-repeat top left}div.b_table_wrapper .dataTables_wrapper .paginate_enabled_previous:hover{background:url("../openolat/images/arrow_left.png") no-repeat top left}div.b_table_wrapper .dataTables_wrapper .paginate_disabled_previous{background:url("../openolat/images/arrow_left.png") no-repeat top left}div.b_table_wrapper .dataTables_wrapper .paginate_enabled_next{background:url("../openolat/images/arrow_right.png") no-repeat top right}div.b_table_wrapper .dataTables_wrapper .paginate_enabled_next:hover{background:url("../openolat/images/arrow_right.png") no-repeat top right}div.b_table_wrapper .dataTables_wrapper .paginate_disabled_next{background:url("../openolat/images/arrow_right.png") no-repeat top right}div.b_table_wrapper .dataTables_wrapper .sorting{background:url("../openolat/images/arrow-resize-090.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper .sorting_asc{background:url("../openolat/images/arrow_up.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper .sorting_desc{background:url("../openolat/images/arrow_down.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper .sorting_asc_disabled{background:url("../openolat/images/arrow_up.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper .sorting_desc_disabled{background:url("../openolat/images/arrow_down.png") no-repeat center right}div.b_table_wrapper .dataTables_wrapper div.dataTables_scrollBody table.dataTable{border-top:none}div.b_table_wrapper .dataTables_wrapper div.dataTables_scrollBody table.dataTable thead th{border:none}div.b_table_wrapper .dataTables_wrapper table.dataTable thead th{border-bottom:1px solid #ccc;color:#025d8c}div.b_table_wrapper .dataTables_wrapper table.dataTable tbody a{color:#025d8c}div.b_table_wrapper .dataTables_wrapper table.dataTable tbody a:hover{color:#025d8c}div.b_table_wrapper .dataTables_wrapper table.dataTable tr.even td.sorting_1{background:#eee}div.b_table_wrapper .dataTables_wrapper table.dataTable tr.odd{background-color:#fff}div.b_table_wrapper .dataTables_wrapper table.dataTable tr.odd td.sorting_1{background:#fff}div.b_table_wrapper.b_table_edit table thead{border-bottom:solid #f3ca22 5px}div.b_table_wrapper.b_flexitable_wrapper div.b_table_filter{margin:3px 0 3px 0}div.b_table_wrapper.b_flexitable_wrapper div.b_table_filter label{padding:3px 7px 3px 0}div.b_table_wrapper.b_flexitable_wrapper div.b_table_filter div.b_form_selection_element{float:right}div.o_table_rowline div.o_table_row{margin-bottom:30px}div.o_table_rowline div.o_table_rowline_details{background-color:#ffcccc !important;margin-top:-30px;margin-bottom:30px;border-bottom:1px solid #999;border-left:1px solid #999;border-right:1px solid #999}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 tr:hover td{background:#ffdbc1}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}div.o_table_row div.f_thumbnail{width:280px;height:158px;float:left;border-right:1px solid #999}div.o_table_row div.f_item_links a{background-repeat:no-repeat}div.o_table_row div.f_metadata{position:relative;border:1px solid #999;background-color:#fcfcfc;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.o_table_row div.f_metadata div.f_thumbnail_inner{width:280px;height:158px}div.o_table_row 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.o_table_row div.f_metadata div.f_metadata_text{margin:10px 220px 10px 300px}div.o_table_row div.f_metadata div.f_metadata_text_inner{width:100%}div.o_table_row div.f_metadata div.f_metadata_lifecycle{position:absolute;top:10px;right:220px}div.o_table_row div.f_metadata div.f_metadata_mark{position:absolute;top:10px;right:215px}div.o_table_row div.f_metadata div.f_metadata_additional_infos{position:absolute;top:0;right:0;height:158px;width:210px;border-left:1px solid #999}div.o_table_row div.f_metadata div.f_metadata_start{position:absolute;bottom:0;right:0;width:91px;height:20px;padding:7px;background-color:red}div.o_table_row div.f_metadata div.f_metadata_start a{color:#ffffff;font-size:140%;text-decoration:none}div.o_table_row div.f_metadata div.f_metadata_details{position:absolute;bottom:0;right:105px;width:91px;height:20px;padding:7px;background-color:#ff6666}div.o_table_row div.f_metadata div.f_metadata_details a{color:#ffffff;font-size:140%;text-decoration:none}div.o_table_row div.f_metadata span.b_access_method{width:16px;height:16px;background-position:0 50%;background-repeat:no-repeat}div.o_table_row div.f_metadata div.f_metadata_additional_infos_inner{margin:10px 10px 10px 10px}@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.6em}div.o_wiki_wrapper h2{font-size:1.4em}div.o_wiki_wrapper h3{font-size:1.2em}div.o_wiki_wrapper h4{font-size:1.1em}div.o_wiki_wrapper h5{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}img.wikiimg{border:0px}a.wikiimg{text-decoration:none;color:inherit;font-weight:inherit}div.imgcaption{padding:0.3em 0em 0.2em 0.3em}div.imgleft{clear:left;float:left;margin:0.3em 0.3em 0.3em 0em;text-align:left}div.imgright{clear:right;float:right;margin:0.3em 0em 0.3em 0.3em;text-align:right}div.o_wikimod-article-box div{width:auto !important}div.imgcenter{clear:both;overflow:hidden;text-align:center;margin:0.3em 0em 0.3em 0em}div.imgthumb{border:1px solid #bbbbbb;padding:0.3em}table.gallery{border:1px solid #B8B8DB;margin:2px;padding:2px;background-color:white}table.gallery tr{vertical-align:middle}table.gallery td{background-color:#EEEEEE;border:solid 2px #B8B8DB;text-align:center;vertical-align:middle;width:150px}img.gallery{border:1px solid #B8B8DB;padding:0.3em}a.edit{font-style:italic;color:#E98F8F}a.externallink:before{content:url("../openolat/images/external_link.png");padding-right:2px}pre{padding:1em;border:1px dashed #B8B8DB;color:black;background-color:#EEEEEE;line-height:1.1em}}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)}.b_quote_wrapper{position:relative;margin:20px}.b_quote_author{background:url(../openolat/images/forum/quote.gif) no-repeat left bottom;padding:10px 5px 15px 11px;position:relative;top:1px;font-style:italic;color:#A2A2A2}blockquote.b_quote{margin:0;border:1px solid #e5e5e5;padding:8px 10px 6px;color:#646464;background:#fff;font-size:100%}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}div.b_eportfolio_share_with_user{clear:both}div.b_eportfolio_share_with_user p{vertical-align:middle}div.b_eportfolio_share_with_user p span{float:none}@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}.epmst-green div.b_pagination li.b_changelog{float:right}}@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}.epmst-green2 div.b_pagination li.b_changelog{float:right}}@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}.epmst-green3 div.b_pagination li.b_changelog{float:right}}@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}.epmst-green4 div.b_pagination li.b_changelog{float:right}}@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}.epmst-red div.b_pagination li.b_changelog{float:right}}@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}.epmst-red2 div.b_pagination li.b_changelog{float:right}}@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}.epmst-red3 div.b_pagination li.b_changelog{float:right}}@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}.epmst-red4 div.b_pagination li.b_changelog{float:right}}@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}.epmst-blue div.b_pagination li.b_changelog{float:right}}@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}.epmst-blue2 div.b_pagination li.b_changelog{float:right}}@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}.epmst-blue3 div.b_pagination li.b_changelog{float:right}}@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}.epmst-blue4 div.b_pagination li.b_changelog{float:right}}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_sel_qpool_pool{background-image:url("../openolat/images/qti/pool-share.png") !important}.o_sel_qpool_my_items{background-image:url("../openolat/images/user.png") !important}.o_sel_qpool_favorits{background-image:url("../openolat/images/flag.png") !important}.o_sel_qpool_share{background-image:url("../openolat/images/users.png") !important}.o_sel_qpool_collection{background-image:url("../openolat/images/document-list.png") !important}.o_readwrite{background-image:url("../openolat/images/pencil.png")}.o_readonly{background-image:url("../openolat/images/pencil-prohibition.png")}.o_public,.o_exportable{background-image:url("../openolat/images/tick.png")}.o_private,.o_unexportable{background-image:url("../openolat/images/cross.png")}.o_qpool_edit_learning_time div{float:left}.o_qpool_edit_learning_time div input,.o_qpool_edit_learning_time div select,.o_qpool_edit_learning_time div span.o_qpool_edit_learning_time_label{margin-right:5px;padding-right:5px}div.o_sel_qpool_edit_content{float:right}div.o_sel_qpool_edit_content .b_link_edit{margin-right:20px}div.o_sel_qpool_presentation div.b_c33l li{padding-right:15px}div.o_sel_qpool_presentation h5{margin:0.5em 0 0.5em 0}#qpoolcontainer div.b_table_wrapper a.b_table_prefs{position:relative;top:1.5em;left:19px}#qpoolcontainer div.b_table_wrapper div.dataTables_wrapper{margin-top:1em}div.o_qpool_metadata_sharing h5{margin-top:1em}div.o_qpool_metadata_sharing table td.b_first_child{width:15%}div.o_qpool_filter_box{margin:3px 0 3px 0}div.o_qpool_filter_box label{padding:3px 7px 3px 0;float:left}div.o_qpool_filter_box div.b_form_selection_element{float:left}a.o_print_icon{background-image:url("../openolat/images/printer.png")}a.o_print_icon span{display:none}.d3chart .bar_green{fill:#9dd53a}.d3chart .bar_green:hover{fill:#7cbc0a}.d3chart .bar_red{fill:#f85032}.d3chart .bar_red:hover{fill:#e73827}.d3chart .bar_grey{fill:lightgrey}.d3chart .bar_grey:hover{fill:grey}div.o_qti_statistics{padding-top:20px;padding-left:40px;padding-right:5%}div.o_qti_statistics ul{list-style-type:none;padding:0;margin:0}div.o_qti_statistics li{padding-left:22px}div.o_qti_statistics li.o_qti_statistics-survey-item{padding-left:0px}div.o_qti_statistics li.o_qti_statistics-ncorrect{background:url(../img/decorator_error.png) no-repeat 5px 4px}div.o_qti_statistics li.o_qti_statistics-correct{background:url(../img/decorator_ok.png) no-repeat 5px 2px}div.o_qti_statistics h4{padding-left:20px}div.o_qti_statistics h4.qti-qtype1{background:url(../img/scItem.png) no-repeat}div.o_qti_statistics h4.qti-qtype2{background:url(../img/mcItem.png) no-repeat}div.o_qti_statistics h4.qti-qtype3{background:url(../img/fibItem.png) no-repeat}div.o_qti_statistics h4.qti-qtype4{background:url(../img/essayItem.png) no-repeat}div.o_qti_statistics h4.qti-qtype5{background:url(../img/kprimItem.png) no-repeat}#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,.o_qti_menu_item_attempts_marked{color:#666;padding:.2em .4em;border:1px solid transparent;background-position:center right;background-repeat:no-repeat;display:block;width:20px;height:12px}.o_qti_menu_item_attempts{background-image:url(../openolat/images/flag_off.png)}.o_qti_menu_item_attempts:hover,.o_qti_menu_item_attempts_marked:hover{border:1px solid silver;cursor:pointer}.o_qti_menu_item_attempts_marked{background-image:url(../openolat/images/flag.png)}#o_qti_item_note{padding:0;margin:0;border:0;color:#666;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:#666}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_qpool_import{background-image:url(../openolat/images/qti/pool.png)}.o_mi_qpool_export{background-image:url(../openolat/images/qti/pool.png)}.o_mi_docx_export{background-image:url(../openolat/images/docs/document-word.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}div.b_lti_edit_wrapper div.o_buttons_box_right{z-index:10;top:13px;right:20px}#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_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}span.o_cl_duedate{color:red}.d3chart .bar{shape-rendering:crispEdges}.d3chart .bar_default_light{fill:#ffcccc}.d3chart .bar_default_light:hover{fill:#ff6666}.d3chart .bar_default{fill:#ff6666}.d3chart .bar_default:hover{fill:red}.d3chart .bar_default_dark{fill:red}.d3chart .bar_default_dark:hover{fill:black}.d3chart .axis{font:12px sans-serif}.d3chart .axis path,.d3chart .axis line{fill:none;stroke:#000;shape-rendering:crispEdges}.d3chart .x.axis path{display: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}div.o_visitingcard h4{background:url("../openolat/images/card-address.png") 0 50% no-repeat;padding-left:20px;margin-bottom:1em}div.o_visitingcard table th{width:20%}.popup_iframe{width:100%;height:100%;border:none;min-height:60em}div.o_reservation{position:relative;margin-top:2em;padding:1em;background:#F7F7F7;border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_reservation span.o_reservation_name{font-weight:bold;line-height:2em}div.o_reservation span.o_reservation_role_coach{margin-left:1em}div.o_reservation span.o_reservation_accepted{margin-left:2em;background:transparent url(../openolat/images/tick.png) 0 50% no-repeat;color:#009900;padding-left:20px;font-style:italic;line-height:2em}div.o_reservation span.o_reservation_refused{margin-left:2em;background:transparent url(../openolat/images/cross.png) 0 50% no-repeat;color:#990000;padding-left:20px;font-style:italic;line-height:2em}div.o_reservation a.o_reservation_details_link{padding:0 1em}div.o_reservation div.o_reservation_details{padding:1em 0 0 0}div.o_reservation ul{list-style:none;padding:0;margin:0}div.o_reservation ul li{background-repeat:no-repeat;padding:0;margin:0}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 div.b_clearfix{margin-bottom:1.5em}div.o_cmembers div.o_cmember{float:left;position:relative;width:30%;height:30px;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 div.o_cmember_portrait_wrapper{position:absolute}div.o_cmembers div.o_cmember div.o_cmember_portrait_wrapper div.o_cmember_portrait{top:3px;left:3px;border:1px solid #bbb;width:30px;height:30px;background-color:#fff;background-repeat:no-repeat;background-position:50% 50%}div.o_cmembers div.o_cmember div.o_cmember_info_wrapper{padding-left:35px;line-height:30px;vertical-align:middle}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_contexthelp_wrapper{position:relative}a.b_contexthelp{display:block;width:16px;height:16px;background:url(../openolat/images/help.png) no-repeat;line-height:0;cursor:help}div.b_contexthelp_wrapper a.b_contexthelp{position:absolute;top:0;right:0}fieldset a.b_contexthelp,fieldset div.b_contexthelp_wrapper a.b_contexthelp{position:absolute;top:-1.5em;right:-0.8em}#b_contexthelp_content{padding:0}#b_ch_topnav_search div.b_form_element_wrapper.b_form_horizontal{margin:2px 0 0 0}#b_contexthelp_rating{text-align:center;margin-top:20px;padding:10px;border-top:1px #ACAAAA solid}#b_contexthelp_rating h4{font-size:90%;margin:0;font-style:italic}#b_contexthelp_rating table{display:inline-block}#b_contexthelp_rating table td{width:50%}.b_contexthelp_icon{background-image:url(../openolat/images/help.png)}div.b_ratings_and_comments{margin:4em 0 1.5em 0;padding-bottom:0.5em;border-bottom:1px solid #eee;font-size:0.9em;position:relative}div.b_ratings_and_comments div.b_rating_wrapper{position:absolute;right:0;bottom:0;width:150px;height:4em}div.b_ratings_and_comments div.b_rating{background:none;border:none;padding:0;margin:0;position:absolute;left:0;bottom:2px;width:100%}div.b_ratings_and_comments div.b_rating_personal{background:#fff;z-index:5}a.b_comments,div.b_ratings_and_comments a.b_comments,div.b_eportfolio_map a.b_comments{background:url(../openolat/images/comment.png) 3px 50% no-repeat;padding:3px 0 1px 23px;vertical-align:middle;min-height:18px}a.b_comments.b_no_comment{background:url(../openolat/images/comment_none.png) 3px 50% no-repeat}div.b_comments{font-size:0.9em}div.b_comments div.b_comment_wrapper{border:1px solid #eee;padding:10px 10px 5px 10px;margin-bottom:2em;background:#fbfbfb;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.b_comments div.b_comment_wrapper div.b_avatar img{border:1px solid #aaa}div.b_comments div.b_comment_wrapper h5{font-size:1em;background:url(../openolat/images/user.png) 0 50% no-repeat;padding:1px 0 1px 20px;vertical-align:middle;min-height:16px}div.b_comments div.b_comment_wrapper span.b_date{color:#aaaaaa;font-weight:normal;display:block;margin-top:5px}div.b_comments div.b_comment_wrapper div.b_comment_wrapper{margin-left:7px;background:#fff}div.b_comments div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper{background:#fbfbfb}div.b_comments div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper{background:#fff}div.b_comments blockquote.b_comment{padding:3px 0 0 0px;margin:0}div.b_comments div.b_form{padding:10px;border:1px solid #eee;margin:2em 0 2em 0;background: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}div.b_comments div.b_form h5{font-size:1em;margin-bottom:0.5em}div.b_comments div.b_form div.b_button_group{text-align:center}.b_comment_icon{background-image:url(../openolat/images/comment.png)}#b_comment_form_link{font-size:0.9em;position:relative;top:-15px;left:23px}div.b_rating{margin:10px;padding:5px;font-size:80%;white-space:nowrap;text-align:left;background:#EEE;border:1px solid #ACAAAA;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.b_rating div.b_rating_title{font-weight:bold}div.b_rating div.b_rating_items{vertical-align:middle;line-height:18px}div.b_rating div.b_rating_items a{float:left;display:inline;width:16px;height:16px;background-repeat:no-repeat;background-position:0 0;margin:1px 4px 1px 0}div.b_rating div.b_rating_items a.b_rating_item_on{background-image:url(../openolat/images/star.png)}div.b_rating div.b_rating_items a.b_rating_item_off{background-image:url(../openolat/images/star_grey.png)}div.b_rating div.b_rating_items a:hover{cursor:default}div.b_rating div.b_rating_items.b_enabled a:hover{cursor:pointer}div.b_rating div.b_rating_items.b_enabled a.b_rating_item_off:hover{background-image:url(../openolat/images/star.png)}div.b_rating div.b_rating_explanation{clear:both;font-size:90%}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}.b_content_download{background:url("../openolat/images/drive-download.png") no-repeat top left;padding-left:20px;margin:3px;display:block;min-height:16px}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}ul.fx_portlets_column_portlets{border:1px solid #eee;padding:0;margin:0;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%)}ul.fx_portlets_column_portlets li{margin-left:0}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}@media all{.fc-button-print span{background:url(../openolat/images/printer.png) no-repeat right 50%;padding:0 20px 0 0}#o_cal_manage_calendars{float:right;margin-right:10px;margin-top:5px}#o_cal_config_below_cal_container{padding:6px;position:relative;overflow:hidden}#o_cal_config_below_cal_container div.b_contexthelp_wrapper a.b_contexthelp{top:0;right:0}.o_cal_embedded_course_container{padding-top:6px}.o_cal_embedded_course_container #b_content_popup{position:absolute;top:0;right:0}.o_course_run_peekview .o_cal_peekview ul li{list-style:none}#o_cal_wv_actions{vertical-align:middle;line-height:16px;padding-right:30px;float:right;display:inline;position:relative}#o_cal_wv_nav{text-align:left;vertical-align:middle;line-height:16px;float:left;display:inline;position:absolute;top:5px;left:5px}.o_cal_wv_prev,.o_cal_wv_next{margin-left:0 !important;margin-right:0 !important}.o_cal_wv_prev span{width:20px;height:20px;float:left;background:transparent url(arrow_left_big.png) no-repeat center center}.o_cal_wv_next span{width:20px;height:20px;float:left;background:transparent url(arrow_right_big.png) no-repeat center center}#o_cal_wv{padding:0 0px 5px 0px;position:relative;width:auto}#o_cal_wv_header_wrapper{padding-top:10px;position:relative;clear:both}#o_cal_wv_header{border:1px solid #888;position:relative;height:20px;margin-bottom:2px;background:#FFF}.o_cal_wv_grid_wrapper{position:relative;border:1px solid #888;background:#FFF;padding-bottom:1px}.o_cal_wv_grid{position:relative;width:auto;height:600px;overflow:scroll !important;overflow-x:hidden !important}#o_cal_wv_daylong{border:1px solid #888;position:relative;width:auto;overflow:visible;margin-bottom:2px;background:#FFF}.o_cal_wv_dlday{border-left:1px solid #888;position:absolute;width:13%;background:#FFF}.o_cal_wv_time{position:absolute;width:9%}.o_cal_wv_legend_hours{margin:0;padding:0;height:20px;text-align:center;color:#888}.o_cal_wv_legend_hour{border-bottom:1px solid #DDD;margin:0;padding:0;height:39px}.o_cal_wv_legend_hour div{padding:3px 3px 0 3px;text-align:center;color:#444;overflow:hidden;height:16px}.o_cal_wv_day{border-left:1px solid #888;position:absolute;width:13%;border-collapse:collapse;background:#FFF}.o_cal_wv_legend_day{margin:0;padding:0;height:20px}.o_cal_wv_legend_day div{padding:3px 3px 0px 3px;height:15px;overflow:hidden;text-align:center;color:#888}.o_cal_wv_hour{border-bottom:1px dotted #DDD;margin:0;padding:0;height:19px}.o_cal_wv_half_hour{border-bottom:1px solid #DDD;margin:0;padding:0;height:19px}.o_cal_wv_half_hour:hover{background:#DCDDE0}.o_cal_wv_hour:hover{background:#DCDDE0}.o_cal_wv_row0{left:0}.o_cal_wv_row1{left:9%}.o_cal_wv_row2{left:22%}.o_cal_wv_row3{left:35%}.o_cal_wv_row4{left:48%}.o_cal_wv_row5{left:61%}.o_cal_wv_row6{left:74%}.o_cal_wv_row7{left:87%}.o_cal_wv_holiday{background:#eee}.o_cal_wv_today{background:#fff5cc}.o_cal_wv_lastday{border-right:1px solid #888}.o_cal_wv_lasthour{border-bottom:0}.o_cal_wv_event_wrapper{padding:0;margin:0;padding-bottom:2px;position:absolute;overflow:hidden;z-index:10}.o_cal_wv_event{border:1px solid;padding:0;margin:0;position:relative;overflow:hidden;z-index:10}.o_cal_wv_event_overflow{position:absolute;right:2px;z-index:20}.o_cal_wv_event:hover{border-color:#000;z-index:11}.o_cal_wv_event_header{height:1em;overflow:hidden;padding:0px 2px 3px 2px;font-weight:bold;vertical-align:bottom}.o_cal_wv_event_content{padding:1px 2px 1px 2px}.o_cal_toptoolbar{margin-bottom:0.8em;min-width:707px;padding-bottom:8px;border-bottom:1px solid #eee}.o_cal_toptoolbar .o_cal_pagination{float:left;height:2em;width:235px}.o_cal_toptoolbar .o_cal_gotodate{float:left;height:2em;width:350px}.o_cal_gotodate div.b_form div.b_form_element_wrapper div.b_form_element{margin-left:0}.o_cal_toptoolbar .o_cal_search{float:left;height:2em}.o_cal_wv_devent_wrapper{padding:0;margin:0;position:relative;top:-1px;left:-1px;width:auto;height:20px}.o_cal_wv_devent{border:1px solid;padding:0;margin:0;width:100%;height:19px;overflow:hidden;z-index:11}.o_cal_wv_devent:hover{border-color:#000;z-index:12}.o_cal_wv_devent_content{padding:1px 2px 1px 2px}.o_cal_config{margin:2em 0;position:relative;padding:5px}.o_cal_manage_config{position:relative;padding:5px}.o_cal_manage_config fieldset{position:relative;display:inline}.o_cal_config fieldset{position:relative;display:inline}.o_cal_config_scrollwrapper{width:400px;height:100px;overflow:scroll;overflow-x:hidden;border:1px solid #BFBFBF;position:relative}.o_cal_config_row{clear:both;padding:2px 15px 0 0}.o_cal_config_enabled{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/check_on.png) no-repeat;float:left;display:inline}a.o_cal_config_enabled:hover{background:url(../openolat/images/cal/check_on_over.png) no-repeat}.o_cal_config_disabled{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/check_off.png) no-repeat;float:left;display:inline}.o_cal_config_calendar{border:1px solid;padding:0;margin:0;padding:1px 6px 1px 4px;position:relative;height:14px;width:200px;overflow:hidden;float:left;display:inline}.o_cal_config_chosecolor{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/color.png) no-repeat 2px 0px;float:left;display:inline}.o_cal_config_subscribeical{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar_ical_export.png) no-repeat 2px 0px;float:left;display:inline}.o_cal_config_remove_subscribeical{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar_ical_export_remove.png) no-repeat 0 0;float:left;display:inline}a.o_cal_config_unsubscribe{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar_remove.png) no-repeat 0 0;float:left;display:inline}.o_cal_config_regenerate_link{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar_ical_export_regen.png) no-repeat 0 0;float:left;display:inline}.o_cal_config_remove_cal{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/delete.png) no-repeat 2px 0px;float:left;display:inline}.o_cal_config_addevent{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar--plus.png) no-repeat 0 0;float:left;display:inline}.o_cal_config_importevent{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar--arrow.png) no-repeat 0 0;float:left;display:inline}.o_cal_config_readonly{position:relative;width:20px;height:16px;background:url(../openolat/images/cal/calendar--plus.png) no-repeat 0 0;opacity:0.6;float:left;display:inline}#o_cal_colorchooser{background:#DCDDE0;border:1px solid #999999;float:left;display:inline;padding:3px;position:relative}#o_cal_colorchooser div{position:relative;border:1px solid #FFF;margin:5px;float:left;display:inline}#o_cal_colorchooser div:hover{border:1px solid #000}#o_cal_colorchooser a{position:relative;width:20px;height:20px;float:left;display:inline}.o_cal_colorchooser_selected{background:url(../openolat/images/cal/selectedcolor.gif) no-repeat 2px 2px}.o_cal_orange{background:#ffc266;border-color:#ff9900;color:#5D5D5D}.o_cal_orange .o_cal_wv_event_header{background:#ff9900}.o_cal_orange a{color:#5d5d5d !important}.o_cal_green{background:#66c266;border-color:#009900;color:#FFF}.o_cal_green .o_cal_wv_event_header{background:#009900}.o_cal_green a{color:white !important}.o_cal_blue{background:#4d6e9f;border-color:#2e5894;color:#FFF}.o_cal_blue .o_cal_wv_event_header{background:#2e5894}.o_cal_blue a{color:white !important}.o_cal_yellow{background:#ffe066;border-color:#ffcc00;color:#5D5D5D}.o_cal_yellow .o_cal_wv_event_header{background:#ffcc00}.o_cal_yellow a{color:#5d5d5d !important}.o_cal_red{background:#c26666;border-color:#990000;color:#FFF}.o_cal_red .o_cal_wv_event_header{background:#990000}.o_cal_red a{color:white !important}.o_cal_grey{background:#DDDAAA;border-color:#5D5D5D;color:#FFF}.o_cal_grey .o_cal_wv_event_header{background:#5D5D5D}.o_cal_grey a{color:white !important}div.o_cal_gotodate div.b_form_element{margin-left:0%;margin-top:-4px}div.o_cal_search_subscribe{float:right;margin-right:20px}div.o_cal_week_year_label{font-weight:bold;margin-top:8px}.o_cal_config_regenerate_link{position:relative;float:left;display:inline}.o_cal_wv_event_tooltip{display:none}.o_cal_tooltip_buttons{text-align:right}.o_cal_wv .x-tip-body div{padding:0.2em 0}div.o_cal_wv_event_tooltip_content{padding-top:1em}div.o_cal_tooltip_buttons{padding-top:1em}body.o_cal_print{background:white}body.o_cal_print .o_cal_toptoolbar.b_clearfix{display:none}body.o_cal_print .o_cal_wv{display:none}body.o_cal_print .o_cal_wv_print{display:block}body.o_cal_print #o_cal_config .b_float_right{display:none}body.o_cal_print #o_cal_config_below_cal_container .b_subcolumns{display:none}body.o_cal_print .o_cal_wv_print ul{list-style-type:none;margin:0 0 0 0;padding:0 0 0 0}body.o_cal_print .o_cal_event{clear:left;margin:0.2em 0}body.o_cal_print .o_cal_wv_list *{float:left;width:100%}body.o_cal_print .o_cal_event span{padding:0 0.4em;display:block}body.o_cal_print .o_cal_date{font-weight:bold}body.o_cal_print .o_cal_time{width:25%}body.o_cal_print .o_cal_subject{width:40%;border-left-style:solid;border-left-width:thick;background:white}body.o_cal_print .o_cal_subject p{padding:0 0.4em;margin:0;color:black}body.o_cal_print .o_cal_location{float:right;width:34%}body.o_cal_print .o_cal_config_scrollwrapper{width:auto;height:auto;overflow:visible;overflow-x:visible}body.o_cal_print .o_cal_config_calendar{border-width:0;border-left-style:solid;border-left-width:thick;float:none;display:block;color:black;background:white}}.o_glossary{margin:0 100px 0 100px}.o_glossary_entry{margin:0px 0 0px 0;padding:10px;border-top:1px solid #DCDDE0;border-left:1px solid #DCDDE0;border-right:1px solid #DCDDE0}.o_glossary_commands{float:right}.o_glossary_addcommand{float:right}.o_glossary dt{font-weight:bold}dt span.o_glossary_author{font-weight:normal}dt span.o_glossary_modifier{font-weight:normal;color:#98221F}dt span.o_glossary_modifier a,dt span.o_glossary_modifier a:hover{color:#98221F}dt o_glossary_synonym{font-size:80%;font-variant:small-caps;font-style:italic}dd{padding-left:20px;clear:both}.o_glossary_register{margin-bottom:10px}.o_glossary_register_active{font-weight:bold;background-color:lightgrey;font-size:120%}.o_tm_glossary{border-bottom:1px dotted #666699}.o_tm_yellow{background-color:#FFFF66}.o_tm_blue{background-color:#33FFFF}.o_tm_red{background-color:#FF3333}.o_tm_green{background-color:#99FF00}@media print{.o_cal_toptoolbar.b_clearfix{display:none}.o_cal_wv{display:none}.o_cal_wv_print{display:block}#o_cal_config .b_float_right{display:none}#o_cal_config_below_cal_container .b_subcolumns{display:none}.o_cal_wv_print ul{list-style-type:none;margin-left:0}.o_cal_event{clear:left;margin:0.2em 0}.o_cal_wv_list *{float:left;width:100%}.o_cal_event span{padding:0 0.4em;display:block}.o_cal_date{font-weight:bold}.o_cal_time{width:25%}.o_cal_subject{width:40%;border-left-style:solid;border-left-width:thick}.o_cal_subject p{padding:0 0.4em;margin:0}.o_cal_location{float:right;width:34%}.o_cal_config_scrollwrapper{width:auto;height:auto;overflow:visible;overflow-x:visible}.o_cal_config_calendar{border-width:0;border-left-style:solid;border-left-width:thick;float:none;display:block}#o_cal_config_below_cal_container{border:none;background:none;overflow:visible}#o_cal_config_below_cal_container *{background:none;color:black}#o_cal_config_below_cal_container fieldset{border:none}#o_cal_config_below_cal_container fieldset legend{font-weight:bold}}#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{border:1px solid #ACAAAA;height:170px;font-size:90%;margin:0 0 1em 0;overflow:scroll;overflow-x:auto}.o_instantmessaging_chat_history div.o_instantmessaging_message_group{border-top:1px solid #eee;padding:3px 3px 3px 40px;min-height:40px;position:relative;background:#fff}.o_instantmessaging_chat_history div.o_instantmessaging_message_group.o_odd{background:#F4F4F4}.o_instantmessaging_chat_history div.o_instantmessaging_message_group div.o_instantmessaging_avatar{position:absolute;top:3px;left:3px;border:1px solid #bbb;width:30px;height:30px;background-color:#fff;background-repeat:no-repeat;background-position:50% 50%}.o_instantmessaging_chat_history div.o_instantmessaging_message_group div.o_instantmessaging_from{text-align:left;color:#999;text-decoration:none;font-weight:500}.o_instantmessaging_chat_history div.o_instantmessaging_message_group a:hover{color:#000;text-decoration:none}.o_instantmessaging_chat_history div.o_instantmessaging_message_group a:hover div.o_instantmessaging_from{color:#000}.o_instantmessaging_chat_history div.o_instantmessaging_message_group div.o_instantmessaging_body{padding:3px 0 3px 0}.o_instantmessaging_chat_history div.o_instantmessaging_message_group div.o_instantmessaging_body span.o_instantmessaging_date{text-align:right;color:#999;font-size:90%;font-weight:200}.o_instantmessaging_chat_form input{width:99%}.o_instantmessaging_chat_form div.b_button_group{margin-top:1em}#o_instantmessages_buddieslist{font-size:90%;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_group{padding-bottom:0.5em}#o_instantmessages_buddieslist li.o_instantmessaging_group div.o_instantmessaging_groupname{padding:0 0 0 20px;background:url(../openolat/images/users.png) no-repeat 0 50%}#o_instantmessages_buddieslist a.o_instantmessaging_vip span{font-weight:bold}#o_instantmessages_buddieslist li a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 50%}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler{border-bottom:1px #eee solid;margin:0 0 0.5em 0;padding:0 0 0.5em 0}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler span{white-space:nowrap}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 50%;margin-right:1em}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a.o_instantmessaging_showgroupswitch{background-image:url(../openolat/images/users_conf.png)}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a.o_instantmessaging_hidegroupswitch{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;background-image:url(../openolat/images/users_conf.png)}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a.o_instantmessaging_showofflineswitch{background-image:url(../openolat/images/im/status-offline.png)}#o_instantmessages_buddieslist #o_instantmessages_buddieslist_toggler a.o_instantmessaging_hideofflineswitch{background-image:url(../openolat/images/im/status.png)}#o_instantmessages_buddy{margin:1em 0 2em 0}#o_instantmessages_buddy a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 50%}div.o_groupchat_roster{margin:0}div.o_groupchat_roster ul{list-style-type:none;margin:0;padding:0}div.o_groupchat_roster ul li{font-size:90%;margin:0;padding:0 0 0 20px;background:url(../openolat/images/user.png) no-repeat 0 50%}div.o_groupchat_roster ul li.o_instantmessaging_anonymous{background-image:url(../openolat/images/user_silhouette.png)}div.o_groupchat_roster ul li.o_instantmessaging_vip{font-weight:bold}div.o_groupchat_roster ul li.o_instantmessaging_vip.o_instantmessaging_anonymous{font-weight:normal}.o_instantmessaging_available_icon{background-image:url(../openolat/images/im/status.png)}.o_instantmessaging_dnd_icon{background-image:url(../openolat/images/im/status-away.png)}.o_instantmessaging_unavailable_icon{background-image:url(../openolat/images/im/status-offline.png)}.o_instantmessaging_new_msg_icon{background-image:url(../openolat/images/im/new_message.png)}.o_instantmessaging_chat_icon{background-image:url(../openolat/images/im/balloon-white-left.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;margin-right:1em}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-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;background-repeat:no-repeat;background-size:100%;width:45%;height:300px;margin:0 20px 0 20px}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_big_icon{background-image:url(../openolat/images/library_image.png)}.f_library_icon{background-image:url(../openolat/images/library.png)}.f_thumbnail_unavailable{background-image:url(../openolat/images/no_preview.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:#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_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}.ui-widget{font-family:Courier;font-size:100%}.ui-widget-header{border-top:none;border-left:none;border-right:none;border-bottom:1px solid #eee;background:#fff;font-weight:bold}.ui-dialog{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)}.ui-dialog .ui-widget-header .ui-icon-closethick{background:white url("../openolat/images/close.png") no-repeat center center}.ui-dialog .ui-widget-header .ui-button.ui-corner-all{border:none !important;background:#fff !important}.ui-dialog .ui-widget-content{border-color:#fff;padding:5px}.ui-dialog .ui-dialog-titlebar{padding:2px 30px 2px 5px}.ui-dialog.ui-corner-all{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}.ui-dialog.ui-widget-content{border-color:red}.ui-dialog.o_modal-ui div.ui-dialog-buttonpane{display:none}.ui-autocomplete-input{line-height:1.5em;font-size:98%}.ui-autocomplete{z-index:10000}.ui-autocomplete.ui-menu{padding:1px}.ui-autocomplete.ui-corner-all{border:1px solid red;border-top:none;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:2px;-webkit-border-bottom-left-radius:2px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:2px;-moz-border-radius-bottomleft:2px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px;moz-box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3);-ms-box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3);-o-box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3);-webkit-box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3);box-shadow:0px 3px 6px rgba(0, 0, 0, 0.3)}.ui-autocomplete a.ui-corner-all{border:none;margin:-1px;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0}.ui-autocomplete a.ui-corner-all.ui-state-focus{background:#ffdbc1}.ui-autocomplete .b_error_icon{color:#990000;font-style:italic}.ui-datepicker{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)}.ui-datepicker .ui-widget-header .ui-datepicker-prev.ui-corner-all,.ui-datepicker .ui-widget-header .ui-datepicker-next.ui-corner-all{border:none !important;background:#fff !important}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e{background:white url("../openolat/images/arrow_right_big.png") no-repeat center center}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{background:white url("../openolat/images/arrow_left_big.png") no-repeat center center}.ui-datepicker .ui-state-default{background:#eee}.ui-datepicker .ui-state-highlight,.ui-datepicker .ui-widget-content .ui-state-highlight{border:1px solid #ff6666;background:#ffcccc}.ui-datepicker.ui-corner-all{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}.ui-datepicker.ui-widget-content{border-color:red}.ui-tooltip{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)}.ui-tooltip.ui-corner-all{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}.ui-tooltip.ui-widget-content{border:1px solid red}ul.tagit li.tagit-choice.ui-widget-content.ui-state-default{background:#DEE7F8;border:1px solid #CAD8F3}ul.tagit.ui-corner-all{border:none;background:none}.ui-layout-pane{border:none}.ui-layout-resizer{background:none;border-width:1px;border-style:dotted}.ui-layout-toggler-hover,.ui-layout-resizer-hover .ui-layout-toggler-hover{background-color:red}.ui-layout-resizer-open-hover,.ui-layout-resizer-dragging{background:#ffcccc}.fc-state-highlight{background:#ffdbc1}#b_page_wrapper{border-bottom:0;padding:0 10px 0 10px;moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}#b_header{height:50px}#b_header #b_logo{position:absolute;top:10px;left:0;width:120px;height:40px;background:url("images/openolat_powerd_by_120x30.png") no-repeat}@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}.o_cal_toptoolbar.b_clearfix{display:none}.o_cal_wv{display:none}.o_cal_wv_print{display:block}#o_cal_config .b_float_right{display:none}#o_cal_config_below_cal_container .b_subcolumns{display:none}.o_cal_wv_print ul{list-style-type:none;margin-left:0}.o_cal_event{clear:left;margin:0.2em 0}.o_cal_wv_list *{float:left;width:100%}.o_cal_event span{padding:0 0.4em;display:block}.o_cal_date{font-weight:bold}.o_cal_time{width:25%}.o_cal_subject{width:40%;border-left-style:solid;border-left-width:thick}.o_cal_subject p{padding:0 0.4em;margin:0}.o_cal_location{float:right;width:34%}.o_cal_config_scrollwrapper{width:auto;height:auto;overflow:visible;overflow-x:visible}.o_cal_config_calendar{border-width:0;border-left-style:solid;border-left-width:thick;float:none;display:block}#o_cal_config_below_cal_container{border:none;background:none;overflow:visible}#o_cal_config_below_cal_container *{background:none;color:black}#o_cal_config_below_cal_container fieldset{border:none}#o_cal_config_below_cal_container fieldset legend{font-weight:bold}} diff --git a/src/test/java/org/olat/commons/coordinate/CoordinatorTest.java b/src/test/java/org/olat/commons/coordinate/CoordinatorTest.java index 73ad0ad456e0bdea13eb1990c80b8566cabac41f..0dd94151ba7df0fa0e778d3c627bed17e11c5a81 100644 --- a/src/test/java/org/olat/commons/coordinate/CoordinatorTest.java +++ b/src/test/java/org/olat/commons/coordinate/CoordinatorTest.java @@ -46,7 +46,6 @@ import org.olat.core.util.coordinate.SyncerCallback; import org.olat.core.util.coordinate.SyncerExecutor; import org.olat.core.util.resource.OresHelper; import org.olat.repository.RepositoryEntry; -import org.olat.repository.RepositoryManager; import org.olat.repository.RepositoryService; import org.olat.resource.OLATResource; import org.olat.resource.OLATResourceManager; @@ -352,7 +351,7 @@ public class CoordinatorTest extends OlatTestCase { final RepositoryEntry re = repositoryService.create("test", "perfTest", "testPerf", "perfTest description", r); // create security group - RepositoryManager.getInstance().saveRepositoryEntry(re); + repositoryService.update(re); DBFactory.getInstance().commitAndCloseSession(); // 1. Do job without doInSync diff --git a/src/test/java/org/olat/core/commons/services/commentAndRating/UserCommentsTest.java b/src/test/java/org/olat/core/commons/services/commentAndRating/UserCommentsTest.java new file mode 100644 index 0000000000000000000000000000000000000000..34239e1b03cdab9bc5b92bd4ce5c1a1e00edc316 --- /dev/null +++ b/src/test/java/org/olat/core/commons/services/commentAndRating/UserCommentsTest.java @@ -0,0 +1,139 @@ +/** + * <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.core.commons.services.commentAndRating; + +import static org.junit.Assert.assertEquals; + +import java.util.List; +import java.util.UUID; + +import junit.framework.Assert; + +import org.junit.Test; +import org.olat.core.commons.services.commentAndRating.manager.UserCommentsDAO; +import org.olat.core.commons.services.commentAndRating.model.UserComment; +import org.olat.core.id.Identity; +import org.olat.core.id.OLATResourceable; +import org.olat.test.JunitTestHelper; +import org.olat.test.OlatTestCase; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * Description:<br> + * Test class for user comments package + * + * <P> + * Initial Date: 23.11.2009 <br> + * + * @author gnaegi + */ +public class UserCommentsTest extends OlatTestCase { + + @Autowired + private UserCommentsDAO userCommentsDao; + + + @Test + public void should_service_present() { + Assert.assertNotNull(userCommentsDao); + } + + @Test + public void testCRUDComment() { + //init + OLATResourceable ores = JunitTestHelper.createRandomResource(); + Identity ident1 = JunitTestHelper.createAndPersistIdentityAsUser("ucar-crud-1-" + UUID.randomUUID().toString()); + Identity ident2 = JunitTestHelper.createAndPersistIdentityAsUser("ucar-crud-2-" + UUID.randomUUID().toString()); + + + //check if there is any comments + assertEquals(0, userCommentsDao.countComments(ores, null)); + assertEquals(0, userCommentsDao.countComments(ores, "blubli")); + + // add comments + + UserComment comment1 = userCommentsDao.createComment(ident1, ores, null, "Hello World"); + UserComment comment2 = userCommentsDao.createComment(ident1, ores, "blubli", "Hello World with subpath"); + // count must be 1 now. count without subpath should not include the results with subpath + assertEquals(1, userCommentsDao.countComments(ores, null)); + assertEquals(1, userCommentsDao.countComments(ores, "blubli")); + // + UserComment comment3 = userCommentsDao.createComment(ident2, ores, null, "Hello World"); + Assert.assertNotNull(comment3); + UserComment comment4 = userCommentsDao.createComment(ident2, ores, "blubli", "Hello World with subpath"); + Assert.assertNotNull(comment4); + Assert.assertEquals(2, userCommentsDao.countComments(ores, null)); + Assert.assertEquals(2, userCommentsDao.countComments(ores, "blubli")); + // Same with get method + List<UserComment> commentList = userCommentsDao.getComments(ores, null); + assertEquals(2, commentList.size()); + List<UserComment> commentList2 = userCommentsDao.getComments(ores, "blubli"); + assertEquals(2, commentList2.size()); + // Create a reply to the first comments + userCommentsDao.replyTo(comment1, ident2, "Reply 1"); + userCommentsDao.replyTo(comment2, ident2, "Reply 1 with subpath"); + Assert.assertEquals(3, userCommentsDao.countComments(ores, null)); + Assert.assertEquals(3, userCommentsDao.countComments(ores, "blubli")); + // Delete first created coment with one reply each + userCommentsDao.deleteComment(comment1, true); + userCommentsDao.deleteComment(comment2, true); + Assert.assertEquals(1, userCommentsDao.countComments(ores, null)); + Assert.assertEquals(1, userCommentsDao.countComments(ores, "blubli")); + // Create reply to a comment that does not exis anymore -> should not create anything + Assert.assertNull(userCommentsDao.replyTo(comment1, ident2, "Reply 1")); + Assert.assertNull(userCommentsDao.replyTo(comment2, ident2, "Reply 1 with subpath")); + // Recreate first comment + comment1 = userCommentsDao.createComment(ident1, ores, null, "Hello World"); + comment2 = userCommentsDao.createComment(ident1, ores, "blubli", "Hello World with subpath"); + // Recreate a reply to the first comments + userCommentsDao.replyTo(comment1, ident2, "Reply 1"); + userCommentsDao.replyTo(comment2, ident2, "Reply 1 with subpath"); + assertEquals(3, userCommentsDao.countComments(ores, null)); + assertEquals(3, userCommentsDao.countComments(ores, "blubli")); + // Delete first created coment without the reply + userCommentsDao.deleteComment(comment1, false); + userCommentsDao.deleteComment(comment2, false); + assertEquals(2, userCommentsDao.countComments(ores, null)); + assertEquals(2, userCommentsDao.countComments(ores, "blubli")); + + // Delete all comments without subpath + assertEquals(2, userCommentsDao.deleteAllComments(ores, null)); + assertEquals(0, userCommentsDao.countComments(ores, null)); + assertEquals(2, userCommentsDao.countComments(ores, "blubli")); + + //add a comment without subpath + comment1 = userCommentsDao.createComment(ident1, ores, null, "Hello World"); + + // Delete all comments with subpath + assertEquals(2, userCommentsDao.deleteAllComments(ores, "blubli")); + assertEquals(1, userCommentsDao.countComments(ores, null)); + assertEquals(0, userCommentsDao.countComments(ores, "blubli")); + + //add a comment with subpath + comment2 = userCommentsDao.createComment(ident2, ores, "blubli", "Hello World with subpath 2"); + + // Delete ignoring subpath + assertEquals(1, userCommentsDao.countComments(ores, null)); + assertEquals(1, userCommentsDao.countComments(ores, "blubli")); + assertEquals(2, userCommentsDao.deleteAllCommentsIgnoringSubPath(ores)); + assertEquals(0, userCommentsDao.countComments(ores, null)); + assertEquals(0, userCommentsDao.countComments(ores, "blubli")); + } +} diff --git a/src/test/java/org/olat/core/commons/services/commentAndRating/UserRatingsDAOTest.java b/src/test/java/org/olat/core/commons/services/commentAndRating/UserRatingsDAOTest.java new file mode 100644 index 0000000000000000000000000000000000000000..8b6e8ca78d8f89eea47fc261a6414abc97492544 --- /dev/null +++ b/src/test/java/org/olat/core/commons/services/commentAndRating/UserRatingsDAOTest.java @@ -0,0 +1,179 @@ +/** + * <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.core.commons.services.commentAndRating; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.util.UUID; + +import junit.framework.Assert; + +import org.junit.Test; +import org.olat.core.commons.persistence.DB; +import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; +import org.olat.core.commons.services.commentAndRating.manager.UserRatingsDAO; +import org.olat.core.commons.services.commentAndRating.model.UserRating; +import org.olat.core.id.Identity; +import org.olat.core.id.OLATResourceable; +import org.olat.test.JunitTestHelper; +import org.olat.test.OlatTestCase; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 31.01.2014<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class UserRatingsDAOTest extends OlatTestCase { + + @Autowired + private DB dbInstance; + @Autowired + private UserRatingsDAO userRatingsDao; + @Autowired + private CommentAndRatingService service; + + @Test + public void should_service_present() { + Assert.assertNotNull(service); + Assert.assertNotNull(userRatingsDao); + } + + @Test + public void createRating() { + OLATResourceable ores = JunitTestHelper.createRandomResource(); + Identity id = JunitTestHelper.createAndPersistIdentityAsUser("ucar-crud-1-" + UUID.randomUUID().toString()); + dbInstance.commitAndCloseSession(); + + //create + UserRating newRating = userRatingsDao.createRating(id, ores, "test-1", 5); + dbInstance.commit(); + Assert.assertNotNull(newRating); + Assert.assertNotNull(newRating.getKey()); + Assert.assertNotNull(newRating.getCreationDate()); + Assert.assertNotNull(newRating.getLastModified()); + Assert.assertEquals(ores.getResourceableTypeName(), newRating.getResName()); + Assert.assertEquals(ores.getResourceableId(), newRating.getResId()); + Assert.assertEquals("test-1", newRating.getResSubPath()); + Assert.assertEquals(id, newRating.getCreator()); + Assert.assertEquals(new Integer(5), newRating.getRating()); + } + + @Test + public void createUpdateRating() { + OLATResourceable ores = JunitTestHelper.createRandomResource(); + Identity id = JunitTestHelper.createAndPersistIdentityAsUser("ucar-crud-1-" + UUID.randomUUID().toString()); + dbInstance.commitAndCloseSession(); + + //create + UserRating newRating = userRatingsDao.createRating(id, ores, "test-2", 5); + dbInstance.commitAndCloseSession(); + + UserRating updatedRating = userRatingsDao.updateRating(newRating, 4); + dbInstance.commit(); + + Assert.assertNotNull(updatedRating); + Assert.assertEquals(newRating, updatedRating); + Assert.assertNotNull(updatedRating.getCreationDate()); + Assert.assertNotNull(updatedRating.getLastModified()); + Assert.assertEquals(ores.getResourceableTypeName(), updatedRating.getResName()); + Assert.assertEquals(ores.getResourceableId(), updatedRating.getResId()); + Assert.assertEquals("test-2", updatedRating.getResSubPath()); + Assert.assertEquals(id, updatedRating.getCreator()); + Assert.assertEquals(new Integer(4), updatedRating.getRating()); + } + + + @Test + public void testCRUDRating() { + //init + OLATResourceable ores = JunitTestHelper.createRandomResource(); + Identity ident1 = JunitTestHelper.createAndPersistIdentityAsUser("ucar-crud-1-" + UUID.randomUUID().toString()); + Identity ident2 = JunitTestHelper.createAndPersistIdentityAsUser("ucar-crud-2-" + UUID.randomUUID().toString()); + Identity ident3 = JunitTestHelper.createAndPersistIdentityAsUser("ucar-crud-3-" + UUID.randomUUID().toString()); + + + assertEquals(0, userRatingsDao.getRatingAverage(ores, null), 0.01); + assertEquals(0, userRatingsDao.getRatingAverage(ores, "blubli"), 0.01); + assertEquals(0l, userRatingsDao.countRatings(ores, null)); + assertEquals(0l, userRatingsDao.countRatings(ores, "blubli")); + + UserRating r1 = userRatingsDao.createRating(ident1, ores, null, 2); + Assert.assertNotNull(r1); + UserRating r2 = userRatingsDao.createRating(ident1, ores, "blubli", 2); + Assert.assertNotNull(r2); + assertEquals(2, userRatingsDao.getRatingAverage(ores, null), 0.01); + assertEquals(2, userRatingsDao.getRatingAverage(ores, "blubli"), 0.01); + assertEquals(1l, userRatingsDao.countRatings(ores, null)); + assertEquals(1l, userRatingsDao.countRatings(ores, "blubli")); + // + UserRating r3 = userRatingsDao.createRating(ident2, ores, null, 4); + Assert.assertNotNull(r3); + UserRating r4 = userRatingsDao.createRating(ident2, ores, "blubli", 4); + Assert.assertNotNull(r4); + assertEquals(3, userRatingsDao.getRatingAverage(ores, null), 0.01); + assertEquals(3, userRatingsDao.getRatingAverage(ores, "blubli"), 0.01); + assertEquals(2l, userRatingsDao.countRatings(ores, null)); + assertEquals(2l, userRatingsDao.countRatings(ores, "blubli")); + // + UserRating r5 = userRatingsDao.createRating(ident3, ores, null, 1); + Assert.assertNotNull(r5); + UserRating r6 = userRatingsDao.createRating(ident3, ores, "blubli", 1); + Assert.assertNotNull(r6); + assertEquals(2.33f, userRatingsDao.getRatingAverage(ores, null), 0.01); + assertEquals(2.33f, userRatingsDao.getRatingAverage(ores, "blubli"), 0.01); + assertEquals(3l, userRatingsDao.countRatings(ores, null)); + assertEquals(3l, userRatingsDao.countRatings(ores, "blubli")); + // + assertNotNull(userRatingsDao.getRating(ident1, ores, null)); + assertNotNull(userRatingsDao.getRating(ident2, ores, null)); + assertNotNull(userRatingsDao.getRating(ident3, ores, null)); + // can !!not!! create two ratings per person + r1 = userRatingsDao.createRating(ident1, ores, null, 2); + r2 = userRatingsDao.createRating(ident1, ores, "blubli", 2); + assertEquals(2.25f, userRatingsDao.getRatingAverage(ores, null), 0.01); + assertEquals(2.25f, userRatingsDao.getRatingAverage(ores, "blubli"), 0.01); + //can create 2 ratings + assertEquals(4l, userRatingsDao.countRatings(ores, null)); + assertEquals(4l, userRatingsDao.countRatings(ores, "blubli")); + + // Delete ratings without subpath + userRatingsDao.deleteAllRatings(ores, null); + assertEquals(0f, userRatingsDao.getRatingAverage(ores, null), 0.01); + assertEquals(2.25f, userRatingsDao.getRatingAverage(ores, "blubli"), 0.01); + assertEquals(0l, userRatingsDao.countRatings(ores, null)); + assertEquals(4l, userRatingsDao.countRatings(ores, "blubli")); + + // Recreate and delete ignoring subpath + r1 = userRatingsDao.createRating(ident1, ores, null, 2); + r2 = userRatingsDao.createRating(ident1, ores, "blubli", 2); + assertEquals(2f, userRatingsDao.getRatingAverage(ores, null), 0.01); + assertEquals(2.2f, userRatingsDao.getRatingAverage(ores, "blubli"), 0.01); + assertEquals(1, userRatingsDao.countRatings(ores, null)); + assertEquals(5l, userRatingsDao.countRatings(ores, "blubli")); + userRatingsDao.deleteAllRatingsIgnoringSubPath(ores); + assertEquals(0f, userRatingsDao.getRatingAverage(ores, null), 0.01); + assertEquals(0f, userRatingsDao.getRatingAverage(ores, "blubli"), 0.01); + assertEquals(0l, userRatingsDao.countRatings(ores, null)); + assertEquals(0l, userRatingsDao.countRatings(ores, "blubli")); + } +} \ No newline at end of file diff --git a/src/test/java/org/olat/core/commons/services/usercomments/UserCommentsTest.java b/src/test/java/org/olat/core/commons/services/usercomments/UserCommentsTest.java deleted file mode 100644 index 1697d88307d7d4a59e261aeb512727b085cd76b8..0000000000000000000000000000000000000000 --- a/src/test/java/org/olat/core/commons/services/usercomments/UserCommentsTest.java +++ /dev/null @@ -1,144 +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.core.commons.services.usercomments; - -import static org.junit.Assert.assertEquals; - -import java.util.List; -import java.util.UUID; - -import junit.framework.Assert; - -import org.junit.Test; -import org.olat.core.CoreSpringFactory; -import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; -import org.olat.core.commons.services.commentAndRating.UserCommentsManager; -import org.olat.core.commons.services.commentAndRating.model.UserComment; -import org.olat.core.id.Identity; -import org.olat.core.id.OLATResourceable; -import org.olat.test.JunitTestHelper; -import org.olat.test.OlatTestCase; - -/** - * Description:<br> - * Test class for user comments package - * - * <P> - * Initial Date: 23.11.2009 <br> - * - * @author gnaegi - */ -public class UserCommentsTest extends OlatTestCase { - - @Test - public void should_service_present() { - CommentAndRatingService service = CoreSpringFactory.getImpl(CommentAndRatingService.class); - Assert.assertNotNull(service); - } - - @Test - public void testCRUDComment() { - //init - OLATResourceable ores = JunitTestHelper.createRandomResource(); - Identity ident1 = JunitTestHelper.createAndPersistIdentityAsUser("ucar-crud-1-" + UUID.randomUUID().toString()); - Identity ident2 = JunitTestHelper.createAndPersistIdentityAsUser("ucar-crud-2-" + UUID.randomUUID().toString()); - CommentAndRatingService service = CoreSpringFactory.getImpl(CommentAndRatingService.class); - Assert.assertNotNull(service); - service.init(ident1, ores, null, true, false); - CommentAndRatingService serviceWithSubPath = CoreSpringFactory.getImpl(CommentAndRatingService.class); - Assert.assertNotNull(serviceWithSubPath); - serviceWithSubPath.init(ident1, ores, "blubli", true, false); - - //check if there is any comments - assertEquals(0, service.getUserCommentsManager().countComments()); - assertEquals(0, serviceWithSubPath.getUserCommentsManager().countComments()); - - // add comments - UserCommentsManager ucm = service.getUserCommentsManager(); - UserCommentsManager ucm2 = serviceWithSubPath.getUserCommentsManager(); - - UserComment comment1 = ucm.createComment(ident1, "Hello World"); - UserComment comment2 = ucm2.createComment(ident1, "Hello World with subpath"); - // count must be 1 now. count without subpath should not include the results with subpath - assertEquals(1, service.getUserCommentsManager().countComments()); - assertEquals(1, serviceWithSubPath.getUserCommentsManager().countComments()); - // - UserComment comment3 = ucm.createComment(ident2, "Hello World"); - Assert.assertNotNull(comment3); - UserComment comment4 = ucm2.createComment(ident2, "Hello World with subpath"); - Assert.assertNotNull(comment4); - Assert.assertEquals(2, service.getUserCommentsManager().countComments()); - Assert.assertEquals(2, serviceWithSubPath.getUserCommentsManager().countComments()); - // Same with get method - List<UserComment> commentList = ucm.getComments(); - assertEquals(2, commentList.size()); - List<UserComment> commentList2 = ucm2.getComments(); - assertEquals(2, commentList2.size()); - // Create a reply to the first comments - ucm.replyTo(comment1, ident2, "Reply 1"); - ucm2.replyTo(comment2, ident2, "Reply 1 with subpath"); - Assert.assertEquals(3, service.getUserCommentsManager().countComments()); - Assert.assertEquals(3, serviceWithSubPath.getUserCommentsManager().countComments()); - // Delete first created coment with one reply each - ucm.deleteComment(comment1, true); - ucm2.deleteComment(comment2, true); - Assert.assertEquals(1, service.getUserCommentsManager().countComments()); - Assert.assertEquals(1, serviceWithSubPath.getUserCommentsManager().countComments()); - // Create reply to a comment that does not exis anymore -> should not create anything - Assert.assertNull(ucm.replyTo(comment1, ident2, "Reply 1")); - Assert.assertNull(ucm2.replyTo(comment2, ident2, "Reply 1 with subpath")); - // Recreate first comment - comment1 = ucm.createComment(ident1, "Hello World"); - comment2 = ucm2.createComment(ident1, "Hello World with subpath"); - // Recreate a reply to the first comments - ucm.replyTo(comment1, ident2, "Reply 1"); - ucm2.replyTo(comment2, ident2, "Reply 1 with subpath"); - assertEquals(3, service.getUserCommentsManager().countComments()); - assertEquals(3, serviceWithSubPath.getUserCommentsManager().countComments()); - // Delete first created coment without the reply - ucm.deleteComment(comment1, false); - ucm2.deleteComment(comment2, false); - assertEquals(2, service.getUserCommentsManager().countComments()); - assertEquals(2, serviceWithSubPath.getUserCommentsManager().countComments()); - - // Delete all comments without subpath - assertEquals(2, ucm.deleteAllComments()); - assertEquals(0, service.getUserCommentsManager().countComments()); - assertEquals(2, serviceWithSubPath.getUserCommentsManager().countComments()); - - //add a comment without subpath - comment1 = ucm.createComment(ident1, "Hello World"); - - // Delete all comments with subpath - assertEquals(2, ucm2.deleteAllComments()); - assertEquals(1, service.getUserCommentsManager().countComments()); - assertEquals(0, serviceWithSubPath.getUserCommentsManager().countComments()); - - //add a comment with subpath - comment2 = ucm2.createComment(ident2, "Hello World with subpath 2"); - - // Delete ignoring subpath - assertEquals(1, service.getUserCommentsManager().countComments()); - assertEquals(1, serviceWithSubPath.getUserCommentsManager().countComments()); - assertEquals(2, ucm2.deleteAllCommentsIgnoringSubPath()); - assertEquals(0, service.getUserCommentsManager().countComments()); - assertEquals(0, serviceWithSubPath.getUserCommentsManager().countComments()); - } -} diff --git a/src/test/java/org/olat/core/commons/services/usercomments/UserRatingsDAOTest.java b/src/test/java/org/olat/core/commons/services/usercomments/UserRatingsDAOTest.java deleted file mode 100644 index 4a3633c278ff39ced0c4be939dd3f4b8d5529963..0000000000000000000000000000000000000000 --- a/src/test/java/org/olat/core/commons/services/usercomments/UserRatingsDAOTest.java +++ /dev/null @@ -1,93 +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.core.commons.services.usercomments; - -import java.util.UUID; - -import junit.framework.Assert; - -import org.junit.Test; -import org.olat.core.commons.persistence.DB; -import org.olat.core.commons.services.commentAndRating.impl.UserRatingsDAO; -import org.olat.core.commons.services.commentAndRating.model.UserRating; -import org.olat.core.id.Identity; -import org.olat.core.id.OLATResourceable; -import org.olat.test.JunitTestHelper; -import org.olat.test.OlatTestCase; -import org.springframework.beans.factory.annotation.Autowired; - -/** - * - * Initial date: 31.01.2014<br> - * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com - * - */ -public class UserRatingsDAOTest extends OlatTestCase { - - @Autowired - private DB dbInstance; - @Autowired - private UserRatingsDAO userRatingsDao; - - @Test - public void createRating() { - OLATResourceable ores = JunitTestHelper.createRandomResource(); - Identity id = JunitTestHelper.createAndPersistIdentityAsUser("ucar-crud-1-" + UUID.randomUUID().toString()); - dbInstance.commitAndCloseSession(); - - //create - UserRating newRating = userRatingsDao.createRating(id, ores, "test-1", 5); - dbInstance.commit(); - Assert.assertNotNull(newRating); - Assert.assertNotNull(newRating.getKey()); - Assert.assertNotNull(newRating.getCreationDate()); - Assert.assertNotNull(newRating.getLastModified()); - Assert.assertEquals(ores.getResourceableTypeName(), newRating.getResName()); - Assert.assertEquals(ores.getResourceableId(), newRating.getResId()); - Assert.assertEquals("test-1", newRating.getResSubPath()); - Assert.assertEquals(id, newRating.getCreator()); - Assert.assertEquals(new Integer(5), newRating.getRating()); - } - - @Test - public void createUpdateRating() { - OLATResourceable ores = JunitTestHelper.createRandomResource(); - Identity id = JunitTestHelper.createAndPersistIdentityAsUser("ucar-crud-1-" + UUID.randomUUID().toString()); - dbInstance.commitAndCloseSession(); - - //create - UserRating newRating = userRatingsDao.createRating(id, ores, "test-2", 5); - dbInstance.commitAndCloseSession(); - - UserRating updatedRating = userRatingsDao.updateRating(newRating, 4); - dbInstance.commit(); - - Assert.assertNotNull(updatedRating); - Assert.assertEquals(newRating, updatedRating); - Assert.assertNotNull(updatedRating.getCreationDate()); - Assert.assertNotNull(updatedRating.getLastModified()); - Assert.assertEquals(ores.getResourceableTypeName(), updatedRating.getResName()); - Assert.assertEquals(ores.getResourceableId(), updatedRating.getResId()); - Assert.assertEquals("test-2", updatedRating.getResSubPath()); - Assert.assertEquals(id, updatedRating.getCreator()); - Assert.assertEquals(new Integer(4), updatedRating.getRating()); - } - -} diff --git a/src/test/java/org/olat/core/commons/services/usercomments/UserRatingsTest.java b/src/test/java/org/olat/core/commons/services/usercomments/UserRatingsTest.java deleted file mode 100644 index 84c8f6d1b9810dff41829aeeddbb9ca47ce35ea3..0000000000000000000000000000000000000000 --- a/src/test/java/org/olat/core/commons/services/usercomments/UserRatingsTest.java +++ /dev/null @@ -1,140 +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.core.commons.services.usercomments; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -import java.util.UUID; - -import junit.framework.Assert; - -import org.junit.Test; -import org.olat.core.CoreSpringFactory; -import org.olat.core.commons.services.commentAndRating.CommentAndRatingService; -import org.olat.core.commons.services.commentAndRating.UserRatingsManager; -import org.olat.core.commons.services.commentAndRating.impl.UserRatingsDAO; -import org.olat.core.commons.services.commentAndRating.model.UserRating; -import org.olat.core.id.Identity; -import org.olat.core.id.OLATResourceable; -import org.olat.test.JunitTestHelper; -import org.olat.test.OlatTestCase; - -/** - * Description:<br> - * Test class for user comments package - * - * <P> - * Initial Date: 23.11.2009 <br> - * - * @author gnaegi - */ -public class UserRatingsTest extends OlatTestCase { - - @Test - public void should_service_present() { - CommentAndRatingService service = CoreSpringFactory.getImpl(CommentAndRatingService.class); - Assert.assertNotNull(service); - UserRatingsDAO userRatingsDAO = CoreSpringFactory.getImpl(UserRatingsDAO.class); - Assert.assertNotNull(userRatingsDAO); - } - - @Test - public void testCRUDRating() { - //init - OLATResourceable ores = JunitTestHelper.createRandomResource(); - Identity ident1 = JunitTestHelper.createAndPersistIdentityAsUser("ucar-crud-1-" + UUID.randomUUID().toString()); - Identity ident2 = JunitTestHelper.createAndPersistIdentityAsUser("ucar-crud-2-" + UUID.randomUUID().toString()); - Identity ident3 = JunitTestHelper.createAndPersistIdentityAsUser("ucar-crud-3-" + UUID.randomUUID().toString()); - CommentAndRatingService service = CoreSpringFactory.getImpl(CommentAndRatingService.class); - service.init(ident1, ores, null, true, false); - CommentAndRatingService serviceWithSubPath = CoreSpringFactory.getImpl(CommentAndRatingService.class); - serviceWithSubPath.init(ident1, ores, "blubli", true, false); - - // add comments - UserRatingsManager urm = service.getUserRatingsManager(); - UserRatingsManager urm2 = serviceWithSubPath.getUserRatingsManager(); - - assertEquals(0, urm.calculateRatingAverage().floatValue(), 0.01); - assertEquals(0, urm2.calculateRatingAverage().floatValue(), 0.01); - assertEquals(0l, urm.countRatings().longValue()); - assertEquals(0l, urm2.countRatings().longValue()); - - UserRating r1 = urm.createRating(ident1, 2); - Assert.assertNotNull(r1); - UserRating r2 = urm2.createRating(ident1, 2); - Assert.assertNotNull(r2); - assertEquals(2, urm.calculateRatingAverage().floatValue(), 0.01); - assertEquals(2, urm2.calculateRatingAverage().floatValue(), 0.01); - assertEquals(1l, urm.countRatings().longValue()); - assertEquals(1l, urm2.countRatings().longValue()); - // - UserRating r3 = urm.createRating(ident2, 4); - Assert.assertNotNull(r3); - UserRating r4 = urm2.createRating(ident2, 4); - Assert.assertNotNull(r4); - assertEquals(3, urm.calculateRatingAverage().floatValue(), 0.01); - assertEquals(3, urm2.calculateRatingAverage().floatValue(), 0.01); - assertEquals(2l, urm.countRatings().longValue()); - assertEquals(2l, urm2.countRatings().longValue()); - // - UserRating r5 = urm.createRating(ident3, 1); - Assert.assertNotNull(r5); - UserRating r6 = urm2.createRating(ident3, 1); - Assert.assertNotNull(r6); - assertEquals(2.33f, urm.calculateRatingAverage().floatValue(), 0.01); - assertEquals(2.33f, urm2.calculateRatingAverage().floatValue(), 0.01); - assertEquals(3l, urm.countRatings().longValue()); - assertEquals(3l, urm2.countRatings().longValue()); - // - assertNotNull(urm.getRating(ident1)); - assertNotNull(urm.getRating(ident2)); - assertNotNull(urm.getRating(ident3)); - // can !!not!! create two ratings per person - r1 = urm.createRating(ident1, 2); - r2 = urm2.createRating(ident1, 2); - assertEquals(2.25f, urm.calculateRatingAverage().floatValue(), 0.01); - assertEquals(2.25f, urm2.calculateRatingAverage().floatValue(), 0.01); - //can create 2 ratings - assertEquals(4l, urm.countRatings().longValue()); - assertEquals(4l, urm2.countRatings().longValue()); - - // Delete ratings without subpath - urm.deleteAllRatings(); - assertEquals(0f, urm.calculateRatingAverage().floatValue(), 0.01); - assertEquals(2.25f, urm2.calculateRatingAverage().floatValue(), 0.01); - assertEquals(0l, urm.countRatings().longValue()); - assertEquals(4l, urm2.countRatings().longValue()); - - // Recreate and delete ignoring subpath - r1 = urm.createRating(ident1, 2); - r2 = urm2.createRating(ident1, 2); - assertEquals(2f, urm.calculateRatingAverage().floatValue(), 0.01); - assertEquals(2.2f, urm2.calculateRatingAverage().floatValue(), 0.01); - assertEquals(1, urm.countRatings().longValue()); - assertEquals(5l, urm2.countRatings().longValue()); - urm.deleteAllRatingsIgnoringSubPath(); - assertEquals(0f, urm.calculateRatingAverage().floatValue(), 0.01); - assertEquals(0f, urm2.calculateRatingAverage().floatValue(), 0.01); - assertEquals(0l, urm.countRatings().longValue()); - assertEquals(0l, urm2.countRatings().longValue()); - } - -} diff --git a/src/test/java/org/olat/portfolio/EPFrontendManagerTest.java b/src/test/java/org/olat/portfolio/EPFrontendManagerTest.java index 958e96dbf63a1125a3eb46ff0f093dd791927872..3b971ebd97009fbe647a838bef82dee46689270c 100644 --- a/src/test/java/org/olat/portfolio/EPFrontendManagerTest.java +++ b/src/test/java/org/olat/portfolio/EPFrontendManagerTest.java @@ -468,7 +468,7 @@ public class EPFrontendManagerTest extends OlatTestCase { addedEntry.setCanLaunch(true); addedEntry.setAccess(RepositoryEntry.ACC_OWNERS); - repositoryManager.saveRepositoryEntry(addedEntry); + repositoryService.update(addedEntry); dbInstance.commitAndCloseSession(); //create the template owned by ident1 diff --git a/src/test/java/org/olat/repository/RepositoryManagerQueryTest.java b/src/test/java/org/olat/repository/RepositoryManagerQueryTest.java index 52a9485a6404728dbec436ccd3e2848bc17f392f..3bc9cd7478114fe1b8d8562a3876b0779205a8ab 100644 --- a/src/test/java/org/olat/repository/RepositoryManagerQueryTest.java +++ b/src/test/java/org/olat/repository/RepositoryManagerQueryTest.java @@ -140,7 +140,7 @@ public class RepositoryManagerQueryTest extends OlatTestCase { RepositoryEntry re = createCourseRepositoryEntry(db, owner, i); re.setAccess(access); - rm.saveRepositoryEntry(re); + repositoryService.update(re); if (i % 20 == 0) { db.commitAndCloseSession(); } diff --git a/src/test/java/org/olat/repository/RepositoryManagerTest.java b/src/test/java/org/olat/repository/RepositoryManagerTest.java index 9fc3ca58d1ce1bb419bda8402aa81a5e203c8ee2..8330bf432536dd96e19002aef330cb110ab89f57 100644 --- a/src/test/java/org/olat/repository/RepositoryManagerTest.java +++ b/src/test/java/org/olat/repository/RepositoryManagerTest.java @@ -662,7 +662,7 @@ public class RepositoryManagerTest extends OlatTestCase { re.setCanReference(true); } // save the repository entry - repositoryManager.saveRepositoryEntry(re); + repositoryService.update(re); // Create course admin policy for owner group of repository entry // -> All owners of repository entries are course admins @@ -959,7 +959,7 @@ public class RepositoryManagerTest extends OlatTestCase { // add 1 entry RepositoryEntry re = createRepositoryEntry(TYPE, owner, 999999l); // create security group - repositoryManager.saveRepositoryEntry(re); + repositoryService.update(re); count = repositoryManager.countByTypeLimitAccess(TYPE, RepositoryEntry.ACC_OWNERS_AUTHORS); // check count must be one more element assertEquals("Add one course repository-entry, but countByTypeLimitAccess does NOT return one more element", countValueBefore + 1,count); diff --git a/src/test/java/org/olat/repository/manager/RepositoryEntryStatisticsDAOTest.java b/src/test/java/org/olat/repository/manager/RepositoryEntryStatisticsDAOTest.java index 682cc23b4772f559ed0a8b51af931c8dfadc409a..cb56d9d0bdd1f43348c1bd7d0ba182f1497ec349 100644 --- a/src/test/java/org/olat/repository/manager/RepositoryEntryStatisticsDAOTest.java +++ b/src/test/java/org/olat/repository/manager/RepositoryEntryStatisticsDAOTest.java @@ -34,7 +34,8 @@ import junit.framework.Assert; import org.junit.Test; import org.olat.core.commons.persistence.DB; -import org.olat.core.commons.services.commentAndRating.impl.UserRatingsDAO; +import org.olat.core.commons.services.commentAndRating.manager.UserCommentsDAO; +import org.olat.core.commons.services.commentAndRating.manager.UserRatingsDAO; import org.olat.core.id.Identity; import org.olat.core.id.OLATResourceable; import org.olat.core.logging.OLog; @@ -62,6 +63,8 @@ public class RepositoryEntryStatisticsDAOTest extends OlatTestCase { @Autowired private UserRatingsDAO userRatingsDao; @Autowired + private UserCommentsDAO userCommentsDao; + @Autowired private RepositoryManager repositoryManager; @Autowired private RepositoryService repositoryService; @@ -103,6 +106,24 @@ public class RepositoryEntryStatisticsDAOTest extends OlatTestCase { Assert.assertEquals(5d, stats.getRating(), 0.001); } + @Test + public void updateCommentsStatistics() { + //create an entry + Identity id = JunitTestHelper.createAndPersistIdentityAsAuthor("update-comment-"); + RepositoryEntry re = repositoryService.create(id, "-", "Statistics", "", null); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(re); + Assert.assertNotNull(re.getStatistics()); + + //set a rating + userCommentsDao.createComment(id, re, null, "Hello, a new comment"); + dbInstance.commitAndCloseSession(); + + RepositoryEntryStatistics stats = reStatisticsDao.loadStatistics(re); + Assert.assertNotNull(stats); + Assert.assertEquals(1, stats.getNumOfComments()); + } + @Test public void incrementLaunchCounter() { RepositoryEntry repositoryEntry = repositoryService.create("Rei Ayanami", "-", "T1_perf1", "T1_perf1", null); diff --git a/src/test/java/org/olat/resource/accesscontrol/ACFrontendManagerTest.java b/src/test/java/org/olat/resource/accesscontrol/ACFrontendManagerTest.java index 4cf777e0603a878a86c10c5e532306139632b524..784e086cb4f3b149b3aff61804e7f0b3d7ecb6c1 100644 --- a/src/test/java/org/olat/resource/accesscontrol/ACFrontendManagerTest.java +++ b/src/test/java/org/olat/resource/accesscontrol/ACFrontendManagerTest.java @@ -341,7 +341,7 @@ public class ACFrontendManagerTest extends OlatTestCase { RepositoryEntry re = repositoryService.create("Florian Gnägi", "Access controlled by OLAT ", "JunitRE" + UUID.randomUUID().toString().replace("-", ""), "Description", r); re.setAccess(RepositoryEntry.ACC_OWNERS_AUTHORS); - repositoryManager.saveRepositoryEntry(re); + repositoryService.update(re); dbInstance.commitAndCloseSession(); return re; } diff --git a/src/test/java/org/olat/restapi/ContactsTest.java b/src/test/java/org/olat/restapi/ContactsTest.java index 2632528c35fb4c91f4a0f2ecc5e43826cc602ae0..6f0b24640aa3b63e732c70f3d1a986bacd034b12 100644 --- a/src/test/java/org/olat/restapi/ContactsTest.java +++ b/src/test/java/org/olat/restapi/ContactsTest.java @@ -45,7 +45,6 @@ import org.olat.group.BusinessGroup; import org.olat.group.BusinessGroupService; import org.olat.group.manager.BusinessGroupRelationDAO; import org.olat.repository.RepositoryEntry; -import org.olat.repository.RepositoryManager; import org.olat.repository.RepositoryService; import org.olat.resource.OLATResource; import org.olat.resource.OLATResourceManager; @@ -92,7 +91,7 @@ public class ContactsTest extends OlatJerseyTestCase { RepositoryService rs = CoreSpringFactory.getImpl(RepositoryService.class); RepositoryEntry re = rs.create("administrator", "-", "rest-re", null, course); re.setCanLaunch(true); - RepositoryManager.getInstance().saveRepositoryEntry(re); + rs.update(re); DBFactory.getInstance().commit(); //create learn group diff --git a/src/test/java/org/olat/restapi/GroupFoldersTest.java b/src/test/java/org/olat/restapi/GroupFoldersTest.java index 3f98d737125d10d2dbe50b0cb345d7e77382aa5f..fdb063d7a683334793095d009b1265537e78f688 100644 --- a/src/test/java/org/olat/restapi/GroupFoldersTest.java +++ b/src/test/java/org/olat/restapi/GroupFoldersTest.java @@ -68,7 +68,6 @@ import org.olat.group.BusinessGroup; import org.olat.group.BusinessGroupService; import org.olat.group.manager.BusinessGroupRelationDAO; import org.olat.repository.RepositoryEntry; -import org.olat.repository.RepositoryManager; import org.olat.repository.RepositoryService; import org.olat.resource.OLATResource; import org.olat.resource.OLATResourceManager; @@ -124,7 +123,7 @@ public class GroupFoldersTest extends OlatJerseyTestCase { RepositoryEntry re = rs.create("administrator", "-", "rest-re", null, course); re.setCanLaunch(true); - RepositoryManager.getInstance().saveRepositoryEntry(re); + repositoryService.update(re); DBFactory.getInstance().commit(); //create learn group diff --git a/src/test/java/org/olat/restapi/GroupMgmtTest.java b/src/test/java/org/olat/restapi/GroupMgmtTest.java index 55b395e36e0d410bbfebdf982cdba488e58c8c27..ba4e00a2eee32e910d8f17815990038fdcb124af 100644 --- a/src/test/java/org/olat/restapi/GroupMgmtTest.java +++ b/src/test/java/org/olat/restapi/GroupMgmtTest.java @@ -74,7 +74,6 @@ import org.olat.modules.fo.restapi.MessageVO; import org.olat.properties.NarrowedPropertyManager; import org.olat.properties.Property; import org.olat.repository.RepositoryEntry; -import org.olat.repository.RepositoryManager; import org.olat.repository.RepositoryService; import org.olat.resource.OLATResource; import org.olat.resource.OLATResourceManager; @@ -138,7 +137,7 @@ public class GroupMgmtTest extends OlatJerseyTestCase { RepositoryService rs = CoreSpringFactory.getImpl(RepositoryService.class); RepositoryEntry re = rs.create("administrator", "-", "rest-re", null, course); re.setCanLaunch(true); - RepositoryManager.getInstance().saveRepositoryEntry(re); + repositoryService.update(re); DBFactory.getInstance().commit(); //create learn group diff --git a/src/test/java/org/olat/test/AllTestsJunit4.java b/src/test/java/org/olat/test/AllTestsJunit4.java index f1e952a2c08f4e525fde95cf8d8e64c3aacc304c..e4e2c6afddd41a37e3cea3d9db8b4b953ba01fe7 100644 --- a/src/test/java/org/olat/test/AllTestsJunit4.java +++ b/src/test/java/org/olat/test/AllTestsJunit4.java @@ -156,9 +156,8 @@ import org.junit.runners.Suite; // org.olat.test.OlatJerseyTestCase.class, // NO TEST METHODS org.olat.test.SpringInitDestroyVerficationTest.class, //org.olat.course.statistic.weekly.TestWeeklyStatisticManager_fillGaps.class, don't know what it tests - org.olat.core.commons.services.usercomments.UserCommentsTest.class, - org.olat.core.commons.services.usercomments.UserRatingsDAOTest.class, - org.olat.core.commons.services.usercomments.UserRatingsTest.class, + org.olat.core.commons.services.commentAndRating.UserCommentsTest.class, + org.olat.core.commons.services.commentAndRating.UserRatingsDAOTest.class, org.olat.course.auditing.UserNodeAuditManagerTest.class, org.olat.shibboleth.util.ShibbolethAttributeTest.class, org.olat.core.CoreSpringFactoryTest.class, diff --git a/src/test/java/org/olat/test/JunitTestHelper.java b/src/test/java/org/olat/test/JunitTestHelper.java index db74689b34fd6f6aa85de696533bc1b9bebf0ae1..b88467250a62f949126f1b9b905d8777a0798df9 100644 --- a/src/test/java/org/olat/test/JunitTestHelper.java +++ b/src/test/java/org/olat/test/JunitTestHelper.java @@ -174,7 +174,6 @@ public class JunitTestHelper { } public static final RepositoryEntry createAndPersistRepositoryEntry(OLATResource r, boolean membersOnly) { - RepositoryManager repositoryManager = RepositoryManager.getInstance(); RepositoryService repositoryService = CoreSpringFactory.getImpl(RepositoryService.class); RepositoryEntry re = repositoryService.create("Florian Gnägi", "Lernen mit OLAT", r.getResourceableTypeName(), null, r); if(membersOnly) { @@ -183,7 +182,7 @@ public class JunitTestHelper { } else { re.setAccess(RepositoryEntry.ACC_USERS); } - repositoryManager.saveRepositoryEntry(re); + repositoryService.update(re); return re; }