diff --git a/Dockerfile b/Dockerfile
index a79481d070210865c7540c1c94e840d609a8896c..7c9231bcfa673b199c6a41bef6217b9ba8a46ff1 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -25,10 +25,7 @@ RUN apt-get update \
 # Install PyFF
 RUN python3 -m pip install pyff==${PYFF_VERSION} --break-system-packages
 
-#RUN python3 -m pip install pyff==${PYFF_VERSION} --break-system-packages \
-#    && sed 's/random.seed(self)/random.seed(id(self))/' -i $(find /usr -name repo.py) # Until the commit https://github.com/IdentityPython/pyFF/commit/601f796776a1948bf09278e6f7ad4c1266904992 will not be implemented into a new PyFF release
-
-# Get Google Chrome & Google Chrome Driver
+# Get Google Chrome as ROOT
 # Check available versions here: https://www.ubuntuupdates.org/package/google_chrome/stable/main/base/google-chrome-stable
 RUN wget "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${CHROME_VERSION}_amd64.deb" -O google-chrome-stable_current_amd64.deb \
     && apt install -y ./google-chrome-stable_current_amd64.deb --no-install-recommends \
@@ -39,7 +36,7 @@ USER eccs:eccs
 # Get ECCS
 WORKDIR /home/eccs
 
-# Google Chrome Driver
+# Get Google Chrome Driver as ECCS
 RUN wget "https://storage.googleapis.com/chrome-for-testing-public/${CHROMEDRIVER_VERSION}/linux64/chromedriver-linux64.zip" -O chromedriver_linux64.zip \
     && unzip chromedriver_linux64.zip \
     && rm chromedriver_linux64.zip \
@@ -48,15 +45,17 @@ RUN wget "https://storage.googleapis.com/chrome-for-testing-public/${CHROMEDRIVE
 
 COPY --chown=eccs:eccs pyff-config/ pyff-config/
 
-COPY --chown=eccs:eccs api.py clean7daysOldFiles.sh cleanAndRunEccs.sh eccs.ini eccs.py eccs_properties.py eccs-wsgi.py get-sps-metadata.sh retryFailedChecks.py runEccs.py utils.py .
-COPY --chown=eccs:eccs  input/ input/
-COPY --chown=eccs:eccs  web/ web/
+COPY --chown=eccs:eccs api.py clean7daysOldFiles.sh cleanAndRunEccs.sh eccs.ini eccs.py eccs_properties.py eccs-wsgi.py get-sps-metadata.sh retryFailedChecks.py runEccs.py utils.py ./
+COPY --chown=eccs:eccs input/ input/
+COPY --chown=eccs:eccs web/ web/
 RUN mkdir -m 755 output html logs selenium-logs \
-    && chown -R eccs:eccs output html logs selenium-logs
+ && chown -R eccs:eccs output html logs selenium-logs
 
 USER root:root
 
-COPY eccs-logrotate.conf /etc/logrotate.d/eccs
+COPY eccs-logrotate.conf /etc/logrotate.d/eccs 
+RUN chmod 644 /etc/logrotate.d/eccs
+
 COPY eccs_cron /etc/cron.d/eccs
 COPY pyff_cron /etc/cron.d/pyff
 
diff --git a/README.md b/README.md
index d6ce0993ec97a1eace8134f6bc78f6e672a73b62..05b196d546e80db8498c0cdb3fe9763748c57752 100644
--- a/README.md
+++ b/README.md
@@ -85,13 +85,14 @@ The tool uses following status for IdPs:
     * **Timeout**: considers those IdPs that do not load a standard username/password login page <u>within 60 seconds</u>.
     * **Connection-Error**: considers those IdPs that are not reachable due to a connection problem. View the "<u>Page Source</u>" content to discover which problem has the IdP. 
     * **IdP-Generic-Error**: considers those IdPs that the returned web page does not contain a Login Form, but an unspecified error such as "*An error occured*". This kind of error has been seen on Microsoft ADFS based IdPs.
+    * **403-Forbidden**: considers those IdPs that return 403 Forbidden status code while opening their login page through a testing SP.
   * The IdP most likely does not consume the eduGAIN metadata correctly.
     * **No-SP-Metadata-Error**: considers those IdPs that return a message like "*No return endpoint available for relying party*" or "*No metadata found for relying party*" instead of the Login Page.
   * The HTTP SSL certificate used by the IdP is invalid:
     * **SSL-Error**
 * OK (green):
   * The IdP most likely correctly consumes eduGAIN metadata and returns a valid username/password login page. This is no guarantee that login on this IdP works for all eduGAIN services but if the check is passed for an IdP, this is probable.
