diff --git a/html/themes/breezy/form.css b/html/themes/breezy/form.css
index cae1dc925d020f997b24249dadb801d12baeeb0e..d29e9073cc8a1bea81815b40554f1f1c027e74f3 100644
--- a/html/themes/breezy/form.css
+++ b/html/themes/breezy/form.css
@@ -21,7 +21,7 @@ background-color: #DDD;
   input[type=text], input[type=password], input[type=file], textarea, select {
   max-width: 100%;
   }
-  input.base_selector {
+  input.base-selector {
   max-width: 100px;
   }
 }
diff --git a/html/themes/breezy/lists.css b/html/themes/breezy/lists.css
index 757b55945251a304c461e99681a4663049090267..b71956a192539c9f4e62e8185a418f871234199b 100644
--- a/html/themes/breezy/lists.css
+++ b/html/themes/breezy/lists.css
@@ -231,10 +231,7 @@ color: #2980b9;
 padding: 2px;
 }
 
-ul.treeList li.last {
-background: #fcfcfc url(../../images/lists/lastnode.png) no-repeat;
-}
-
+ul.treeList li.last,
 ul.treeList li:last-child {
 background: #fcfcfc url(../../images/lists/lastnode.png) no-repeat;
 }
@@ -252,7 +249,7 @@ html.rtl div.treeList {
 float: right;
 }
 
