This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new f821b8bb9 [OPENMEETINGS-2232] RTL related clean-up
f821b8bb9 is described below

commit f821b8bb9159e9f2d7e28893002c46cb645138ba
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Tue Aug 22 21:08:15 2023 +0700

    [OPENMEETINGS-2232] RTL related clean-up
---
 openmeetings-web/pom.xml                           |   5 -
 openmeetings-web/src/main/front/src/chat/chat.js   |  17 +-
 .../src/main/front/src/room/quick-poll.js          |   1 +
 openmeetings-web/src/main/front/src/wb/wb-tools.js |   2 +-
 openmeetings-web/src/main/front/webpack.common.js  |   5 +-
 .../openmeetings/web/admin/AdminActionsPanel.html  |   2 +-
 .../web/admin/configurations/ConfigsPanel.html     |   2 +-
 .../openmeetings/web/admin/email/EmailPanel.html   |   4 +-
 .../openmeetings/web/admin/extra/ExtraPanel.html   |   2 +-
 .../openmeetings/web/admin/groups/GroupsPanel.html |   2 +-
 .../openmeetings/web/admin/labels/LangPanel.html   |   4 +-
 .../openmeetings/web/admin/ldaps/LdapsPanel.html   |   2 +-
 .../openmeetings/web/admin/oauth/OAuthPanel.html   |   4 +-
 .../openmeetings/web/admin/rooms/RoomsPanel.html   |  18 +--
 .../openmeetings/web/admin/users/UserForm.html     |   4 +-
 .../openmeetings/web/common/FormActionsPanel.html  |   2 +-
 .../openmeetings/web/common/HeaderPanel.html       |   1 +
 .../apache/openmeetings/web/common/MainPanel.html  |  12 +-
 .../apache/openmeetings/web/common/MainPanel.java  |   6 +-
 .../web/common/UploadableImagePanel.html           |   2 +-
 .../web/common/tree/FileTreePanel.html             |   8 +-
 .../openmeetings/web/common/tree/FolderPanel.java  |   2 +-
 .../apache/openmeetings/web/pages/BasePage.html    |   2 +-
 .../apache/openmeetings/web/pages/BasePage.java    |   4 +-
 .../web/pages/install/InstallWizard$DbStep.html    |   4 +-
 .../pages/install/InstallWizard$ParamsStep1.html   |   4 +-
 .../pages/install/InstallWizard$ParamsStep2.html   |   2 +-
 .../pages/install/InstallWizard$ParamsStep3.html   |   2 +-
 .../pages/install/InstallWizard$ParamsStep4.html   |   4 +-
 .../apache/openmeetings/web/room/RoomPanel.html    |  14 +-
 .../web/room/activities/ActivitiesPanel.html       |  10 +-
 .../openmeetings/web/room/menu/RoomMenuPanel.html  |  18 +--
 .../openmeetings/web/room/sidebar/RoomSidebar.html |  36 ++---
 .../apache/openmeetings/web/room/wb/WbPanel.html   |  14 +-
 .../web/user/calendar/CalendarPanel.html           |   2 +-
 .../apache/openmeetings/web/user/chat/Chat.html    |   8 +-
 .../web/user/dashboard/StartWidgetView.html        |  42 +++--
 .../web/user/profile/EditProfileForm.html          |   4 +-
 .../web/user/profile/InvitationsPanel.html         |   2 +-
 .../web/user/profile/MessagesContactsPanel.html    |   2 +-
 .../web/user/profile/MessagesContactsPanel.java    |  10 +-
 .../web/user/profile/UserProfilePanel.html         |   4 +-
 .../openmeetings/web/user/rooms/RoomListPanel.html |   2 +-
 openmeetings-web/src/main/webapp/css/raw-admin.css |  16 +-
 .../src/main/webapp/css/raw-calendar.css           |   1 -
 openmeetings-web/src/main/webapp/css/raw-chat.css  |  22 +--
 .../src/main/webapp/css/raw-cssemoticons.css       |   9 ++
 .../src/main/webapp/css/raw-general-rtl.css        | 176 ---------------------
 .../src/main/webapp/css/raw-general.css            | 111 +++++--------
 openmeetings-web/src/main/webapp/css/raw-menu.css  |  25 +--
 openmeetings-web/src/main/webapp/css/raw-room.css  |  56 +++----
 openmeetings-web/src/main/webapp/css/raw-tree.css  |  12 +-
 openmeetings-web/src/main/webapp/css/raw-wb.css    |  56 +++----
 pom.xml                                            |  16 +-
 54 files changed, 276 insertions(+), 521 deletions(-)

diff --git a/openmeetings-web/pom.xml b/openmeetings-web/pom.xml
index cafe0bb91..dcd092161 100644
--- a/openmeetings-web/pom.xml
+++ b/openmeetings-web/pom.xml
@@ -115,7 +115,6 @@
                                                                
<cssSourceFile>raw-variables.css</cssSourceFile>
                                                                
<cssSourceFile>raw-nettest.css</cssSourceFile>
                                                                
<cssSourceFile>raw-general.css</cssSourceFile>
-                                                               
<cssSourceFile>raw-general-rtl.css</cssSourceFile>
                                                                
<cssSourceFile>raw-activities.css</cssSourceFile>
                                                                
<cssSourceFile>raw-admin.css</cssSourceFile>
                                                                
<cssSourceFile>raw-calendar.css</cssSourceFile>
@@ -489,10 +488,6 @@
                        <groupId>de.agilecoders.wicket</groupId>
                        <artifactId>wicket-bootstrap-themes</artifactId>
                </dependency>
-               <dependency>
-                       <groupId>org.webjars</groupId>
-                       <artifactId>font-awesome</artifactId>
-               </dependency>
                <dependency>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