-* UNKNOWN (grey):
+* UNKNOWN (yellow):
   * The IdP can't be checked because the returned Login Page content is not recognized or the Login Page is always returned, also for the fake SP.
     * **Unable-To-Check**: considers those IdPs that do not load a standard username/password login page and do not return messages like "*No return endpoint available for relying party*" or "*No metadata found for relying party"*.
 * DISABLED (white)
@@ -372,6 +373,7 @@ To perform a restart after an API change use the following command:
     * `No-SP-Metadata-Error`
     * `SSL-Error`
     * `Unable-To-Check`
+    * `403-Forbidden`
     * `Disabled`
   * `reg_auth=https://reg.auth.example.org` (select a specific Registration Authority)
   * `format=simple` (retrieve results in a simple format)
diff --git a/api.py b/api.py
index 57303937b7797404303a7cf33dcc4e8e2d542f27..9eb73f108f250344259e1ca5c151c1b3354b0e08 100755
--- a/api.py
+++ b/api.py
@@ -102,8 +102,8 @@ class EccsResults(Resource):
              simple = True
        if 'check_result' in request.args:
           check_result = request.args['check_result']
-          if (check_result not in ['OK','Timeout','Unable-To-Check','Connection-Error','No-SP-Metadata-Error','SSL-Error','IdP-Generic-Error','DISABLED']):
-              return jsonify(error="Incorrect check_result value provided. It can be 'OK','Timeout','Unable-To-Check','Connection-Error','No-SP-Metadata-Error','SSL-Error','IdP-Generic-Error' or 'DISABLED'")
+          if (check_result not in ['OK','Timeout','Unable-To-Check','Connection-Error','No-SP-Metadata-Error','SSL-Error','IdP-Generic-Error','403-Forbidden','DISABLED']):
+              return jsonify(error="Incorrect check_result value provided. It can be 'OK','Timeout','Unable-To-Check','Connection-Error','No-SP-Metadata-Error','SSL-Error','IdP-Generic-Error', '403-Forbidden' or 'DISABLED'")
 
        lines = []
        results = []
diff --git a/web/eccs.css b/web/eccs.css
index 154d88a981e59b82976ed52efd47ee19730eb977..c735b89d67fa9193452839633dbb561e206a5b98 100644
--- a/web/eccs.css
+++ b/web/eccs.css
@@ -54,6 +54,37 @@ table {
    font-weight: bold;
 }
 
+.footer {
+  position: fixed;
+  left: 0;
+  bottom: 0;
+  width: 100%;
+  background-color: #003f5f;
+  font-size: 15px;
+}
+
+.footer a {
+  color: #668c9e;
+  text-decoration: none;
+}
+
+.footer a:hover {
+  text-decoration: underline;
+}
+
+.footer a:not(:last-child) {
+  padding-right: 1em;
+}
+
+.footer .col-1-1 {
+	text-align: left;
+}
+
+.footer .col-1-2 {
+	text-align: right;
+	white-space: nowrap;
+}
+
 div#calendarGo {
    float:right;
    position: relative;