-table.listing_container {
+table.listing-container {
 width: 100%;
 height: 100%;
 vertical-align: top;
@@ -260,21 +257,21 @@ text-align: left;
 border: none;
 border-spacing: 2px;
 }
-html.rtl table.listing_container {
+html.rtl table.listing-container {
 text-align: right;
 }
 
-table.listing_container > tbody > tr > td.list {
+table.listing-container > tbody > tr > td.list {
 height: 100%;
 vertical-align: top;
 }
 
-table.listing_container > tbody >  tr > td.filter {
+table.listing-container > tbody >  tr > td.filter {
 max-width: 300px;
 vertical-align: top;
 }
 
-table.listing_container > tbody >  tr > td.filter .contentboxb {
+table.listing-container > tbody >  tr > td.filter .contentboxb {
 min-width: 230px;
 }
 
@@ -293,12 +290,12 @@ min-width: 230px;
   html.rtl table.listingTable > tbody > tr td:last-child {
   padding-left: 1px;
   }
-  table.listing_container {
+  table.listing-container {
   border: none;
   border-spacing: 0;
   border-collapse: collapse;
   }
-  table.listing_container > tbody > tr > td.list, table.listing_container > tbody >  tr > td.filter {
+  table.listing-container > tbody > tr > td.list, table.listing-container > tbody >  tr > td.filter {
   width: 100%;
   min-width: 0;
   max-width: none;
@@ -306,26 +303,26 @@ min-width: 230px;
   display: block;
   padding: 0;
   }
-  table.listing_container > tbody > tr > td.list > div, table.listing_container > tbody >  tr > td.filter > div {
+  table.listing-container > tbody > tr > td.list > div, table.listing-container > tbody >  tr > td.filter > div {
   border: none;
   }
-  table.listing_container > tbody > tr > td.list:after, table.listing_container > tbody >  tr > td.filter:after {
+  table.listing-container > tbody > tr > td.list:after, table.listing-container > tbody >  tr > td.filter:after {
   content: " ";
   display: block;
   }
-  table.listing_container > tbody >  tr > td.filter input[type=submit] {
+  table.listing-container > tbody >  tr > td.filter input[type=submit] {
   border: 1px solid #DDD;
   width: 100% !important;
   padding: 10px;
   display: inline-block;
   font-weight: bold;
   }
-  html.ltr table.listing_container > tbody >  tr > td.filter input[type=submit]:active {
+  html.ltr table.listing-container > tbody >  tr > td.filter input[type=submit]:active {
   position: relative;
   top: 1px;
   left: 1px;
   }
-  html.rtl table.listing_container > tbody >  tr > td.filter input[type=submit]:active {
+  html.rtl table.listing-container > tbody >  tr > td.filter input[type=submit]:active {
   position: relative;
   top: 1px;
   right: 1px;
diff --git a/html/themes/breezy/login.css b/html/themes/breezy/login.css
index 1e037abed5f4b9474df120776edf9d7fd504a0b3..e033cae3aabf661b475dd60d9dd94fba43e3746f 100644
--- a/html/themes/breezy/login.css
+++ b/html/themes/breezy/login.css
@@ -10,7 +10,7 @@ html, body {
 min-height: 100%;
 }
 
-div#window_container {
+div#window-container {
 text-align: center;
 width: 100%;
 bottom: 0;
@@ -18,7 +18,7 @@ top: 52px;
 position: absolute;
 }
 
-div#window_div {
+div#window-div {
 min-width: 50%;
 margin-top: 100px;
 border: 1px solid #c0c2c3;
@@ -26,21 +26,21 @@ background-color: #f3f4f4;
 display: inline-block;
 }
 
-div#window_titlebar {
+div#window-titlebar {
 text-align: center;
 border-bottom: 1px solid #c0c2c3;
 padding: 8px;
 background-color: #eff0f1;
 }
 
-div#window_titlebar > p {
+div#window-titlebar > p {
 margin: 0;
 padding: 0;
 font-size: 24px;
 font-weight: bold;
 }
 
-div#window_content > div {
+div#window-content > div {
 padding: 10px;
 }
 
@@ -54,24 +54,24 @@ text-decoration: none;
 color: #2980b9;
 }
 
-div#window_footer {
+div#window-footer {
 padding: 0;
 }
 
-div#window_footer > div {
+div#window-footer > div {
 display: inline-block;
 width: 47%;
 padding: 1%;
 }
 
-div#window_footer > div:nth-child(1) {
+div#window-footer > div:nth-child(1) {
 color: red;
 font-weight: bold;
 }
-html.ltr div#window_footer > div:nth-child(1) {
+html.ltr div#window-footer > div:nth-child(1) {
 text-align: left;
 }
-html.rtl div#window_footer > div:nth-child(1) {
+html.rtl div#window-footer > div:nth-child(1) {
 text-align: right;
 }
 
@@ -81,17 +81,17 @@ color: red;
 
 /* On small screens */
 @media (max-width: 640px) {
-  div#window_div {
+  div#window-div {
   min-width: 70%;
   margin-top: 10px;
   }
-  div#window_footer > div {
+  div#window-footer > div {
   display: block;
   width: auto;
   padding: 5px;
   text-align: center !important;
   }
-  div#window_footer.plugbottom > div:nth-child(2) > input[type=submit] {
+  div#window-footer.plugbottom > div:nth-child(2) > input[type=submit] {
   width: 100% !important;
   }
   p.gosaLoginWarning {
diff --git a/html/themes/breezy/menu.css b/html/themes/breezy/menu.css
index f03d6215a17ed4eaea69c5cab42976613fd9e731..d91359689db5f6f031f9e530713fea565c465be8 100644
--- a/html/themes/breezy/menu.css
+++ b/html/themes/breezy/menu.css
@@ -14,7 +14,6 @@ ul.menu li > a {
 display: block;
 }
 ul.menu > li {
-border: 0;
 margin-bottom: 5px;
 padding-bottom: 3px;
 background-color: #f3f4f4;
@@ -73,24 +72,20 @@ text-decoration: none;
 }
 
 /* Main menu */
-.iconmenu_section
-{
+.iconmenu-section {
 border-top: 1px solid #C0C2C3;
 clear: both;
 }
 
-.iconmenu_section + br
-{
+.iconmenu-section + br {
 clear: both;
 }
 
-.iconmenu_section:first-child
-{
+.iconmenu-section:first-child {
 border-top: none;
 }
 
-.iconmenu .imgcontainer
-{
+.iconmenu .imgcontainer {
 height: 48px;
 width: 48px;
 display: flex;
@@ -98,8 +93,7 @@ align-items: center;
 justify-content: center;
 }
 
-.iconmenu img
-{
+.iconmenu img {
 border: none;
 vertical-align: middle;
 flex: none;
@@ -148,8 +142,7 @@ text-align: right;
 border: 1px solid #c0c2c3;
 }
 
-.iconmenu:nth-child(2)
-{
+.iconmenu:nth-child(2) {
 clear: left;
 }
 html.rtl .iconmenu:nth-child(2) {
@@ -179,8 +172,7 @@ background-color: #fcfcfc;
   min-height: 80px;
   display: inline-block;
   }
-  .iconmenu .imgcontainer
-  {
+  .iconmenu .imgcontainer {
   margin: auto;
   display: block;
   float: none;
diff --git a/html/themes/breezy/plugin.css b/html/themes/breezy/plugin.css
index e1e9fd0b959bf0a9ae646cdf2cf7c3b9adf6641c..ae6f6a5555f8b215478674de53f8118cd75b918c 100644
--- a/html/themes/breezy/plugin.css
+++ b/html/themes/breezy/plugin.css
@@ -1,4 +1,4 @@
-.plugin_window
+.plugin-window
 {
 vertical-align: top;
 text-align: justify;
@@ -60,7 +60,7 @@ text-align: left;
 
 /* Simple Plugin specific things */
 
-.plugin_sections:after {
+.plugin-sections:after {
 content: "";
 display: block;
 clear: both;
@@ -207,7 +207,7 @@ background-color: #DFEFFF;
 
 /* On small screens */
 @media (max-width: 640px) {
-  .plugin_window {
+  .plugin-window {
   margin: 0;
   border: none;
   width: 100%;
diff --git a/html/themes/breezy/setup.css b/html/themes/breezy/setup.css
index 3b63a994844ec97c914195a3570c274d3e17295a..4a1211280a3dd32af64f17d97284f0269dbdda15 100644
--- a/html/themes/breezy/setup.css
+++ b/html/themes/breezy/setup.css
@@ -1,13 +1,13 @@
 /*********
  * Setup
  *********/
-html.ltr body.setup div#header_left .plugtop {
+html.ltr body.setup div#header-left .plugtop {
 margin-left: 80px;
 }
-html.rtl body.setup div#header_left .plugtop {
+html.rtl body.setup div#header-left .plugtop {
 margin-right: 80px;
 }
-body.setup .plugin_window {
+body.setup .plugin-window {
 border-radius: 5px;
 }
 
@@ -165,10 +165,10 @@ padding-right: 25px;
   body.setup a.plugtop img {
   height: 32px;
   }
-  html.ltr body.setup div#header_left .plugtop {
+  html.ltr body.setup div#header-left .plugtop {
   margin-left: 0;
   }
-  html.rtl body.setup div#header_left .plugtop {
+  html.rtl body.setup div#header-left .plugtop {
   margin-right: 0;
   }
 }
diff --git a/html/themes/breezy/style.css b/html/themes/breezy/style.css
index fb36251deebf8879a3f74ead67b9c58e77aeeedd..adbc5a04d080fca6564658c6d40b5c204fea49c6 100644
--- a/html/themes/breezy/style.css
+++ b/html/themes/breezy/style.css
@@ -612,10 +612,10 @@ color: #31363b;
 
 /* Header */
 
-html.ltr div#header_left {
+html.ltr div#header-left {
 float: left;
 }
-html.rtl div#header_left {
+html.rtl div#header-left {
 float: right;
 }
 
@@ -640,45 +640,45 @@ margin-right: 4px;
 html.rtl .plugtop img {
 margin-left: 4px;
 }
-html.ltr div#header_left .plugtop {
+html.ltr div#header-left .plugtop {
 margin-left: 35px;
 }
-html.rtl div#header_left .plugtop {
+html.rtl div#header-left .plugtop {
 margin-right: 35px;
 }
 
-div#header_left img {
+div#header-left img {
 vertical-align: middle;
 }
 
-html.ltr div#header_left img#fd_logo {
+html.ltr div#header-left img#fd_logo {
 padding-left: 2px;
 padding-right: 25px;
 }
-html.rtl div#header_left img#fd_logo {
+html.rtl div#header-left img#fd_logo {
 padding-left: 25px;
 padding-right: 2px;
 }
 
-html.ltr div#header_left .logout {
+html.ltr div#header-left .logout {
 margin-left: 35px;
 }
-html.rtl div#header_left .logout {
+html.rtl div#header-left .logout {
 margin-right: 35px;
 }
 
-div#header_right {
+div#header-right {
 padding-top: 8px;
 height: 38px;
 color: #31363b;
 }
-html.ltr div#header_right {
+html.ltr div#header-right {
 text-align: right;
 }
