From 184d52525a0b89f96e16b7933457e321a2435e8d Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@destailleur.fr>
Date: Tue, 7 Mar 2017 22:45:22 +0100
Subject: [PATCH] PHP code to manage pair/impair is replaced by native CSS.

---
 htdocs/adherents/index.php                | 143 +++++++++++-----------
 htdocs/adherents/type.php                 |  10 +-
 htdocs/comm/index.php                     |  24 ++--
 htdocs/commande/index.php                 |  10 +-
 htdocs/compta/index.php                   |  78 ++++++------
 htdocs/compta/paiement/cheque/index.php   |  14 +--
 htdocs/compta/prelevement/index.php       |  12 +-
 htdocs/contrat/index.php                  |  18 +--
 htdocs/core/boxes/box_actions.php         |   5 +-
 htdocs/core/boxes/modules_boxes.php       |   5 +-
 htdocs/core/lib/agenda.lib.php            |   8 +-
 htdocs/don/index.php                      |   4 +-
 htdocs/expedition/index.php               |   8 +-
 htdocs/expensereport/index.php            |  12 +-
 htdocs/fichinter/index.php                |   8 +-
 htdocs/fourn/commande/index.php           |  14 +--
 htdocs/hrm/index.php                      |  28 ++---
 htdocs/index.php                          |  33 ++---
 htdocs/product/index.php                  |   4 +-
 htdocs/product/stock/index.php            |  16 +--
 htdocs/projet/graph_opportunities.inc.php |   2 +-
 htdocs/supplier_proposal/index.php        |   8 +-
 htdocs/theme/eldy/style.css.php           | 115 ++++++++---------
 htdocs/theme/md/style.css.php             |  84 +++++++------
 24 files changed, 329 insertions(+), 334 deletions(-)

diff --git a/htdocs/adherents/index.php b/htdocs/adherents/index.php
index ef20c2e96c0..9c1b0bb01e1 100644
--- a/htdocs/adherents/index.php
+++ b/htdocs/adherents/index.php
@@ -163,7 +163,7 @@ if (! empty($conf->global->MAIN_SEARCH_FORM_ON_HOME_AREAS))     // This is usele
 if ($conf->use_javascript_ajax)
 {
     print '<table class="noborder nohover" width="100%">';
-    print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("Statistics").'</td></tr>';
+    print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("Statistics").'</th></tr>';
     print '<tr '.$bc[0].'><td align="center" colspan="2">';
 
     $SommeA=0;
@@ -201,8 +201,70 @@ if ($conf->use_javascript_ajax)
     print '</table>';
 }
 
+print '<br>';
+
+// List of subscription by year
+$Total=array();
+$Number=array();
+$tot=0;
+$numb=0;
+
+$sql = "SELECT c.subscription, c.dateadh as dateh";
+$sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."subscription as c";
+$sql.= " WHERE d.entity IN (".getEntity().")";
+$sql.= " AND d.rowid = c.fk_adherent";
+if(isset($date_select) && $date_select != '')
+{
+    $sql .= " AND c.dateadh LIKE '".$date_select."%'";
+}
+$result = $db->query($sql);
+if ($result)
+{
+    $num = $db->num_rows($result);
+    $i = 0;
+    while ($i < $num)
+    {
+        $objp = $db->fetch_object($result);
+        $year=dol_print_date($db->jdate($objp->dateh),"%Y");
+        $Total[$year]=(isset($Total[$year])?$Total[$year]:0)+$objp->subscription;
+        $Number[$year]=(isset($Number[$year])?$Number[$year]:0)+1;
+        $tot+=$objp->subscription;
+        $numb+=1;
+        $i++;
+    }
+}
+
+print '<table class="noborder" width="100%">';
+print '<tr class="liste_titre">';
+print '<th>'.$langs->trans("Subscriptions").'</th>';
+print '<th align="right">'.$langs->trans("Number").'</th>';
+print '<th align="right">'.$langs->trans("AmountTotal").'</th>';
+print '<th align="right">'.$langs->trans("AmountAverage").'</th>';
+print "</tr>\n";
+
+$var=true;
+krsort($Total);
+foreach ($Total as $key=>$value)
+{
+    $var=!$var;
+    print "<tr ".$bc[$var].">";
+    print "<td><a href=\"./subscription/list.php?date_select=$key\">$key</a></td>";
+    print "<td align=\"right\">".$Number[$key]."</td>";
+    print "<td align=\"right\">".price($value)."</td>";
+    print "<td align=\"right\">".price(price2num($value/$Number[$key],'MT'))."</td>";
+    print "</tr>\n";
+}
+
+// Total
+print '<tr class="liste_total">';
+print '<td>'.$langs->trans("Total").'</td>';
+print "<td align=\"right\">".$numb."</td>";
+print '<td align="right">'.price($tot)."</td>";
+print "<td align=\"right\">".price(price2num($numb>0?($tot/$numb):0,'MT'))."</td>";
+print "</tr>\n";
+print "</table><br>\n";
+
 
-//print '</td><td class="notopnoleftnoright" valign="top">';
 print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
 
 