@@ -226,4 +257,4 @@ input[type=checkbox] {
     opacity: 0.6;
     display: none;
     background-size: 100px 100px;
-}
+}
\ No newline at end of file
diff --git a/web/edugain-scripts-css.php b/web/edugain-scripts-css.php
new file mode 100644
index 0000000000000000000000000000000000000000..5d5a48e9153d1d927730d1eca75423e991c2d404
--- /dev/null
+++ b/web/edugain-scripts-css.php
@@ -0,0 +1,74 @@
+<?php ?>
+    <script>
+        var Help = new Array();
+        Help['Entities in eduGAIN'] = 'You may notice that the sum of all IdPs, SPs and AAs is to more then the number of all entities. The reason for this is that a few entites are listed in two roles - IdP and SP therefore they are counted twice when you add IdPs to SPs.';
+        Help['Federations in eduGAIN'] = 'Federations which have passed the acceptance process but have not yet stated providing their own metadata are shown in the Voting-only group.';
+        Help['Entity category filter'] = 'Entity categories allow grouping entities sharing common criteria, some of them like <strong>GÉANT Data Protection Code of Conduct</strong> have particular use for eduGAIN as their usage is meant to help in defining attribute release policies. This filter allows you to find out how the entity catiegories concept is spread within eduGAIN. More on this topic at <a href="https://refeds.org/display/ENT/Entity-Categories+Home\"><strong>REFEDS WIKI</strong></a>.';
+        Help['SAML 2.0 support'] = 'This filter allows you to find out which entities do and which do not declare SAML 2.0 support';
+        Help['ECCS IdP test status'] = 'eduGAIN Connectivity Check Service - ECCS is to identify eduGAIN Identity Providers (IdP) that are not properly configured.  With this filter you can quickly find out how the IdPs respond to these tests. More info in <a href="https://wiki.edugain.org/EduGAIN_Connectivity_Check" target="_blank"><strong>eduGAIN WIKI</strong></a>';
+        Help['Entity clashes'] = 'Show clash information. If one entityID is supplied by more then one federation, display information in which federations it was found. <br />When the display is limited to a subset of federations, having this option set will also display entities which were exported within the selected federations but were overriden by the clash resolution. <br />CLASHes shown in Yelow make it to eduGAIN but block others, the ones show in Red are the blocked ones.<br />Click on the CLASH link to see the list of conflicts.';
+        Help['Validator warnings'] = 'Select based on existance of validator warnings; click on Entity details to see the warnings.';
+        Help['CoCo status'] = 'Filter on Code of Conduct monitoring status of Service providers.';
+        Help['Download CSV'] = 'Rather then displaying the results as a table, download the results as tab separated text file. This file can be imported into a spreadsheet (LibreOffice works particularly nice)';
+        Help['SIRTFI errors'] = "<p>Show entities declararing <a href='https://wiki.refeds.org/display/GROUPS/SIRTFI' target='_blank'>REFEDS SIRTFI</a> support but violating the specification";
+        Help['Appeared in eduGAIN'] = 'Only show enetities which appered in eduGAIN in the selected time period.<p>The <i>first seen</i> dates are collected only since 2017-04-13.';
+
+        function openHelp($helpTrigger){
+          var helpId = $helpTrigger.attr('data-help_id');
+          $help = $('#help_dialog');
+          $help.html('<p>' + Help[helpId] + '</p>');
+          $help.dialog('option', 'title', helpId);
+          $help.dialog('option', { position: { my: "left top", at: "right bottom", of: $helpTrigger } });
+          $help.dialog('open');
+        }
+
+        $(function(){
+          var $footer = $('footer');
+
+          var $body = $("body");
+          $body.css('margin-top', 0);
+          $body.css('margin-bottom', 0);
+
+          // function to set the height on fly
+          function autoHeight() {
+            // $('#wrap').css('min-height', 0);
+            $('#wrap').css('min-height', (
+              $(document).outerHeight()
+              - $('header').outerHeight()
+              + $('#wrap').height()
+              - $('#wrap').outerHeight()
+              - $footer.height()
+            ));
+          }
+
+          // onDocumentReady function bind
+          $(document).ready(function() {
+            autoHeight();
+
+            $("button").mouseout(function(){
+              this.blur();
+            })
+          });
+
+          // onResize bind of the function
+          $(window).resize(function() {
+            autoHeight();
+          });
+
+
+          $footer.css('visibility', 'visible');
+
+          $('#help_dialog').dialog({
+            autoOpen: false
+          });
+
+          $('.help').click(function(e){
+            e.preventDefault();
+            var $helpTrigger = $(this);
+            openHelp($helpTrigger);
+          });
+
+
+        });
+      </script>
+      <script src="menu.js"></script>
diff --git a/web/footer.php b/web/footer.php
index b77362398a88d458a6b4b51da9071a14a0978439..7e3892665fc36e712dd6e7d98e4967ea316fab39 100644
--- a/web/footer.php
+++ b/web/footer.php
@@ -1,104 +1,14 @@
-<?php
-?>
-  </div>
-
-
-
-
-</div>
-</div>
-
-
-<footer style="visibility: hidden;">
-    <div class="central-section">
-      <div class="col-1-1" style="padding:15px; display:inline-block">
-	      <img src="eu_logo.png"/>
-      </div>
-
-      <div class="col-1-2" style="color:white">
-          	      <a href="https://edugain.org/privacy/" target="_blank">Privacy Notice</a>
-	      <a href="https://edugain.org/disclaimer/" target="_blank">Disclaimer</a>
-        <a href="https://www.geant.org/Policies" target="_blank">Policies</a>
+<?php ?>
+    <div class="footer">
+      <div class="central-section">
+        <div class="col-1-1" style="padding:15px; display:inline-block">
+  	      <img src="eu_logo.png"/>
+        </div>
+  
+        <div class="col-1-2" style="color:white">
+          <a href="https://edugain.org/privacy/" target="_blank">Privacy Notice</a>
+  	    <a href="https://edugain.org/disclaimer/" target="_blank">Disclaimer</a>
+          <a href="https://www.geant.org/Policies" target="_blank">Policies</a>
+        </div>
       </div>
     </div>
