diff --git a/source/layouts/layout.erb b/source/layouts/layout.erb
index e7a2bee..408fd04 100644
--- a/source/layouts/layout.erb
+++ b/source/layouts/layout.erb
@@ -25,6 +25,7 @@
     <link href="stylesheets/bootstrap.css" rel="stylesheet" media="screen">
     <link href="stylesheets/font-awesome.css" rel="stylesheet">
     <link href="stylesheets/bootswatch.min.css" rel="stylesheet">
+    <link href="stylesheets/custom.css" rel="stylesheet">
 
     <link rel="shortcut icon" href="images/favicon.ico">
     <link rel="icon" href="images/favicon.ico">
diff --git a/source/mailing-lists.markdown b/source/mailing-lists.markdown
index 389ce26..d3b381d 100644
--- a/source/mailing-lists.markdown
+++ b/source/mailing-lists.markdown
@@ -20,21 +20,28 @@
 
 The project currently has several lists:
 
-- [announce@](http://mail-archives.apache.org/mod_mbox/cloudstack-announce/): Project release, security and other announcements. This is a very low volume list.
-- [users@](http://mail-archives.apache.org/mod_mbox/cloudstack-users/): This list is for users of CloudStack to seek and provide support. This is a moderately high volume list.
-- [dev@](http://mail-archives.apache.org/mod_mbox/cloudstack-dev/): Where discussions about development and the project itself happen. This is a high volume list.
-- [commits@](http://mail-archives.apache.org/mod_mbox/cloudstack-commits/): This list is for commits to the CloudStack git repository. It's a high volume list with automated messages, probably of limited interest to anyone who is not actively developing Apache CloudStack.
-- [issues@](http://mail-archives.apache.org/mod_mbox/cloudstack-issues/): Notifications from CloudStack's Jira project. This is a high volume list.
-- [marketing@](http://mail-archives.apache.org/mod_mbox/cloudstack-marketing/): Discussions about marketing CloudStack.
+- [announce@](https://lists.apache.org/list.html?announce@cloudstack.apache.org): Project release, security and other announcements. This is a very low volume list.
+- [users@](https://lists.apache.org/list.html?users@cloudstack.apache.org): This list is for users of CloudStack to seek and provide support. This is a moderately high volume list.
+- [dev@](https://lists.apache.org/list.html?dev@cloudstack.apache.org): Where discussions about development and the project itself happen. This is a high volume list.
+- [commits@](https://lists.apache.org/list.html?commits@cloudstack.apache.org): This list is for commits to the CloudStack git repository. It's a high volume list with automated messages, probably of limited interest to anyone who is not actively developing Apache CloudStack.
+- [issues@](https://lists.apache.org/list.html?issues@cloudstack.apache.org): Notifications from CloudStack's Jira project. This is a high volume list.
+- [marketing@](https://lists.apache.org/list.html?marketing@cloudstack.apache.org): Discussions about marketing CloudStack.
 
 The preferred language to use on the lists above is English. To support the global nature of the CloudStack user community, we also have the following regionally specific user lists:
 
-- [users-cn@](http://mail-archives.apache.org/mod_mbox/cloudstack-users-cn/): Chinese
+- [users-cn@](https://lists.apache.org/list.html?users-cn@cloudstack.apache.org): Chinese
 
-<form action="http://markmail.org/search/list:org.apache.incubator.cloudstack-*">
-<strong>Search the CloudStack Mailing Lists on MarkMail</strong>: <input type="text" name="q" size="50"/>
-<input type="submit" value="Search"/>
-</form>
+<div>
+	<strong>Search the CloudStack Mailing Lists</strong>: <input id="queryStringToSearchOnMailingList" type="text" name="q" size="60"/>
+	<a id="searchOnCloudStackMailingLists" class="button" target="_blank" href="#" >Search</a>
+</div>
+
+<script>
+	var searchEmailListBaseUrl = "https://lists.apache.org/list.html?users@cloudstack.apache.org:lte=1M&q=";
+	$('#queryStringToSearchOnMailingList').change(function(){
+		$('#searchOnCloudStackMailingLists').attr('href', searchEmailListBaseUrl + $(this).val());
+	});
+</script>
 
 ## To Subscribe to the Mailing Lists
 
diff --git a/source/stylesheets/all.css b/source/stylesheets/all.css
deleted file mode 100644
index 9137658..0000000
--- a/source/stylesheets/all.css
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-/*
-* Based on CSS from the Apache Wookie Project's Web site.
-*/
-
-body {
-  background-color: #FCFDFD;
-  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
-  font-size: 11pt;
-  margin: 0;
-}
-
-a {
-  color: #339;
-  text-decoration: none;
-}
-
-a:visited {
- color: #369;
-}
-
-a:hover {
- color: #ddf;
- background-color: #6badff;
-}
-
-p {
-    line-height: 140%
-}
-
-code,pre {
-    padding: 2px 2px;
-    color: #00003D;
-    background-color: #F1FFFF;
-    border: 1px solid #E1E1E8;
-    line-height: 140%
-}
-
-h1,h2,h3,h4,h5,h6 {
-  color: #8a8a8a;
-}
-
-#content {
- margin-top: 15px;
- margin-left: 235px;
- margin-right: 150px;
- padding: 0 8px 40px;
- color: black;
- background: #FCFDFD;
-}
-
-#content h1,h2,h3,h4,h5,h6 {
-  color: #8a8a8a;
-  border-bottom: 1px solid #000000;
-  font-weight: normal;
-  margin: 10px 0 15px;
-  padding: 5px 0;
-}
-
-#content h1 {
-  font-size: 18pt;
-  border: 1px solid #69afd8;
-  -moz-border-radius: 10px;
-  border-radius: 10px;
-  padding: 15px;
-}
-
-#content h2 {
-  font-size: 16pt;
-}
-
-#content h3,h4,h5,h6 {
-  border-bottom: none;
-  color: #69afd8;
-  font-size: 14pt;
-  margin-bottom: 0;
-}
-
-#navigation {
-  border: 1px solid #69afd8;
-  -moz-border-radius: 10px;
-  border-radius: 10px;
-  font-size: 85%;
-  color: #003;
-  float: left;
-  padding: 8px;
-  width: 200px;
-  background: #FCFDFD;
-  margin-left: 10px;
-  margin-right: 10px;
-}
-
-#navigation img {
-  padding-bottom: 15px;
-  padding-top: 15px;
-  padding-right: 10px;
-  padding-left: 10px;
-  margin-left: auto;
-  margin-right: auto;
-  display: block;
-}
-
-#navigation h1 {
-  color: #000;
-  font-size: 1.1em;
-  padding: 0;
-  margin-top: 0.8em;
-  margin-bottom: 0.5em;
-  border-bottom: 1px dotted #3487ef;
-}
-
-#navigation ul {
-  margin: 0 0;
-  padding: 0;
-  list-style: none;
-}
-
-#navigation li {
-  margin: 0;
-  padding: 0;
-}
-
-#navigation li a {
-  margin: 0;
-  color: #003;
-  text-decoration:none;
-}
-
-#navigation li a:visited {
-  color: #226;
-}
-
-#navigation li a:hover {
-  background-color: #6badff;
-  color: #000;
-}
-
-#footer {
- margin-top: 15px;
- margin-left: 235px;
- margin-right: 150px;
- border: 1px solid #000000;
- -moz-border-radius: 10px;
- border-radius: 10px;
- background-color:#c6dcf3;
-  color:#336;
-  font-size: 80%;
-  padding: 0 8px;
-}
-
-/* definition lists */
-dd {}
-dl {}
-dt {
-  display: inline;
-  float: left;
-}
diff --git a/source/stylesheets/custom.css b/source/stylesheets/custom.css
new file mode 100644
index 0000000..bd91bb7
--- /dev/null
+++ b/source/stylesheets/custom.css
@@ -0,0 +1,25 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+a.button {
+    -webkit-appearance: button;
+    -moz-appearance: button;
+    appearance: button;
+
+    text-decoration: none;
+    color: initial;
+}
\ No newline at end of file