-html.rtl div#header_right {
+html.rtl div#header-right {
 text-align: left;
 }
-div#header_right div.version {
+div#header-right div.version {
 font-size: 20px;
 }
 
@@ -715,31 +715,31 @@ color: #31363b;
   width: 22px;
   height: 22px;
   }
-  html.ltr div#header_left .logout {
+  html.ltr div#header-left .logout {
   margin-left: 0;
   float: right;
   }
-  html.rtl div#header_left .logout {
+  html.rtl div#header-left .logout {
   margin-right: 0;
   float: left;
   }
-  html.ltr div#header_left, html.rtl div#header_left {
+  html.ltr div#header-left, html.rtl div#header-left {
   height: 40px;
   width: 100%;
   }
-  html.ltr div#header_right, html.rtl div#header_right {
+  html.ltr div#header-right, html.rtl div#header-right {
   padding-top: 8px;
   height: 30px;
   margin-top: -40px;
   width: 100%;
   }
-  div#header_right a {
+  div#header-right a {
   background: #eff0f1;
   }
   .optional {
   display: none !important;
   }
-  div#header_left .plugtop {
+  div#header-left .plugtop {
   display: inline-block;
   hyphens: none;
   overflow: hidden;
@@ -748,11 +748,11 @@ color: #31363b;
   padding-bottom: 2px;
   font-size: 1em;
   }