-  </footer>
-
-
-
-
-  <script>
-  var Help = new Array();
-Help['Entities in eduGAIN'] = 'You may notice that the sum of all IdPs, SPs and AAs is to more then the number of all entities. The reason for this is that a few entites are listed in two roles - IdP and SP therefore they are counted twice when you add IdPs to SPs.';
-Help['Federations in eduGAIN'] = 'Federations which have passed the acceptance process but have not yet stated providing their own metadata are shown in the Voting-only group.';
-Help['Entity category filter'] = 'Entity categories allow grouping entities sharing common criteria, some of them like <strong>GÉANT Data Protection Code of Conduct</strong> have particular use for eduGAIN as their usage is meant to help in defining attribute release policies. This filter allows you to find out how the entity catiegories concept is spread within eduGAIN. More on this topic at <a href="https://refeds.org/display/ENT/Entity-Categories+Home\"><strong>REFEDS WIKI</strong></a>.';
-Help['SAML 2.0 support'] = 'This filter allows you to find out which entities do and which do not declare SAML 2.0 support';
-Help['ECCS IdP test status'] = 'eduGAIN Connectivity Check Service - ECCS is to identify eduGAIN Identity Providers (IdP) that are not properly configured.  With this filter you can quickly find out how the IdPs respond to these tests. More info in <a href="https://wiki.edugain.org/EduGAIN_Connectivity_Check" target="_blank"><strong>eduGAIN WIKI</strong></a>';
-Help['Entity clashes'] = 'Show clash information. If one entityID is supplied by more then one federation, display information in which federations it was found. <br />When the display is limited to a subset of federations, having this option set will also display entities which were exported within the selected federations but were overriden by the clash resolution. <br />CLASHes shown in Yelow make it to eduGAIN but block others, the ones show in Red are the blocked ones.<br />Click on the CLASH link to see the list of conflicts.';
-Help['Validator warnings'] = 'Select based on existance of validator warnings; click on Entity details to see the warnings.';
-Help['CoCo status'] = 'Filter on Code of Conduct monitoring status of Service providers.';
-Help['Download CSV'] = 'Rather then displaying the results as a table, download the results as tab separated text file. This file can be imported into a spreadsheet (LibreOffice works particularly nice)';
-Help['SIRTFI errors'] = "<p>Show entities declararing <a href='https://wiki.refeds.org/display/GROUPS/SIRTFI' target='_blank'>REFEDS SIRTFI</a> support but violating the specification";
-Help['Appeared in eduGAIN'] = 'Only show enetities which appered in eduGAIN in the selected time period.<p>The <i>first seen</i> dates are collected only since 2017-04-13.';
-
-function openHelp($helpTrigger){
-	var helpId = $helpTrigger.attr('data-help_id');
-	$help = $('#help_dialog');
-	$help.html('<p>' + Help[helpId] + '</p>');
-	$help.dialog('option', 'title', helpId);
-	$help.dialog('option', { position: { my: "left top", at: "right bottom", of: $helpTrigger } });
-	$help.dialog('open');
-}
-
-$(function(){
-	var $footer = $('footer');
-
-	var $body = $("body");
-	$body.css('margin-top', 0);
-	$body.css('margin-bottom', 0);
-
-	// function to set the height on fly
-  function autoHeight() {
-    // $('#wrap').css('min-height', 0);
-    $('#wrap').css('min-height', (
-      $(document).outerHeight()
-      - $('header').outerHeight()
-      + $('#wrap').height()
-      - $('#wrap').outerHeight()
-      - $footer.height()
-    ));
-  }
-
-  // onDocumentReady function bind
-  $(document).ready(function() {
-    autoHeight();
-
-		$("button").mouseout(function(){
-			this.blur();
-		})
-  });
-
-  // onResize bind of the function
-  $(window).resize(function() {
-    autoHeight();
-  });
-
-
-	$footer.css('visibility', 'visible');
-
-	$('#help_dialog').dialog({
-		autoOpen: false
-	});
-
-	$('.help').click(function(e){
-		e.preventDefault();
-		var $helpTrigger = $(this);
-		openHelp($helpTrigger);
-	});
-
-
-});
-  </script>
-  <script src="menu.js"></script>
-
-<div id="html_templates">
-</div>
diff --git a/web/header.php b/web/header.php
index 70412821b9f6ef1af8885594c4507775baf65150..03975c150dfc8a94de6f0a61538385f85e8957c2 100644
--- a/web/header.php
+++ b/web/header.php
@@ -1,76 +1,71 @@
-<?php
-?>
-<div id="inner" style="position: relative;">
-  <div id="help_dialog"></div>
-
-  <header>
-       <div style="position: relative; height: 115px; width: 100%; background: #003f5f">
-     <img id="geant_logo_t" src="geant_logo1.png" style="position: absolute; left: 20px; bottom: 0px;">
-     <img src="edugain_logo1.png" style="position:absolute; right: 40px; bottom: 0px;">
-     </div>
+<?php ?>
+    <header>
+        <div style="position: relative; height: 115px; width: 100%; background: #003f5f">
+            <img id="geant_logo_t" src="geant_logo1.png" style="position: absolute; left: 20px; bottom: 0px;">
+            <img src="edugain_logo1.png" style="position:absolute; right: 40px; bottom: 0px;">
+        </div>
     </header>
 