diff --git a/openmeetings-web/src/main/front/src/chat/chat.js 
b/openmeetings-web/src/main/front/src/chat/chat.js
index ab119b7de..fa1204583 100644
--- a/openmeetings-web/src/main/front/src/chat/chat.js
+++ b/openmeetings-web/src/main/front/src/chat/chat.js
@@ -226,15 +226,15 @@ function _addTab(id, label) {
        tabs.find('.nav.nav-tabs').append(li);
        const msgArea = OmUtil.tmpl('#chat-msg-area-template', id);
        tabs.find('.tab-content').append(msgArea);
-       msgArea.append($('<div class="clear icons actions 
align-left">').addClass('short')
+       msgArea.append($('<div class="clear icons actions 
float-start">').addClass('short')
                        .append(OmUtil.tmpl('#chat-actions-short-template')));
-       msgArea.append($('<div class="clear icons actions 
align-left">').addClass('short-mod')
+       msgArea.append($('<div class="clear icons actions 
float-start">').addClass('short-mod')
                        .append(OmUtil.tmpl('#chat-actions-short-template'))
                        .append(OmUtil.tmpl('#chat-actions-accept-template')));
-       msgArea.append($('<div class="clear icons actions 
align-left">').addClass('full')
+       msgArea.append($('<div class="clear icons actions 
float-start">').addClass('full')
                        .append(OmUtil.tmpl('#chat-actions-short-template'))
                        
.append(OmUtil.tmpl('#chat-actions-others-template').children().clone()));
-       msgArea.append($('<div class="clear icons actions 
align-left">').addClass('full-mod')
+       msgArea.append($('<div class="clear icons actions 
float-start">').addClass('full-mod')
                        .append(OmUtil.tmpl('#chat-actions-short-template'))
                        
.append(OmUtil.tmpl('#chat-actions-others-template').children().clone())
                        .append(OmUtil.tmpl('#chat-actions-accept-template')));
@@ -317,7 +317,10 @@ function _addMessage(m) {
                                area.data('lastDate', cm.date);
                        }
                        area.append(msg);
-                       msg.find('.user-row')[0].style.backgroundImage = 'url(' 
+ (!!cm.from.img ? cm.from.img : './profile/' + cm.from.id + '?anticache=' + 
Date.now()) + ')';
+                       msg.find('.user-row')[0].style.cssText = `
+                               background-image: url(${(!!cm.from.img ? 
cm.from.img : './profile/' + cm.from.id + '?anticache=' + Date.now())});
+                               background-position-x: ${Settings.isRtl ? 
'right' : 'left'};
+                       `;
 
                        
msg.find('.msg').html(CSSEmoticon.emoticonize(!!cm.message ? cm.message : ""));
                        if (btm) {
@@ -509,9 +512,7 @@ $(function() {
                                                }
                                                break;
                                        case "typing":
-                                               if (typeof(typingActivity) === 
"function") {
-                                                       _typingActivity(m.uid, 
m.active);
-                                               }
+                                               _typingActivity(m.uid, 
m.active);
                                                break;
                                }
                        }
diff --git a/openmeetings-web/src/main/front/src/room/quick-poll.js 
b/openmeetings-web/src/main/front/src/room/quick-poll.js
index 97de5a91b..f892e8ba4 100644
--- a/openmeetings-web/src/main/front/src/room/quick-poll.js
+++ b/openmeetings-web/src/main/front/src/room/quick-poll.js
@@ -26,6 +26,7 @@ function _update(obj) {
                if (qv.length === 0) {
                        const wbArea = $('.room-block .wb-block');
                        qv = OmUtil.tmpl('#quick-vote-template', 'quick-vote');
+                       qv.attr('class', 'end-0');
                        wbArea.append(qv);
                }
                const pro = qv.find('.control.pro')
diff --git a/openmeetings-web/src/main/front/src/wb/wb-tools.js 
b/openmeetings-web/src/main/front/src/wb/wb-tools.js
index 30e23595d..89e284348 100644
--- a/openmeetings-web/src/main/front/src/wb/wb-tools.js
+++ b/openmeetings-web/src/main/front/src/wb/wb-tools.js
@@ -274,7 +274,7 @@ module.exports = class WbTools {
                                                err.text(msg);
                                                StaticTMath.highlight(err);
                                        });
-                       }).parent().css('text-align', Settings.isRtl ? 'left' : 
'right');
+                       });
                        math.draggable({
                                scroll: false
                                , handle: '.ui-dialog-titlebar'
diff --git a/openmeetings-web/src/main/front/webpack.common.js 
b/openmeetings-web/src/main/front/webpack.common.js
index 447f67d7d..3413ae443 100644
--- a/openmeetings-web/src/main/front/webpack.common.js
+++ b/openmeetings-web/src/main/front/webpack.common.js
@@ -31,7 +31,10 @@ module.exports = {
                '../wb/wb-area': 'DrawWbArea',
        },
        plugins: [
-               new CircularDependencyPlugin(),
+               new CircularDependencyPlugin({
+                       exclude: /node_modules/,
+                       failOnError: true,
+               }),
        ],
        output: {
                path: `${process.env.outDir}`,
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminActionsPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminActionsPanel.html
index 9e9312e7b..5ac6d7ae0 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminActionsPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminActionsPanel.html
@@ -30,7 +30,7 @@
        <div class="btn btn-outline-success btn-sm" wicket:id="btn-restore" 
wicket:message="title:admin.restore">
                <i class="far fa-check-circle"></i>
        </div>
-       <span wicket:id="newRecord"></span>
+       <span wicket:id="newRecord" class="ps-3"></span>
        <form wicket:id="form" class="d-inline"></form>
 </wicket:extend>
 </html>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigsPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigsPanel.html
index 35e9d7a4a..3636485ce 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigsPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigsPanel.html
@@ -45,7 +45,7 @@
                        <div class="actions" wicket:id="buttons"></div>
                        <div class="scrollcontent" id="adminForm">
                                <fieldset>
-                                       <legend><wicket:message key="266" 
/></legend>
+                                       <legend 
class="text-end"><wicket:message key="266" /></legend>
                                        <div class="formelement row">
                                                <label wicket:for="type" 
class="form-label col-3 text-right"><wicket:message key="45" /></label>
                                                <div class="col-8 p-0">
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html
index e9adc9924..9a6233c79 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html
@@ -49,7 +49,7 @@
                        </div>
                        <div class="scrollcontent" id="adminForm">
                                <fieldset>
-                                       <legend><wicket:message 
key="admin.email.group.label" /></legend>
+                                       <legend 
class="text-end"><wicket:message key="admin.email.group.label" /></legend>
                                        <div class="formelement">
                                                <div>
                                                        <label class="col-3 
text-right"><wicket:message key="996" /></label>
@@ -84,7 +84,7 @@
                                                        <div class="col-8 
d-inline-block text-pre" wicket:id="lastError"></div>
                                                </div>
                                        </div>
-                                       <button wicket:id="reset" 
class="align-right ms-3"></button>
+                                       <button wicket:id="reset" 
class="float-end ms-3"></button>
                                </fieldset>
                                <div class="bottom-bumper"></div>
                        </div>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/extra/ExtraPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/extra/ExtraPanel.html
index bfffdd7a8..ce591af7f 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/extra/ExtraPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/extra/ExtraPanel.html
@@ -45,7 +45,7 @@
                        <div wicket:id="buttons"></div>
                        <div class="scrollcontent" id="adminForm">
                                <fieldset>
-                                       <legend><wicket:message 
key="admin.extra.group.label" /></legend>
+                                       <legend 
class="text-end"><wicket:message key="admin.extra.group.label" /></legend>
                                        <div class="formelement row">
                                                <label wicket:for="name" 
class="form-label col-3 text-right"><wicket:message key="165" /></label>
                                                <div class="col-8 p-0">
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.html
index 231213a8c..0eff9ebf0 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.html
@@ -48,7 +48,7 @@
                        <div class="actions" wicket:id="buttons"></div>
                        <div class="scrollcontent" id="adminForm">
                                <fieldset>
-                                       <legend><wicket:message key="161" 
/></legend>
+                                       <legend 
class="text-end"><wicket:message key="161" /></legend>
                                        <div class="formelement row">
                                                <label wicket:for="name" 
class="form-label col-3 text-right"><wicket:message key="165" /></label>
                                                <div class="col-8 p-0">
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html
index 3e9bf7c69..8120e212d 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html
@@ -21,7 +21,7 @@
 <!DOCTYPE html>
 <html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-9.xsd";>
 <wicket:extend>
-       <div wicket:id="feedback" class="feedback"></div>
+       <div wicket:id="feedback" class="feedback position-absolute top-0 
end-0"></div>
        <div class="adminPanelColumnTable label col-6">
                <form wicket:id="langForm" class="addLanguagePanel">
                        <div class="input-group input-group-sm">
@@ -58,7 +58,7 @@
                        <div class="actions" wicket:id="buttons"></div>
                        <div class="scrollcontent" id="adminForm">
                                <fieldset>
-                                       <legend><wicket:message key="353" 
/></legend>
+                                       <legend 
class="text-end"><wicket:message key="353" /></legend>
                                        <div class="formelement row">
                                                <label wicket:for="key" 
class="form-label col-3 text-right"><wicket:message key="165" /></label>
                                                <div class="col-8 p-0">
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.html
index 0d6bd03db..e20413eab 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.html
@@ -45,7 +45,7 @@
                        <div wicket:id="buttons"></div>
                        <div class="scrollcontent" id="adminForm">
                                <fieldset>
-                                       <legend><wicket:message key="1107" 
/></legend>
+                                       <legend 
class="text-end"><wicket:message key="1107" /></legend>
                                        <div class="formelement row">
                                                <label wicket:for="name" 
class="form-label col-3 text-right"><wicket:message key="165" /></label>
                                                <div class="col-8 p-0">
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthPanel.html
index 574667334..eed58f573 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthPanel.html
@@ -43,7 +43,7 @@
                        <div class="actions" wicket:id="buttons"></div>
                        <div class="scrollcontent" id="adminForm">
                                <fieldset>
-                                       <legend><wicket:message 
key="1581"/></legend>
+                                       <legend 
class="text-end"><wicket:message key="1581"/></legend>
                                        <div class="formelement">
                                                <label wicket:for="isEnabled" 
class="form-label col-3 text-right"><wicket:message key="1109"/></label>
                                                <input type="checkbox" 
class="formcheckbox form-check-input" wicket:id="isEnabled"/>
@@ -117,7 +117,7 @@
                                </fieldset>
                                <!-- Attribute mapping -->
                                <fieldset>
-                                       <legend><wicket:message 
key="admin.oauth.user.mapping" /></legend>
+                                       <legend 
class="text-end"><wicket:message key="admin.oauth.user.mapping" /></legend>
                                        <div wicket:id="mappingForm">
                                                <div class="formelement row">
                                                        <label 
wicket:for="omAttr" class="form-label col-3 text-right"><wicket:message 
key="admin.oauth.attr.om" /></label>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
index 98d160f4b..410d2ac89 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
@@ -46,7 +46,7 @@
                        <div class="scrollcontent" id="adminForm">
                                <!-- General -->
                                <fieldset>
-                                       <legend><wicket:message 
key="lbl.general" /></legend>
+                                       <legend 
class="text-end"><wicket:message key="lbl.general" /></legend>
                                        <div class="formelement row">
                                                <label wicket:for="name" 
class="form-label col-3 text-right"><wicket:message key="165" /></label>
                                                <div class="col-8 p-0">
@@ -91,7 +91,7 @@
 
                                <!-- Groups -->
                                <fieldset>
-                                       <legend><wicket:message key="126" 
/></legend>
+                                       <legend 
class="text-end"><wicket:message key="126" /></legend>
                                        <div class="formelement">
                                                <label wicket:for="ispublic" 
class="form-label col-3 text-right"><wicket:message key="190" /></label>
                                                <input type="checkbox" 
class="formcheckbox form-check-input" wicket:id="ispublic" />
@@ -108,7 +108,7 @@
 
                                <!-- Limitations -->
                                <fieldset>
-                                       <legend><wicket:message key="830" 
/></legend>
+                                       <legend 
class="text-end"><wicket:message key="830" /></legend>
                                        <div class="formelement">
                                                <label wicket:for="isDemoRoom" 
class="form-label col-3 text-right"><wicket:message key="636" /></label>
                                                <input type="checkbox" 
class="formcheckbox form-check-input" wicket:id="isDemoRoom" />
@@ -123,7 +123,7 @@
 
                                <!-- Rights -->
                                <fieldset>
-                                       <legend><wicket:message key="881" 
/></legend>
+                                       <legend 
class="text-end"><wicket:message key="881" /></legend>
                                        <div class="formelement">
                                                <div class="col-3 
d-inline-block"></div>
                                                <div class="col-8 
d-inline-block">
@@ -174,7 +174,7 @@
 
                                <!-- Room Layout options -->
                                <fieldset>
-                                       <legend><wicket:message key="1443" 
/></legend>
+                                       <legend 
class="text-end"><wicket:message key="1443" /></legend>
                                        <div class="formelement row">
                                                <label 
wicket:for="hiddenElements" class="form-label col-3 text-right"><wicket:message 
key="admin.room.hidden.elements" /></label>
                                                <div class="om-select2 p-0 
d-inline-block col-8"><select class="input w-100" 
wicket:id="hiddenElements"></select></div>
@@ -191,7 +191,7 @@
 
                                <!-- Room files -->
                                <fieldset>
-                                       <legend><wicket:message key="245" 
/></legend>
+                                       <legend 
class="text-end"><wicket:message key="245" /></legend>
                                        <div wicket:id="filesForm">
                                                <div class="formelement row">
                                                        <label 
wicket:for="files2add" class="form-label col-3 text-right"><wicket:message 
key="245" /></label>
@@ -230,7 +230,7 @@
 
                                <!-- Users in this Room -->
                                <fieldset>
-                                       <legend><wicket:message key="407" 
/></legend>
+                                       <legend 
class="text-end"><wicket:message key="407" /></legend>
                                        <table class="list-table small table 
table-striped table-hover">
                                                <thead>
                                                        <tr>
@@ -253,7 +253,7 @@
 
                                <!-- Default moderators -->
                                <fieldset>
-                                       <legend><wicket:message key="816" 
/></legend>
+                                       <legend 
class="text-end"><wicket:message key="816" /></legend>
                                        <div class="formelement">
                                                <div class="col-3 
d-inline-block"></div>
                                                <div class="col-8 
d-inline-block">
@@ -301,7 +301,7 @@
                                </fieldset>
                                <!--SIP Settings -->
                                <fieldset>
-                                       <legend><wicket:message key="1001" 
/></legend>
+                                       <legend 
class="text-end"><wicket:message key="1001" /></legend>
                                        <div class="formelement row">
                                                <i class="fas fa-info-circle 
m-1 text-info"></i><wicket:message key="1002" />
                                        </div>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.html
index 969858c5e..1575077c2 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.html
@@ -23,7 +23,7 @@
        <div class="actions" wicket:id="buttons"></div>
        <div class="scrollcontent" wicket:id="adminForm" id="adminForm">
                <fieldset>
-                       <legend>
+                       <legend class="text-end">
                                <wicket:message key="143" />
                        </legend>
                        <div class="formelement row">
@@ -79,7 +79,7 @@
                        </div>
                </fieldset>
                <fieldset>
-                       <legend>
+                       <legend class="text-end">
                                <wicket:message key="1159" />
                        </legend>
                        <form wicket:id="comunity"></form>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormActionsPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormActionsPanel.html
index ec9e5414a..766ad28fc 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormActionsPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormActionsPanel.html
@@ -33,6 +33,6 @@
                        <i class="fas fa-trash-alt"></i>
                </div>
        </div>
-       <div wicket:id="feedback" class="error adminFormsFeedbackPanel"></div>
+       <div wicket:id="feedback" class="error adminFormsFeedbackPanel 
end-0"></div>
 </wicket:panel>
 </html>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/HeaderPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/HeaderPanel.html
index 438628171..dcc0e5e37 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/HeaderPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/HeaderPanel.html
@@ -21,6 +21,7 @@
 <!DOCTYPE html>
 <html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-9.xsd";>
 <wicket:panel>
+       <span class="logo position-absolute start-0 top-0"></span>
        <span wicket:id="appName"></span>
 </wicket:panel>
 </html>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.html
index a4baf2179..4cfbf59f3 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.html
@@ -21,17 +21,17 @@
 <html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-9.xsd";>
 <wicket:panel>
        <div wicket:id="topControls">
-               <div wicket:id="topLinks">
-                       <span id="logout"><a wicket:id="logout" href="#" 
wicket:message="title:310"><wicket:message key="310"/></a></span>
-                       <span id="reportBug"><a target="_blank" 
href="https://issues.apache.org/jira/browse/OPENMEETINGS"; rel="noopener 
noreferrer"><wicket:message key="284"/></a></span>
+               <div wicket:id="topLinks" class="position-absolute top-0 end-0 
mt-2 me-2">
+                       <span id="logout" class="border-end"><a 
wicket:id="logout" href="#" wicket:message="title:310"><wicket:message 
key="310"/></a></span>
+                       <span id="reportBug" class="border-end"><a 
target="_blank" href="https://issues.apache.org/jira/browse/OPENMEETINGS"; 
rel="noopener noreferrer"><wicket:message key="284"/></a></span>
                        <span><a wicket:id="about"><wicket:message 
key="1549"/></a></span>
                </div>
-               <div id="busy-indicator"><i class="fas fa-spinner 
fa-spin"></i></div>
+               <div id="busy-indicator" class="end-0"><i class="fas fa-spinner 
fa-spin"></i></div>
                <div wicket:id="menu"></div>
        </div>
-       <div wicket:id="dev" id="devMenu"/>
+       <div wicket:id="dev"/>
        <div wicket:id="contents"><div wicket:id="child" class="child-panel 
h-100"></div></div>
-       <div wicket:id="chatPanel" class="closed"></div>
+       <div wicket:id="chatPanel" class="closed end-0 me-3"></div>
        <div wicket:id="aboutDialog"></div>
        <div wicket:id="userInfoDialog"></div>
        <div wicket:id="newMessageDialog"></div>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
index cf848ecbe..991d263cd 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
@@ -62,6 +62,7 @@ import 
org.apache.openmeetings.web.util.ExtendedClientProperties;
 import org.apache.openmeetings.web.util.OmUrlFragment;
 import org.apache.openmeetings.web.util.OmUrlFragment.MenuActions;
 import org.apache.openmeetings.web.util.ProfileImageResourceReference;
+import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
@@ -200,7 +201,10 @@ public class MainPanel extends Panel {
                        }
                });
                if 
(getApplication().getDebugSettings().isDevelopmentUtilitiesEnabled()) {
-                       add(new DebugBar("dev").setOutputMarkupId(true));
+                       add(new DebugBar("dev")
+                                       .positionBottom()
+                                       .add(AttributeModifier.append("class", 
"end-0"))
+                                       .setOutputMarkupId(true));
                } else {
                        add(new EmptyPanel("dev").setVisible(false));
                }
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableImagePanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableImagePanel.html
index 568fa706a..587a72d63 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableImagePanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableImagePanel.html
@@ -21,7 +21,7 @@
 <!DOCTYPE html>
 <html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-9.xsd";>
 <wicket:extend>
-       <button type="button" class="btn btn-xs btn-outline-secondary remove" 
wicket:id="remove" wicket:message="title:80">
+       <button type="button" class="btn btn-xs btn-outline-secondary remove 
position-absolute top-0 end-0" wicket:id="remove" wicket:message="title:80">
                <span aria-hidden="true">×</span>
        </button>
        <form wicket:id="form" class="img-upload">
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
index 9bdb387e8..29ffd5fdd 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
@@ -29,7 +29,7 @@
                                wicket:message="title:705, 
data-btn-ok-label:54, data-btn-cancel-label:lbl.cancel, data-title:80, 
data-bs-content:713">
                        <span wicket:id="upload" 
wicket:message="title:702"></span>
                        <span wicket:id="create" 
wicket:message="title:703"></span>
-                       <span wicket:id="refresh" class="refresh om-icon big 
align-left clickable" wicket:message="title:lbl.refresh"></span>
+                       <span wicket:id="refresh" class="refresh om-icon big 
float-start clickable" wicket:message="title:lbl.refresh"></span>
                        <span wicket:id="trash"></span>
                        <div class="clear"></div>
                </div>
@@ -39,9 +39,9 @@
                </div>
                <div class="footer">
                        <div wicket:id="sizes" class="sizes">
-                               <span class="size" wicket:message="title:923" 
wicket:id="homeSize"></span>
-                               <span class="size">/</span>
-                               <span class="size" wicket:message="title:924" 
wicket:id="publicSize"></span>
+                               <span class="size ps-1" 
wicket:message="title:923" wicket:id="homeSize"></span>
+                               <span class="size ps-1">/</span>
+                               <span class="size ps-1" 
wicket:message="title:924" wicket:id="publicSize"></span>
                        </div>
                        <div class="buttons" wicket:id="buttons">
                                <span wicket:id="download" 
wicket:message="title:867"></span>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
index ef0a0e8e0..6d9f5638f 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
@@ -56,7 +56,7 @@ import 
com.googlecode.wicket.jquery.ui.interaction.droppable.IDroppableListener;
 
 public class FolderPanel extends Panel implements IDraggableListener, 
IDroppableListener {
        private static final long serialVersionUID = 1L;
-       private static final String CSS_CLASS_FILE = "file ";
+       private static final String CSS_CLASS_FILE = "file ps-5 ";
        private static final String PARAM_MOD = "mod";
        private static final String PARAM_SHIFT = "s";
        private static final String PARAM_CTRL = "c";
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.html
index 17b42b1a4..2373a10c2 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.html
@@ -66,6 +66,6 @@
        </div>
        <div wicket:id="header" id="header"></div>
        <wicket:child />
-       <div id="alert-holder" wicket:message="data-lbl-close:85" class="mx-3"/>
+       <div id="alert-holder" wicket:message="data-lbl-close:85" 
class="position-fixed bottom-0 end-0 mx-3"/>
 </body>
 </html>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
index 7ca824dea..67ce15035 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
@@ -59,8 +59,8 @@ import 
de.agilecoders.wicket.extensions.markup.html.bootstrap.icon.FontAwesome6C
 
 public abstract class BasePage extends AsyncUrlFragmentAwarePage {
        private static final long serialVersionUID = 1L;
-       public static final String ALIGN_LEFT = "align-left ";
-       public static final String ALIGN_RIGHT = "align-right ";
+       public static final String ALIGN_LEFT = "float-start ";
+       public static final String ALIGN_RIGHT = "float-end ";
        public static final String CUSTOM_CSS_FILTER = "customCSS";
        private final Map<String, String> options = new HashMap<>();
        private HeaderPanel header;
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$DbStep.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$DbStep.html
index 6239b0c4d..da1fa3230 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$DbStep.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$DbStep.html
@@ -22,7 +22,7 @@
 <html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-9.xsd";>
 <wicket:panel>
        <fieldset class="" id="userData">
-               <legend><wicket:message 
key="install.wizard.db.step.field.title"/></legend>
+               <legend class="text-end"><wicket:message 
key="install.wizard.db.step.field.title"/></legend>
                <div wicket:id="note"></div>
                <form class="adminForm" wicket:id="form">
                        <div class="formelement">
@@ -50,7 +50,7 @@
                                <input type="text" wicket:id="password" 
class="col-3"/>
                        </div>
                        <div class="formelement">
-                               <button class="align-right" 
wicket:id="check"></button>
+                               <button class="float-end" 
wicket:id="check"></button>
                        </div>
                </form>
        </fieldset>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep1.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep1.html
index 7598ec1f2..dea3d87bb 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep1.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep1.html
@@ -22,7 +22,7 @@
 <html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-9.xsd";>
 <wicket:panel>
        <fieldset class="" id="userData">
-               <legend><wicket:message 
key="install.wizard.params.step1.userdata"/></legend>
+               <legend class="text-end"><wicket:message 
key="install.wizard.params.step1.userdata"/></legend>
                <div class="formelement">
                        <label wicket:for="username" class="col-3 
text-right"><wicket:message key="install.wizard.params.step1.username"/></label>
                        <input wicket:id="username" 
wicket:message="title:install.wizard.params.step1.username.title" type="text" 
class="col-3"/>
@@ -41,7 +41,7 @@
                </div>
        </fieldset>
        <fieldset class="" id="userGroupa">
-               <legend><wicket:message 
key="install.wizard.params.step1.groupdata"/></legend>
+               <legend class="text-end"><wicket:message 
key="install.wizard.params.step1.groupdata"/></legend>
                <div class="formelement">
                        <label wicket:for="group" class="col-3 
text-right"><wicket:message key="install.wizard.params.step1.group"/></label>
                        <input wicket:id="group" 
wicket:message="title:install.wizard.params.step1.group.title" type="text" 
class="col-3"/>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep2.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep2.html
index 2cb5ba361..88d4f164b 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep2.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep2.html
@@ -22,7 +22,7 @@
 <html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-9.xsd";>
 <wicket:panel>
        <fieldset class="" id="userConf">
-               <legend><wicket:message 
key="install.wizard.params.step2.configuration"/></legend>
+               <legend class="text-end"><wicket:message 
key="install.wizard.params.step2.configuration"/></legend>
                <div class="formelement">
                        <label wicket:for="allowFrontendRegister" class="col-3 
text-right"><wicket:message 
key="install.wizard.params.step2.allowFrontendRegister"/></label>
                        <div class="onoffswitch">
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep3.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep3.html
index ac19dd2c3..6a1816761 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep3.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep3.html
@@ -22,7 +22,7 @@
 <html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-9.xsd";>
 <wicket:panel>
        <fieldset class="" id="userConf1">
-               <legend><wicket:message 
key="install.wizard.params.step3.converters"/></legend>
+               <legend class="text-end"><wicket:message 
key="install.wizard.params.step3.converters"/></legend>
                <div class="formelement">
                        <label wicket:for="docDpi" class="col-3 
text-right"><wicket:message key="install.wizard.params.step3.docDpi"/>
                                <i class="fas fa-info-circle m-1 text-info 
om-tooltip" 
wicket:message="title:install.wizard.params.step3.docDpi.text,alt:install.wizard.params.step3.docDpi.text"></i>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep4.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep4.html
index 7fe071186..b11e2f3f4 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep4.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep4.html
@@ -22,7 +22,7 @@
 <html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-9.xsd";>
 <wicket:panel>
        <fieldset class="" id="userConf2">
-               <legend><wicket:message 
key="install.wizard.params.step4.crypt"/></legend>
+               <legend class="text-end"><wicket:message 
key="install.wizard.params.step4.crypt"/></legend>
                <div class="formelement">
                        <label wicket:for="cryptClassName" class="col-3 
text-right"><wicket:message key="install.wizard.params.step4.cryptClassName"/>
                                <i class="fas fa-info-circle m-1 text-info 
om-tooltip" 
wicket:message="title:install.wizard.params.step4.cryptClassName.text,alt:install.wizard.params.step4.cryptClassName.text"></i>
@@ -31,7 +31,7 @@
                </div>
        </fieldset>
        <fieldset class="" id="sip">
-               <legend><wicket:message 
key="install.wizard.params.step4.sip"/></legend>
+               <legend class="text-end"><wicket:message 
key="install.wizard.params.step4.sip"/></legend>
                <div class="formelement">
                        <label wicket:for="sipEnable" class="col-3 
text-right"><wicket:message key="install.wizard.params.step4.sipEnable"/>
                                <i class="fas fa-info-circle m-1 text-info 
om-tooltip" 
wicket:message="title:install.wizard.params.step4.sipEnable.text,alt:install.wizard.params.step4.sipEnable.text"></i>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
index 707891dff..4dd3b55d1 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
@@ -24,14 +24,14 @@
                <div class="room-container" wicket:id="roomContainer">
                        <div class="menu" wicket:id="menu"></div>
                        <div class="sb-wb">
-                               <div class="sidebar" wicket:id="sidebar"></div>
+                               <div class="sidebar start-0" 
wicket:id="sidebar"></div>
                                <div wicket:id="wb-area" class="wb-block">
                                        <div class="wb-drop-area"></div>
                                        <div class="wb-area" 
wicket:id="whiteboard"></div>
                                </div>
                        </div>
                </div>
-               <div class="event-details" wicket:id="event-details"></div>
+               <div class="event-details end-0" 
wicket:id="event-details"></div>
                <div wicket:id="access-denied"></div>
                <div wicket:id="room-closed"></div>
                <div wicket:id="nickname" class="room-nickname-dialog"></div>
@@ -103,7 +103,7 @@
                        <div class="footer" 
wicket:message="data-on:video.mic.on,data-off:video.mic.off">
                        </div>
                </div>
-               <div id="video-button-bar" class="buttonpane align-right">
+               <div id="video-button-bar" class="buttonpane float-end 
position-absolute top-0 end-0">
                        <a class="btn btn-refresh btn-outline-secondary btn-sm" 
href="#" wicket:message="title:lbl.refresh" role="button">
                                <i class="fas fa-sync-alt"></i>
                                <span class="sr-only"><wicket:message 
key="lbl.refresh"/></span>
@@ -124,10 +124,10 @@
                        <input id="muteothers-confirm-dont-show" 
type="checkbox"/><label for="muteothers-confirm-dont-show" 
class="mx-2"><wicket:message key="dont.ask.again"/></label>
                </div>
                <div id="clipboard-dialog" 
wicket:message="title:1121,data-btn-ok:54">
-                       <p><span class="ui-icon ui-icon-alert align-left ms-2 
mt-2 mb-3 me-0"></span><span class="text"></span></p>
+                       <p><span class="ui-icon ui-icon-alert float-start ms-2 
mt-2 mb-3 me-0"></span><span class="text"></span></p>
                </div>
                <div id="quick-vote-template">
-                       <div class="close-btn btn btn-outline-secondary btn-sm"
+                       <div class="close-btn btn btn-outline-secondary btn-sm 
float-end"
                                 
wicket:message="title:85,data-btn-ok-label:54,data-btn-cancel-label:lbl.cancel,data-title:832,data-bs-content:1419"
                                 data-btn-ok-class="btn btn-sm btn-danger"
                                 data-btn-ok-icon-class="fas 
fa-exclamation-triangle">
@@ -135,11 +135,11 @@
                        </div>
                        <div class="control pro clickable">
                                <i class="fas fa-plus-circle"></i>
-                               <span class="badge bg-primary">0</span>
+                               <span class="badge bg-primary end-0">0</span>
                        </div>
                        <div class="control con">
                                <i class="fas fa-times-circle"></i>
-                               <span class="badge bg-primary">0</span>
+                               <span class="badge bg-primary end-0">0</span>
                        </div>
                </div>
                <div id="sharer" wicket:message="title:730">
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.html
index a59ec4f3d..34212e2f0 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.html
@@ -36,17 +36,17 @@
        </div>
        <div class="d-none">
                <div id="activity-stub" class="activity item clearfix">
-                       <div class="btn-group align-right bg-white rounded" 
role="group">
-                               <button class="activity-close btn 
btn-outline-secondary btn-small align-right" wicket:message="title:85">
+                       <div class="btn-group float-end bg-white rounded" 
role="group">
+                               <button class="activity-close btn 
btn-outline-secondary btn-small float-end" wicket:message="title:85">
                                        <i class="fas fa-times"></i>
                                </button>
-                               <button class="activity-accept btn 
btn-outline-secondary btn-small align-right" wicket:message="title:1360">
+                               <button class="activity-accept btn 
btn-outline-secondary btn-small float-end" wicket:message="title:1360">
                                        <i class="fas fa-check"></i>
                                </button>
-                               <button class="activity-decline btn 
btn-outline-secondary btn-small align-right" wicket:message="title:1361">
+                               <button class="activity-decline btn 
btn-outline-secondary btn-small float-end" wicket:message="title:1361">
                                        <i class="fas fa-ban"></i>
                                </button>
-                               <button class="activity-find btn 
btn-outline-secondary btn-small align-right" wicket:message="title:find.user">
+                               <button class="activity-find btn 
btn-outline-secondary btn-small float-end" wicket:message="title:find.user">
                                        <i class="fas fa-crosshairs"></i>
                                </button>
                        </div>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.html
index 6d91fb5bc..5cbc9c060 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.html
@@ -22,21 +22,21 @@
 <html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-9.xsd";>
 <wicket:panel>
        <div wicket:id="menu"></div>
-       <div class="details">
-               <span class="detail-btn btn btn-outline-secondary shared" 
wicket:message="data-user:692, data-text:850, data-view:848">
+       <div class="details end-0">
+               <span class="detail-btn btn btn-outline-secondary shared 
float-end" wicket:message="data-user:692, data-text:850, data-view:848">
                        <i class="fas fa-desktop m-0"></i>
-                       <i class="fas fa-hand-holding add-on"></i>
+                       <i class="fas fa-hand-holding add-on start-0 ms-2"></i>
                </span>
-               <span wicket:id="ask" class="detail-btn btn 
btn-outline-secondary ask">
+               <span wicket:id="ask" class="detail-btn btn 
btn-outline-secondary ask float-end">
                        <i class="fas fa-hand-paper m-0"></i>
                </span>
-               <span id="share-dlg-btn" wicket:id="share" class="detail-btn 
btn btn-outline-secondary share" wicket:message="title:732">
+               <span id="share-dlg-btn" wicket:id="share" class="detail-btn 
btn btn-outline-secondary share float-end" wicket:message="title:732">
                        <i class="fas fa-desktop m-0"></i>
                </span>
-               <span wicket:id="roomName" class="room name"></span>
-               <span wicket:id="tag" class="room name"></span>
-               <span wicket:id="logo" class="icon"></span>
-               <span wicket:id="demo" class="text-danger room demo"></span>
+               <span wicket:id="roomName" class="room name float-end"></span>
+               <span wicket:id="tag" class="room name float-end"></span>
+               <span wicket:id="logo" class="icon float-end"></span>
+               <span wicket:id="demo" class="text-danger room demo 
float-end"></span>
        </div>
        <div wicket:id="roomInviteDialog"></div>
        <div wicket:id="createPoll"></div>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
index 330ca976a..f8ddc168a 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
@@ -26,7 +26,7 @@
                        <li class="nav-item">
                                <a href="#room-sidebar-tab-users" 
class="nav-link active om-icon big tab user" id="room-sidebar-users-tab" 
data-bs-toggle="tab" role="tab" aria-controls="room-sidebar-tab-users" 
wicket:message="title:398">
                                        <i class="fas fa-users"></i>
-                                       <span class="label"><wicket:message 
key="398"/>&nbsp;</span><span class="badge bg-info user-count"></span>
+                                       <span class="label"><wicket:message 
key="398"/>&nbsp;</span><span class="badge bg-info user-count end-0"></span>
                                </a>
                        </li>
                        <li class="nav-item" wicket:enclosure="file-tab">
@@ -35,7 +35,7 @@
                                        <span class="label"><wicket:message 
key="245"/></span>
                                </a>
                        </li>
-                       <li class="btn-dock btn btn-outline-secondary" 
wicket:message="data-ttl-dock:label.dock.panel,data-ttl-undock:label.undock.panel">
+                       <li class="btn-dock btn btn-outline-secondary end-0" 
wicket:message="data-ttl-dock:label.dock.panel,data-ttl-undock:label.undock.panel">
                                <i class="fas"></i>
                                <span class="sr-only"></span>
                        </li>
@@ -43,9 +43,9 @@
                <div class="tab-content">
                        <div id="room-sidebar-tab-users" class="tab-pane fade 
show active" role="tabpanel" aria-labelledby="room-sidebar-users-tab">
                                <div class="header">
-                                       <span class="om-icon align-left 
settings clickable" wicket:message="title:306"></span>
-                                       <span class="om-icon align-left 
activity cam clickable" 
wicket:message="data-on:camera.on,data-off:camera.off"></span>
-                                       <span class="om-icon align-left 
activity mic bumper clickable" 
wicket:message="data-on:microphone.on,data-off:microphone.off"></span>
+                                       <span class="om-icon float-start 
settings clickable" wicket:message="title:306"></span>
+                                       <span class="om-icon float-start 
activity cam clickable" 
wicket:message="data-on:camera.on,data-off:camera.off"></span>
+                                       <span class="om-icon float-start 
activity mic bumper clickable" 
wicket:message="data-on:microphone.on,data-off:microphone.off"></span>
                                </div>
                                <div class="user-list clear"> <!-- 
auto-scrollable -->
                                        <div class="users"> <!-- content -->
@@ -63,8 +63,8 @@
        <div wicket:id="settings" />
        <div hidden="hidden">
                <div id="user-entry-stub" class="user entry clearfix" >
-                       <span class="om-icon ulist-small user-status 
align-right " wicket:message="data-mod:679,data-wb:678,data-user:677"></span>
-                       <span class="align-right typing-activity">
+                       <span class="om-icon ulist-small user-status float-end 
" wicket:message="data-mod:679,data-wb:678,data-user:677"></span>
+                       <span class="float-end typing-activity">
                                <i class="fas fa-pen-fancy"></i>
                        </span>
                        <div class="user name"></div>
@@ -72,7 +72,7 @@
                        <div class="user actions clearfix">
                        </div>
                </div>
-               <div id="volume-control-stub" class="om-icon dropdown dropend 
volume-control align-right">
+               <div id="volume-control-stub" class="om-icon dropdown dropend 
volume-control float-end">
                        <a class="fas volume-on" type="button" href="#" 
wicket:message="title:volume.label"></a>
                        <div class="dropdown-menu">
                                <div class="slider" 
wicket:message="title:volume.label">
@@ -80,38 +80,38 @@
                                </div>
                        </div>
                </div>
-               <span id="user-av-restart" class="om-icon align-right restart 
clickable" wicket:message="title:lbl.refresh">
+               <span id="user-av-restart" class="om-icon float-end restart 
clickable" wicket:message="title:lbl.refresh">
                        <i class="fas fa-sync-alt"></i>
                </span>
                <div id="user-actions-stub">
-                       <span class="om-icon align-left right camera clickable" 
wicket:message="data-request:ulist.right.video.request,data-revoke:ulist.right.video.revoke,data-grant:ulist.right.video.grant">
+                       <span class="om-icon float-start right camera 
clickable" 
wicket:message="data-request:ulist.right.video.request,data-revoke:ulist.right.video.revoke,data-grant:ulist.right.video.grant">
                                <i class="fas"></i>
                        </span>
-                       <span class="om-icon align-left right audio bumper 
clickable" 
wicket:message="data-request:ulist.right.audio.request,data-revoke:ulist.right.audio.revoke,data-grant:ulist.right.audio.grant">
+                       <span class="om-icon float-start right audio bumper 
clickable" 
wicket:message="data-request:ulist.right.audio.request,data-revoke:ulist.right.audio.revoke,data-grant:ulist.right.audio.grant">
                                <i class="fas"></i>
                        </span>
-                       <span class="om-icon align-left right presenter bumper 
clickable" 
wicket:message="data-request:ulist.right.presenter.request,data-revoke:ulist.right.presenter.revoke,data-grant:ulist.right.presenter.grant">
+                       <span class="om-icon float-start right presenter bumper 
clickable" 
wicket:message="data-request:ulist.right.presenter.request,data-revoke:ulist.right.presenter.revoke,data-grant:ulist.right.presenter.grant">
                                <i class="fas"></i>
                        </span>
-                       <span class="om-icon align-left right wb bumper 
clickable" 
wicket:message="data-request:ulist.right.wb.request,data-revoke:ulist.right.wb.revoke,data-grant:ulist.right.wb.grant">
+                       <span class="om-icon float-start right wb bumper 
clickable" 
wicket:message="data-request:ulist.right.wb.request,data-revoke:ulist.right.wb.revoke,data-grant:ulist.right.wb.grant">
                                <i class="fas"></i>
                        </span>
-                       <span class="om-icon align-left right screen-share 
bumper clickable" 
wicket:message="data-request:ulist.right.share.request,data-revoke:ulist.right.share.revoke,data-grant:ulist.right.share.grant">
+                       <span class="om-icon float-start right screen-share 
bumper clickable" 
wicket:message="data-request:ulist.right.share.request,data-revoke:ulist.right.share.revoke,data-grant:ulist.right.share.grant">
                                <i class="fas"></i>
                        </span>
-                       <span class="om-icon align-left right remote-control 
bumper clickable" 
wicket:message="data-request:ulist.right.remote.request,data-revoke:ulist.right.remote.revoke,data-grant:ulist.right.remote.grant">
+                       <span class="om-icon float-start right remote-control 
bumper clickable" 
wicket:message="data-request:ulist.right.remote.request,data-revoke:ulist.right.remote.revoke,data-grant:ulist.right.remote.grant">
                                <i class="fas"></i>
                        </span>
-                       <span class="om-icon align-left right moderator bumper 
clickable" 
wicket:message="data-request:ulist.right.moderator.request,data-revoke:ulist.right.moderator.revoke,data-grant:ulist.right.moderator.grant">
+                       <span class="om-icon float-start right moderator bumper 
clickable" 
wicket:message="data-request:ulist.right.moderator.request,data-revoke:ulist.right.moderator.revoke,data-grant:ulist.right.moderator.grant">
                                <i class="fas"></i>
                        </span>
-                       <span class="om-icon align-left kick bumper clickable"
+                       <span class="om-icon float-start kick bumper clickable"
                                        
wicket:message="title:603,data-btn-ok-label:54,data-btn-cancel-label:lbl.cancel,data-title:603,data-bs-content:605"
                                        data-btn-ok-class="btn btn-sm 
btn-danger"
                                        data-btn-ok-icon-class="fas 
fa-exclamation-triangle">
                                <i class="fas fa-ban text-danger"></i>
                        </span>
-                       <span class="om-icon align-right private-chat 
clickable" wicket:message="title:1493">
+                       <span class="om-icon float-end private-chat clickable" 
wicket:message="title:1493">
                                <i class="fas fa-edit"></i>
                        </span>
                </div>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
index d09ca69d1..b3f7c0b96 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
@@ -28,7 +28,7 @@
                        </div>
                </div>
                <div class="wb-tab-content tab-content">
-                       <button type="button" class="fullscreen btn 
btn-outline-secondary">
+                       <button type="button" class="fullscreen btn 
btn-outline-secondary end-0">
                                <i class="fa-solid 
fa-up-right-and-down-left-from-center"></i>
                        </button>
                </div>
@@ -37,11 +37,11 @@
        <div hidden="hidden">
                <div id="wb-text-style-block"></div>
                <div id="wb-tabbar-ctrls-left">
-                       <div wicket:message="title:wb.add.whiteboard" 
class="add clickable om-icon big"></div>
-                       <div wicket:message="title:wb.pre.whiteboard" 
class="prev clickable om-icon big disabled"></div>
+                       <div wicket:message="title:wb.add.whiteboard" 
class="add clickable om-icon big start-0"></div>
+                       <div wicket:message="title:wb.pre.whiteboard" 
class="prev clickable om-icon big start-0 disabled"></div>
                </div>
                <div id="wb-tabbar-ctrls-right">
-                       <div wicket:message="title:wb.next.whiteboard" 
class="next clickable om-icon big disabled"></div>
+                       <div wicket:message="title:wb.next.whiteboard" 
class="next clickable om-icon big end-0 disabled"></div>
                </div>
                <ul>
                        <li id="wb-area-tab" class="nav-item">
@@ -50,7 +50,7 @@
                                </a>
                        </li>
                </ul>
-               <button id="wb-tab-close" class="btn btn-sm 
btn-outline-secondary btn-no-border wb-tab-close"
+               <button id="wb-tab-close" class="btn btn-sm 
btn-outline-secondary btn-no-border wb-tab-close end-0"
                                
wicket:message="title:85,data-btn-ok-label:54,data-btn-cancel-label:lbl.cancel,data-title:832,data-bs-content:1313"
                                data-btn-ok-class="btn btn-sm btn-danger"
                                data-btn-ok-icon-class="fas 
fa-exclamation-triangle"
@@ -189,13 +189,13 @@
                        <div wicket:message="title:wb.tool.math.formula" 
class="header ui-dialog-titlebar ui-corner-all ui-widget-header 
ui-helper-clearfix ui-draggable-handle">
                                <span class="ui-dialog-title"><wicket:message 
key="wb.tool.math.formula"/></span>
                        </div>
-                       <button type="button" class="ui-button ui-corner-all 
ui-widget ui-button-icon-only ui-dialog-titlebar-close" 
wicket:message="title:85">
+                       <button type="button" class="ui-button ui-corner-all 
ui-widget ui-button-icon-only ui-dialog-titlebar-close end-0" 
wicket:message="title:85">
                                <span class="ui-button-icon ui-icon 
ui-icon-closethick"></span>
                                <span class="ui-button-icon-space"> </span>
                                <wicket:message key="85"/>
                        </button>
                        <div class="text-container"><textarea></textarea></div>
-                       <div>
+                       <div class="text-start">
                                <a class="latex-guide" 
wicket:message="href:wb.tool.math.guide.url" target="_blank"><wicket:message 
key="wb.tool.math.guide.lbl"/></a>
                                <button class="update-btn"><wicket:message 
key="lbl.update"/></button>
                        </div>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.html
index 6c37b0fb3..e1b952166 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.html
@@ -21,7 +21,7 @@
 <!DOCTYPE html>
 <html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-9.xsd";>
 <wicket:panel>
-       <div id="calendarlistcontainer">
+       <div id="calendarlistcontainer" class="float-start">
                <div class="cell">
                        <button wicket:id="submitCalendar"></button>
                        <button wicket:id="syncCalendarButton">Sync</button>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.html
index 9c4ac1628..c5e6f568a 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.html
@@ -38,12 +38,12 @@
        <div hidden="hidden">
                <div id="chat-date-template" class='date-row'></div>
                <div id="chat-msg-template" class='msg-row'>
-                       <div class='user-row'>
-                               <div class='from align-left'></div>
-                               <span class='time align-right'></span>
+                       <div class='user-row ps-5'>
+                               <div class='from float-start'></div>
+                               <span class='time float-end'></span>
                                <div class="clear"></div>
                        </div>
-                       <div class='msg align-left'></div>
+                       <div class='msg float-start'></div>
                        <div class="clear"></div>
                </div>
                <div id="chat-actions-short-template" class='user clickable' 
wicket:message="title:1167"><i class="fas fa-address-card"></i></div>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/StartWidgetView.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/StartWidgetView.html
index 6fd73ad07..91036276a 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/StartWidgetView.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/StartWidgetView.html
@@ -22,23 +22,31 @@
 <html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-9.xsd";>
 <wicket:panel>
        <h3><wicket:message key="widget.start.header"/></h3>
-       <div wicket:id="step1" class="clickable start_step1">
-               <span class="badge rounded-pill bg-secondary">1</span>
-               <wicket:message key="768"/>
-       </div>
-       <div wicket:id="step2" class="clickable start_step2">
-               <span class="badge rounded-pill bg-secondary">2</span>
-               <wicket:message key="771"/>
-       </div>
-       <div wicket:id="step3" class="start_step3">
-               <a wicket:id="avTest" target="_blank" rel="noopener noreferrer">
-                       <span class="badge rounded-pill bg-secondary">3</span>
-                       <wicket:message key="772"/>
-               </a>
-       </div>
-       <div wicket:id="step4" class="clickable start_step4">
-               <span class="badge rounded-pill bg-secondary">4</span>
-               <wicket:message key="773"/>
+       <div class="start_step">
+               <div wicket:id="step1" class="clickable">
+                       <span class="badge rounded-pill bg-secondary">1</span>
+                       <wicket:message key="768"/>
+               </div>
+               <div class="start_step ms-4">
+                       <div wicket:id="step2" class="clickable">
+                               <span class="badge rounded-pill 
bg-secondary">2</span>
+                               <wicket:message key="771"/>
+                       </div>
+                       <div class="start_step ms-4">
+                               <div wicket:id="step3" class="start_step3">
+                                       <a wicket:id="avTest" target="_blank" 
rel="noopener noreferrer">
+                                               <span class="badge rounded-pill 
bg-secondary">3</span>
+                                               <wicket:message key="772"/>
+                                       </a>
+                               </div>
+                               <div class="start_step ms-4">
+                                       <div wicket:id="step4" class="clickable 
start_step4">
+                                               <span class="badge rounded-pill 
bg-secondary">4</span>
+                                               <wicket:message key="773"/>
+                                       </div>
+                               </div>
+                       </div>
+               </div>
        </div>
        <table>
                <tr>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/EditProfileForm.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/EditProfileForm.html
index 3254db6c5..8c97ae837 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/EditProfileForm.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/EditProfileForm.html
@@ -26,7 +26,7 @@
                <div class="h-100 row row-cols-lg-auto m-0">
                        <div class="col-12">
                                <fieldset class="">
-                                       <legend class="">
+                                       <legend class="text-end">
                                                <wicket:message key="143" />
                                        </legend>
                                        <button type="button" 
wicket:id="changePwd" id="changePwd"></button>
@@ -43,7 +43,7 @@
                        <div class="col-12">
                                <div wicket:id="img" class=""></div>
                                <fieldset class="mt-5">
-                                       <legend class="">
+                                       <legend class="text-end">
                                                <wicket:message key="1159" />
                                        </legend>
                                        <form wicket:id="comunity"></form>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/InvitationsPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/InvitationsPanel.html
index 2b411b9f6..a48152415 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/InvitationsPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/InvitationsPanel.html
@@ -50,7 +50,7 @@
                        </div>
                        <div class="scrollcontent" id="adminForm">
                                <fieldset>
-                                       <legend><wicket:message 
key="profile.invitation" /></legend>
+                                       <legend 
class="text-end"><wicket:message key="profile.invitation" /></legend>
                                        <div class="formelement">
                                                <div class="row g-0">
                                                        <label 
class="col-6"><wicket:message key="188" /></label>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html
index 5544798c0..51452ed72 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html
@@ -49,7 +49,7 @@
                                                <div wicket:id="folder">
                                                        <i class="fas 
fa-folder"></i>
                                                        <div 
wicket:id="name"></div>
-                                                       <a class="delete" 
wicket:id="delete" wicket:message="title:1262"></a>
+                                                       <a class="delete end-0 
me-1" wicket:id="delete" wicket:message="title:1262"></a>
                                                </div>
                                        </div>
                                </td>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
index b2014fd64..f3c310754 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
@@ -333,7 +333,7 @@ public class MessagesContactsPanel extends UserBasePanel {
                                                PrivateMessage pm = 
newDlg.reset(true).getModelObject();
                                                pm.setTo(opm.getFrom());
                                                pm.setSubject(String.format("%s 
%s", getString("messages.subject.re"), opm.getSubject()));
-                                               
pm.setMessage(String.format("<br/><blockquote class=\"quote\">%s</blockquote>", 
opm.getMessage()));
+                                               
pm.setMessage(String.format("<br/><blockquote class=\"border-start 
quote\">%s</blockquote>", opm.getMessage()));
                                                newDlg.show(target);
                                        }
                                }
@@ -498,9 +498,9 @@ public class MessagesContactsPanel extends UserBasePanel {
        }
 
        private void setDefaultFolderClass() {
-               inbox.add(AttributeModifier.replace(ATTR_CLASS, "email inbox 
clickable"));
-               sent.add(AttributeModifier.replace(ATTR_CLASS, "email sent 
clickable"));
-               trash.add(AttributeModifier.replace(ATTR_CLASS, "email trash 
clickable"));
+               inbox.add(AttributeModifier.replace(ATTR_CLASS, "email 
text-start inbox clickable"));
+               sent.add(AttributeModifier.replace(ATTR_CLASS, "email 
text-start sent clickable"));
+               trash.add(AttributeModifier.replace(ATTR_CLASS, "email 
text-start trash clickable"));
        }
 
        private static void selectFolder(WebMarkupContainer folder) {
@@ -508,7 +508,7 @@ public class MessagesContactsPanel extends UserBasePanel {
        }
 
        private void setFolderClass(ListItem<PrivateMessageFolder> folder) {
-               folder.add(AttributeModifier.replace(ATTR_CLASS, "email folder 
clickable"));
+               folder.add(AttributeModifier.replace(ATTR_CLASS, "email 
text-start folder clickable"));
                if 
(folder.getModelObject().getId().equals(selectedFolderModel.getObject())) {
                        selectFolder(folder);
                }
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserProfilePanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserProfilePanel.html
index f2eba77ff..0f3aa71b6 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserProfilePanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserProfilePanel.html
@@ -43,7 +43,7 @@
                        </table>
                        <div>
                                <fieldset>
-                                       <legend><wicket:message 
key="1166"/></legend>
+                                       <legend 
class="text-end"><wicket:message key="1166"/></legend>
                                        <table>
                                                <tr>
                                                        <td><wicket:message 
key="1162"/></td>
@@ -58,7 +58,7 @@
                        </div>
                        <div>
                                <fieldset>
-                                       <legend><wicket:message 
key="1167"/></legend>
+                                       <legend 
class="text-end"><wicket:message key="1167"/></legend>
                                        <table wicket:id="address">
                                                <tr>
                                                        <td><wicket:message 
key="607" /></td>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomListPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomListPanel.html
index b4dcd0cc7..d8c1b0ef7 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomListPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomListPanel.html
@@ -31,7 +31,7 @@
                                                        
wicket:id="totalUsers"></span>&nbsp;&nbsp;<button wicket:id="refresh" 
class="refresh btn-sm m2"></button>
                                        </div>
                                </div>
-                               <button wicket:id="btn" class="col-3 enter btn 
btn-outline-primary"><span wicket:id="label"></span></button>
+                               <button wicket:id="btn" class="col-3 enter btn 
btn-outline-primary position-absolute top-0 end-0 m-2"><span 
wicket:id="label"></span></button>
                        </td>
                </tr>
        </table>
diff --git a/openmeetings-web/src/main/webapp/css/raw-admin.css 
b/openmeetings-web/src/main/webapp/css/raw-admin.css
index 745c12a6b..e29fe2994 100644
--- a/openmeetings-web/src/main/webapp/css/raw-admin.css
+++ b/openmeetings-web/src/main/webapp/css/raw-admin.css
@@ -4,10 +4,6 @@
        display: flex;
        height: 100%;
 }
-.adminPanel .feedback {
-       position: absolute;
-       right: 10px;
-}
 .adminNav {
        height: var(--nav-height);
 }
@@ -29,7 +25,6 @@
 .adminPanelColumnForm {
        display: inline-block;
        vertical-align: top;
-       padding-left: 5px;
        height: calc(100% - var(--buffer-size));
        min-width: 450px;
 }
@@ -48,7 +43,6 @@
 .adminForm legend, .installer legend {
        padding: 0.5em 1em;
        font-style: italic;
-       text-align: right;
 }
 .adminForm .group.logo .profile img {
        height: 16px;
@@ -61,17 +55,11 @@
 }
 .adminFormsFeedbackPanel {
        position: fixed;
-       left:550px;
+       margin-inline-end: 50px;
        width: 480px;
        bottom: 16px;
        z-index:999;
 }
-.adminForm .newItem {
-       padding-left: 25px;
-       background-image: url(images/new.png);
-       background-repeat: no-repeat;
-       background-position: 5px;
-}
 .onoffswitch {
        display:inline-block;
 }
@@ -99,5 +87,5 @@
        border: solid 1px #aacfe4;
        width: 140px;
        font-size: 12px;
-       margin-left: 2px;
+       margin-inline-start: 2px;
 }
diff --git a/openmeetings-web/src/main/webapp/css/raw-calendar.css 
b/openmeetings-web/src/main/webapp/css/raw-calendar.css
index a57978afe..d9f4027ba 100644
--- a/openmeetings-web/src/main/webapp/css/raw-calendar.css
+++ b/openmeetings-web/src/main/webapp/css/raw-calendar.css
@@ -19,7 +19,6 @@
 }
 #calendarlistcontainer {
        width: 20%;
-       float: left;
        display: inline-block;
        overflow-y: auto;
 }
diff --git a/openmeetings-web/src/main/webapp/css/raw-chat.css 
b/openmeetings-web/src/main/webapp/css/raw-chat.css
index ecc9adaf9..68417de27 100644
--- a/openmeetings-web/src/main/webapp/css/raw-chat.css
+++ b/openmeetings-web/src/main/webapp/css/raw-chat.css
@@ -3,7 +3,6 @@
        position: fixed;
        z-index: var(--chat-zindex);
        bottom: 0px;
-       right: 10px;
        width: var(--chat-width);
        height: var(--chat-height);
 }
@@ -38,7 +37,7 @@
 #chatPopup .control.block .label {
        display: inline-block;
        width: 70px;
-       padding-left: 5px;
+       padding-inline-start: 5px;
 }
 #chatPanel #chatPopup .control.block i::before {
        content: "\f107";
@@ -56,30 +55,26 @@
        background-color: var(--bs-warning);
 }
 #chat .messageArea .time {
-       margin-right: 5px;
+       margin-inline-end: 5px;
        font-style: italic;
        font-size: smaller;
 }
 #chat .messageArea .user-row {
        background-size: 38px, 38px;
        background-repeat: no-repeat;
-       padding-left: 40px;
+       padding-inline-start: 40px;
        min-height: 40px;
 }
 #chat .messageArea .icons {
        display: none;
        position: absolute;
        z-index: 1;
-       left: 50px;
+       margin-inline-start: 50px;
 }
 #chat .messageArea .icons div {
        display: inline-block;
        vertical-align: super;
-       margin-right: 2px;
-}
-html[dir="rtl"] #chat .messageArea .icons {
-       left: initial;
-       right: 50px;
+       margin-inline-end: 2px;
 }
 #chat .messageArea .from {
        margin-left: 5px;
@@ -147,18 +142,13 @@ html[dir="rtl"] #chat .messageArea .icons {
 }
 /* room mode */
 .main.room #chatPanel {
+       margin: 0 !important;
        right: 0px;
        top: var(--room-menu-height);
 }
-html[dir="rtl"] .main.room #chatPanel {
-       right: auto !important; /* IE */
-       right: initial !important;
-       left: 0px;
-}
 .main.room #chatPanel #chat form {
        position: absolute;
        bottom: 0px;
-       left: 1px;
        width: 100%;
 }
 .main.room #chatPanel.closed #chatPopup .control.block {
diff --git a/openmeetings-web/src/main/webapp/css/raw-cssemoticons.css 
b/openmeetings-web/src/main/webapp/css/raw-cssemoticons.css
index f693dd06f..784ab3c17 100644
--- a/openmeetings-web/src/main/webapp/css/raw-cssemoticons.css
+++ b/openmeetings-web/src/main/webapp/css/raw-cssemoticons.css
@@ -118,3 +118,12 @@ span.css-emoticon.nintendo-controller {
        border-radius: 0;
        background: linear-gradient(to right, #a5aabd, #74798c);
 }
+
+html[dir="rtl"] span.css-emoticon.un-transformed-emoticon
+, html[dir="rtl"] span.css-emoticon.animated-emoticon:hover
+{
+       transform: rotate(0deg) !important;
+}
+html[dir="rtl"] span.css-emoticon {
+       transform: rotate(-90deg) !important;
+}
diff --git a/openmeetings-web/src/main/webapp/css/raw-general-rtl.css 
b/openmeetings-web/src/main/webapp/css/raw-general-rtl.css
deleted file mode 100644
index 6461581a9..000000000
--- a/openmeetings-web/src/main/webapp/css/raw-general-rtl.css
+++ /dev/null
@@ -1,176 +0,0 @@
-/* Licensed under the Apache License, Version 2.0 (the "License") 
http://www.apache.org/licenses/LICENSE-2.0 */
-html[dir="rtl"] body {
-       text-align: right;
-}
-html[dir="rtl"] .mr-auto, .mx-auto {
-       margin-left: auto !important;
-       margin-right: initial !important;
-}
-html[dir="rtl"] .modal-header .close {
-       margin: -1rem auto -1rem -1rem;
-}
-html[dir="rtl"] #header {
-       padding-left: initial !important;
-       padding-right: 150px;
-       background-position: right center;
-}
-html[dir="rtl"] #topLinks {
-       right: initial !important;
-       left: 10px;
-}
-html[dir="rtl"] #topLinks span {
-       border-right: none !important;
-       border-left: 1px solid black;
-}
-html[dir="rtl"] #topLinks span:last-child {
-       border-left: none;
-}
-html[dir="rtl"] #busy-indicator {
-       right: initial !important;
-       left: 0 !important;
-}
-html[dir="rtl"] .start_step1
-, html[dir="rtl"] .start_step2
-, html[dir="rtl"] .start_step3
-, html[dir="rtl"] .start_step4
-{
-       padding-left: initial !important;
-       padding-right: 30px;
-       background-position: right top !important;
-}
-html[dir="rtl"] .start_step2 {
-       margin-left: initial !important;
-       margin-right: 20px !important;
-}
-html[dir="rtl"] .start_step3 {
-       margin-left: initial !important;
-       margin-right: 40px !important;
-}
-html[dir="rtl"] .start_step4 {
-       margin-left: initial !important;
-       margin-right: 60px !important;
-}
-html[dir="rtl"] .room-list .room-row button.enter {
-       left: 10px;
-       right: initial;
-}
-html[dir="rtl"] .align-left {
-       float: right;
-}
-html[dir="rtl"] .align-right {
-       float: left;
-}
-html[dir="rtl"] .room-block .menu .details {
-       right: initial !important;
-       left: 0;
-}
-html[dir="rtl"] .room-block .menu .details .icon
-, html[dir="rtl"] .room-block .menu .details .room.name
-{
-       float: left !important;
-}
-html[dir="rtl"] #activities {
-       right: 0;
-       left: initial !important;
-}
-html[dir="rtl"] #activities .control.block .label
-, html[dir="rtl"] #chatPopup .control.block .label
-{
-       padding-left: initial !important;
-       padding-right: 20px !important;
-}
-html[dir="rtl"] .btn-toolbar .btn-group
-, html[dir="rtl"] .btn-toolbar .input-group
-{
-       float: right !important;
-}
-html[dir="rtl"] #chatPanel {
-       right: initial !important;
-       left: 10px;
-}
-html[dir="rtl"] #chat .chat-btn {
-       float: left !important;
-}
-html[dir="rtl"] #chat .chat-btn:first-of-type {
-       margin-right: initial !important;
-}
-html[dir="rtl"] #chat .chat-btn:last-of-type {
-       margin-left: 10px !important;
-}
-html[dir="rtl"] #chatMessage {
-       margin-right: initial !important;
-}
-html[dir="rtl"] #chat .send {
-       right: initial !important;
-       left: 0;
-       border-top-left-radius: 0.25rem;
-       border-bottom-left-radius: 0.25rem;
-       border-top-right-radius: 0;
-       border-bottom-right-radius: 0;
-}
-html[dir="rtl"] #chat .messageArea .user-row {
-       padding-left: initial !important;
-       padding-right: 40px !important;
-       background-position-x: 100%;
-}
-@media screen and (max-width: 1280px) {
-       html[dir="rtl"] .room-block .sidebar .tab.om-icon.big {
-               padding-left: 0 !important;
-       }
-}
-html[dir="rtl"] .room-block .sidebar .user-list .user {
-       background-position: right 2px top 2px !important;
-}
-html[dir="rtl"] .room-block .sidebar .user-list .user.name {
-       margin-left: 0px 0px 0px 20px !important;
-       padding: 0px 44px 0px 0px !important;
-}
-html[dir="rtl"] .room-block .sidebar .user-list .user .ui-icon.audio-activity {
-       right: initial !important;
-       left: 3px !important;
-}
-html[dir="rtl"] .list-table th {
-       text-align: right !important;
-}
-/**** file-tree **************/
-html[dir="rtl"] .trees .om-icon.big::before {
-       left: initial;
-       right: 3px;
-}
-html[dir="rtl"] .file.om-icon
-, html[dir="rtl"] .recording.om-icon
-{
-       padding-left: initial;
-       padding-right: 34px;
-}
-/**** TODO need to be moved to wicket-jquery-ui **************/
-html[dir="rtl"] span.css-emoticon.un-transformed-emoticon
-, html[dir="rtl"] span.css-emoticon.animated-emoticon:hover
-{
-       transform: rotate(0deg) !important;
-}
-html[dir="rtl"] span.css-emoticon {
-       transform: rotate(-90deg) !important;
-}
-html[dir="rtl"] #alert-holder {
-       left: 0;
-}
-html[dir="rtl"] #room-sidebar-tabs.tabs .btn-dock {
-       right: auto;
-       left: 5px;
-}
-html[dir="rtl"] .room-block .sb-wb .sidebar .tab .badge {
-       right: auto;
-       left: 2px;
-}
-html[dir="rtl"] .room-block .sb-wb .wb-block .tabs .wb-tabbar li a 
.wb-tab-close {
-       position: absolute;
-       left: 0;
-       right: auto;
-}
-html[dir="rtl"] #video-settings .close {
-       margin: 0 auto 0 0;
-}
-html[dir="rtl"] .modal-header .btn-close {
-    margin: -0.5rem auto -0.5rem -0.5rem;
-}
diff --git a/openmeetings-web/src/main/webapp/css/raw-general.css 
b/openmeetings-web/src/main/webapp/css/raw-general.css
index e4d2da485..a46bead25 100644
--- a/openmeetings-web/src/main/webapp/css/raw-general.css
+++ b/openmeetings-web/src/main/webapp/css/raw-general.css
@@ -9,7 +9,19 @@ html, body {
        padding: 0;
        font-family: Arial, Helvetica, sans-serif;
        overflow-y: hidden;
+
+       --text-align-start: left;
+       --text-align-end: right;
+       --background-start: left;
+       --background-end: right;
+}
+html[dir="rtl"] {
+       --text-align-start: right;
+       --text-align-end: left;
+       --background-start: right;
+       --background-end: left;
 }