-  html.ltr div#header_left .plugtop {
+  html.ltr div#header-left .plugtop {
   margin: 0;
   padding-left: 6px;
   }
-  html.rtl div#header_left .plugtop {
+  html.rtl div#header-left .plugtop {
   margin: 0;
   padding-right: 6px;
   }
diff --git a/html/themes/legacy/form.css b/html/themes/legacy/form.css
index d1a385f965ef7ba2207656af689dafed2ccb945f..eb53372817e800b18742cad2b46e185bfdc4f1ec 100644
--- a/html/themes/legacy/form.css
+++ b/html/themes/legacy/form.css
@@ -21,7 +21,7 @@ background-color: #DDD;
   input[type=text], input[type=password], input[type=file], textarea, select {
   max-width: 100%;
   }
-  input.base_selector {
+  input.base-selector {
   max-width: 100px;
   }
 }
diff --git a/html/themes/legacy/lists.css b/html/themes/legacy/lists.css
index 955ddbac16ee167638f6e34c426002b9274589ce..0c3ebdda371150d8036696198763892f514a225b 100644
--- a/html/themes/legacy/lists.css
+++ b/html/themes/legacy/lists.css
@@ -240,7 +240,7 @@ html.rtl div.treeList {
 float: right;
 }
 
-table.listing_container {
+table.listing-container {
 width: 100%;
 height: 100%;
 vertical-align: top;
@@ -248,21 +248,21 @@ text-align: left;
 border: none;
 border-spacing: 2px;
 }
-html.rtl table.listing_container {
+html.rtl table.listing-container {
 text-align: right;
 }
 
-table.listing_container > tbody > tr > td.list {
+table.listing-container > tbody > tr > td.list {
 height: 100%;
 vertical-align: top;
 }
 
-table.listing_container > tbody >  tr > td.filter {
+table.listing-container > tbody >  tr > td.filter {
 max-width: 300px;
 vertical-align: top;
 }
 
-table.listing_container > tbody >  tr > td.filter .contentboxb {
+table.listing-container > tbody >  tr > td.filter .contentboxb {
 min-width: 230px;
 }
 
@@ -281,12 +281,12 @@ min-width: 230px;
   html.rtl table.listingTable > tbody > tr td:last-child {
   padding-left: 1px;
   }
-  table.listing_container {
+  table.listing-container {
   border: none;
   border-spacing: 0px;
   border-collapse: collapse;
   }
-  table.listing_container > tbody > tr > td.list, table.listing_container > tbody >  tr > td.filter {
+  table.listing-container > tbody > tr > td.list, table.listing-container > tbody >  tr > td.filter {
   width: 100%;
   min-width: 0;
   max-width: none;
@@ -294,26 +294,26 @@ min-width: 230px;
   display: block;
   padding: 0;
   }
-  table.listing_container > tbody > tr > td.list > div, table.listing_container > tbody >  tr > td.filter > div {
+  table.listing-container > tbody > tr > td.list > div, table.listing-container > tbody >  tr > td.filter > div {
   border: none;
   }
-  table.listing_container > tbody > tr > td.list:after, table.listing_container > tbody >  tr > td.filter:after {
+  table.listing-container > tbody > tr > td.list:after, table.listing-container > tbody >  tr > td.filter:after {
   content: " ";
   display: block;
   }
-  table.listing_container > tbody >  tr > td.filter input[type=submit] {
+  table.listing-container > tbody >  tr > td.filter input[type=submit] {
   border: 1px solid #DDD;
   width: 100% !important;
   padding: 10px;
   display: inline-block;
   font-weight: bold;
   }
-  html.ltr table.listing_container > tbody >  tr > td.filter input[type=submit]:active {
+  html.ltr table.listing-container > tbody >  tr > td.filter input[type=submit]:active {
   position: relative;
   top: 1px;
   left: 1px;
   }
-  html.rtl table.listing_container > tbody >  tr > td.filter input[type=submit]:active {
+  html.rtl table.listing-container > tbody >  tr > td.filter input[type=submit]:active {
   position: relative;
   top: 1px;
   right: 1px;
diff --git a/html/themes/legacy/login.css b/html/themes/legacy/login.css
index 27272d0759a2d60ea9d54c299ba365d60b5c884b..cc70ccedd29e9a26f634fd43020a57147df6127a 100644
--- a/html/themes/legacy/login.css
+++ b/html/themes/legacy/login.css
@@ -10,7 +10,7 @@ html, body {
 min-height: 100%;
 }
 
-div#window_container {
+div#window-container {
 text-align: center;
 box-shadow: 0 0 2px black;
 width: 100%;
@@ -19,7 +19,7 @@ top: 52px;
 position: absolute;
 }
 
-div#window_div {
+div#window-div {
 min-width: 50%;
 margin-top: 100px;
 border: 1px solid #AAAAAA;
@@ -29,7 +29,7 @@ border-radius: 10px;
 box-shadow: 0 0 3px black inset;
 }
 
-div#window_titlebar {
+div#window-titlebar {
 text-align: center;
 border-bottom: 1px solid #AAAAAA;
 padding: 8px;
@@ -37,35 +37,35 @@ background-color: #DBE6C6;
 border-radius: 10px 10px 0 0;
 }
 
-div#window_titlebar > p {
+div#window-titlebar > p {
 margin: 0;
 padding: 0;
 font-size: 24px;
 font-weight: bold;
 }
 
-div#window_content > div {
+div#window-content > div {
 padding: 10px;
 }
 
-div#window_footer {
+div#window-footer {
 padding: 0;
 }
 
-div#window_footer > div {
+div#window-footer > div {
 display: inline-block;
 width: 47%;
 padding: 1%;
 }
 
-div#window_footer > div:nth-child(1) {
+div#window-footer > div:nth-child(1) {
 color: red;
 font-weight: bold;
 }
-html.ltr div#window_footer > div:nth-child(1) {
+html.ltr div#window-footer > div:nth-child(1) {
 text-align: left;
 }
-html.rtl div#window_footer > div:nth-child(1) {
+html.rtl div#window-footer > div:nth-child(1) {
 text-align: right;
 }
 
@@ -75,17 +75,17 @@ color: red;
 
 /* On small screens */
 @media (max-width: 640px) {
-  div#window_div {
+  div#window-div {
   min-width: 70%;
   margin-top: 10px;
   }
-  div#window_footer > div {
+  div#window-footer > div {
   display: block;
   width: auto;
   padding: 5px;
   text-align: center !important;
   }
-  div#window_footer.plugbottom > div:nth-child(2) > input[type=submit] {
+  div#window-footer.plugbottom > div:nth-child(2) > input[type=submit] {
   width: 100% !important;
   }
   p.gosaLoginWarning {
diff --git a/html/themes/legacy/menu.css b/html/themes/legacy/menu.css
index d154c266c10cceba88d006b8b7e2d2e95a7875ed..ceaa1cf9887317dbc719448d5a2613f58d69475d 100644
--- a/html/themes/legacy/menu.css
+++ b/html/themes/legacy/menu.css
@@ -78,18 +78,18 @@ text-decoration: none;
 }
 
 /* Main menu */
-.iconmenu_section
+.iconmenu-section
 {
 border-top: 1px solid #AAAAAA;
 clear: both;
 }
 
-.iconmenu_section + br
+.iconmenu-section + br
 {
 clear: both;
 }
 
-.iconmenu_section:first-child
+.iconmenu-section:first-child
 {
 border-top: none;
 }
diff --git a/html/themes/legacy/plugin.css b/html/themes/legacy/plugin.css
index d2bc54dfe9b5b7e4a0c925a2239920e19bc706b9..f787c86217295f51ce9bfd9b99220eea546c53e0 100644
--- a/html/themes/legacy/plugin.css
+++ b/html/themes/legacy/plugin.css
@@ -1,4 +1,4 @@
-.plugin_window
+.plugin-window
 {
 vertical-align: top;
 text-align: justify;
@@ -61,7 +61,7 @@ text-align: left;
 
 /* Simple Plugin specific things */
 
-.plugin_sections:after {
+.plugin-sections:after {
 content: "";
 display: block;
 clear: both;
@@ -209,7 +209,7 @@ background-color: #DFEFFF;
 
 /* On small screens */
 @media (max-width: 640px) {
-  .plugin_window {
+  .plugin-window {
   margin: 0;
   border: none;
   width: 100%;
diff --git a/html/themes/legacy/setup.css b/html/themes/legacy/setup.css
index 28f391f3c09f6471f19d183a2654c5c368283861..52911ea175649247108a908b072dfb2c1558f65d 100644
--- a/html/themes/legacy/setup.css
+++ b/html/themes/legacy/setup.css
@@ -1,13 +1,13 @@
 /*********
  * Setup
  *********/
-html.ltr body.setup div#header_left .plugtop {
+html.ltr body.setup div#header-left .plugtop {
 margin-left: 80px;
 }
-html.rtl body.setup div#header_left .plugtop {
+html.rtl body.setup div#header-left .plugtop {
 margin-right: 80px;
 }
-body.setup .plugin_window {
+body.setup .plugin-window {
 border-radius: 5px;
 }
 
@@ -165,10 +165,10 @@ padding-right: 25px;
   body.setup a.plugtop img {
   height: 32px;
   }
-  html.ltr body.setup div#header_left .plugtop {
+  html.ltr body.setup div#header-left .plugtop {
   margin-left: 0px;
   }
-  html.rtl body.setup div#header_left .plugtop {
+  html.rtl body.setup div#header-left .plugtop {
   margin-right: 0px;
   }
 }
diff --git a/html/themes/legacy/style.css b/html/themes/legacy/style.css
index b5ec71e0e902737f5ef1616fa82f1b2563d101d4..784438b7cdc07e96c4d9b67c749f1d80623e17c1 100644
--- a/html/themes/legacy/style.css
+++ b/html/themes/legacy/style.css
@@ -601,10 +601,10 @@ color: #00378a;
 
 /* Header */
 
-html.ltr div#header_left {
+html.ltr div#header-left {
 float: left;
 }
-html.rtl div#header_left {
+html.rtl div#header-left {
 float: right;
 }
 
@@ -630,45 +630,45 @@ margin-right: 4px;
 html.rtl .plugtop img {
 margin-left: 4px;
 }
-html.ltr div#header_left .plugtop {
+html.ltr div#header-left .plugtop {
 margin-left: 35px;
 }