-
-  <div id="wrap">
-  <nav class="main-nav">
-      <div class="central-section">
-      <div id="nav_icon" class="nav-icon"><a id="nav_icon_toggle" href="javascript:void(0);"><img src="images/menu-icon.gif" /></a></div>
-        <div id="core_nav_section" class="et-menu-holder">
-	<ul id="core_nav" class="et-menu et-left">
-		<li class="et-first-option no-children"><a href="https://technical.edugain.org" title="Home"><img style="width: 16px; height: 15px; position: relative; top: 3px" src="home_logo.png" alt="Home icon" /></a></li>
-		<li class="et-option et-has-children"><span>Members</span>
-			<ul class="et-submenu">
-				<li class="et-submenu-option"><a href="https://technical.edugain.org/status">Member Federations</a></li>
-				<li class="et-submenu-option"><a href="https://technical.edugain.org/whatsnew">Recent Changes</a></li>
-				<li class="et-submenu-option"><a href="https://technical.edugain.org/governance">Assembly</a></li>
-			</ul>
-		</li>
-		<li class="et-option et-has-children"><span>Joining</span>
-			<ul class="et-submenu">
-				<li class="et-submenu-option"><a href="https://technical.edugain.org/joining_checklist">As Federation</a></li>
-				<li class="et-submenu-option"><a href="https://wiki.geant.org/display/eduGAIN/How+to+Join+eduGAIN+as+Service+Provider">As Service Provider</a></li>
-				<li class="et-submenu-option"><a href="https://wiki.geant.org/display/eduGAIN/How+to+set+up+an+Identity+Provider+for+eduGAIN">As Identity Provider</a></li>
-				<li class="et-submenu-option"><a href="https://technical.edugain.org/metadata">eduGAIN metadata</a></li>
-			</ul>
-		</li>
-		<li class="et-option et-has-children"><span>Tools</span>
-			<ul class="et-submenu">
-				<li class="et-submenu-option"><a href="https://technical.edugain.org/validator" target="_blank">Metadata Validator</a></li>
-				<li class="et-submenu-option"><a href="https://technical.edugain.org/entities">Entities Database</a></li>
-				<li class="et-submenu-option"><a href="https://technical.edugain.org/isFederatedCheck" target="_blank">isFederated Check</a></li>
-				<li class="et-submenu-option"><a href="https://technical.edugain.org/eccs" target="_blank">Connectivity Check</a></li>
+    <div id="wrap">
+        <nav class="main-nav">
+            <div class="central-section">
+                <div id="nav_icon" class="nav-icon">
+                    <a id="nav_icon_toggle" href="javascript:void(0);"><img src="menu-icon.gif" /></a>
+                </div>
+                <div id="core_nav_section" class="et-menu-holder">
+                    <ul id="core_nav" class="et-menu et-left">
+                        <li class="et-first-option no-children">
+                            <a href="https://technical.edugain.org" title="Home">
+                                <img style="width: 16px; height: 15px; position: relative; top: 3px" src="home_logo.png" alt="Home icon" />
+                            </a>
+                        </li>
+                        <li class="et-option et-has-children"><span>Members</span>
+                            <ul class="et-submenu">
+                                <li class="et-submenu-option"><a href="https://technical.edugain.org/status">Member Federations</a></li>
+                                <li class="et-submenu-option"><a href="https://technical.edugain.org/whatsnew">Recent Changes</a></li>
+                                <li class="et-submenu-option"><a href="https://technical.edugain.org/governance">Assembly</a></li>
+                            </ul>
+                        </li>
+                        <li class="et-option et-has-children"><span>Joining</span>
+                            <ul class="et-submenu">
+                                <li class="et-submenu-option"><a href="https://technical.edugain.org/joining_checklist">As Federation</a></li>
+                                <li class="et-submenu-option"><a href="https://wiki.geant.org/display/eduGAIN/How+to+Join+eduGAIN+as+Service+Provider">As Service Provider</a></li>
+                                <li class="et-submenu-option"><a href="https://wiki.geant.org/display/eduGAIN/How+to+set+up+an+Identity+Provider+for+eduGAIN">As Identity Provider</a></li>
+                                <li class="et-submenu-option"><a href="https://technical.edugain.org/metadata">eduGAIN metadata</a></li>
+                            </ul>
+                        </li>
+                        <li class="et-option et-has-children"><span>Tools</span>
+                            <ul class="et-submenu">
+                                <li class="et-submenu-option"><a href="https://technical.edugain.org/validator" target="_blank">Metadata Validator</a></li>
+                                <li class="et-submenu-option"><a href="https://technical.edugain.org/entities">Entities Database</a></li>
+                                <li class="et-submenu-option"><a href="https://technical.edugain.org/isFederatedCheck" target="_blank">isFederated Check</a></li>
+                                <li class="et-submenu-option"><a href="https://technical.edugain.org/eccs" target="_blank">Connectivity Check</a></li>
                                 <li class="et-submenu-option"><a href="https://release-check.edugain.org/" target="_blank">Release Check</a></li>
                                 <li class="et-submenu-option"><a href="https://access-check.edugain.org/" target="_blank">Access Check</a></li>
                                 <li class="et-submenu-option"><a href="https://monitor.edugain.org/coco/" target="_blank">CoCo Check</a></li>
                                 <li class="et-submenu-option"><a href="https://technical.edugain.org/api">Access API</a></li>