@@ -227,7 +289,7 @@ if ($resql)
 {
 	print '<table class="noborder" width="100%">';
 	print '<tr class="liste_titre">';
-	print '<td colspan="4">'.$langs->trans("LastMembersModified",$max).'</td></tr>';
+	print '<th colspan="4">'.$langs->trans("LastMembersModified",$max).'</th></tr>';
 
 	$num = $db->num_rows($resql);
 	if ($num)
@@ -290,7 +352,7 @@ if ($resql)
 {
 	print '<table class="noborder" width="100%">';
 	print '<tr class="liste_titre">';
-	print '<td colspan="5">'.$langs->trans("LastSubscriptionsModified",$max).'</td></tr>';
+	print '<th colspan="5">'.$langs->trans("LastSubscriptionsModified",$max).'</th></tr>';
 
 	$num = $db->num_rows($resql);
 	if ($num)
@@ -336,11 +398,11 @@ else
 // Summary of members by type
 print '<table class="noborder" width="100%">';
 print '<tr class="liste_titre">';
-print '<td>'.$langs->trans("MembersTypes").'</td>';
-print '<td align=right>'.$langs->trans("MembersStatusToValid").'</td>';
-print '<td align=right>'.$langs->trans("MenuMembersNotUpToDate").'</td>';
-print '<td align=right>'.$langs->trans("MenuMembersUpToDate").'</td>';
-print '<td align=right>'.$langs->trans("MembersStatusResiliated").'</td>';
+print '<th>'.$langs->trans("MembersTypes").'</th>';
+print '<th align=right>'.$langs->trans("MembersStatusToValid").'</th>';
+print '<th align=right>'.$langs->trans("MenuMembersNotUpToDate").'</th>';
+print '<th align=right>'.$langs->trans("MenuMembersUpToDate").'</th>';
+print '<th align=right>'.$langs->trans("MembersStatusResiliated").'</th>';
 print "</tr>\n";
 
 foreach ($AdherentType as $key => $adhtype)
@@ -363,71 +425,8 @@ print '<td class="liste_total" align="right">'.$SommeD.' '.$staticmember->LibSta
 print '</tr>';
 
 print "</table>\n";
-print "<br>\n";
-
-
-// List of subscription by year
-$Total=array();
-$Number=array();
-$tot=0;
-$numb=0;
-
-$sql = "SELECT c.subscription, c.dateadh as dateh";
-$sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."subscription as c";
-$sql.= " WHERE d.entity IN (".getEntity().")";
-$sql.= " AND d.rowid = c.fk_adherent";
-if(isset($date_select) && $date_select != '')
-{
-	$sql .= " AND c.dateadh LIKE '".$date_select."%'";
-}
-$result = $db->query($sql);
-if ($result)
-{
-	$num = $db->num_rows($result);
-	$i = 0;
-	while ($i < $num)
-	{
-		$objp = $db->fetch_object($result);
-		$year=dol_print_date($db->jdate($objp->dateh),"%Y");
-		$Total[$year]=(isset($Total[$year])?$Total[$year]:0)+$objp->subscription;
-		$Number[$year]=(isset($Number[$year])?$Number[$year]:0)+1;
-		$tot+=$objp->subscription;
-		$numb+=1;
-		$i++;
-	}
-}
-
-print '<table class="noborder" width="100%">';
-print '<tr class="liste_titre">';
-print '<td>'.$langs->trans("Subscriptions").'</td>';
-print '<td align="right">'.$langs->trans("Number").'</td>';
-print '<td align="right">'.$langs->trans("AmountTotal").'</td>';
-print '<td align="right">'.$langs->trans("AmountAverage").'</td>';
-print "</tr>\n";
-
-$var=true;
-krsort($Total);
-foreach ($Total as $key=>$value)
-{
-	$var=!$var;
-	print "<tr ".$bc[$var].">";
-	print "<td><a href=\"./subscription/list.php?date_select=$key\">$key</a></td>";
-	print "<td align=\"right\">".$Number[$key]."</td>";
-	print "<td align=\"right\">".price($value)."</td>";
-	print "<td align=\"right\">".price(price2num($value/$Number[$key],'MT'))."</td>";
-	print "</tr>\n";
-}
 
-// Total
-print '<tr class="liste_total">';
-print '<td>'.$langs->trans("Total").'</td>';
-print "<td align=\"right\">".$numb."</td>";
-print '<td align="right">'.price($tot)."</td>";
-print "<td align=\"right\">".price(price2num($numb>0?($tot/$numb):0,'MT'))."</td>";
-print "</tr>\n";
-print "</table><br>\n";
 
-//print '</td></tr></table>';
 print '</div></div></div>';
 
 
diff --git a/htdocs/adherents/type.php b/htdocs/adherents/type.php
index 3ad6120be02..846b0dab7a9 100644
--- a/htdocs/adherents/type.php
+++ b/htdocs/adherents/type.php
@@ -199,11 +199,11 @@ if (! $rowid && $action != 'create' && $action != 'edit')
 		print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n";
 		
 		print '<tr class="liste_titre">';
-		print '<td>'.$langs->trans("Ref").'</td>';
-		print '<td>'.$langs->trans("Label").'</td>';
-		print '<td align="center">'.$langs->trans("SubscriptionRequired").'</td>';
-		print '<td align="center">'.$langs->trans("VoteAllowed").'</td>';
-		print '<td>&nbsp;</td>';
+		print '<th>'.$langs->trans("Ref").'</th>';
+		print '<th>'.$langs->trans("Label").'</th>';
+		print '<th align="center">'.$langs->trans("SubscriptionRequired").'</th>';
+		print '<th align="center">'.$langs->trans("VoteAllowed").'</th>';
+		print '<th>&nbsp;</th>';
 		print "</tr>\n";
 
 		$var=True;
diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php
index c967f303648..f8f987f1222 100644
--- a/htdocs/comm/index.php
+++ b/htdocs/comm/index.php
@@ -158,7 +158,7 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire)
 	    
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="3">'.$langs->trans("ProposalsDraft").($num?' <span class="badge">'.$num.'</span>':'').'</td></tr>';
+		print '<th colspan="3">'.$langs->trans("ProposalsDraft").($num?' <span class="badge">'.$num.'</span>':'').'</th></tr>';
 
 		if ($num > 0)
 		{
@@ -239,7 +239,7 @@ if (! empty($conf->supplier_proposal->enabled) && $user->rights->supplier_propos
          
         print '<table class="noborder" width="100%">';
         print '<tr class="liste_titre">';
-        print '<td colspan="3">'.$langs->trans("SupplierProposalsDraft").($num?' <span class="badge">'.$num.'</span>':'').'</td></tr>';
+        print '<th colspan="3">'.$langs->trans("SupplierProposalsDraft").($num?' <span class="badge">'.$num.'</span>':'').'</th></tr>';
 
         if ($num > 0)
         {
@@ -318,7 +318,7 @@ if (! empty($conf->commande->enabled) && $user->rights->commande->lire)
 	    
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="3">'.$langs->trans("DraftOrders").($num?' <span class="badge">'.$num.'</span>':'').'</td></tr>';
+		print '<th colspan="3">'.$langs->trans("DraftOrders").($num?' <span class="badge">'.$num.'</span>':'').'</th></tr>';
 
 		if ($num)
 		{
@@ -399,7 +399,7 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->commande
 
         print '<table class="noborder" width="100%">';
         print '<tr class="liste_titre">';
-        print '<td colspan="3">'.$langs->trans("DraftSuppliersOrders").($num?' <span class="badge">'.$num.'</span>':'').'</td></tr>';
+        print '<th colspan="3">'.$langs->trans("DraftSuppliersOrders").($num?' <span class="badge">'.$num.'</span>':'').'</th></tr>';
 
         if ($num)
         {
@@ -485,12 +485,12 @@ if (! empty($conf->societe->enabled) && $user->rights->societe->lire)
 
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="2">';
+		print '<th colspan="2">';
 		if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) print $langs->trans("BoxTitleLastCustomersOrProspects",$max);
         else if (! empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) print $langs->trans("BoxTitleLastModifiedProspects",$max);
 		else print $langs->trans("BoxTitleLastModifiedCustomers",$max);
-		print '</td>';
-		print '<td align="right">'.$langs->trans("DateModificationShort").'</td>';
+		print '</th>';
+		print '<th align="right">'.$langs->trans("DateModificationShort").'</th>';
 		print '</tr>';
 		if ($num)
 		{
@@ -549,8 +549,8 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->societe->lire)
 		$i = 0;
 
 		print '<table class="noborder" width="100%">';
-		print '<tr class="liste_titre"><td>'.$langs->trans("BoxTitleLastModifiedSuppliers",min($max,$num)).'</td>';
-		print '<td align="right">'.$langs->trans("DateModificationShort").'</td>';
+		print '<tr class="liste_titre"><th>'.$langs->trans("BoxTitleLastModifiedSuppliers",min($max,$num)).'</th>';
+		print '<th align="right">'.$langs->trans("DateModificationShort").'</th>';
 		print '</tr>';
 		if ($num)
 		{
@@ -628,7 +628,7 @@ if (! empty($conf->contrat->enabled) && $user->rights->contrat->lire && 0) // TO
 		if ($num > 0)
 		{
 			print '<table class="noborder" width="100%">';
-			print '<tr class="liste_titre"><td colspan="3">'.$langs->trans("LastContracts",5).'</td></tr>';
+			print '<tr class="liste_titre"><th colspan="3">'.$langs->trans("LastContracts",5).'</th></tr>';
 			$i = 0;
 
 			$staticcontrat=new Contrat($db);
@@ -689,7 +689,7 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire)
 			$var=true;
 
 			print '<table class="noborder" width="100%">';
-			print '<tr class="liste_titre"><td colspan="5">'.$langs->trans("ProposalsOpened").' <a href="'.DOL_URL_ROOT.'/comm/propal/list.php?viewstatut=1"><span class="badge">'.$num.'</span></td></tr>';
+			print '<tr class="liste_titre"><th colspan="5">'.$langs->trans("ProposalsOpened").' <a href="'.DOL_URL_ROOT.'/comm/propal/list.php?viewstatut=1"><span class="badge">'.$num.'</span></th></tr>';
 
 			$nbofloop=min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD)?500:$conf->global->MAIN_MAXLIST_OVERLOAD));
 			while ($i < $nbofloop)
@@ -788,7 +788,7 @@ if (! empty($conf->commande->enabled) && $user->rights->commande->lire)
 			$var=true;
 
 			print '<table class="noborder" width="100%">';
-			print '<tr class="liste_titre"><td colspan="5">'.$langs->trans("OrdersOpened").' <a href="'.DOL_URL_ROOT.'/commande/list.php?viewstatut=1"><span class="badge">'.$num.'</span></td></tr>';
+			print '<tr class="liste_titre"><th class="liste_titre" colspan="5">'.$langs->trans("OrdersOpened").' <a href="'.DOL_URL_ROOT.'/commande/list.php?viewstatut=1"><span class="badge">'.$num.'</span></th></tr>';
 
 			$nbofloop=min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD)?500:$conf->global->MAIN_MAXLIST_OVERLOAD));
 			while ($i < $nbofloop)
diff --git a/htdocs/commande/index.php b/htdocs/commande/index.php
index 24e07b5ab07..f24202f7fff 100644
--- a/htdocs/commande/index.php
+++ b/htdocs/commande/index.php
@@ -119,7 +119,7 @@ if ($resql)
     }
     $db->free($resql);
     print '<table class="noborder nohover" width="100%">';
-    print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("Statistics").' - '.$langs->trans("CustomersOrders").'</td></tr>'."\n";
+    print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("Statistics").' - '.$langs->trans("CustomersOrders").'</th></tr>'."\n";
     $listofstatus=array(0,1,2,3,3,-1);
     $bool=false;
     foreach ($listofstatus as $status)