+
 .main-loader {
        height: 100%;
 }
@@ -23,12 +35,12 @@ html, body {
        padding-bottom: 20px;
 }
 .signin .oauth-section .provider {
-       background-position: 0 0;
+       background-position: var(--background-start) 0;
        background-size: 24px;
        background-repeat: no-repeat;
        height: 24px;
        display: inline-block;
-       padding-left: 20px;
+       padding-inline-start: 20px;
        vertical-align: bottom;
 }
 .signin .or-seperator {
@@ -44,39 +56,38 @@ html, body {
        z-index: 1;
 }
 .signin-forget .form-check-label {
-       padding-right: 10px;
+       padding-inline-end: 10px;
 }
 #header {
        font-size: 28px;
        line-height: 40px;
        font-weight: bold;
+       padding-inline-start: 80px;
+       margin-inline-start: 20px;
+       height: var(--header-height);
+}
+#header .logo {
+       display: inline-block;
        background-image: url(images/logo.png);
        background-repeat: no-repeat;
-       padding-left: 80px;
-       margin-left: 20px;
        height: var(--header-height);
+       width: 80px;
 }
 #topLinks {
-       position: absolute;
-       top: 10px;
-       right: 10px;
+       --bs-border-width: 1px;
+       --bs-border-style: solid;
+       --bs-border-color: black;
 }