-html.rtl div#header_left .plugtop {
+html.rtl div#header-left .plugtop {
 margin-right: 35px;
 }
 
-div#header_left img {
+div#header-left img {
 vertical-align: middle;
 }
 
-html.ltr div#header_left img#fd_logo {
+html.ltr div#header-left img#fd_logo {
 padding-left: 2px;
 padding-right: 25px;
 }
-html.rtl div#header_left img#fd_logo {
+html.rtl div#header-left img#fd_logo {
 padding-left: 25px;
 padding-right: 2px;
 }
 
-html.ltr div#header_left .logout {
+html.ltr div#header-left .logout {
 margin-left: 35px;
 }
-html.rtl div#header_left .logout {
+html.rtl div#header-left .logout {
 margin-right: 35px;
 }
 
-div#header_right {
+div#header-right {
 padding-top: 8px;
 height: 38px;
 color: black;
 }
-html.ltr div#header_right {
+html.ltr div#header-right {
 text-align: right;
 }
-html.rtl div#header_right {
+html.rtl div#header-right {
 text-align: left;
 }
-div#header_right div.version {
+div#header-right div.version {
 font-size: 20px;
 }
 
@@ -705,33 +705,33 @@ color: #000;
   width: 22px;
   height: 22px;
   }
-  html.ltr div#header_left .logout {
+  html.ltr div#header-left .logout {
   margin-left: 0;
   float: right;
   }