@@ -187,7 +187,7 @@ if (! empty($conf->commande->enabled))
 	{
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="2">'.$langs->trans("DraftOrders").'</td></tr>';
+		print '<th colspan="2">'.$langs->trans("DraftOrders").'</th></tr>';
 		$langs->load("orders");
 		$num = $db->num_rows($resql);
 		if ($num)
@@ -259,7 +259,7 @@ if ($resql)
 {
 	print '<table class="noborder" width="100%">';
 	print '<tr class="liste_titre">';
-	print '<td colspan="4">'.$langs->trans("LastModifiedOrders",$max).'</td></tr>';
+	print '<th colspan="4">'.$langs->trans("LastModifiedOrders",$max).'</th></tr>';
 
 	$num = $db->num_rows($resql);
 	if ($num)
@@ -341,7 +341,7 @@ if (! empty($conf->commande->enabled))
 
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="3">'.$langs->trans("OrdersToProcess").' <a href="'.DOL_URL_ROOT.'/commande/list.php?viewstatut=1"><span class="badge">'.$num.'</span></a></td></tr>';
+		print '<th colspan="3">'.$langs->trans("OrdersToProcess").' <a href="'.DOL_URL_ROOT.'/commande/list.php?viewstatut=1"><span class="badge">'.$num.'</span></a></th></tr>';
 
 		if ($num)
 		{
@@ -423,7 +423,7 @@ if (! empty($conf->commande->enabled))
 
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="3">'.$langs->trans("OnProcessOrders").' <a href="'.DOL_URL_ROOT.'/commande/list.php?viewstatut=2"><span class="badge">'.$num.'</span></a></td></tr>';
+		print '<th colspan="3">'.$langs->trans("OnProcessOrders").' <a href="'.DOL_URL_ROOT.'/commande/list.php?viewstatut=2"><span class="badge">'.$num.'</span></a></th></tr>';
 
 		if ($num)
 		{
diff --git a/htdocs/compta/index.php b/htdocs/compta/index.php
index 44d9aa4d3c1..ea8d47b264e 100644
--- a/htdocs/compta/index.php
+++ b/htdocs/compta/index.php
@@ -162,7 +162,7 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire)
 
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="3">'.$langs->trans("CustomersDraftInvoices").($num?' <span class="badge">'.$num.'</span>':'').'</td></tr>';
+		print '<th colspan="3">'.$langs->trans("CustomersDraftInvoices").($num?' <span class="badge">'.$num.'</span>':'').'</th></tr>';
 		if ($num)
 		{
 			$companystatic=new Societe($db);
@@ -238,7 +238,7 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture-
 
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="3">'.$langs->trans("SuppliersDraftInvoices").($num?' <span class="badge">'.$num.'</span>':'').'</td></tr>';
+		print '<th colspan="3">'.$langs->trans("SuppliersDraftInvoices").($num?' <span class="badge">'.$num.'</span>':'').'</th></tr>';
 		if ($num)
 		{
 			$companystatic=new Societe($db);
@@ -324,11 +324,11 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire)
 		$i = 0;
 
 		print '<table class="noborder" width="100%">';
-		print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("BoxTitleLastCustomerBills",$max).'</td>';
-		if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td align="right">'.$langs->trans("AmountHT").'</td>';
-		print '<td align="right">'.$langs->trans("AmountTTC").'</td>';
-		print '<td align="right">'.$langs->trans("DateModificationShort").'</td>';
-		print '<td width="16">&nbsp;</td>';
+		print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("BoxTitleLastCustomerBills",$max).'</th>';
+		if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<th align="right">'.$langs->trans("AmountHT").'</th>';
+		print '<th align="right">'.$langs->trans("AmountTTC").'</th>';
+		print '<th align="right">'.$langs->trans("DateModificationShort").'</th>';
+		print '<th width="16">&nbsp;</th>';
 		print '</tr>';
 		if ($num)
 		{
@@ -432,11 +432,11 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture-
 		$num = $db->num_rows($resql);
 
 		print '<table class="noborder" width="100%">';
-		print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("BoxTitleLastSupplierBills",$max).'</td>';
-		if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td align="right">'.$langs->trans("AmountHT").'</td>';
-		print '<td align="right">'.$langs->trans("AmountTTC").'</td>';
-		print '<td align="right">'.$langs->trans("DateModificationShort").'</td>';
-		print '<td width="16">&nbsp;</td>';
+		print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("BoxTitleLastSupplierBills",$max).'</th>';
+		if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<th align="right">'.$langs->trans("AmountHT").'</th>';
+		print '<th align="right">'.$langs->trans("AmountTTC").'</th>';
+		print '<th align="right">'.$langs->trans("DateModificationShort").'</th>';
+		print '<th width="16">&nbsp;</th>';
 		print "</tr>\n";
 		if ($num)
 		{
@@ -513,10 +513,10 @@ if (! empty($conf->don->enabled) && $user->rights->societe->lire)
 
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td>'.$langs->trans("BoxTitleLastModifiedDonations",$max).'</td>';
-        print '<td align="right">'.$langs->trans("AmountTTC").'</td>';
-		print '<td align="right">'.$langs->trans("DateModificationShort").'</td>';
-        print '<td width="16">&nbsp;</td>';
+		print '<th>'.$langs->trans("BoxTitleLastModifiedDonations",$max).'</th>';
+        print '<th align="right">'.$langs->trans("AmountTTC").'</th>';
+		print '<th align="right">'.$langs->trans("DateModificationShort").'</th>';
+        print '<th width="16">&nbsp;</th>';
 		print '</tr>';
 		if ($num)
 		{
@@ -581,11 +581,11 @@ if (! empty($conf->tax->enabled) && $user->rights->tax->charges->lire)
 
 			print '<table class="noborder" width="100%">';
 			print '<tr class="liste_titre">';
-			print '<td>'.$langs->trans("ContributionsToPay").($num?' <a href="'.DOL_URL_ROOT.'/compta/sociales/index.php?status=0"><span class="badge">'.$num.'</span></a>':'').'</td>';
-			print '<td align="center">'.$langs->trans("DateDue").'</td>';
-			print '<td align="right">'.$langs->trans("AmountTTC").'</td>';
-			print '<td align="right">'.$langs->trans("Paid").'</td>';
-			print '<td align="center" width="16">&nbsp;</td>';
+			print '<th>'.$langs->trans("ContributionsToPay").($num?' <a href="'.DOL_URL_ROOT.'/compta/sociales/index.php?status=0"><span class="badge">'.$num.'</span></a>':'').'</th>';
+			print '<th align="center">'.$langs->trans("DateDue").'</th>';
+			print '<th align="right">'.$langs->trans("AmountTTC").'</th>';
+			print '<th align="right">'.$langs->trans("Paid").'</th>';
+			print '<th align="center" width="16">&nbsp;</th>';
 			print '</tr>';
 			if ($num)
 			{
@@ -667,11 +667,11 @@ if (! empty($conf->facture->enabled) && ! empty($conf->commande->enabled) && $us
 			$i = 0;
 			print '<table class="noborder" width="100%">';
 			print "<tr class=\"liste_titre\">";
-			print '<td colspan="2">'.$langs->trans("OrdersDeliveredToBill").' <a href="'.DOL_URL_ROOT.'/commande/list.php?viewstatut=3&amp;billed=0"><span class="badge">'.$num.'</span></a></td>';
-			if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td align="right">'.$langs->trans("AmountHT").'</td>';
-			print '<td align="right">'.$langs->trans("AmountTTC").'</td>';
-			print '<td align="right">'.$langs->trans("ToBill").'</td>';
-			print '<td align="center" width="16">&nbsp;</td>';
+			print '<th colspan="2">'.$langs->trans("OrdersDeliveredToBill").' <a href="'.DOL_URL_ROOT.'/commande/list.php?viewstatut=3&amp;billed=0"><span class="badge">'.$num.'</span></a></th>';
+			if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<th align="right">'.$langs->trans("AmountHT").'</th>';
+			print '<th align="right">'.$langs->trans("AmountTTC").'</th>';
+			print '<th align="right">'.$langs->trans("ToBill").'</th>';
+			print '<th align="center" width="16">&nbsp;</th>';
 			print '</tr>';
 			$tot_ht=$tot_ttc=$tot_tobill=0;
 			$societestatic = new Societe($db);
@@ -769,12 +769,12 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire)
 		$i = 0;
 
 		print '<table class="noborder" width="100%">';
-		print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("BillsCustomersUnpaid",$num).' <a href="'.DOL_URL_ROOT.'/compta/facture/list.php?search_status=1"><span class="badge">'.$num.'</span></a></td>';
-		print '<td align="right">'.$langs->trans("DateDue").'</td>';
-		if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td align="right">'.$langs->trans("AmountHT").'</td>';
-		print '<td align="right">'.$langs->trans("AmountTTC").'</td>';
-		print '<td align="right">'.$langs->trans("Received").'</td>';
-		print '<td width="16">&nbsp;</td>';
+		print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("BillsCustomersUnpaid",$num).' <a href="'.DOL_URL_ROOT.'/compta/facture/list.php?search_status=1"><span class="badge">'.$num.'</span></a></th>';
+		print '<th align="right">'.$langs->trans("DateDue").'</th>';
+		if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<th align="right">'.$langs->trans("AmountHT").'</th>';
+		print '<th align="right">'.$langs->trans("AmountTTC").'</th>';
+		print '<th align="right">'.$langs->trans("Received").'</th>';
+		print '<th width="16">&nbsp;</th>';
 		print '</tr>';
 		if ($num)
 		{
@@ -891,12 +891,12 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture-
 		$num = $db->num_rows($resql);
 
 		print '<table class="noborder" width="100%">';
-		print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("BillsSuppliersUnpaid",$num).' <a href="'.DOL_URL_ROOT.'/fourn/facture/impayees.php"><span class="badge">'.$num.'</span></a></td>';
-		print '<td align="right">'.$langs->trans("DateDue").'</td>';
-		if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td align="right">'.$langs->trans("AmountHT").'</td>';
-		print '<td align="right">'.$langs->trans("AmountTTC").'</td>';
-		print '<td align="right">'.$langs->trans("Paid").'</td>';
-		print '<td width="16">&nbsp;</td>';
+		print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("BillsSuppliersUnpaid",$num).' <a href="'.DOL_URL_ROOT.'/fourn/facture/impayees.php"><span class="badge">'.$num.'</span></a></th>';
+		print '<th align="right">'.$langs->trans("DateDue").'</th>';
+		if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<th align="right">'.$langs->trans("AmountHT").'</th>';
+		print '<th align="right">'.$langs->trans("AmountTTC").'</th>';
+		print '<th align="right">'.$langs->trans("Paid").'</th>';
+		print '<th width="16">&nbsp;</th>';
 		print "</tr>\n";
 		$societestatic = new Societe($db);
 		if ($num)
@@ -963,7 +963,7 @@ $resql = 0;
 if ($resql)
 {
 	print '<table class="noborder" width="100%">';
-	print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("TasksToDo").'</td>';
+	print '<tr class="liste_titre"><thcolspan="2">'.$langs->trans("TasksToDo").'</th>';
 	print "</tr>\n";
 	$var = true;
 	$i = 0;
diff --git a/htdocs/compta/paiement/cheque/index.php b/htdocs/compta/paiement/cheque/index.php
index 887868fb594..bba49827104 100644
--- a/htdocs/compta/paiement/cheque/index.php
+++ b/htdocs/compta/paiement/cheque/index.php
@@ -67,7 +67,7 @@ $resql = $db->query($sql);
 
 print '<table class="noborder" width="100%">';
 print '<tr class="liste_titre">';
-print '<td colspan="2">'.$langs->trans("BankChecks")."</td>\n";
+print '<th colspan="2">'.$langs->trans("BankChecks")."</th>\n";
 print "</tr>\n";
 
 if ($resql)
@@ -111,12 +111,12 @@ if ($resql)
 {
 	print '<table class="noborder" width="100%">';
 	print '<tr class="liste_titre">';
-	print '<td>'.$langs->trans("LastCheckReceiptShort",$max).'</td>';
-	print '<td>'.$langs->trans("Date")."</td>";
-	print '<td>'.$langs->trans("Account").'</td>';
-	print '<td align="right">'.$langs->trans("NbOfCheques").'</td>';
-	print '<td align="right">'.$langs->trans("Amount").'</td>';
-	print '<td align="right">'.$langs->trans("Status").'</td>';
+	print '<th>'.$langs->trans("LastCheckReceiptShort",$max).'</th>';
+	print '<th>'.$langs->trans("Date")."</th>";
+	print '<th>'.$langs->trans("Account").'</th>';
+	print '<th align="right">'.$langs->trans("NbOfCheques").'</th>';
+	print '<th align="right">'.$langs->trans("Amount").'</th>';
+	print '<th align="right">'.$langs->trans("Status").'</th>';
 	print "</tr>\n";
 
 	$var=true;
diff --git a/htdocs/compta/prelevement/index.php b/htdocs/compta/prelevement/index.php
index 9e766e937e2..440af1cdbaf 100644
--- a/htdocs/compta/prelevement/index.php
+++ b/htdocs/compta/prelevement/index.php
@@ -74,7 +74,7 @@ $bprev = new BonPrelevement($db);
 $var=true;
 
 print '<table class="noborder" width="100%">';
-print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("Statistics").'</td></tr>';
+print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("Statistics").'</th></tr>';
 $var=!$var;
 print '<tr '.$bc[$var].'><td>'.$langs->trans("NbOfInvoiceToWithdraw").'</td>';
 print '<td align="right">';
@@ -114,7 +114,7 @@ if ($resql)
 
     print '<table class="noborder" width="100%">';
     print '<tr class="liste_titre">';
-    print '<td colspan="5">'.$langs->trans("InvoiceWaitingWithdraw").' ('.$num.')</td></tr>';
+    print '<th colspan="5">'.$langs->trans("InvoiceWaitingWithdraw").' ('.$num.')</th></tr>';
     if ($num)
     {
         $var = True;
@@ -188,10 +188,10 @@ if ($result)
 
     print"\n<!-- debut table -->\n";
     print '<table class="noborder" width="100%">';
-    print '<tr class="liste_titre"><td>'.$langs->trans("LastWithdrawalReceipt",$limit).'</td>';
-    print '<td>'.$langs->trans("Date").'</td>';
-    print '<td align="right">'.$langs->trans("Amount").'</td>';
-    print '<td align="right">'.$langs->trans("Status").'</td>';
+    print '<tr class="liste_titre"><th>'.$langs->trans("LastWithdrawalReceipt",$limit).'</th>';
+    print '<th>'.$langs->trans("Date").'</th>';
+    print '<th align="right">'.$langs->trans("Amount").'</th>';
+    print '<th align="right">'.$langs->trans("Status").'</th>';
     print '</tr>';
 
     while ($i < min($num,$limit))
diff --git a/htdocs/contrat/index.php b/htdocs/contrat/index.php
index b1d99c60d20..9ec924254a9 100644
--- a/htdocs/contrat/index.php
+++ b/htdocs/contrat/index.php
@@ -180,7 +180,7 @@ else
 
 
 print '<table class="noborder nohover" width="100%">';
-print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("Statistics").' - '.$langs->trans("Services").'</td></tr>'."\n";
+print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("Statistics").' - '.$langs->trans("Services").'</th></tr>'."\n";
 $var=true;
 $listofstatus=array(0,4,4,5); $bool=false;
 foreach($listofstatus as $status)
@@ -248,7 +248,7 @@ if (! empty($conf->contrat->enabled) && $user->rights->contrat->lire)
 
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="3">'.$langs->trans("DraftContracts").($num?' <span class="badge">'.$num.'</span>':'').'</td></tr>';
+		print '<th colspan="3">'.$langs->trans("DraftContracts").($num?' <span class="badge">'.$num.'</span>':'').'</th></tr>';
 		if ($num)
 		{
 			$companystatic=new Societe($db);
@@ -324,10 +324,10 @@ if ($result)
 
 	print '<table class="noborder" width="100%">';
 
-	print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("LastContracts",5).'</td>';
-	print '<td align="center">'.$langs->trans("DateModification").'</td>';
-	//print '<td align="left">'.$langs->trans("Status").'</td>';
-	print '<td align="center" width="80" colspan="4">'.$langs->trans("Services").'</td>';
+	print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("LastContracts",5).'</th>';
+	print '<th align="center">'.$langs->trans("DateModification").'</th>';
+	//print '<th align="left">'.$langs->trans("Status").'</th>';
+	print '<th align="center" width="80" colspan="4">'.$langs->trans("Services").'</th>';
 	print "</tr>\n";
 
 	$var=True;
@@ -394,7 +394,7 @@ if ($resql)
 
 	print '<table class="noborder" width="100%">';
 
-	print '<tr class="liste_titre"><td colspan="4">'.$langs->trans("LastModifiedServices",$max).'</td>';
+	print '<tr class="liste_titre"><th colspan="4">'.$langs->trans("LastModifiedServices",$max).'</th>';
 	print "</tr>\n";
 
 	$var=True;
@@ -475,7 +475,7 @@ if ($resql)
 
 	print '<table class="noborder" width="100%">';
 
-	print '<tr class="liste_titre"><td colspan="4">'.$langs->trans("NotActivatedServices").' <a href="'.DOL_URL_ROOT.'/contrat/services.php?mode=0"><span class="badge">'.$num.'</span></a></td>';
+	print '<tr class="liste_titre"><th colspan="4">'.$langs->trans("NotActivatedServices").' <a href="'.DOL_URL_ROOT.'/contrat/services.php?mode=0"><span class="badge">'.$num.'</span></a></th>';
 	print "</tr>\n";
 
 	$var=True;
@@ -556,7 +556,7 @@ if ($resql)
 
 	print '<table class="noborder" width="100%">';
 
-	print '<tr class="liste_titre"><td colspan="4">'.$langs->trans("ListOfExpiredServices").' <a href="'.DOL_URL_ROOT.'/contrat/services.php?mode=4&amp;filter=expired"><span class="badge">'.$num.'</span></a></td>';
+	print '<tr class="liste_titre"><th colspan="4">'.$langs->trans("ListOfExpiredServices").' <a href="'.DOL_URL_ROOT.'/contrat/services.php?mode=4&amp;filter=expired"><span class="badge">'.$num.'</span></a></th>';
 	print "</tr>\n";
 
 	$var=True;
diff --git a/htdocs/core/boxes/box_actions.php b/htdocs/core/boxes/box_actions.php
index 973738fec11..c406ada6fa5 100644
--- a/htdocs/core/boxes/box_actions.php
+++ b/htdocs/core/boxes/box_actions.php
@@ -180,9 +180,6 @@ class box_actions extends ModeleBoxes
 			$actioncejour=false;
 			$contents=$this->info_box_contents;
 			$nblines=count($contents);
-			$bcx=array();
-			$bcx[0] = 'class="box_pair"';
-			$bcx[1] = 'class="box_impair"';
 			if ($contents[0][0]['text'] != $langs->trans("NoActionsToDo"))
 			{
 				$out.= '<div id="dialogboxaction" title="'.$nblines." ".$langs->trans("ActionsToDo").'">';
@@ -204,7 +201,7 @@ class box_actions extends ModeleBoxes
 						$urlsoc=$contents[$line][3]['url'];
 						$dateligne=$contents[$line][4]['text'];
 						$percentage=$contents[$line][5]['text'];
-						$out.= '<tr '.$bcx[$var].'>';
+						$out.= '<tr class="oddeven">';
 						$out.= '<td align=center>';
 						$out.= img_object("",$logo);
 						$out.= '</td>';
diff --git a/htdocs/core/boxes/modules_boxes.php b/htdocs/core/boxes/modules_boxes.php
index 0f754682925..9a093cff927 100644
--- a/htdocs/core/boxes/modules_boxes.php
+++ b/htdocs/core/boxes/modules_boxes.php
@@ -206,9 +206,6 @@ class ModeleBoxes    // Can't be abtract as it is instantiated to build "empty"
         require_once DOL_DOCUMENT_ROOT .'/core/lib/files.lib.php';
 
 		$MAXLENGTHBOX=60;   // Mettre 0 pour pas de limite
-		$bcx = array();
-		$bcx[0] = 'class="box_pair"';
-		$bcx[1] = 'class="box_impair"';
 		$var = false;
 
         $cachetime = 900;   // 900 : 15mn
@@ -284,7 +281,7 @@ class ModeleBoxes    // Can't be abtract as it is instantiated to build "empty"
 
                         // TR
                         if (isset($contents[$i][0]['tr'])) $out.= '<tr valign="top" '.$contents[$i][0]['tr'].'>';
-                        else $out.= '<tr valign="top" '.$bcx[$var].'>';
+                        else $out.= '<tr class="oddeven">';
 
                         // Loop on each TD
                         $nbcolthisline=count($contents[$i]);
diff --git a/htdocs/core/lib/agenda.lib.php b/htdocs/core/lib/agenda.lib.php
index 09f89ba0c3f..91c5d24f36c 100644
--- a/htdocs/core/lib/agenda.lib.php
+++ b/htdocs/core/lib/agenda.lib.php
@@ -238,8 +238,8 @@ function show_array_actions_to_do($max=5)
 	    $num = $db->num_rows($resql);
 
 	    print '<table class="noborder" width="100%">';
-	    print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("LastActionsToDo",$max).'</td>';
-		print '<td colspan="2" align="right"><a class="commonlink" href="'.DOL_URL_ROOT.'/comm/action/listactions.php?status=todo">'.$langs->trans("FullList").'</a>';
+	    print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("LastActionsToDo",$max).'</th>';
+		print '<th colspan="2" align="right"><a class="commonlink" href="'.DOL_URL_ROOT.'/comm/action/listactions.php?status=todo">'.$langs->trans("FullList").'</a></th>';
 		print '</tr>';
 
 		$var = true;
@@ -335,8 +335,8 @@ function show_array_last_actions_done($max=5)
 		$num = $db->num_rows($resql);
 
 		print '<table class="noborder" width="100%">';
-		print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("LastDoneTasks",$max).'</td>';
-		print '<td colspan="2" align="right"><a class="commonlink" href="'.DOL_URL_ROOT.'/comm/action/listactions.php?status=done">'.$langs->trans("FullList").'</a>';
+		print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("LastDoneTasks",$max).'</th>';
+		print '<th colspan="2" align="right"><a class="commonlink" href="'.DOL_URL_ROOT.'/comm/action/listactions.php?status=done">'.$langs->trans("FullList").'</a></th>';
 		print '</tr>';
 		$var = true;
 		$i = 0;
diff --git a/htdocs/don/index.php b/htdocs/don/index.php
index daf82d85bbc..de4d84529fe 100644
--- a/htdocs/don/index.php
+++ b/htdocs/don/index.php
@@ -112,7 +112,7 @@ if (! empty($conf->global->MAIN_SEARCH_FORM_ON_HOME_AREAS))     // This is usele
 
 print '<table class="noborder nohover" width="100%">';
 print '<tr class="liste_titre">';
-print '<td colspan="4">'.$langs->trans("Statistics").'</td>';
+print '<th colspan="4">'.$langs->trans("Statistics").'</th>';
 print "</tr>\n";
 
 $listofstatus=array(0,1,-1,2);
@@ -182,7 +182,7 @@ if ($resql)
 {
     print '<table class="noborder" width="100%">';
     print '<tr class="liste_titre">';
-    print '<td colspan="5">'.$langs->trans("LastModifiedDonations",$max).'</td></tr>';
+    print '<th colspan="5">'.$langs->trans("LastModifiedDonations",$max).'</th></tr>';
 
     $num = $db->num_rows($resql);
     if ($num)
diff --git a/htdocs/expedition/index.php b/htdocs/expedition/index.php
index e9bfa8a484c..17f349348ff 100644
--- a/htdocs/expedition/index.php
+++ b/htdocs/expedition/index.php
@@ -88,7 +88,7 @@ if ($resql)
 	{
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="3">'.$langs->trans("SendingsToValidate").'</td></tr>';
+		print '<th colspan="3">'.$langs->trans("SendingsToValidate").'</th></tr>';
 		$i = 0;
 		$var = True;
 		while ($i < $num)
@@ -141,7 +141,7 @@ if ($resql)
 		$i = 0;
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="3">'.$langs->trans("OrdersToProcess").'</td></tr>';
+		print '<th colspan="3">'.$langs->trans("OrdersToProcess").'</th></tr>';
 		$var = True;
 		while ($i < $num)
 		{
@@ -203,7 +203,7 @@ if ( $resql )
 		$i = 0;
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="3">'.$langs->trans("OrdersInProcess").'</td></tr>';
+		print '<th colspan="3">'.$langs->trans("OrdersInProcess").'</th></tr>';
 		$var = True;
 		while ($i < $num)
 		{
@@ -264,7 +264,7 @@ if ($resql)
 		$i = 0;
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="3">'.$langs->trans("LastSendings",$num).'</td></tr>';
+		print '<th colspan="3">'.$langs->trans("LastSendings",$num).'</th></tr>';
 		$var = True;
 		while ($i < $num)
 		{
diff --git a/htdocs/expensereport/index.php b/htdocs/expensereport/index.php
index 2b317a0b751..3f37be8fb8d 100644
--- a/htdocs/expensereport/index.php
+++ b/htdocs/expensereport/index.php
@@ -112,7 +112,7 @@ print '<div class="fichecenter"><div class="fichethirdleft">';
 
 print '<table class="noborder nohover" width="100%">';
 print '<tr class="liste_titre">';
-print '<td colspan="4">'.$langs->trans("Statistics").'</td>';
+print '<th colspan="4">'.$langs->trans("Statistics").'</th>';
 print "</tr>\n";
 
 $listoftype=$tripandexpense_static->listOfTypes();
@@ -174,11 +174,11 @@ if ($result)
 
     print '<table class="noborder" width="100%">';
     print '<tr class="liste_titre">';
-    print '<td colspan="2">'.$langs->trans("BoxTitleLastModifiedExpenses",min($max,$num)).'</td>';
-    print '<td align="right">'.$langs->trans("AmountHT").'</td>';
-    print '<td align="right">'.$langs->trans("AmountTTC").'</td>';
-    print '<td align="right">'.$langs->trans("DateModificationShort").'</td>';
-    print '<td>&nbsp;</td>';
+    print '<th colspan="2">'.$langs->trans("BoxTitleLastModifiedExpenses",min($max,$num)).'</th>';
+    print '<th align="right">'.$langs->trans("AmountHT").'</th>';
+    print '<th align="right">'.$langs->trans("AmountTTC").'</th>';
+    print '<th align="right">'.$langs->trans("DateModificationShort").'</th>';
+    print '<th>&nbsp;</th>';
     print '</tr>';
     if ($num)
     {
diff --git a/htdocs/fichinter/index.php b/htdocs/fichinter/index.php
index f1592b1e13b..59f94df5f7b 100644
--- a/htdocs/fichinter/index.php
+++ b/htdocs/fichinter/index.php
@@ -116,7 +116,7 @@ if ($resql)
     }
     $db->free($resql);
     print '<table class="noborder nohover" width="100%">';
-    print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("Statistics").' - '.$langs->trans("Interventions").'</td></tr>'."\n";
+    print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("Statistics").' - '.$langs->trans("Interventions").'</th></tr>'."\n";
     $listofstatus=array(0,1,2);
     $bool=false;
     foreach ($listofstatus as $status)
@@ -181,7 +181,7 @@ if (! empty($conf->ficheinter->enabled))
 	{
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="2">'.$langs->trans("DraftFichinter").'</td></tr>';
+		print '<th colspan="2">'.$langs->trans("DraftFichinter").'</th></tr>';
 		$langs->load("fichinter");
 		$num = $db->num_rows($resql);
 		if ($num)
@@ -231,7 +231,7 @@ if ($resql)
 {
 	print '<table class="noborder" width="100%">';
 	print '<tr class="liste_titre">';
-	print '<td colspan="4">'.$langs->trans("LastModifiedInterventions",$max).'</td></tr>';
+	print '<th colspan="4">'.$langs->trans("LastModifiedInterventions",$max).'</th></tr>';
 
 	$num = $db->num_rows($resql);
 	if ($num)
@@ -303,7 +303,7 @@ if (! empty($conf->ficheinter->enabled))
 
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="3">'.$langs->trans("FichinterToProcess").' <a href="'.DOL_URL_ROOT.'/fichinter/list.php?viewstatut=1"><span class="badge">'.$num.'</span></a></td></tr>';
+		print '<th colspan="3">'.$langs->trans("FichinterToProcess").' <a href="'.DOL_URL_ROOT.'/fichinter/list.php?viewstatut=1"><span class="badge">'.$num.'</span></a></th></tr>';
 
 		if ($num)
 		{
diff --git a/htdocs/fourn/commande/index.php b/htdocs/fourn/commande/index.php
index 8ad4b9f4857..be27733294f 100644
--- a/htdocs/fourn/commande/index.php
+++ b/htdocs/fourn/commande/index.php
@@ -112,7 +112,7 @@ if ($resql)
 	$db->free($resql);
 
 	print '<table class="noborder nohover" width="100%">';
-	print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("Statistics").' - '.$langs->trans("SuppliersOrders").'</td></tr>';
+	print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("Statistics").' - '.$langs->trans("SuppliersOrders").'</th></tr>';
 	print "</tr>\n";
 	foreach (array(0,1,2,3,4,5,6) as $statut)
 	{
@@ -169,8 +169,8 @@ if ($resql)
 
 	print '<table class="liste" width="100%">';
 
-	print '<tr class="liste_titre"><td>'.$langs->trans("Status").'</td>';
-	print '<td align="right">'.$langs->trans("Nb").'</td>';
+	print '<tr class="liste_titre"><th>'.$langs->trans("Status").'</th>';
+	print '<th align="right">'.$langs->trans("Nb").'</th>';
 	print "</tr>\n";
 	$var=True;
 
@@ -216,7 +216,7 @@ if (! empty($conf->fournisseur->enabled))
 	{
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="2">'.$langs->trans("DraftOrders").'</td></tr>';
+		print '<th colspan="2">'.$langs->trans("DraftOrders").'</th></tr>';
 		$langs->load("orders");
 		$num = $db->num_rows($resql);
 		if ($num)
@@ -261,7 +261,7 @@ if ($resql)
 	$i = 0;
 
 	print '<table class="liste" width="100%">';
-	print '<tr class="liste_titre"><td>'.$langs->trans("UserWithApproveOrderGrant").'</td>';
+	print '<tr class="liste_titre"><th>'.$langs->trans("UserWithApproveOrderGrant").'</th>';
 	print "</tr>\n";
 	$var=True;
 
@@ -315,7 +315,7 @@ if ($resql)
 {
 	print '<table class="noborder" width="100%">';
 	print '<tr class="liste_titre">';
-	print '<td colspan="4">'.$langs->trans("LastModifiedOrders",$max).'</td></tr>';
+	print '<th colspan="4">'.$langs->trans("LastModifiedOrders",$max).'</th></tr>';
 
 	$num = $db->num_rows($resql);
 	if ($num)
@@ -385,7 +385,7 @@ $num = $db->num_rows($resql);
 
 print '<table class="noborder" width="100%">';
 print '<tr class="liste_titre">';
-print '<td colspan="3">'.$langs->trans("OrdersToProcess").' <a href="'.DOL_URL_ROOT.'/commande/list.php?viewstatut=1">('.$num.')</a></td></tr>';
+print '<th colspan="3">'.$langs->trans("OrdersToProcess").' <a href="'.DOL_URL_ROOT.'/commande/list.php?viewstatut=1">('.$num.')</a></th></tr>';
 
 if ($num)
 {
diff --git a/htdocs/hrm/index.php b/htdocs/hrm/index.php
index e8038497e2c..b0e2bf58d79 100644
--- a/htdocs/hrm/index.php
+++ b/htdocs/hrm/index.php
@@ -121,7 +121,7 @@ if (! empty($conf->holiday->enabled))
 	$user_id = $user->id;
 
     print '<table class="noborder nohover" width="100%">';
-    print '<tr class="liste_titre"><td colspan="3">'.$langs->trans("Holidays").'</td></tr>';
+    print '<tr class="liste_titre"><th colspan="3">'.$langs->trans("Holidays").'</th></tr>';
     print "<tr ".$bc[0].">";
     print '<td colspan="3">';
 
@@ -179,11 +179,11 @@ if (! empty($conf->holiday->enabled) && $user->rights->holiday->read)
 
         print '<table class="noborder" width="100%">';
         print '<tr class="liste_titre">';
-        print '<td colspan="3">'.$langs->trans("BoxTitleLastLeaveRequests",min($max,$num)).'</td>';
-        print '<td>'.$langs->trans("from").'</td>';
-        print '<td>'.$langs->trans("to").'</td>';
-        print '<td align="right">'.$langs->trans("DateModificationShort").'</td>';
-        print '<td width="16">&nbsp;</td>';
+        print '<th colspan="3">'.$langs->trans("BoxTitleLastLeaveRequests",min($max,$num)).'</th>';
+        print '<th>'.$langs->trans("from").'</th>';
+        print '<th>'.$langs->trans("to").'</th>';
+        print '<th align="right">'.$langs->trans("DateModificationShort").'</th>';
+        print '<th width="16">&nbsp;</th>';
         print '</tr>';
         if ($num)
         {
@@ -250,10 +250,10 @@ if (! empty($conf->deplacement->enabled) && $user->rights->deplacement->lire)
 
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="2">'.$langs->trans("BoxTitleLastModifiedExpenses",min($max,$num)).'</td>';
-		print '<td align="right">'.$langs->trans("FeesKilometersOrAmout").'</td>';
-		print '<td align="right">'.$langs->trans("DateModificationShort").'</td>';
-		print '<td width="16">&nbsp;</td>';
+		print '<th colspan="2">'.$langs->trans("BoxTitleLastModifiedExpenses",min($max,$num)).'</th>';
+		print '<th align="right">'.$langs->trans("FeesKilometersOrAmout").'</th>';
+		print '<th align="right">'.$langs->trans("DateModificationShort").'</th>';
+		print '<th width="16">&nbsp;</th>';
 		print '</tr>';
 		if ($num)
 		{
@@ -317,10 +317,10 @@ if (! empty($conf->expensereport->enabled) && $user->rights->expensereport->lire
 
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="2">'.$langs->trans("BoxTitleLastModifiedExpenses",min($max,$num)).'</td>';
-		print '<td align="right">'.$langs->trans("TotalTTC").'</td>';
-		print '<td align="right">'.$langs->trans("DateModificationShort").'</td>';
-		print '<td width="16">&nbsp;</td>';
+		print '<th colspan="2">'.$langs->trans("BoxTitleLastModifiedExpenses",min($max,$num)).'</th>';
+		print '<th align="right">'.$langs->trans("TotalTTC").'</th>';
+		print '<th align="right">'.$langs->trans("DateModificationShort").'</th>';
+		print '<th width="16">&nbsp;</th>';
 		print '</tr>';
 		if ($num)
 		{
diff --git a/htdocs/index.php b/htdocs/index.php
index eab8844b960..4ac80fbf57c 100644
--- a/htdocs/index.php
+++ b/htdocs/index.php
@@ -535,7 +535,7 @@ $boxwork.='</tr>'."\n";
 if ($showweather)
 {
     $var=!$var;
-    $boxwork.='<tr '.$bc[$var].'>';
+    $boxwork.='<tr class="nohover">';
     $boxwork.='<td colspan="4" class="nohover hideonsmartphone center valignmiddle">';
     //$boxwork.=$langs->trans("Meteo");
     //$boxwork.='</td><td colspan="2" class="nohover center">';
@@ -556,23 +556,26 @@ if ($showweather)
 
 
 // Show dashboard
+$nbworkboardempty=0;
 foreach($valid_dashboardlines as $board)
 {
+    if (empty($boad->nbtodo)) $nbworkboardempty++;
+    
     $var=!$var;
-    $boxwork.= '<tr '.$bc[$var].'><td class="nowrap">'.$board->img.' &nbsp; '.$board->label.'</td>';
-    $boxwork.= '<td align="right"><a class="dashboardlineindicator" href="'.$board->url.'"><span class="dashboardlineindicator">'.$board->nbtodo.'</span></a></td>';
-    $boxwork.= '<td align="right">';
+    $boxwork .= '<tr class="oddeven'.($board->nbtodo?'':' workboardempty').'"><td class="nowrap">'.$board->img.' &nbsp; '.$board->label.'</td>';
+    $boxwork .= '<td align="right"><a class="dashboardlineindicator" href="'.$board->url.'"><span class="dashboardlineindicator">'.$board->nbtodo.'</span></a></td>';
+    $boxwork .= '<td align="right">';
     $textlate = $langs->trans("NActionsLate",$board->nbtodolate);
     $textlate.= ' ('.$langs->trans("Late").' = '.$langs->trans("DateReference").' > '.$langs->trans("DateToday").' '.(ceil($board->warning_delay) >= 0 ? '+' : '').ceil($board->warning_delay).' '.$langs->trans("days").')';
-    $boxwork.= '<a title="'.dol_escape_htmltag($textlate).'" class="dashboardlineindicatorlate'.($board->nbtodolate>0?' dashboardlineko':' dashboardlineok').'" href="'.((!$board->url_late) ? $board->url : $board->url_late ).'">';
-    $boxwork.= '<span class="dashboardlineindicatorlate'.($board->nbtodolate>0?' dashboardlineko':' dashboardlineok').'">';
-    $boxwork.= $board->nbtodolate;
-    $boxwork.= '</span>';
-    $boxwork.= '</a>';
-    $boxwork.='</td>';
-    $boxwork.='<td>';
-    if ($board->nbtodolate > 0) $boxwork.=img_picto($textlate, "warning", 'class="valignmiddle"').' ';
-    $boxwork.='</td>';
+    $boxwork .= '<a title="'.dol_escape_htmltag($textlate).'" class="dashboardlineindicatorlate'.($board->nbtodolate>0?' dashboardlineko':' dashboardlineok').'" href="'.((!$board->url_late) ? $board->url : $board->url_late ).'">';
+    $boxwork .= '<span class="dashboardlineindicatorlate'.($board->nbtodolate>0?' dashboardlineko':' dashboardlineok').'">';
+    $boxwork .= $board->nbtodolate;
+    $boxwork .= '</span>';
+    $boxwork .= '</a>';
+    $boxwork .='</td>';
+    $boxwork .='<td>';
+    if ($board->nbtodolate > 0) $boxwork .=img_picto($textlate, "warning", 'class="valignmiddle"').' ';
+    $boxwork .='</td>';
     /*print '<td class="nowrap" align="right">';
     print ' (>'.ceil($board->warning_delay).' '.$langs->trans("days").')';
     print '</td>';*/
@@ -589,8 +592,8 @@ foreach($valid_dashboardlines as $board)
         $boxwork.='</td>';
         $showweather=0;
     }*/
-    $boxwork.='</tr>';
-    $boxwork.="\n";
+    $boxwork .='</tr>';
+    $boxwork .="\n";
 }
 
 $boxwork.='</table>';   // End table array of working board
diff --git a/htdocs/product/index.php b/htdocs/product/index.php
index 84991a76db2..355e0d2757f 100644
--- a/htdocs/product/index.php
+++ b/htdocs/product/index.php
@@ -127,7 +127,7 @@ while ($objp = $db->fetch_object($result))
 }
 
 print '<table class="noborder" width="100%">';
-print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("Statistics").'</td></tr>';
+print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("Statistics").'</th></tr>';
 if (! empty($conf->product->enabled))
 {
 	$statProducts = "<tr ".$bc[0].">";
@@ -268,7 +268,7 @@ if ($result)
 		$colnb=5;
 		if (empty($conf->global->PRODUIT_MULTIPRICES)) $colnb++;
 
-		print '<tr class="liste_titre"><td colspan="'.$colnb.'">'.$transRecordedType.'</td></tr>';
+		print '<tr class="liste_titre"><th colspan="'.$colnb.'">'.$transRecordedType.'</th></tr>';
 
 		$var=True;
 
diff --git a/htdocs/product/stock/index.php b/htdocs/product/stock/index.php
index 7349b48d1c9..b2ecaf3afd1 100644
--- a/htdocs/product/stock/index.php
+++ b/htdocs/product/stock/index.php
@@ -77,7 +77,7 @@ if ($result)
     $i = 0;
 
     print '<table class="noborder" width="100%">';
-    print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("Warehouses").'</td></tr>';
+    print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("Warehouses").'</th></tr>';
 
     if ($num)
     {
@@ -132,16 +132,16 @@ if ($resql)
 
 	print '<table class="noborder" width="100%">';
 	print "<tr class=\"liste_titre\">";
-	print '<td>'.$langs->trans("LastMovements",min($num,$max)).'</td>';
-	print '<td>'.$langs->trans("Product").'</td>';
+	print '<th>'.$langs->trans("LastMovements",min($num,$max)).'</th>';
+	print '<th>'.$langs->trans("Product").'</th>';
 	if (! empty($conf->productbatch->enabled))
 	{
-		print '<td>'.$langs->trans("Batch").'</td>';
-		print '<td>'.$langs->trans("EatByDate").'</td>';
-		print '<td>'.$langs->trans("SellByDate").'</td>';
+		print '<th>'.$langs->trans("Batch").'</th>';
+		print '<th>'.$langs->trans("EatByDate").'</th>';
+		print '<th>'.$langs->trans("SellByDate").'</th>';
 	}
-	print '<td>'.$langs->trans("Warehouse").'</td>';
-	print '<td align="right"><a class="notasortlink" href="'.DOL_URL_ROOT.'/product/stock/mouvement.php">'.$langs->trans("FullList").'</a></td>';
+	print '<th>'.$langs->trans("Warehouse").'</th>';
+	print '<th align="right"><a class="notasortlink" href="'.DOL_URL_ROOT.'/product/stock/mouvement.php">'.$langs->trans("FullList").'</a></th>';
 	print "</tr>\n";
 
 	$var=True;
diff --git a/htdocs/projet/graph_opportunities.inc.php b/htdocs/projet/graph_opportunities.inc.php
index 0480196ccf9..668e96d2958 100644
--- a/htdocs/projet/graph_opportunities.inc.php
+++ b/htdocs/projet/graph_opportunities.inc.php
@@ -50,7 +50,7 @@ if (! empty($conf->global->PROJECT_USE_OPPORTUNITIES))
 	    $ponderated_opp_amount = $ponderated_opp_amount / 100;
 	    
 	    print '<table class="noborder nohover" width="100%">';
-	    print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("Statistics").' - '.$langs->trans("OpportunitiesStatusForOpenedProjects").'</td></tr>'."\n";
+	    print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("Statistics").' - '.$langs->trans("OpportunitiesStatusForOpenedProjects").'</th></tr>'."\n";
 	    $var=true;
 	    $listofstatus=array_keys($listofoppstatus);
 	    foreach ($listofstatus as $status)
diff --git a/htdocs/supplier_proposal/index.php b/htdocs/supplier_proposal/index.php
index eec34a02987..f6ca9aaee45 100644
--- a/htdocs/supplier_proposal/index.php
+++ b/htdocs/supplier_proposal/index.php
@@ -117,7 +117,7 @@ if ($resql)
     $db->free($resql);
 
     print '<table class="noborder" width="100%">';
-    print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("Statistics").' - '.$langs->trans("CommRequests").'</td></tr>'."\n";
+    print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("Statistics").' - '.$langs->trans("CommRequests").'</th></tr>'."\n";
     $var=true;
     $listofstatus=array(0,1,2,3,4);
     foreach ($listofstatus as $status)
@@ -169,7 +169,7 @@ if (! empty($conf->supplier_proposal->enabled))
 	{
 		print '<table class="noborder" width="100%">';
 		print '<tr class="liste_titre">';
-		print '<td colspan="2">'.$langs->trans("DraftRequests").'</td></tr>';
+		print '<th colspan="2">'.$langs->trans("DraftRequests").'</th></tr>';
 		$langs->load("supplier_proposal");
 		$num = $db->num_rows($resql);
 		if ($num)
@@ -227,7 +227,7 @@ if ($resql)
 {
 	print '<table class="noborder" width="100%">';
 	print '<tr class="liste_titre">';
-	print '<td colspan="4">'.$langs->trans("LastModifiedRequests",$max).'</td></tr>';
+	print '<th colspan="4">'.$langs->trans("LastModifiedRequests",$max).'</th></tr>';
 
 	$num = $db->num_rows($resql);
 	if ($num)
@@ -311,7 +311,7 @@ if (! empty($conf->supplier_proposal->enabled) && $user->rights->supplier_propos
 			$var=true;
 
 			print '<table class="noborder" width="100%">';
-			print '<tr class="liste_titre"><td colspan="5">'.$langs->trans("RequestsOpened").' <a href="'.DOL_URL_ROOT.'/supplier_proposal/list.php?viewstatut=1"><span class="badge">'.$num.'</span></a></td></tr>';
+			print '<tr class="liste_titre"><th colspan="5">'.$langs->trans("RequestsOpened").' <a href="'.DOL_URL_ROOT.'/supplier_proposal/list.php?viewstatut=1"><span class="badge">'.$num.'</span></a></th></tr>';
 
 			$nbofloop=min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD)?500:$conf->global->MAIN_MAXLIST_OVERLOAD));
 			while ($i < $nbofloop)
diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php
index a5ae098c545..8a4e636cee0 100644
--- a/htdocs/theme/eldy/style.css.php
+++ b/htdocs/theme/eldy/style.css.php
@@ -2368,23 +2368,23 @@ div.liste_titre_bydiv .divsearchfield {
 }
 
 tr.box_titre .nobordernopadding td {
-	padding: 0px ! important;
+	padding: 0 ! important;
 }
 table.nobordernopadding {
 	border-collapse: collapse !important;
-	border: 0px;
+	border: 0;
 }
 table.nobordernopadding tr {
-	border: 0px !important;
-	padding: 0px 0px !important;
+	border: 0 !important;
+	padding: 0 0 !important;
 }
 table.nobordernopadding tr td {
-	border: 0px;
+	border: 0 !important;
 	padding: 0 3px 0 0;
 }
 table.border tr td table.nobordernopadding tr td {
-	padding-top: 0px;
-	padding-bottom: 0px;
+	padding-top: 0;
+	padding-bottom: 0;
 }
 td.borderright {
     border: none;	/* to erase value for table.nobordernopadding td */
@@ -2559,72 +2559,51 @@ div.pagination li.paginationafterarrows {
 	margin-top: 9px;
 }
 
-/* Prepare to remove class pair - impair
-.noborder > tbody > tr:nth-child(even) td {
-	background: linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
-	background: -o-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
-	background: -moz-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
-	background: -webkit-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
-	background: -ms-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
-	font-family: <?php print $fontlist ?>;
-	border: 0px;
-	margin-bottom: 1px;
-	color: #202020;
-	min-height: 18px;
-}
 
-.noborder > tbody > tr:nth-child(odd) td {
-	background: linear-gradient(bottom, rgb(<?php echo $colorbacklinepair1; ?>) 85%, rgb(<?php echo $colorbacklinepair2; ?>) 100%);
-	background: -o-linear-gradient(bottom, rgb(<?php echo $colorbacklinepair1; ?>) 85%, rgb(<?php echo $colorbacklinepair2; ?>) 100%);
-	background: -moz-linear-gradient(bottom, rgb(<?php echo $colorbacklinepair1; ?>) 85%, rgb(<?php echo $colorbacklinepair2; ?>) 100%);
-	background: -webkit-linear-gradient(bottom, rgb(<?php echo $colorbacklinepair1; ?>) 85%, rgb(<?php echo $colorbacklinepair2; ?>) 100%);
-	background: -ms-linear-gradient(bottom, rgb(<?php echo $colorbacklinepair1; ?>) 85%, rgb(<?php echo $colorbacklinepair2; ?>) 100%);
-	font-family: <?php print $fontlist ?>;
-	border: 0px;
-	margin-bottom: 1px;
-	color: #202020;
-}
-*/
 
 /* Set the color for hover lines */
-.odd:hover, .impair:hover, .even:hover, .pair:hover, .even:hover, .pair:hover, table.dataTable tr.even:hover, table.dataTable tr.odd:hover, .box_pair:hover, .box_impair:hover
+.oddeven:hover, .odd:hover, .impair:hover, .even:hover, .pair:hover, .even:hover, .pair:hover, table.dataTable tr.even:hover, table.dataTable tr.odd:hover
 {
 <?php if ($colorbacklinepairhover) { ?>
 	background: rgb(<?php echo $colorbacklinepairhover; ?>) !important;
 <?php } ?>
 }
 
-.odd, .impair, .nohover .odd:hover, .nohover .impair:hover, tr.odd td.nohover, tr.impair td.nohover,  tr.box_pair td.nohover, tr.box_impair td.nohover
+.oddeven, .odd, .impair, .nohover .odd:hover, .nohover .impair:hover, tr.odd td.nohover, tr.impair td.nohover
 {
 	font-family: <?php print $fontlist ?>;
 	margin-bottom: 1px;
 	color: #202020;
-	min-height: 18px; /* seems to not be used */
-
+}
+.odd, .impair, .nohover .odd:hover, .nohover .impair:hover, tr.odd td.nohover, tr.impair td.nohover
+{
 	background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklineimpair1)); ?>;
 }
 #GanttChartDIV {
 	background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklineimpair1)); ?>;
 }
 
-.even, .pair, .nohover .even:hover, .nohover .pair:hover, tr.even td.nohover, tr.pair td.nohover {
+.oddeven, .even, .pair, .nohover .even:hover, .nohover .pair:hover, tr.even td.nohover, tr.pair td.nohover {
 	font-family: <?php print $fontlist ?>;
 	margin-bottom: 1px;
 	color: #202020;
-
+}
+.even, .pair, .nohover .even:hover, .nohover .pair:hover, tr.even td.nohover, tr.pair td.nohover {
 	background-color: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinepair1)); ?>;
 }
 
-table.dataTable tr.odd {
+table.dataTable tr.odd, table.dataTable tr.oddeven {
 	background-color: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinepair1)); ?> !important;
 }
 
 /* For no hover style */
-table.nohover tr.impair, table.nohover tr.pair, table.nohover tr.impair td, table.nohover tr.pair td, tr.nohover td {
+td.oddeven, table.nohover tr.impair, table.nohover tr.pair, table.nohover tr.impair td, table.nohover tr.pair td, tr.nohover td {
 	background-color: #<?php echo colorArrayToHex(colorStringToArray($colorbacklineimpair1)); ?> !important;
+	background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklineimpair1)); ?> !important;
 }
 tr.nohoverpair td {
 	background-color: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinepair1)); ?> !important;
+	background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinepair1)); ?> !important;
 }
 
 table.dataTable td {
@@ -2699,6 +2678,10 @@ tr.liste_titre th, tr.liste_titre td, th.liste_titre
 {
 	border-bottom: 1px solid #<?php echo ($colorbacktitle1 == '255,255,255'?'BBBBBB':'FDFFFF'); ?>;
 }
+/* TODO Once title line is moved under title search, make border bottom of all th black and force to whit when it's first tr */ 
+tr:first-child th.liste_titre {
+    border-bottom: 1px solid #FFF ! important;
+}
 tr.liste_titre th, th.liste_titre, tr.liste_titre td, td.liste_titre, form.liste_titre div
 {
     font-family: <?php print $fontlist ?>;
@@ -2723,10 +2706,11 @@ tr.liste_titre_topborder td {
 .liste_titre td a.notasortlink:hover {
 	background: transparent;
 }
-tr.liste_titre td.liste_titre, tr.liste_titre td.liste_titre_sel, form.liste_titre div.tagtd {				/* For last line of table headers only */
+tr.liste_titre:last-child th.liste_titre, tr.liste_titre td.liste_titre, tr.liste_titre td.liste_titre_sel, form.liste_titre div.tagtd {				/* For last line of table headers only */
     border-bottom: 1px solid rgb(<?php echo $colortopbordertitle1 ?>);
 }
 
+
 tr.liste_titre_sel th, th.liste_titre_sel, tr.liste_titre_sel td, td.liste_titre_sel, form.liste_titre_sel div
 {
     font-family: <?php print $fontlist ?>;
@@ -2796,6 +2780,32 @@ div.tabBar .noborder {
 }
 
 
+/* Prepare to remove class pair - impair */
+
+.noborder > tbody > tr:nth-child(even):not(.liste_titre), .liste > tbody > tr:nth-child(even):not(.liste_titre) { 
+	background: linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
+	background: -o-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
+	background: -moz-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
+	background: -webkit-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
+	background: -ms-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
+}
+.noborder > tbody > tr:nth-child(even):not(:last-child) td:not(.liste_titre), .liste > tbody > tr:nth-child(even):not(:last-child) td:not(.liste_titre) {
+	border-bottom: 1px solid #ddd;
+}
+
+.noborder > tbody > tr:nth-child(odd):not(.liste_titre), .liste > tbody > tr:nth-child(odd):not(.liste_titre) {
+	background: linear-gradient(bottom, rgb(<?php echo $colorbacklinepair1; ?>) 85%, rgb(<?php echo $colorbacklinepair2; ?>) 100%);
+	background: -o-linear-gradient(bottom, rgb(<?php echo $colorbacklinepair1; ?>) 85%, rgb(<?php echo $colorbacklinepair2; ?>) 100%);
+	background: -moz-linear-gradient(bottom, rgb(<?php echo $colorbacklinepair1; ?>) 85%, rgb(<?php echo $colorbacklinepair2; ?>) 100%);
+	background: -webkit-linear-gradient(bottom, rgb(<?php echo $colorbacklinepair1; ?>) 85%, rgb(<?php echo $colorbacklinepair2; ?>) 100%);
+	background: -ms-linear-gradient(bottom, rgb(<?php echo $colorbacklinepair1; ?>) 85%, rgb(<?php echo $colorbacklinepair2; ?>) 100%);
+}
+.noborder > tbody > tr:nth-child(odd):not(:last-child) td:not(.liste_titre), .liste > tbody > tr:nth-child(odd):not(:last-child) td:not(.liste_titre) {
+	border-bottom: 1px solid #ddd;
+}
+
+
+
 /*
  *  Boxes
  */
@@ -2884,29 +2894,6 @@ tr.box_titre td.boxclose {
 	width: 30px;
 }
 
-tr.box_impair {
-    background: -o-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
-    background: -moz-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
-    background: -webkit-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
-    background: -ms-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
-    background: linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
-
-    font-family: <?php print $fontlist ?>;
-}
-
-
-tr.box_pair {
-    font-family: <?php print $fontlist ?>;
-
-	background-color: #f9f9f9;
-}
-
-tr.box_pair td, tr.box_impair td {
-	/* padding: 4px; */
-}
-tr.box_pair:not(:last-child) td, tr.box_impair:not(:last-child) td {
-    border-bottom: 1px solid #ddd;
-}
 .noborderbottom {
 	border-bottom: none !important;
 }
diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php
index 625251a6bb0..6fad30ed46b 100644
--- a/htdocs/theme/md/style.css.php
+++ b/htdocs/theme/md/style.css.php
@@ -2290,19 +2290,19 @@ div.liste_titre_bydiv .divsearchfield {
 
 table.nobordernopadding {
 	border-collapse: collapse !important;
-	border: 0px;
+	border: 0;
 }
 table.nobordernopadding tr {
-	border: 0px !important;
-	padding: 0px 0px !important;
+	border: 0 !important;
+	padding: 0 0 !important;
 }
 table.nobordernopadding tr td {
-	border: 0px;
+	border: 0 !important;
 	padding: 0 3px 0 0;
 }
 table.border tr td table.nobordernopadding tr td {
-	padding-top: 0px;
-	padding-bottom: 0px;
+	padding-top: 0;
+	padding-bottom: 0;
 }
 td.borderright {
     border: none;	/* to erase value for table.nobordernopadding td */
@@ -2475,44 +2475,48 @@ div.pagination li.paginationafterarrows {
 */
 
 /* Set the color for hover lines */
-.odd:hover, .impair:hover, .even:hover, .pair:hover, .even:hover, .pair:hover, table.dataTable tr.even:hover, table.dataTable tr.odd:hover, .box_pair:hover, .box_impair:hover
+.oddeven:hover, .odd:hover, .impair:hover, .even:hover, .pair:hover, .even:hover, .pair:hover, table.dataTable tr.even:hover, table.dataTable tr.odd:hover
 {
 <?php if ($colorbacklinepairhover) { ?>
 	background: rgb(<?php echo $colorbacklinepairhover; ?>) !important;
 <?php } ?>
 }
 
-.odd, .impair, .nohover .odd:hover, .nohover .impair:hover, tr.odd td.nohover, tr.impair td.nohover,  tr.box_pair td.nohover, tr.box_impair td.nohover
+.oddeven, .odd, .impair, .nohover .odd:hover, .nohover .impair:hover, tr.odd td.nohover, tr.impair td.nohover
 {
 	font-family: <?php print $fontlist ?>;
 	border: 0px;
 	margin-bottom: 1px;
 	color: #202020;
-	min-height: 18px; /* seems to not be used */
-
+}
+.odd, .impair, .nohover .odd:hover, .nohover .impair:hover, tr.odd td.nohover, tr.impair td.nohover
+{
 	background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklineimpair1)); ?>;
 }
 #GanttChartDIV {
 	background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklineimpair1)); ?>;
 }
 
-.even, .pair, .nohover .even:hover, .nohover .pair:hover, tr.even td.nohover, tr.pair td.nohover {
+.oddeven, .even, .pair, .nohover .even:hover, .nohover .pair:hover, tr.even td.nohover, tr.pair td.nohover {
 	font-family: <?php print $fontlist ?>;
 	margin-bottom: 1px;
 	color: #202020;
-
+}
+.even, .pair, .nohover .even:hover, .nohover .pair:hover, tr.even td.nohover, tr.pair td.nohover {
 	background-color: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinepair1)); ?>;
 }
-table.dataTable tr.odd {
+table.dataTable tr.odd, table.dataTable tr.oddeven {
 	background-color: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinepair1)); ?> !important;
 }
 
 /* For no hover style */
-table.nohover tr.impair, table.nohover tr.pair, table.nohover tr.impair td, table.nohover tr.pair td, tr.nohover td {
+td.oddeven, table.nohover tr.impair, table.nohover tr.pair, table.nohover tr.impair td, table.nohover tr.pair td, tr.nohover td {
 	background-color: #<?php echo colorArrayToHex(colorStringToArray($colorbacklineimpair1)); ?> !important;
+	background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklineimpair1)); ?> !important;
 }
 tr.nohoverpair td {
 	background-color: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinepair1)); ?> !important;
+	background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinepair1)); ?> !important;
 }
 
 table.dataTable td {
@@ -2592,6 +2596,10 @@ tr.liste_titre th, tr.liste_titre td, th.liste_titre, form.liste_titre div, div.
 {
 	border-bottom: 1px solid #<?php echo ($colorbacktitle1 == '255,255,255'?'BBBBBB':'FDFFFF'); ?>;
 }
+/* TODO Once title line is moved under title search, make border bottom of all th black and force to whit when it's first tr */ 
+tr:first-child th.liste_titre {
+    border-bottom: 1px solid #FFF ! important;
+}
 tr.liste_titre th, th.liste_titre, tr.liste_titre td, td.liste_titre, form.liste_titre div, div.liste_titre
 {
     font-family: <?php print $fontlist ?>;
@@ -2616,7 +2624,7 @@ tr.liste_titre_topborder td {
 .liste_titre td a.notasortlink:hover {
 	background: transparent;
 }
-tr.liste_titre td.liste_titre, tr.liste_titre td.liste_titre_sel {		/* For last line of table headers only */
+tr.liste_titre:last-child th.liste_titre, tr.liste_titre td.liste_titre, tr.liste_titre td.liste_titre_sel, form.liste_titre div.tagtd {				/* For last line of table headers only */
     border-bottom: 1px solid rgb(<?php echo $colortopbordertitle1 ?>);
 }
 
@@ -2694,6 +2702,31 @@ div .tdtop {
 }
 
 
+/* Prepare to remove class pair - impair */
+
+.noborder > tbody > tr:nth-child(even):not(.liste_titre), .liste > tbody > tr:nth-child(even):not(.liste_titre) { 
+	background: linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
+	background: -o-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
+	background: -moz-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
+	background: -webkit-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
+	background: -ms-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
+}
+.noborder > tbody > tr:nth-child(even):not(:last-child) td:not(.liste_titre), .liste > tbody > tr:nth-child(even):not(:last-child) td:not(.liste_titre) {
+	border-bottom: 1px solid #ddd;
+}
+
+.noborder > tbody > tr:nth-child(odd):not(.liste_titre), .liste > tbody > tr:nth-child(odd):not(.liste_titre) {
+	background: linear-gradient(bottom, rgb(<?php echo $colorbacklinepair1; ?>) 85%, rgb(<?php echo $colorbacklinepair2; ?>) 100%);
+	background: -o-linear-gradient(bottom, rgb(<?php echo $colorbacklinepair1; ?>) 85%, rgb(<?php echo $colorbacklinepair2; ?>) 100%);
+	background: -moz-linear-gradient(bottom, rgb(<?php echo $colorbacklinepair1; ?>) 85%, rgb(<?php echo $colorbacklinepair2; ?>) 100%);
+	background: -webkit-linear-gradient(bottom, rgb(<?php echo $colorbacklinepair1; ?>) 85%, rgb(<?php echo $colorbacklinepair2; ?>) 100%);
+	background: -ms-linear-gradient(bottom, rgb(<?php echo $colorbacklinepair1; ?>) 85%, rgb(<?php echo $colorbacklinepair2; ?>) 100%);
+}
+.noborder > tbody > tr:nth-child(odd):not(:last-child) td:not(.liste_titre), .liste > tbody > tr:nth-child(odd):not(:last-child) td:not(.liste_titre) {
+	border-bottom: 1px solid #ddd;
+}
+
+
 /*
  *  Boxes
  */
@@ -2784,27 +2817,6 @@ tr.box_titre td.boxclose {
 	width: 30px;
 }
 
-tr.box_impair {
-    background: -o-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
-    background: -moz-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
-    background: -webkit-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
-    background: -ms-linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
-    background: linear-gradient(bottom, rgb(<?php echo $colorbacklineimpair1; ?>) 85%, rgb(<?php echo $colorbacklineimpair2; ?>) 100%);
-    font-family: <?php print $fontlist ?>;
-}
-
-tr.box_pair {
-    font-family: <?php print $fontlist ?>;
-
-	background-color: #f9f9f9;
-}
-
-tr.box_pair td, tr.box_impair td {
-	padding: 4px;
-}
-tr.box_pair:not(:last-child) td, tr.box_impair:not(:last-child) td {
-    border-bottom: 1px solid #eee;
-}
 .noborderbottom {
 	border-bottom: none !important;
 }
-- 
GitLab