-				<li class="et-submenu-option"><a href="https://technical.edugain.org/monitoring">Monitoring</a></li>
-				<li class="et-submenu-option"><a href="https://technical.edugain.org/compliance_audit">Profile compliance audit</a></li>
-				<li class="et-submenu-option"><a href="https://technical.edugain.org/link_tests">Members URL testing</a></li>
-			</ul>
-		</li>
-		<li class="et-option no-children"><a href="https://technical.edugain.org/documents">Policy framework</a></li>
-		<li class="et-option et-has-children"><span>Operations</span>
-			<ul class="et-submenu">
+                                <li class="et-submenu-option"><a href="https://technical.edugain.org/monitoring">Monitoring</a></li>
+                                <li class="et-submenu-option"><a href="https://technical.edugain.org/compliance_audit">Profile compliance audit</a></li>
+                                <li class="et-submenu-option"><a href="https://technical.edugain.org/link_tests">Members URL testing</a></li>
+                            </ul>
+                        </li>
+                        <li class="et-option no-children"><a href="https://technical.edugain.org/documents">Policy framework</a></li>
+                        <li class="et-option et-has-children"><span>Operations</span>
+                            <ul class="et-submenu">
                                 <li class="et-submenu-option"><a href="https://technical.edugain.org/issues">Current issues</a></li>
                                 <li class="et-submenu-option"><a href="https://technical.edugain.org/operations">Operational documentation</a></li>
-				<li class="et-submenu-option"><a href="https://technical.edugain.org/metadata">eduGAIN metadata</a></li>
-				<li class="et-submenu-option"><a href="https://wiki.geant.org/display/eduGAIN/eduGAIN+Services+Status">System status</a></li>
-                        </ul>
-		<li class="et-option no-children"><a href="https://technical.edugain.org/contact">Support</a></li>
-	</ul>
-</div>
-<div id="help_nav_section" class="et-menu-holder">
-	<ul class="et-menu et-right">
-		<li class="et-option no-children"><a href="https://wiki.edugain.org/">Wiki</a></li>
-		<li class="et-option no-children"><a href="https://edugain.org">Main webpage</a></li>
-	</ul>
-</div>
-    </div>
-    </nav>
-  <div id="breadcrumb" class="central-section">
-    Tools &gt; eduGAIN Connectivity Check Service
-  </div>
-
-
-  <div id="main_body">
-  <div class="eccs-central">
+                                <li class="et-submenu-option"><a href="https://technical.edugain.org/metadata">eduGAIN metadata</a></li>
+                                <li class="et-submenu-option"><a href="https://wiki.geant.org/display/eduGAIN/eduGAIN+Services+Status">System status</a></li>
+                            </ul>
+                        <li class="et-option no-children"><a href="https://technical.edugain.org/contact">Support</a></li>
+                    </ul>
+                </div>
+                <div id="help_nav_section" class="et-menu-holder">
+                    <ul class="et-menu et-right">
+                        <li class="et-option no-children"><a href="https://wiki.edugain.org/">Wiki</a></li>
+                        <li class="et-option no-children"><a href="https://edugain.org">Main webpage</a></li>
+                    </ul>
+                </div>
+            </div> <!-- END central-section -->
+        </nav>
+        <div id="breadcrumb" class="central-section">Tools &gt; eduGAIN Connectivity Check Service</div>
diff --git a/web/index.php b/web/index.php
index 680f22daf3f9ecd3ce53cae2f1724451b43a2bdd..ffa84ffa05964ffdff0563a2cad5eed98e7a5aa9 100644
--- a/web/index.php
+++ b/web/index.php
@@ -1,23 +1,23 @@
 <?php
 $directory = "../output";
-$files = scandir ($directory);
-$firstFile = $files[3]; // [0] = '.' ; [1] = '..' ; [2] = '.gitignore'
+$files     = scandir($directory);
+$firstFile = $files[ 3 ]; // [0] = '.' ; [1] = '..' ; [2] = '.gitignore'
 
 $str2strip = array("eccs_", ".log");
 $firstDate = str_replace($str2strip, "", $firstFile);
 