-  html.rtl div#header_left .logout {
+  html.rtl div#header-left .logout {
   margin-right: 0;
   float: left;
   }
-  html.ltr div#header_left, html.rtl div#header_left {
+  html.ltr div#header-left, html.rtl div#header-left {
   height: 40px;
   width: 100%;
   float: none;
   }
-  html.ltr div#header_right, html.rtl div#header_right {
+  html.ltr div#header-right, html.rtl div#header-right {
   padding-top: 8px;
   height: 30px;
   margin-top: -40px;
   width: 100%;
   float: none;
   }
-  div#header_right a {
+  div#header-right a {
   background: #bbcc99;
   }
   .optional {
   display: none !important;
   }
-  div#header_left .plugtop {
+  div#header-left .plugtop {
   display: inline-block;
   hyphens: none;
   overflow: hidden;
@@ -740,11 +740,11 @@ color: #000;
   padding-bottom: 2px;
   font-size: 1em;
   }
-  html.ltr div#header_left .plugtop {
+  html.ltr div#header-left .plugtop {
   margin: 0;
   padding-left: 6px;
   }
-  html.rtl div#header_left .plugtop {
+  html.rtl div#header-left .plugtop {
   margin: 0;
   padding-right: 6px;
   }
diff --git a/ihtml/themes/breezy/framework.tpl b/ihtml/themes/breezy/framework.tpl
index 6dfca84bb4305450e44bde087ca8d022f9c556cb..418219353fa9b0024f7b3498184707c21169e01f 100644
--- a/ihtml/themes/breezy/framework.tpl
+++ b/ihtml/themes/breezy/framework.tpl
@@ -4,7 +4,7 @@
   {$php_errors}
   <form action="main.php{$plug}" name="mainform" id="mainform" method="post" enctype="multipart/form-data">
     <div class="setup_header">