-
 #topLinks span {
        padding-right: 5px;
        padding-left: 5px;
-       border-right: 1px solid black;
        white-space: nowrap;
 }
 
-#topLinks span:last-child {
-       border-right: none;
-}
 #busy-indicator {
        display: none;
        z-index: 1000;
        position: absolute;
-       right: 0;
        margin: 2px;
        font-size: 2em;
        line-height: 1.2em;
@@ -97,7 +108,7 @@ html, body {
        height: calc(100% - 50px);
 }
 .pagedEntityListPanel, .addLanguagePanel {
-       margin-left: 2px;
+       margin-inline-start: 2px;
        display: inline-block;
 }
 .pagedEntityListPanel .pagination {
@@ -165,18 +176,9 @@ html, body {
 .ui-dialog {
        box-shadow: 3px 3px 4px #000;
 }
-.start_step1, .start_step2, .start_step3, .start_step4 {
+.start_step {
        margin: 5px 0px 5px 0px;
 }
-.start_step2 {
-       margin-left: 20px;
-}
-.start_step3 {
-       margin-left: 40px;
-}
-.start_step4 {
-       margin-left: 60px;
-}
 .widget {
        width: 100%;
 }
@@ -192,23 +194,17 @@ html, body {
 #feeds .card .card-body, .text-pre {
        white-space: pre;
 }
-.align-left {
-       float: left;
-}
-.align-right {
-       float: right;
-}
 .clear {
        clear: both;
 }
 .om-icon {
        background-repeat: no-repeat !important;
-       background-position: 0 0 !important;
+       background-position: var(--background-start) 0 !important;
        background-size: 16px;
        width: 18px;
        height: 18px;
        border: none;
-       margin-left: 2px;
+       margin-inline-start: 2px;
        margin-top: 2px;
        display: inline-block;
        position: relative;
@@ -252,9 +248,12 @@ html, body {
        padding: 0;
 }
 .private.message.body .quote {
-       border-left: 1px solid #cccccc;
-       margin-left: 10px;
-       padding-left: 10px;
+       --bs-border-width: 1px;
+       --bs-border-style: solid;
+       --bs-border-color: #cccccc;
+
+       margin-inline-start: 10px;
+       padding-inline-start: 10px;
 }
 table.messages {
        width: 100%;
@@ -290,12 +289,8 @@ table.messages td.from, table.messages td.subject {
        overflow-wrap: break-word;
 }
 .email {
-       background-repeat: no-repeat !important;
-       background-position: 5px 3px !important;
-       background-size: 16px 16px !important;
        padding-top: 2px;
        display: block;
-       text-align:left;
 }
 .email.selected {
        border: 1px solid #cccccc;
@@ -307,12 +302,10 @@ table.messages td.from, table.messages td.subject {
 }
 .email.folder .delete {
        position:absolute;
-       right: 2px;
        top: 2px;
        font-weight: normal;
        padding: 0;
        display: inline-block;
-       background-position: 0;
        width: 18px;
        height: 18px;
 }
@@ -331,14 +324,6 @@ textarea.messages.body {
 select.messages.selector {
        width: 220px;
 }
-.info-title {
-       background-image: url(images/information.png);
-       background-repeat: no-repeat;
-       width: 16px;
-       height: 16px;
-       display: inline-block;
-       margin-left: 10px;
-}
 #messagesTable tr.selected {
        background-color: var(--bs-light);
 }
@@ -357,16 +342,11 @@ select.messages.selector {
 .room-list .room-row button.refresh {
        padding: 0 0.25rem;
 }
-.room-list .room-row button.enter {
-       position: absolute;
-       right: 10px;
-       top: 10px;
-}
 .select2-results .user.external, .select2-selection .user.external
 , .select2-results .user.internal, .select2-selection .user.internal {
-       padding-left: 18px;
+       padding-inline-start: 18px;
        background-repeat: no-repeat;
-       background-position: 0px 2px;
+       background-position: var(--background-start) 2px;
 }
 .select2-results .user.external, .select2-selection .user.external {
        background-image: url(images/user_go.png);
@@ -420,8 +400,8 @@ select.messages.selector {
 }
 .page.recording-panel .video, .page.recording-panel .info {
        display: inline-block;
-       float: left;
-       padding-left: 20px;
+       float: inline-start;
+       padding-inline-start: 20px;
 }
 .page.recording-panel .video {
        min-width: 400px;
@@ -474,17 +454,16 @@ select.messages.selector {
 }
 .user.info.panel legend {
        font-style: italic;
-       text-align: right;
 }
 .user.info.panel fieldset table, .user.info.panel fieldset table textarea {
        width: 100%;
 }
-#topControls #wicketDebugBar {
+.main-container #wicketDebugBar {
        right: initial;
        top: initial;
        z-index: 2;
-       bottom: 0;
        position: fixed;
+       margin-inline-end: 25px;
 }
 .profile {
        position: relative;
@@ -497,9 +476,6 @@ select.messages.selector {
        font-size: 12px;
 }
 .profile .remove {
-       position: absolute;
-       right: -10px;
-       top: 5px;
        border: 1px solid #cccc;
        padding: 0px 7px;
 }
@@ -548,7 +524,7 @@ select.messages.selector {
 }
 .list-table th {
        overflow: hidden;
-       text-align: left;
+       text-align: var(--text-align-start);
 }
 .bottom-bumper {
        height: 30px;
@@ -737,9 +713,6 @@ select.messages.selector {
        height: calc(100% - 65px);
 }
 #alert-holder {
-       position: fixed;
-       right: 0;
-       bottom: 0;
        z-index: calc(var(--chat-zindex) + 2);
 }
 .popover.confirmation.show {
diff --git a/openmeetings-web/src/main/webapp/css/raw-menu.css 
b/openmeetings-web/src/main/webapp/css/raw-menu.css
index e9d6581fa..4550aac60 100644
--- a/openmeetings-web/src/main/webapp/css/raw-menu.css
+++ b/openmeetings-web/src/main/webapp/css/raw-menu.css
@@ -4,20 +4,18 @@
        padding-bottom: 0;
 }
 .room-block .menu .top.exit {
-       padding-left: 0;
+       padding-inline-start: 0;
 }
 .room-block .menu .details {
        position: absolute;
        top: 0;
-       margin-right: 5px;
-       right: 0;
+       margin-inline-end: 5px;
        display: inline-block;
        z-index: calc(var(--menu-zindex) + 1);
 }
 .room-block .menu .details .room {
-       float: right;
        padding-top: 5px;
-       padding-right: 5px;
+       padding-inline-end: 5px;
 }
 .room-block .menu .details .room.name {
        font-weight: bold;
@@ -28,15 +26,10 @@
 .room-block .menu .details .icon {
        width: 30px;
        height: 30px;
-       background-repeat: no-repeat;
-       background-position: 5px 5px;
-       background-size: 22px;
-       float: right;
        padding: 0;
 }
 .room-block .menu .details .detail-btn {
        padding: 0.1rem 0.4rem;
-       float: right;
        position: relative;
 }
 .room-block .menu .details .detail-btn i::before {
@@ -48,7 +41,6 @@
 }
 .room-block .menu .details .detail-btn i.add-on {
        position: absolute;
-       left: 5px;
        color: var(--bs-warning);
        bottom:  0;
 }
@@ -58,14 +50,3 @@
 .room-block .menu .details .icon .profile img {
        width: 28px;
 }
-
-html[dir="rtl"] .navbar .navbar-nav.me-auto {
-       margin-right: unset !important;
-}
-html[dir="rtl"] .navbar .dropdown-menu {
-       left: initial;
-       right: 0;
-}
-html[dir="rtl"] .dropdown-menu .dropdown-item {
-       text-align: right;
-}
diff --git a/openmeetings-web/src/main/webapp/css/raw-room.css 
b/openmeetings-web/src/main/webapp/css/raw-room.css
index 9e3289d0f..ec0db326f 100644
--- a/openmeetings-web/src/main/webapp/css/raw-room.css
+++ b/openmeetings-web/src/main/webapp/css/raw-room.css
@@ -8,8 +8,6 @@
        width: 300px;
        height: 300px;
        top: 30px;
-       right:  0;
-       left: auto;
        z-index: 3050;
 }
 .room-block .event-details.modal .modal-dialog {
@@ -28,8 +26,6 @@
        position: absolute;
        height: 100%;
        top: 0;
-       right: auto;
-       left: 0;
 }
 .room-block .sb-wb .sidebar #room-sidebar-tabs {
        height: calc(100% - var(--activities-height));
@@ -64,10 +60,6 @@
 .room-block .sb-wb .sidebar .tab.user .label {
        width: calc((var(--sidebar-width) - 50px) / 2 - 80px);
 }
-html[dir="rtl"] .room-block .sb-wb .sidebar {
-       right: 0;
-       left: auto;
-}
 .room-block .sb-wb .sidebar #busy-indicator {
        margin: 8px;
 }
@@ -81,7 +73,7 @@ html[dir="rtl"] .room-block .sb-wb .sidebar {
        border-color: #bebec3;
 }
 #room-sidebar-tab-users .header {
-       padding-left: 5px;
+       padding-inline-start: 5px;
        height: var(--room-sidebar-header-height);
 }
 #room-sidebar-tab-users .header .om-icon {
@@ -98,11 +90,11 @@ html[dir="rtl"] .room-block .sb-wb .sidebar {
 }
 .room-block .sb-wb .sidebar .user-list .user.entry {
        min-height: 90px;
-       padding-left: 5px;
+       padding-inline-start: 5px;
        padding-top: 5px;
        background-size: 80px;
        background-repeat: no-repeat;
-       background-position: 2px 2px;
+       background-position: var(--background-start) 2px;
        position: relative;
 }
 .room-block .sb-wb .sidebar .user-list .user.entry:hover {
@@ -120,8 +112,8 @@ html[dir="rtl"] .room-block .sb-wb .sidebar {
        line-height: 18px;
        height: 18px;
        padding: 0;
-       padding-left: 64px;
-       margin-right: 20px;
+       padding-inline-start: 64px;
+       margin-inline-end: 20px;
        overflow: hidden;
 }
 .room-block.narrow .sidebar .user-list .user.name {
@@ -187,7 +179,7 @@ html[dir="rtl"] .room-block .sb-wb .sidebar {
        width: 14px;
        height: 14px;
        min-height: 14px;
-       margin-right: 2px;
+       margin-inline-end: 2px;
        margin-left: unset;
 }
 .audio-activity.om-icon {
@@ -386,21 +378,21 @@ html[dir="rtl"] .room-block .sb-wb .sidebar {
        width: 130px;
 }
 .sip .button-row #sip-dialer-btn-erase {
-       margin-left: 5px;
+       margin-inline-start: 5px;
 }
 .room-block .sb-wb .sidebar .tab.om-icon.big {
        line-height: 30px;
-       padding-left: 10px;
+       padding-inline-start: 10px;
        position: relative;
 }
 .room-block .sb-wb .sidebar .tab .badge {
        position: absolute;
        bottom: 0;
-       right: 2px;
+       margin-inline-end: 2px;
 }
 .room-block.narrow .sidebar .tab.om-icon.big {
-       padding-left: 6px;
-       padding-right: 0;
+       padding-inline-start: 6px;
+       padding-inline-end: 0;
 }
 .room-block .wait-moder {
        position: fixed;
@@ -435,15 +427,12 @@ html[dir="rtl"] .room-block .sb-wb .sidebar {
 }
 .user-video .buttonpane {
        background-color: var(--bs-white);
-       position: absolute;
-       right: 2px;
-       top: 2px
 }
 .ui-dialog.video .ui-dialog-content {
        overflow: hidden;
 }
 .ui-dialog.video .ui-dialog-titlebar {
-       padding-left: 10px;
+       padding-inline-start: 10px;
        border: none;
 }
 .ui-dialog.video.user-video.user-speaks {
@@ -474,11 +463,11 @@ html[dir="rtl"] .room-block .sb-wb .sidebar {
 }
 .modal.video .vid-block {
        min-width: 300px;
-       padding-left: 305px;
+       padding-inline-start: 305px;
 }
 .modal.video .warn {
        float: right;
-       margin-right: .3em;
+       margin-inline-end: .3em;
 }
 .modal.video .sett-container {
        position: relative;
@@ -488,7 +477,7 @@ html[dir="rtl"] .room-block .sb-wb .sidebar {
        padding-top: 10px;
 }
 .modal.video .sett-row.right {
-       text-align: right;
+       text-align: var(--text-align-end);
 }
 .modal.video .vid-block .video-conainer {
        overflow: auto;
@@ -544,7 +533,7 @@ html[dir="rtl"] .room-block .sb-wb .sidebar {
        overflow: hidden;
 }
 .room-block .room-container .user-video .header .ui-dialog-title {
-       padding-left: 5px;
+       padding-inline-start: 5px;
 }
 .room-block .room-container .user-video .video {
        min-width: 40px;
@@ -671,7 +660,7 @@ html[dir="rtl"] .room-block .sb-wb .sidebar {
 }
 #quick-vote {
        position: absolute;
-       right: 40px;
+       margin-inline-end: 40px;
        bottom: 40px;
        padding: 5px;
        border: 1px solid;
@@ -688,7 +677,6 @@ html[dir="rtl"] .room-block .sb-wb .sidebar {
 }
 #quick-vote .control .badge {
        position: absolute;
-       right: 0;
        bottom: 0;
        font-size: 0.5em;
 }
@@ -703,7 +691,6 @@ html[dir="rtl"] .room-block .sb-wb .sidebar {
        color: var(--bs-danger);
 }
 #quick-vote .close-btn {
-       float: right;
        padding: 0 0.4rem;
 }
 .main.room.INTERVIEW #quick-vote {
@@ -736,7 +723,7 @@ html[dir="rtl"] .room-block .sb-wb .sidebar {
        height: 25px;
        position: absolute;
        top: 5px;
-       right: 5px;
+       margin-inline-end: 5px;
 }
 .video .mute-others {
        position: absolute;
@@ -786,7 +773,7 @@ html[dir="rtl"] .room-block .sb-wb .sidebar {
 }
 @media screen and (max-width: 1280px) {
        .room-block .sb-wb .sidebar .tab.om-icon.big {
-               padding-right: 0;
+               padding-inline-end: 0;
        }
        .room-block .sb-wb .sidebar .user-list .user.name {
                display: none;
@@ -795,3 +782,8 @@ html[dir="rtl"] .room-block .sb-wb .sidebar {
                display: block;
        }
 }
+
+html[dir="rtl"] .main.room #chatPanel {
+    right: initial;
+    left: 0px;
+}
diff --git a/openmeetings-web/src/main/webapp/css/raw-tree.css 
b/openmeetings-web/src/main/webapp/css/raw-tree.css
index 611e6ea00..5430bf369 100644
--- a/openmeetings-web/src/main/webapp/css/raw-tree.css
+++ b/openmeetings-web/src/main/webapp/css/raw-tree.css
@@ -41,9 +41,6 @@
 .file-tree .footer .sizes {
        display: inline-block;
 }
-.file-tree .footer .sizes .size {
-       padding-left: 5px;
-}
 .file-tree .footer .buttons .other-buttons {
        display: inline-block;
        margin: 0 2px;
@@ -132,9 +129,6 @@
 .file-tree .trees .processing.om-icon i {
        display: block;
 }
-.file.om-icon, .recording.om-icon {
-       padding-left: 34px;
-}
 .public.file.om-icon::before {
        content: '\f0ac';
 }
@@ -226,3 +220,9 @@
        content: '\f574';
        padding: 0 7px;
 }
+
+
+html[dir="rtl"] .trees .om-icon.big::before {
+       left: initial;
+       right: 3px;
+}
diff --git a/openmeetings-web/src/main/webapp/css/raw-wb.css 
b/openmeetings-web/src/main/webapp/css/raw-wb.css
index f62803098..ac6f151df 100644
--- a/openmeetings-web/src/main/webapp/css/raw-wb.css
+++ b/openmeetings-web/src/main/webapp/css/raw-wb.css
@@ -6,10 +6,6 @@
        top: 0;
        left: calc(var(--sidebar-width) + var(--buffer-size));
 }
-html[dir="rtl"] .room-block .sb-wb .wb-block {
-       right: calc(var(--sidebar-width) + var(--buffer-size));
-       left: auto;
-}
 .room-block .sb-wb .wb-block.droppable-hover {
        border: 0;
 }
@@ -44,14 +40,14 @@ html[dir="rtl"] .room-block .sb-wb .wb-block {
 }
 .room-block .sb-wb .wb-block .tabs .wb-tabbar li a {
        position: relative;
-       padding-right: 25px;
+       padding-inline-end: 25px;
 }
 .wb-tab-close {
        width: 20px;
        height: 20px;
        position: absolute;
        top: 0px;
-       right: 2px;
+       margin-inline-end: 2px;
 }
 .btn-outline-secondary.btn-no-border {
        border: none;
@@ -63,11 +59,7 @@ html[dir="rtl"] .room-block .sb-wb .wb-block {
 }
 .room-block .sb-wb .wb-block .tabs .wb-tab-content .fullscreen {
        position: absolute;
-       right: 40px;
-}
-html[dir="rtl"] .room-block .sb-wb .wb-block .tabs .wb-tab-content .fullscreen 
{
-       right: initial;
-       left: 40px;
+       margin-inline-end: 40px;
 }
 .room-block .sb-wb .wb-block .tabs .wb-tab-content .tab-pane {
        height: 100%;
@@ -85,7 +77,7 @@ html[dir="rtl"] .room-block .sb-wb .wb-block .tabs 
.wb-tab-content .fullscreen {
        vertical-align: top;
        background-size: 27px;
        margin: 0;
-       background-position: 4px !important;
+       background-position: var(--background-start) !important;
        position: relative;
 }
 .room-block .sb-wb .wb-block .tools .om-icon.big.stub {
@@ -94,7 +86,7 @@ html[dir="rtl"] .room-block .sb-wb .wb-block .tabs 
.wb-tab-content .fullscreen {
 }
 .room-block .sb-wb .wb-block .tools .dropstart .dropdown-toggle::before {
        vertical-align: bottom;
-       margin-right: 0;
+       margin-inline-end: 0;
 }
 .room-block .sb-wb .wb-block .tools .dropdown-menu .om-icon.big {
        float: none;
@@ -106,7 +98,7 @@ html[dir="rtl"] .room-block .sb-wb .wb-block .tabs 
.wb-tab-content .fullscreen {
        border: 1px solid #6b6565;
 }
 .room-block .sb-wb .wb-block .tools .om-icon.big::before {
-       padding-left: 5px;
+       padding-inline-start: 5px;
 }
 .room-block .sb-wb .wb-block .tools .drawings .om-icon.big.stub::before
 , .room-block .sb-wb .wb-block .tools .om-icon.big.math::before
@@ -209,23 +201,17 @@ html[dir="rtl"] .room-block .sb-wb .wb-block .tabs 
.wb-tab-content .fullscreen {
 }
 .wb-tool-settings .ui-dialog-titlebar-close, .wb-formula 
.ui-dialog-titlebar-close {
        position: absolute;
-       right: .3em;
+       margin-inline-end: .3em;
        top: 5px;
        width: 20px;
        padding: 1px;
        height: 20px;
 }
-html[dir="rtl"] .wb-tool-settings .ui-dialog-titlebar-close
-, html[dir="rtl"] .wb-formula .ui-dialog-titlebar-close
-{
-       left: .3em;
-       right: auto;
-}
 .wb-tool-settings .header, .wb-formula .header {
        padding: 5px;
 }
 .wb-tool-settings .header .ui-dialog-title, .wb-formula .header 
.ui-dialog-title {
-       padding-left: 10px;
+       padding-inline-start: 10px;
 }
 .wb-tool-settings .tab.props {
        padding: 5px 10px;
@@ -237,7 +223,7 @@ html[dir="rtl"] .wb-tool-settings .ui-dialog-titlebar-close
 }
 .wb-tool-settings .tab.props .block {
        display: inline;
-       padding-left: 5px;
+       padding-inline-start: 5px;
 }
 .wb-tool-settings .tab.props .block.lbl {
        width: 1em;
@@ -292,8 +278,8 @@ html[dir="rtl"] .wb-tool-settings .ui-dialog-titlebar-close
        left: auto !important;
 }
 .wb-tabbar {
-       padding-left: 70px !important;
-       padding-right: 35px !important;
+       padding-inline-start: 70px !important;
+       padding-inline-end: 35px !important;
        min-height: 40px;
 }
 .wb-tabbar .scroll-container {
@@ -313,13 +299,13 @@ html[dir="rtl"] .wb-tool-settings 
.ui-dialog-titlebar-close
        top: 3px;
 }
 .wb-tabbar .add {
-       left: 2px;
+       margin-inline-start: 2px;
 }
 .wb-tabbar .prev {
-       left: 35px;
+       margin-inline-start: 35px;
 }
 .wb-tabbar .next {
-       right: 2px;
+       margin-inline-end: 2px;
 }
 .room-block .sb-wb .wb-block .tabs .wb-tab-content .wb-with-zoom {
        width: calc(100% - 40px);
@@ -341,7 +327,7 @@ html[dir="rtl"] .wb-tool-settings .ui-dialog-titlebar-close
 }
 .room-block .sb-wb .wb-block .tabs .wb-tab-content .scroll-container 
.canvas-container {
        margin-top: 5px;
-       margin-left: 5px;
+       margin-inline-start: 5px;
        border: 1px solid #888888;
        box-shadow: 5px 5px 5px #888888;
 }
@@ -361,14 +347,20 @@ html[dir="rtl"] .wb-tool-settings 
.ui-dialog-titlebar-close
 }
 .wb-area .wb-zoom .settings-group {
        display: none;
-       margin-left: 2px;
+       margin-inline-start: 2px;
 }
 .wb-area .wb-zoom .doc-group {
-       margin-left: 5px;
+       margin-inline-start: 5px;
 }
 .wb-area .wb-zoom .zoom-group {
-       margin-left: 2px;
+       margin-inline-start: 2px;
 }
 #wb-rename-menu {
        display: none;
 }
+
+
+html[dir="rtl"] .room-block .sb-wb .wb-block {
+       left: initial;
+       right: calc(var(--sidebar-width) + var(--buffer-size));
+}
diff --git a/pom.xml b/pom.xml
index 60d736767..6c114a6ed 100644
--- a/pom.xml
+++ b/pom.xml
@@ -84,11 +84,10 @@
 
                <!-- dependency versions -->
                <junit.version>5.10.0</junit.version>
-               <wicket.version>9.14.0</wicket.version>
+               <wicket.version>9.15.0-SNAPSHOT</wicket.version>
                <wicket-jquery-ui.version>9.12.0</wicket-jquery-ui.version>
                <wicketstuff.version>9.14.0</wicketstuff.version>
-               <wicket-bootstrap.version>6.0.4</wicket-bootstrap.version>
-               <font-awesome.version>6.4.2</font-awesome.version>
+               
<wicket-bootstrap.version>6.0.5-SNAPSHOT</wicket-bootstrap.version>
                <spring.version>5.3.29</spring.version>
                <tomcat.version>9.0.79</tomcat.version>
                <ical4j.version>4.0.0-beta9</ical4j.version>
@@ -125,7 +124,7 @@
                <logback.version>1.4.11</logback.version>
                <jetty.version>9.4.51.v20230217</jetty.version>
                <license.excludedScopes>test</license.excludedScopes>
-               <bcprov-jdk15on.version>1.70</bcprov-jdk15on.version>
+               <bcprov.version>1.76</bcprov.version>
                <mockito.version>5.2.0</mockito.version>
                <quartz.version>2.3.2</quartz.version>
                <kurento.version>7.0.0</kurento.version>
@@ -684,8 +683,8 @@
                        </dependency>
                        <dependency>
                                <groupId>org.bouncycastle</groupId>
-                               <artifactId>bcprov-jdk15on</artifactId>
-                               <version>${bcprov-jdk15on.version}</version>
+                               <artifactId>bcprov-jdk18on</artifactId>
+                               <version>${bcprov.version}</version>
                        </dependency>
                        <dependency>
                                <groupId>org.apache.tika</groupId>
@@ -937,11 +936,6 @@
                                <artifactId>wicket-bootstrap-themes</artifactId>
                                <version>${wicket-bootstrap.version}</version>
                        </dependency>
-                       <dependency>
-                               <groupId>org.webjars</groupId>
-                               <artifactId>font-awesome</artifactId>
-                               <version>${font-awesome.version}</version>
-                       </dependency>
                        <dependency>
                                <groupId>org.quartz-scheduler</groupId>
                                <artifactId>quartz</artifactId>


Reply via email to