-$files = scandir($directory, SCANDIR_SORT_DESCENDING);
-$lastFile = $files[0];
+$files    = scandir($directory, SCANDIR_SORT_DESCENDING);
+$lastFile = $files[ 0 ];
 $lastDate = str_replace($str2strip, "", $lastFile);
 
-$data = array();
-$data['firstDate'] = $firstDate;
-$data['lastDate'] = $lastDate;
-$data['idp'] = htmlspecialchars($_GET["idp"]);
-$data['reg_auth'] = htmlspecialchars($_GET["reg_auth"]);
-$data['date'] = (htmlspecialchars($_GET["date"]) ? htmlspecialchars($_GET["date"]) : $lastDate);
-$data['status'] = htmlspecialchars($_GET["status"]);
-$data['check_result'] = htmlspecialchars($_GET["check_result"]);
+$data                   = array();
+$data[ 'firstDate' ]    = $firstDate;
+$data[ 'lastDate' ]     = $lastDate;
+$data[ 'idp' ]          = htmlspecialchars($_GET[ "idp" ]);
+$data[ 'reg_auth' ]     = htmlspecialchars($_GET[ "reg_auth" ]);
+$data[ 'date' ]         = (htmlspecialchars($_GET[ "date" ]) ? htmlspecialchars($_GET[ "date" ]) : $lastDate);
+$data[ 'status' ]       = htmlspecialchars($_GET[ "status" ]);
+$data[ 'check_result' ] = htmlspecialchars($_GET[ "check_result" ]);
 ?>
 
 <!DOCTYPE html>
@@ -25,6 +25,7 @@ $data['check_result'] = htmlspecialchars($_GET["check_result"]);
    <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <meta name="format-detection" content="telephone=no" />
     <link rel="icon" href="favicon.ico" type="image/x-icon" />
 
     <link rel="stylesheet" type="text/css" href="master.css?v=1" />
@@ -36,80 +37,84 @@ $data['check_result'] = htmlspecialchars($_GET["check_result"]);
     <script src="jquery.js"></script>
     <script src="jquery-ui.js"></script>
     <link rel="stylesheet" href="jquery-ui.css">
-    
-    <script type="text/javascript" src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
-    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.13.6/css/jquery.dataTables.min.css"/>
 
-    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"/>
+    <script type="text/javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
+    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.22/css/jquery.dataTables.min.css"/>
+
+    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css"/>
     <link rel="stylesheet" type="text/css" href="eccs.css" />
     <script>
        $( function() {
           $( "#datepicker" ).datepicker({
              dateFormat: "yy-mm-dd",
-             minDate: "<?php echo $data['firstDate'] ?>",
-             maxDate: "<?php echo $data['lastDate'] ?>",
-             defaultDate: "<?php echo $data['date'] ?>"
-          }).datepicker("setDate","<?php echo $data['date'] ?>");
+             minDate: "<?php echo $data[ 'firstDate' ] ?>",
+             maxDate: "<?php echo $data[ 'lastDate' ] ?>",
+             defaultDate: "<?php echo $data[ 'date' ] ?>"
+          }).datepicker("setDate","<?php echo $data[ 'date' ] ?>");
        } );
     </script>
     <title>eduGAIN Connectivity Check Service</title>
   </head>
   <body>
-    <div class="eccs-central">
        <!-- eduGAIN Header START -->
-       <?php include('header.php'); ?>
+<?php include 'header.php'; ?>
        <!-- eduGAIN Header END -->