-      <div id="header_left">
+      <div id="header-left">
         <img id="fd_logo" class="optional" src="geticon.php?context=applications&amp;icon=fusiondirectory&amp;size=48" alt="FusionDirectory"/>
         <a class="maintitlebar" href="main.php?reset=1">
           <img src="geticon.php?context=actions&amp;icon=go-home&amp;size=22" alt="Main"/>&nbsp;{t}Main{/t}
@@ -17,7 +17,7 @@
           <img src="{$headline_image|escape}" alt="{t}{$headline}{/t}"/>{t}{$headline}{/t}
         </a>
       </div>
-      <div id="header_right">
+      <div id="header-right">
         <a><span class="optional">{t}Signed in:{/t} </span><b>{$username}</b></a>
         {if ($sessionLifetime > 0)}
         <div class="logout-label">
@@ -41,7 +41,7 @@
           <!-- Plugin window -->
           <td id="maincell">
             {$msg_dialogs}
-            <div class="plugin_window">
+            <div class="plugin-window">
               {$contents}
             </div>
             {if $channel != ""}
diff --git a/ihtml/themes/breezy/login.tpl b/ihtml/themes/breezy/login.tpl
index 295813b2a26ffcb7e6f9c08173ff4894a9c12ab5..d28286544f255bd0d4e503ecac042c7311f888ff 100644
--- a/ihtml/themes/breezy/login.tpl
+++ b/ihtml/themes/breezy/login.tpl
@@ -5,18 +5,18 @@
 
 {* FusionDirectory login - smarty template *}
 
-<div id="window_container">
+<div id="window-container">
 
-<div id="window_div">
+<div id="window-div">
 <form action="index.php" method="post" id="loginform" name="loginform" onSubmit="js_check(this);return true;">
 
 {$msg_dialogs}
-  <div id="window_titlebar">
+  <div id="window-titlebar">
     <p>
       {t}Login screen{/t}
     </p>
   </div>
-  <div id="window_content">
+  <div id="window-content">
 
     <div class="optional">
       {t}Please use your username and your password to log into the site administration system.{/t}<br />
@@ -58,7 +58,7 @@
        </script>
       </p>
   </div>
-  <div id="window_footer" class="plugbottom">
+  <div id="window-footer" class="plugbottom">
     <div>
       <!-- Display error message on demand -->
       {$message}
diff --git a/ihtml/themes/breezy/recovery.tpl b/ihtml/themes/breezy/recovery.tpl
index 9f3b5472ebb376e770d7922617f76370313dbfba..4ca66dd01615da3c934fd078c5894b21710650c9 100644
--- a/ihtml/themes/breezy/recovery.tpl
+++ b/ihtml/themes/breezy/recovery.tpl
@@ -6,19 +6,19 @@
   </div>
   {$msg_dialogs}
 
-<div id="window_container">
+<div id="window-container">
 
-<div id="window_div">
+<div id="window-div">
 
   <form action='recovery.php{$params}' method='post' name='mainform' onSubmit='js_check(this);return true;'>
 
-  <div id="window_titlebar">
+  <div id="window-titlebar">
     <p>
       <img class="center" src="geticon.php?context=status&amp;icon=dialog-password&amp;size=48" alt="{t}Password{/t}" title="{t}Password{/t}"/>
       {t}Lost password{/t}
     </p>
   </div>
-  <div id="window_content">
+  <div id="window-content">
     <div>
 {if $activated}
       <!-- Display SSL warning message on demand -->
@@ -75,7 +75,7 @@
     </table>
   </div>
   </div>
-  <div id="window_footer" class="plugbottom">
+  <div id="window-footer" class="plugbottom">
     <div>
     </div>
     <div>
@@ -116,7 +116,7 @@
     </table>
   </div>
   </div>
-  <div id="window_footer" class="plugbottom">
+  <div id="window-footer" class="plugbottom">
     <div>
     </div>
     <div>
diff --git a/ihtml/themes/breezy/setup_header.tpl b/ihtml/themes/breezy/setup_header.tpl
index 14477ccc03ec762fd5b1130d360136c38546a985..ca9320f1d27969b8d532e85a00a60ada6ebddd4f 100644
--- a/ihtml/themes/breezy/setup_header.tpl
+++ b/ihtml/themes/breezy/setup_header.tpl
@@ -1,8 +1,8 @@
 <div class="setup_header">
-  <div id="header_left">
+  <div id="header-left">
     <img id="fd_logo" class="optional" src="geticon.php?context=applications&amp;icon=fusiondirectory&amp;size=48" alt="FusionDirectory"/>
   </div>
-  <div id="header_right">
+  <div id="header-right">
     <div class="version">
       {$version}
     </div>
diff --git a/ihtml/themes/breezy/simple-list.tpl b/ihtml/themes/breezy/simple-list.tpl
index 6bff743f062eaf68a864b7e9f65d5de21c198d96..993dfe3dd293249fc0d688b49269cbc0ea77f8ed 100644
--- a/ihtml/themes/breezy/simple-list.tpl
+++ b/ihtml/themes/breezy/simple-list.tpl
@@ -1,4 +1,4 @@
-<table class="listing_container">
+<table class="listing-container">
   <tbody>
     <tr>
       <td class="list">
diff --git a/ihtml/themes/breezy/simpleplugin.tpl b/ihtml/themes/breezy/simpleplugin.tpl
index d6126dbf01984b22a0391927f2ee099acb0a46df..aa9cb63975e8932a6cde51c1050e3a125b7fef0d 100644
--- a/ihtml/themes/breezy/simpleplugin.tpl
+++ b/ihtml/themes/breezy/simpleplugin.tpl
@@ -1,4 +1,4 @@
-<div class="plugin_sections">
+<div class="plugin-sections">
   {foreach from=$sections key=section item=display}
     {$display}
   {/foreach}
diff --git a/include/class_baseSelector.inc b/include/class_baseSelector.inc
index 7a4a758a2c7ba6c6da0822635554d18ad53cf43c..9c2d585182e138187538f42516b1efff946f83ae 100644
--- a/include/class_baseSelector.inc
+++ b/include/class_baseSelector.inc
@@ -189,7 +189,7 @@ class baseSelector {
     }
 
     $link = "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($config->current['BASE'])."';  $('submit_tree_base_".$this->pid."').click();\"";
-    $this->tree = '<input class="base_selector" type="text" name="'.$this->getInputHtmlId().'"'.
+    $this->tree = '<input class="base-selector" type="text" name="'.$this->getInputHtmlId().'"'.
                   ' id="'.$this->getInputHtmlId().'"'.
                   ' onkeydown="$(\'bs_'.$this->pid.'\').hide()"'.
                   ' onfocus="$(\'bs_'.$this->pid.'\').hide()"'.
diff --git a/include/class_pluglist.inc b/include/class_pluglist.inc
index 0970684adacf8f3f2d07a8b2e75417e1076b14c3..a65e41fd098c4fc2435ed1ca9de0c7bd5fb35771 100644
--- a/include/class_pluglist.inc
+++ b/include/class_pluglist.inc
@@ -370,7 +370,7 @@ class pluglist {
       foreach ($config->data['SECTIONS'] as $section => $section_infos) {
         $entries  = '';
         $menu     = '';
-        $menu     = '<div class="iconmenu_section"><h1 class="menuheader">';
+        $menu     = '<div class="iconmenu-section"><h1 class="menuheader">';
         $menu     .= $section_infos['NAME']."</h1>\n";
 
         foreach ($config->data['MENU'][$section] as $info) {
diff --git a/setup/setup_frame.tpl b/setup/setup_frame.tpl
index 2a7be1d4594d4ad9e88355dd81786468729e410a..ac8a2d6465803c74d8123010b9ed12c7aa38b1a1 100644
--- a/setup/setup_frame.tpl
+++ b/setup/setup_frame.tpl
@@ -3,13 +3,13 @@
   {$php_errors}
   <form action="setup.php" name="mainform" id="mainform" method="post" enctype="multipart/form-data">
     <div class="setup_header">
-      <div id="header_left">
+      <div id="header-left">
         <img id="fd_logo" class="optional" src="geticon.php?context=applications&amp;icon=fusiondirectory&amp;size=48" alt="FusionDirectory"/>
         <a class="plugtop">
           <img src="{$headline_image|escape}" alt="{t}{$headline}{/t}"/>{t}{$headline}{/t}
         </a>
       </div>
-      <div id="header_right">
+      <div id="header-right">
         <div class="version">
           {$version}
         </div>
@@ -28,7 +28,7 @@
           <!-- Plugin window -->
           <td id="maincell">
             {$msg_dialogs}
-            <div class="plugin_window">
+            <div class="plugin-window">
               {$contents}
             </div>
           </td>