-       <h1><a href="/eccs" target="_self">eduGAIN Connectivity Check Service</a> (<a href="https://wiki.geant.org/display/eduGAIN/eduGAIN+Connectivity+Check">Instructions</a>, <a href="mailto:support@edugain.org">Contacts</a>)</h1>
-       <p>The purpose of the eduGAIN Connectivity Check is to identify eduGAIN Identity Providers (IdP) that does not properly consume eduGAIN SAML2 SP metadata.</p>
-       <div id="status">
-          <hr>
-          <div class="clearfix">
-             <div class="boxStatus">
-                <strong>Show IdPs with status:</strong>
-                <label id="lbl-error" for="error">ERROR</label>
-                <input id="error" type="checkbox" name="status" value="ERROR"/>
-                <label id="lbl-ok" for="ok">OK</label>
-                <input id="ok" type="checkbox" name="status" value="OK"/>
-                <label id="lbl-unknown" for="unknown">UNKNOWN</label>
-                <input id="unknown" type="checkbox" name="status" value="UNKNOWN"/>
-                <label id="lbl-disabled" for="disabled">DISABLED</label>
-                <input id="disabled" type="checkbox" name="status" value="DISABLE"/>
-             </div> <!-- END boxStatus -->
-             <div class="boxCalendar">
-                <div id="calendarGo">
-                   <button id="goButton" onclick="getPastResults()">Go</button>
-                   <label id="lbl-datepicker" for="datepicker" class="strong">Select date:</label>
-                   <input type="text" id="datepicker" />
-                </div> <!-- END calendarGo -->
-             </div> <!-- END boxCalendar -->
-          </div> <!-- END clearFix -->
-          <hr>
-       </div> <!-- END status -->
-       <!--<button id="btn-show-all-children" type="button">Expand All</button>
-       <button id="btn-hide-all-children" type="button">Collapse All</button>
-       <hr>-->
-       <div class="container">
-          <div class="loader"></div>      
-          <table id="eccstable" class="cell-border" style="width:100%">
-             <thead>
-                <tr>
-                   <th></th>
-                   <th>DisplayName</th>
-                   <th>EntityID</th>
-                   <th>Registration Authority</th>
-                </tr>
-             </thead>
-          </table>
-       </div> <!-- END container -->
-       <script type="text/javascript">
-          var date = "<?php echo $data['date'] ?>";
-          var reg_auth = "<?php echo $data['reg_auth'] ?>";
-          var idp = "<?php echo $data['idp'] ?>";
-          var status = "<?php echo $data['status'] ?>";
-          var check_result = "<?php echo $data['check_result'] ?>";
-       </script>
-       <script type="text/javascript" src="eccs.js" /></script>
-    </div> <!-- END eccs-central -->
-    <?php include('footer.php'); ?>
+       <div id="main_body">
+         <div class="eccs-central">
+           <h1><a href="/eccs" target="_self">eduGAIN Connectivity Check Service</a> (<a href="https://wiki.geant.org/display/eduGAIN/eduGAIN+Connectivity+Check">Instructions</a>, <a href="mailto:support@edugain.org">Contacts</a>)</h1>
+           <p>The purpose of the eduGAIN Connectivity Check is to identify eduGAIN Identity Providers (IdP) that does not properly consume eduGAIN SAML2 SP metadata.</p>
+           <div id="status">
+              <hr>
+              <div class="clearfix">
+                 <div class="boxStatus">
+                    <strong>Show IdPs with status:</strong>
+                    <label id="lbl-error" for="error">ERROR</label>
+                    <input id="error" type="checkbox" name="status" value="ERROR"/>
+                    <label id="lbl-ok" for="ok">OK</label>
+                    <input id="ok" type="checkbox" name="status" value="OK"/>
+                    <label id="lbl-unknown" for="unknown">UNKNOWN</label>
+                    <input id="unknown" type="checkbox" name="status" value="UNKNOWN"/>
+                    <label id="lbl-disabled" for="disabled">DISABLED</label>
+                    <input id="disabled" type="checkbox" name="status" value="DISABLE"/>
+                 </div> <!-- END boxStatus -->
+                 <div class="boxCalendar">
+                    <div id="calendarGo">
+                       <button id="goButton" onclick="getPastResults()">Go</button>
+                       <label id="lbl-datepicker" for="datepicker" class="strong">Select date:</label>
+                       <input type="text" id="datepicker" />
+                    </div> <!-- END calendarGo -->
+                 </div> <!-- END boxCalendar -->
+              </div> <!-- END clearFix -->
+              <hr>
+           </div> <!-- END status -->
+           <!--<button id="btn-show-all-children" type="button">Expand All</button>
+           <button id="btn-hide-all-children" type="button">Collapse All</button>
+           <hr>-->
+           <div class="container">
+              <div class="loader"></div>
+              <table id="eccstable" class="cell-border" style="width:100%">
+                 <thead>
+                    <tr>
+                       <th></th>
+                       <th>DisplayName</th>
+                       <th>EntityID</th>
+                       <th>Registration Authority</th>
+                    </tr>
+                 </thead>
+              </table>
+           </div> <!-- END container -->
+           <script type="text/javascript">
+              var date = "<?php echo $data[ 'date' ] ?>";
+              var reg_auth = "<?php echo $data[ 'reg_auth' ] ?>";
+              var idp = "<?php echo $data[ 'idp' ] ?>";
+              var status = "<?php echo $data[ 'status' ] ?>";
+              var check_result = "<?php echo $data[ 'check_result' ] ?>";
+           </script>
+           <script type="text/javascript" src="eccs.js"></script>
+         </div> <!-- END eccs-central -->
+      </div> <!-- END main_body -->
+<?php include 'footer.php'; ?>
+<?php include 'edugain-scripts-css.php'; ?>
+      </div> <!-- END wrap -->
   </body>
 </html>
diff --git a/web/menu-icon.gif b/web/menu-icon.gif
new file mode 100644
index 0000000000000000000000000000000000000000..77b28e1b062876ad9306e3738b75ee967e2a6e53
Binary files /dev/null and b/web/menu-icon.gif differ