diff -urN punbb-1.4.2/admin/db_update.php punbb-1.4.3/admin/db_update.php
--- punbb-1.4.2/admin/db_update.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/admin/db_update.php	2015-06-15 09:21:05.000000000 -0400
@@ -10,7 +10,7 @@
  */
 
 
-define('UPDATE_TO', '1.4.2');
+define('UPDATE_TO', '1.4.3');
 define('UPDATE_TO_DB_REVISION', 5);
 
 // The number of items to process per pageview (lower this if the update script times out during UTF-8 conversion)
@@ -26,6 +26,8 @@
 
 define('FORUM_ROOT', '../');
 
+require FORUM_ROOT.'include/constants.php';
+
 // Attempt to load the configuration file config.php
 if (file_exists(FORUM_ROOT.'config.php'))
 	include FORUM_ROOT.'config.php';
@@ -42,12 +44,6 @@
 if (!defined('FORUM_DEBUG'))
 	define('FORUM_DEBUG', 1);
 
-// Define avatars type
-define('FORUM_AVATAR_NONE', 0);
-define('FORUM_AVATAR_GIF', 1);
-define('FORUM_AVATAR_JPG', 2);
-define('FORUM_AVATAR_PNG', 3);
-
 // Turn on full PHP error reporting
 error_reporting(E_ALL);
 
diff -urN punbb-1.4.2/admin/extensions.php punbb-1.4.3/admin/extensions.php
--- punbb-1.4.2/admin/extensions.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/admin/extensions.php	2015-06-15 09:21:05.000000000 -0400
@@ -59,6 +59,10 @@
 	$ext_data = xml_to_array($manifest);
 	$errors = validate_manifest($ext_data, $id);
 
+	/*
+	 * TODO
+	 * Errors must be fully specified instead "bad request" message only
+	 */
 	if (!empty($errors))
 		message(isset($_GET['install']) ? $lang_common['Bad request'] : $lang_admin_ext['Hotfix download failed']);
 
@@ -81,7 +85,7 @@
 		$ext_data['extension']['dependencies'] = $ext_data['extension']['dependencies']['dependency'];
 
 	$query = array(
-		'SELECT'	=> 'e.id',
+		'SELECT'	=> 'e.id, e.version',
 		'FROM'		=> 'extensions AS e',
 		'WHERE'		=> 'e.disabled=0'
 	);
@@ -91,12 +95,21 @@
 
 	$installed_ext = array();
 	while ($row = $forum_db->fetch_assoc($result))
-		$installed_ext[] = $row['id'];
+		$installed_ext[$row['id']] = $row;
 
 	foreach ($ext_data['extension']['dependencies'] as $dependency)
 	{
-		if (!in_array($dependency, $installed_ext))
-			message(sprintf($lang_admin_ext['Missing dependency'], $dependency));
+
+		$ext_dependancy_id = is_array($dependency) ? $dependency['content'] : $dependency;
+		
+	    if (!array_key_exists($ext_dependancy_id, $installed_ext))
+	    {
+		   $errors[] = sprintf($lang_admin_ext['Missing dependency'], $ext_dependancy_id);
+	    }
+	    else if (is_array($dependency) AND isset($dependency['attributes']['minversion']) AND version_compare($dependency['attributes']['minversion'], $installed_ext[$ext_dependancy_id]['version']) > 0)
+	    {
+	    	$errors[] = sprintf($lang_admin_ext['Version dependency error'], $dependency['content'], $dependency['attributes']['minversion']);
+	    }
 	}
 
 	// Setup breadcrumbs
@@ -108,7 +121,7 @@
 		(strpos($id, 'hotfix_') === 0) ? $lang_admin_ext['Install hotfix'] : $lang_admin_ext['Install extension']
 	);
 
-	if (isset($_POST['install_comply']))
+	if (isset($_POST['install_comply']) AND empty($errors))
 	{
 		($hook = get_hook('aex_install_comply_form_submitted')) ? eval($hook) : null;
 
@@ -310,6 +323,27 @@
 		<h2 class="hn"><span><?php echo end($forum_page['crumbs']) ?> "<?php echo forum_htmlencode($ext_data['extension']['title']) ?>"</span></h2>
 	</div>
 	<div class="main-content main-frm">
+<?php
+
+    // If there were any errors, show them
+    if (!empty($errors))
+    {
+        $forum_page['errors'] = array();
+        foreach ($errors as $cur_error)
+            $forum_page['errors'][] = '<li class="warn"><span>'.$cur_error.'</span></li>';
+
+            ($hook = get_hook('aex_install_ext_pre_errors')) ? eval($hook) : null;
+
+?>
+		<div class="ct-box error-box">
+			<h2 class="warn hn"><?php echo $lang_admin_ext['Install ext errors'] ?></h2>
+			<ul class="error-list">
+				<?php echo implode("\n\t\t\t\t", $forum_page['errors'])."\n" ?>
+			</ul>
+		</div>
+<?php
+    }
+?>	
 		<form class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $base_url.'/admin/extensions.php'.(isset($_GET['install']) ? '?install=' : '?install_hotfix=').$id ?>">
 			<div class="hidden">
 				<input type="hidden" name="csrf_token" value="<?php echo generate_form_token($base_url.'/admin/extensions.php'.(isset($_GET['install']) ? '?install=' : '?install_hotfix=').$id) ?>" />
@@ -860,7 +894,7 @@
 	if ($forum_config['o_check_for_versions'] == 1)
 	{
 		// Check for the new versions of the extensions istalled
-		$repository_urls = array('http://punbb.informer.com/extensions/1.4');
+		$repository_urls = array(FORUM_PUN_EXTENSION_REPOSITORY_URL);
 		($hook = get_hook('aex_add_extensions_repository')) ? eval($hook) : null;
 
 		$repository_url_by_extension = array();
@@ -881,7 +915,7 @@
 		$update_hour = (isset($forum_ext_versions_update_cache) && (time() - $forum_ext_versions_update_cache > 60 * 60));
 
 		// Update last versions if there is no cahe or some extension was added/removed or one day has gone since last update
-		$update_new_versions_cache = !defined('FORUM_EXT_VERSIONS_LOADED') || (isset($forum_ext_last_versions) && array_diff($inst_exts, $forum_ext_last_versions) != array()) || $update_hour || ($update_hour && isset($min_timestamp) && (time() - $min_timestamp > 60*60*24));
+		$update_new_versions_cache = !defined('FORUM_EXT_VERSIONS_LOADED') || (isset($forum_ext_last_versions) && array_diff(array_keys($inst_exts), array_keys($forum_ext_last_versions)) != array()) || $update_hour || ($update_hour && isset($min_timestamp) && (time() - $min_timestamp > 60*60*24));
 
 		($hook = get_hook('aex_before_update_checking')) ? eval($hook) : null;
 
diff -urN punbb-1.4.2/admin/forums.php punbb-1.4.3/admin/forums.php
--- punbb-1.4.2/admin/forums.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/admin/forums.php	2015-06-15 09:21:05.000000000 -0400
@@ -294,8 +294,6 @@
 	// Update group permissions for $forum_id
 	if (isset($_POST['save']))
 	{
-		($hook = get_hook('afo_save_forum_form_submitted')) ? eval($hook) : null;
-
 		// Start with the forum details
 		$forum_name = forum_trim($_POST['forum_name']);
 		$forum_desc = forum_linebreaks(forum_trim($_POST['forum_desc']));
@@ -303,6 +301,8 @@
 		$sort_by = intval($_POST['sort_by']);
 		$redirect_url = isset($_POST['redirect_url']) && $cur_forum['num_topics'] == 0 ? forum_trim($_POST['redirect_url']) : null;
 
+		($hook = get_hook('afo_save_forum_form_submitted')) ? eval($hook) : null;
+
 		if ($forum_name == '')
 			message($lang_admin_forums['Must enter forum message']);
 
diff -urN punbb-1.4.2/admin/install.php punbb-1.4.3/admin/install.php
--- punbb-1.4.2/admin/install.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/admin/install.php	2015-06-15 09:21:05.000000000 -0400
@@ -10,8 +10,6 @@
  */
 
 
-define('FORUM_VERSION', '1.4.2');
-define('FORUM_DB_REVISION', 5);
 define('MIN_PHP_VERSION', '5.0.0');
 define('MIN_MYSQL_VERSION', '4.1.2');
 
@@ -19,9 +17,6 @@
 define('FORUM', 1);
 define('FORUM_DEBUG', 1);
 
-define('FORUM_SEARCH_MIN_WORD', 3);
-define('FORUM_SEARCH_MAX_WORD', 20);
-
 if (file_exists(FORUM_ROOT.'config.php'))
 	exit('The file \'config.php\' already exists which would mean that PunBB is already installed. You should go <a href="'.FORUM_ROOT.'index.php">here</a> instead.');
 
@@ -36,6 +31,7 @@
 // Turn off PHP time limit
 @set_time_limit(0);
 
+require FORUM_ROOT.'include/constants.php';
 // We need some stuff from functions.php
 require FORUM_ROOT.'include/functions.php';
 
diff -urN punbb-1.4.2/admin/prune.php punbb-1.4.3/admin/prune.php
--- punbb-1.4.2/admin/prune.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/admin/prune.php	2015-06-15 09:21:05.000000000 -0400
@@ -242,6 +242,8 @@
 	$cur_category = 0;
 	while ($forum = $forum_db->fetch_assoc($result))
 	{
+		($hook = get_hook('apr_pre_prune_forum_loop_start')) ? eval($hook) : null;
+		
 		if ($forum['cid'] != $cur_category)	// Are we still in the same category?
 		{
 			if ($cur_category)
@@ -252,6 +254,8 @@
 		}
 
 		echo "\t\t\t\t\t\t\t\t\t".'<option value="'.$forum['fid'].'">'.forum_htmlencode($forum['forum_name']).'</option>'."\n";
+		
+		($hook = get_hook('apr_pre_prune_forum_loop_end')) ? eval($hook) : null;
 	}
 
 ?>
diff -urN punbb-1.4.2/edit.php punbb-1.4.3/edit.php
--- punbb-1.4.2/edit.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/edit.php	2015-06-15 09:21:05.000000000 -0400
@@ -89,8 +89,8 @@
 
 		if ($subject == '')
 			$errors[] = $lang_post['No subject'];
-		else if (utf8_strlen($subject) > 70)
-			$errors[] = $lang_post['Too long subject'];
+		else if (utf8_strlen($subject) > FORUM_SUBJECT_MAXIMUM_LENGTH)
+			$errors[] = sprintf($lang_post['Too long subject'], FORUM_SUBJECT_MAXIMUM_LENGTH);
 		else if ($forum_config['p_subject_all_caps'] == '0' && check_is_all_caps($subject) && !$forum_page['is_admmod'])
 			$subject = utf8_ucwords(utf8_strtolower($subject));
 	}
@@ -297,7 +297,7 @@
 <?php if ($can_edit_subject): ?>				<div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
 					<div class="sf-box text required">
 						<label for="fld<?php echo ++ $forum_page['fld_count'] ?>"><span><?php echo $lang_post['Topic subject'] ?></span></label><br />
-						<span class="fld-input"><input id="fld<?php echo $forum_page['fld_count'] ?>" type="text" name="req_subject" size="70" maxlength="70" value="<?php echo forum_htmlencode(isset($_POST['req_subject']) ? $_POST['req_subject'] : $cur_post['subject']) ?>" required /></span>
+						<span class="fld-input"><input id="fld<?php echo $forum_page['fld_count'] ?>" type="text" name="req_subject" size="<?php echo FORUM_SUBJECT_MAXIMUM_LENGTH ?>" maxlength="<?php echo FORUM_SUBJECT_MAXIMUM_LENGTH ?>" value="<?php echo forum_htmlencode(isset($_POST['req_subject']) ? $_POST['req_subject'] : $cur_post['subject']) ?>" required /></span>
 					</div>
 				</div>
 <?php endif; ($hook = get_hook('ed_pre_message_box')) ? eval($hook) : null; ?>				<div class="txt-set set<?php echo ++$forum_page['item_count'] ?>">
diff -urN punbb-1.4.2/header.php punbb-1.4.3/header.php
--- punbb-1.4.2/header.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/header.php	2015-06-15 09:21:05.000000000 -0400
@@ -105,8 +105,13 @@
 if (!empty($forum_page['nav']))
 	$forum_head['nav'] = implode("\n", $forum_page['nav']);
 
-$forum_head['search'] = '<link rel="search" href="'.forum_link($forum_url['search']).'" title="'.$lang_common['Search'].'" />';
-$forum_head['author'] = '<link rel="author" href="'.forum_link($forum_url['users']).'" title="'.$lang_common['User list'].'" />';
+if ($forum_user['g_read_board'] == '1' && $forum_user['g_search'] == '1')
+{
+	$forum_head['search'] = '<link rel="search" type="text/html" href="'.forum_link($forum_url['search']).'" title="'.$lang_common['Search'].'" />';
+	$forum_head['opensearch'] = '<link rel="search" type="application/opensearchdescription+xml" href="'.forum_link($forum_url['opensearch']).'" title="'.forum_htmlencode($forum_config['o_board_title']).'" />';
+}
+
+$forum_head['author'] = '<link rel="author" type="text/html" href="'.forum_link($forum_url['users']).'" title="'.$lang_common['User list'].'" />';
 
 ob_start();
 
diff -urN punbb-1.4.2/include/cache.php punbb-1.4.3/include/cache.php
--- punbb-1.4.2/include/cache.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/cache.php	2015-06-15 09:21:05.000000000 -0400
@@ -351,6 +351,8 @@
 			$redirect_tag = ($cur_forum['redirect_url'] != '') ? ' &gt;&gt;&gt;' : '';
 			$output .= "\t\t\t\t".'<option value="'.$cur_forum['fid'].'"<?php echo ($forum_id == '.$cur_forum['fid'].') ? \' selected="selected"\' : \'\' ?>>'.forum_htmlencode($cur_forum['forum_name']).$redirect_tag.'</option>'."\n";
 			$forum_count++;
+			
+			($hook = get_hook('ch_fn_generate_quickjump_cache_forum_loop_end')) ? eval($hook) : null;
 		}
 
 		$output .= "\t\t\t".'</optgroup>'."\n\t\t".'</select>'."\n\t\t".'<input type="submit" id="qjump-submit" value="<?php echo $lang_common[\'Go\'] ?>" /></span>'."\n\t".'</div>'."\n".'</form>'."\n";
@@ -566,6 +568,11 @@
 		{
 			foreach ($inst_exts as $ext)
 			{
+			    
+			    if ((0 === strpos($ext['id'], 'pun_') AND FORUM_PUN_EXTENSION_REPOSITORY_URL != $url) OR
+			            ((FALSE === strpos($ext['id'], 'pun_') AND !isset($ext['repo_url'])) OR (isset($ext['repo_url']) AND $ext['repo_url'] != $url)))
+			        continue;
+			    			    
 				$remote_file = get_remote_file($url.'/'.$ext['id'].'/lastversion', 2);
 				$version = empty($remote_file['content']) ? '' : forum_trim($remote_file['content']);
 				unset($remote_file);
diff -urN punbb-1.4.2/include/common_admin.php punbb-1.4.3/include/common_admin.php
--- punbb-1.4.2/include/common_admin.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/common_admin.php	2015-06-15 09:21:05.000000000 -0400
@@ -216,10 +216,13 @@
 
 	if (is_array($name) && count($name) > 0)
 	{
-		function clean_conf_names($n)
+		if (!function_exists('clean_conf_names'))
 		{
-			global $forum_db;
-			return '\''.$forum_db->escape($n).'\'';
+			function clean_conf_names($n)
+			{
+				global $forum_db;
+				return '\''.$forum_db->escape($n).'\'';
+			}
 		}
 
 		$name = array_map('clean_conf_names', $name);
diff -urN punbb-1.4.2/include/constants.php punbb-1.4.3/include/constants.php
--- punbb-1.4.2/include/constants.php	1969-12-31 19:00:00.000000000 -0500
+++ punbb-1.4.3/include/constants.php	2015-06-15 09:21:05.000000000 -0400
@@ -0,0 +1,24 @@
+<?php
+
+// Define the version and database revision that this code was written for
+define('FORUM_VERSION', '1.4.3');
+define('FORUM_DB_REVISION', 5);
+
+// Define a few commonly used constants
+define('FORUM_UNVERIFIED', 0);
+define('FORUM_ADMIN', 1);
+define('FORUM_GUEST', 2);
+
+// Define avatars type
+define('FORUM_AVATAR_NONE', 0);
+define('FORUM_AVATAR_GIF', 1);
+define('FORUM_AVATAR_JPG', 2);
+define('FORUM_AVATAR_PNG', 3);
+
+define('FORUM_SUBJECT_MAXIMUM_LENGTH', 70);
+define('FORUM_DATABASE_QUERY_MAXIMUM_LENGTH', 140000);
+
+define('FORUM_SEARCH_MIN_WORD', 3);
+define('FORUM_SEARCH_MAX_WORD', 20);
+
+define('FORUM_PUN_EXTENSION_REPOSITORY_URL', 'http://punbb.informer.com/extensions/1.4');
\ No newline at end of file
diff -urN punbb-1.4.2/include/dblayer/mysqli_innodb.php punbb-1.4.3/include/dblayer/mysqli_innodb.php
--- punbb-1.4.2/include/dblayer/mysqli_innodb.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/dblayer/mysqli_innodb.php	2015-06-15 09:21:05.000000000 -0400
@@ -76,7 +76,7 @@
 
 	function query($sql, $unbuffered = false)
 	{
-		if (strlen($sql) > 140000)
+		if (strlen($sql) > FORUM_DATABASE_QUERY_MAXIMUM_LENGTH)
 			exit('Insane query. Aborting.');
 
 		if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
diff -urN punbb-1.4.2/include/dblayer/mysql_innodb.php punbb-1.4.3/include/dblayer/mysql_innodb.php
--- punbb-1.4.2/include/dblayer/mysql_innodb.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/dblayer/mysql_innodb.php	2015-06-15 09:21:05.000000000 -0400
@@ -77,7 +77,7 @@
 
 	function query($sql, $unbuffered = false)
 	{
-		if (strlen($sql) > 140000)
+		if (strlen($sql) > FORUM_DATABASE_QUERY_MAXIMUM_LENGTH)
 			exit('Insane query. Aborting.');
 
 		if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
diff -urN punbb-1.4.2/include/dblayer/mysqli.php punbb-1.4.3/include/dblayer/mysqli.php
--- punbb-1.4.2/include/dblayer/mysqli.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/dblayer/mysqli.php	2015-06-15 09:21:05.000000000 -0400
@@ -65,7 +65,7 @@
 
 	function query($sql, $unbuffered = false)
 	{
-		if (strlen($sql) > 140000)
+		if (strlen($sql) > FORUM_DATABASE_QUERY_MAXIMUM_LENGTH)
 			exit('Insane query. Aborting.');
 
 		if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
diff -urN punbb-1.4.2/include/dblayer/mysql.php punbb-1.4.3/include/dblayer/mysql.php
--- punbb-1.4.2/include/dblayer/mysql.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/dblayer/mysql.php	2015-06-15 09:21:05.000000000 -0400
@@ -66,7 +66,7 @@
 
 	function query($sql, $unbuffered = false)
 	{
-		if (strlen($sql) > 140000)
+		if (strlen($sql) > FORUM_DATABASE_QUERY_MAXIMUM_LENGTH)
 			exit('Insane query. Aborting.');
 
 		if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
diff -urN punbb-1.4.2/include/dblayer/pgsql.php punbb-1.4.3/include/dblayer/pgsql.php
--- punbb-1.4.2/include/dblayer/pgsql.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/dblayer/pgsql.php	2015-06-15 09:21:05.000000000 -0400
@@ -101,7 +101,7 @@
 
 	function query($sql, $unbuffered = false)	// $unbuffered is ignored since there is no pgsql_unbuffered_query()
 	{
-		if (strlen($sql) > 140000)
+		if (strlen($sql) > FORUM_DATABASE_QUERY_MAXIMUM_LENGTH)
 			exit('Insane query. Aborting.');
 
 		if (strrpos($sql, 'LIMIT') !== false)
diff -urN punbb-1.4.2/include/dblayer/sqlite3.php punbb-1.4.3/include/dblayer/sqlite3.php
--- punbb-1.4.2/include/dblayer/sqlite3.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/dblayer/sqlite3.php	2015-06-15 09:21:05.000000000 -0400
@@ -87,7 +87,7 @@
 
 	function query($sql, $unbuffered = false)
 	{
-		if (strlen($sql) > 140000)
+		if (strlen($sql) > FORUM_DATABASE_QUERY_MAXIMUM_LENGTH)
 			exit('Insane query. Aborting.');
 
 		if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
diff -urN punbb-1.4.2/include/dblayer/sqlite.php punbb-1.4.3/include/dblayer/sqlite.php
--- punbb-1.4.2/include/dblayer/sqlite.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/dblayer/sqlite.php	2015-06-15 09:21:05.000000000 -0400
@@ -90,7 +90,7 @@
 
 	function query($sql, $unbuffered = false)
 	{
-		if (strlen($sql) > 140000)
+		if (strlen($sql) > FORUM_DATABASE_QUERY_MAXIMUM_LENGTH)
 			exit('Insane query. Aborting.');
 
 		if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
diff -urN punbb-1.4.2/include/essentials.php punbb-1.4.3/include/essentials.php
--- punbb-1.4.2/include/essentials.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/essentials.php	2015-06-15 09:21:05.000000000 -0400
@@ -10,9 +10,12 @@
 if (!defined('FORUM_ROOT'))
 	exit('The constant FORUM_ROOT must be defined and point to a valid PunBB installation root directory.');
 
-// Define the version and database revision that this code was written for
-define('FORUM_VERSION', '1.4.2');
-define('FORUM_DB_REVISION', 5);
+if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
+{
+	define('FORUM_REQUEST_AJAX', 1);
+}
+
+require FORUM_ROOT.'include/constants.php';
 
 // Record the start time (will be used to calculate the generation time for the page)
 list($usec, $sec) = explode(' ', microtime());
@@ -98,8 +101,8 @@
 	require FORUM_CACHE_DIR.'cache_config.php';
 }
 
-// Load the Flash messenger class
 require FORUM_ROOT.'include/flash_messenger.php';
+$forum_flash = new FlashMessenger();
 
 // If the request_uri is invalid try fix it
 forum_fix_request_uri();
@@ -132,17 +135,6 @@
 	require FORUM_CACHE_DIR.'cache_hooks.php';
 }
 
-// Define a few commonly used constants
-define('FORUM_UNVERIFIED', 0);
-define('FORUM_ADMIN', 1);
-define('FORUM_GUEST', 2);
-
-// Define avatars type
-define('FORUM_AVATAR_NONE', 0);
-define('FORUM_AVATAR_GIF', 1);
-define('FORUM_AVATAR_JPG', 2);
-define('FORUM_AVATAR_PNG', 3);
-
 // A good place to add common functions for your extension
 ($hook = get_hook('es_essentials')) ? eval($hook) : null;
 
diff -urN punbb-1.4.2/include/flash_messenger.php punbb-1.4.3/include/flash_messenger.php
--- punbb-1.4.2/include/flash_messenger.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/flash_messenger.php	2015-06-15 09:21:05.000000000 -0400
@@ -10,15 +10,13 @@
 
 class FlashMessenger
 {
-	const TEMPLATE_MSG_BLOCK = '%s';
-	const TEMPLATE_MSG = '<span class="%s">%s</span>';
+	const TEMPLATE_MSG_BLOCK 	= '%s';
+	const TEMPLATE_MSG 			= '<span class="%s">%s</span>';
 
-	//
-	const MSG_TYPE_ERROR = 'message_error';
-	const MSG_TYPE_WARNING = 'message_warning';
-	const MSG_TYPE_INFO = 'message_info';
+	const MSG_TYPE_ERROR 		= 'message_error';
+	const MSG_TYPE_WARNING 		= 'message_warning';
+	const MSG_TYPE_INFO 		= 'message_info';
 
-	//
 	private $message;
 
 
@@ -26,7 +24,6 @@
 	{
 		global $forum_config;
 
-		// Do not use with redirect
 		$disabled = isset($forum_config['o_redirect_delay']) && intval($forum_config['o_redirect_delay'], 10) > 0;
 
 		if (!$disabled)
@@ -37,29 +34,21 @@
 		$this->message = $this->get_message();
 	}
 
-
-	// Add error message
 	public function add_error($msg)
 	{
 		$this->add_message($msg, self::MSG_TYPE_ERROR);
 	}
 
-
-	// Add warning message
 	public function add_warning($msg)
 	{
 		$this->add_message($msg, self::MSG_TYPE_WARNING);
 	}
 
-
-	// Add info message
 	public function add_info($msg)
 	{
 		$this->add_message($msg, self::MSG_TYPE_INFO);
 	}
 
-
-	//
 	public function show($just_return = false)
 	{
 		if (empty($this->message))
@@ -78,29 +67,24 @@
 		$this->clear();
 	}
 
-
-	//
-	private function clear()
+	public function clear()
 	{
 		$this->message = NULL;
 		$this->save_message();
 	}
 
 
-	//
 	private function add_message($message, $type)
 	{
 		$this->message = array($message, $type);
 		$this->save_message();
 	}
 
-
 	private function save_message()
 	{
 		$_SESSION['punbb_forum_flash'] = serialize($this->message);
 	}
 
-
 	private function get_message()
 	{
 		$message = NULL;
@@ -120,6 +104,3 @@
 		return $message;
 	}
 }
-
-// Create the flash messenger adapter object
-$forum_flash = new FlashMessenger();
diff -urN punbb-1.4.2/include/functions.php punbb-1.4.3/include/functions.php
--- punbb-1.4.2/include/functions.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/functions.php	2015-06-15 09:21:05.000000000 -0400
@@ -53,14 +53,18 @@
 	else if (isset($_GET['PHPSESSID']))
 		$forum_session_id = $_GET['PHPSESSID'];
 
-	if (empty($forum_session_id) || !preg_match('/^[a-z0-9]{16,32}$/', $forum_session_id))
+	if (empty($forum_session_id) || !preg_match('/^[a-z0-9\-,]{16,32}$/i', $forum_session_id))
 	{
 		// Create new session id
 		$forum_session_id = random_key(32, FALSE, TRUE);
 		session_id($forum_session_id);
 	}
-
-	session_start();
+	
+	if (!isset($_SESSION))
+	{
+		session_start();
+	}
+	
 	if (!isset($_SESSION['initiated']))
 	{
 		session_regenerate_id();
@@ -1448,7 +1452,7 @@
 				);
 
 				$current_url = get_current_url(255);
-				if ($current_url != null)
+				if ($current_url != null && !defined('FORUM_REQUEST_AJAX'))
 					$query['SET'] .= ', prev_url=\''.$forum_db->escape($current_url).'\'';
 
 				if ($forum_user['idle'] == '1')
@@ -2948,6 +2952,32 @@
 	if ($return != null)
 		return;
 
+	if (defined('FORUM_REQUEST_AJAX'))
+	{
+		$json_data = array(
+				'code'			=>	-3,
+				'message'		=>	$lang_common['CSRF token mismatch'],
+				'csrf_token'	=>	generate_form_token(get_current_url()),
+				'prev_url'		=>	forum_htmlencode($forum_user['prev_url']),
+		);
+
+		foreach ($_POST as $submitted_key => $submitted_val)
+		{
+			if ($submitted_key != 'csrf_token' && $submitted_key != 'prev_url')
+			{
+				$hidden_fields = _csrf_confirm_form($submitted_key, $submitted_val);
+				foreach ($hidden_fields as $field_key => $field_val)
+				{
+					$json_data['post_data'][$field_key] = forum_htmlencode($field_val);
+				}
+			}
+		}
+
+		($hook = get_hook('fn_redirect_pre_send_json')) ? eval($hook) : null;
+		
+		send_json($json_data);
+	}	
+	
 	// Setup breadcrumbs
 	$forum_page['crumbs'] = array(
 		array($forum_config['o_board_title'], forum_link($forum_url['index'])),
@@ -3016,6 +3046,18 @@
 	global $forum_db, $forum_url, $lang_common, $forum_config, $base_url, $forum_start, $tpl_main, $forum_user, $forum_page, $forum_updates, $forum_loader, $forum_flash;
 
 	($hook = get_hook('fn_message_start')) ? eval($hook) : null;
+	
+	if (defined('FORUM_REQUEST_AJAX'))
+	{
+		$json_data = array(
+			'code'		=> -1,
+			'message'	=> $message
+		);
+
+		($hook = get_hook('fn_message_pre_send_json')) ? eval($hook) : null;
+		
+		send_json($json_data);
+	}
 
 	if (!defined('FORUM_HEADER'))
 	{
@@ -3176,6 +3218,19 @@
 	// Do a little spring cleaning
 	$destination_url = preg_replace('/([\r\n])|(%0[ad])|(;[\s]*data[\s]*:)/i', '', $destination_url);
 
+	if (defined('FORUM_REQUEST_AJAX'))
+	{
+		$json_data = array(
+			'code'		=> -2,
+			'message'	=> $message,
+			'destination_url' => $destination_url
+		);
+	
+		($hook = get_hook('fn_redirect_pre_send_json')) ? eval($hook) : null;
+		
+		send_json($json_data);
+	}	
+	
 	// If the delay is 0 seconds, we might as well skip the redirect all together
 	if ($forum_config['o_redirect_delay'] == '0')
 		header('Location: '.str_replace('&amp;', '&', $destination_url));
@@ -3406,3 +3461,51 @@
 
 	exit;
 }
+
+function send_json($params)
+{
+	header('Content-type: application/json; charset=utf-8');
+	if (!function_exists('json_encode'))
+	{
+		function json_encode($data)
+		{
+			switch ($type = gettype($data))
+			{
+				case 'NULL':
+					return 'null';
+				case 'boolean':
+					return ($data ? 'true' : 'false');
+				case 'integer':
+				case 'double':
+				case 'float':
+					return $data;
+				case 'string':
+					return '"' . addslashes($data) . '"';
+				case 'object':
+					$data = get_object_vars($data);
+				case 'array':
+					$output_index_count = 0;
+					$output_indexed = array();
+					$output_assoc = array();
+					foreach ($data as $key => $value)
+					{
+						$output_indexed[] = json_encode($value);
+						$output_assoc[] = json_encode($key) . ':' . json_encode($value);
+						if ($output_index_count !== NULL && $output_index_count++ !== $key)
+						{
+							$output_index_count = NULL;
+						}
+					}
+					if ($output_index_count !== NULL) {
+						return '[' . implode(',', $output_indexed) . ']';
+					} else {
+						return '{' . implode(',', $output_assoc) . '}';
+					}
+				default:
+					return ''; // Not supported
+			}
+		}
+	}
+	echo json_encode($params);
+	die;
+}
diff -urN punbb-1.4.2/include/js/min/punbb.common.min.js punbb-1.4.3/include/js/min/punbb.common.min.js
--- punbb-1.4.2/include/js/min/punbb.common.min.js	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/js/min/punbb.common.min.js	2015-06-15 09:21:05.000000000 -0400
@@ -1,7 +1,7 @@
 /*! LAB.js (LABjs :: Loading And Blocking JavaScript)
-    v1.2.0 (c) Kyle Simpson
+    v2.0.3 (c) Kyle Simpson
     MIT License
 */
-(function(c){var h="string",k="head",t="body",U="script",O="readyState",R="preloaddone",D="loadtrigger",K="srcuri",H="preload",u="complete",f="done",b="which",v="preserve",o="onreadystatechange",L="onload",I="hasOwnProperty",E="script/cache",g="[object ",M=g+"Function]",F=g+"Array]",y=null,G=true,z=false,n=c.document,N=c.location,S=c.ActiveXObject,e=c.setTimeout,C=c.clearTimeout,T=function(V){return n.getElementsByTagName(V);},r=Object.prototype.toString,s=function(){},w={},A={},a=/^[^?#]*\//.exec(N.href)[0],x=/^\w+\:\/\/\/?[^\/]+/.exec(a)[0],Q=T(U),p=c.opera&&r.call(c.opera)==g+"Opera]",q=("MozAppearance" in n.documentElement.style),d=(n.createElement(U).async===true),m={cache:!(q||p),order:q||p||d,xhr:G,dupe:G,base:"",which:k};m[v]=z;m[H]=G;w[k]=n.head||T(k);w[t]=T(t);function P(V){return r.call(V)===M;}function B(Y,X){var W=/^\w+\:\/\//,V;if(typeof Y!=h){Y="";}if(typeof X!=h){X="";}V=((/^\/\//.test(Y))?N.protocol:"")+Y;V=(W.test(V)?"":X)+V;return((W.test(V)?"":(V.charAt(0)==="/"?x:a))+V);}function J(V){return(B(V).indexOf(x)===0);}function i(X){var W,V=-1;while(W=Q[++V]){if(typeof W.src==h&&X===B(W.src)&&W.type!==E){return G;}}return z;}function l(ay,am){ay=!(!ay);if(am==y){am=m;}var al=z,af=ay&&am[H],at=af&&am.cache,av=af&&am.order,Z=af&&am.xhr,aw=am[v],Y=am.which,ap=am.base,aa=s,ao=z,ai,ac=G,ad={},au=[],ag=y;af=at||Z||av;function ax(aA,az){if((aA[O]&&aA[O]!==u&&aA[O]!=="loaded")||az[f]){return z;}aA[L]=aA[o]=y;return G;}function X(aB,aA,aC){aC=!(!aC);if(!aC&&!(ax(aB,aA))){return;}aA[f]=G;for(var az in ad){if(ad[I](az)&&!(ad[az][f])){return;}}al=G;aa();}function ah(az){if(P(az[D])){az[D]();az[D]=y;}}function ae(aA,az){if(!ax(aA,az)){return;}az[R]=G;e(function(){w[az[b]].removeChild(aA);ah(az);},0);}function V(aA,az){if(aA[O]===4){aA[o]=s;az[R]=G;e(function(){ah(az);},0);}}function ar(aB,aE,aC,aF,aD,az){var aA=aB[b];e(function(){if("item" in w[aA]){if(!w[aA][0]){e(arguments.callee,25);return;}w[aA]=w[aA][0];}var aG=n.createElement(U);if(typeof aC==h){aG.type=aC;}if(typeof aF==h){aG.charset=aF;}if(P(aD)){aG[L]=aG[o]=function(){aD(aG,aB);};aG.src=aE;if(d){aG.async=z;}}w[aA].insertBefore(aG,(aA===k?w[aA].firstChild:y));if(typeof az==h){aG.text=az;X(aG,aB,G);}},0);}function ak(az,aB,aA,aC){A[az[K]]=G;ar(az,aB,aA,aC,X);}function aq(aA,aC,aB,aD){var az=arguments;if(ac&&aA[R]==y){aA[R]=z;ar(aA,aC,E,aD,ae);}else{if(!ac&&aA[R]!=y&&!aA[R]){aA[D]=function(){aq.apply(y,az);};}else{if(!ac){ak.apply(y,az);}}}}function W(aA,aD,aB,aE){var az=arguments,aC;if(ac&&aA[R]==y){aA[R]=z;aC=aA.xhr=(S?new S("Microsoft.XMLHTTP"):new c.XMLHttpRequest());aC[o]=function(){V(aC,aA);};aC.open("GET",aD);aC.send("");}else{if(!ac&&aA[R]!=y&&!aA[R]){aA[D]=function(){W.apply(y,az);};}else{if(!ac){A[aA[K]]=G;ar(aA,aD,aB,aE,y,aA.xhr.responseText);aA.xhr=y;}}}}function aj(aF){if(typeof aF=="undefined"||!aF){return;}if(aF.allowDup==y){aF.allowDup=am.dupe;}var aE=aF.src,aC=aF.type,aG=aF.charset,aA=aF.allowDup,az=B(aE,ap),aB,aD=J(az);if(typeof aG!=h){aG=y;}aA=!(!aA);if(!aA&&((A[az]!=y)||(ac&&ad[az])||i(az))){if(ad[az]!=y&&ad[az][R]&&!ad[az][f]&&aD){X(y,ad[az],G);}return;}if(ad[az]==y){ad[az]={};}aB=ad[az];if(aB[b]==y){aB[b]=Y;}aB[f]=z;aB[K]=az;ao=G;if(!av&&Z&&aD){W(aB,az,aC,aG);}else{if(!av&&at){aq(aB,az,aC,aG);}else{ak(aB,az,aC,aG);}}}function ab(az){if(ay&&!av){au.push(az);}if(!ay||af){az();}}function an(aB){var aA=[],az;for(az=-1;++az<aB.length;){if(r.call(aB[az])===F){aA=aA.concat(an(aB[az]));}else{aA[aA.length]=aB[az];}}return aA;}ai={script:function(){C(ag);var aB=an(arguments),aA=ai,az;if(aw){for(az=-1;++az<aB.length;){if(P(aB[az])){aB[az]=aB[az]();}if(az===0){ab(function(){aj((typeof aB[0]==h)?{src:aB[0]}:aB[0]);});}else{aA=aA.script(aB[az]);}aA=aA.wait();}}else{for(az=-1;++az<aB.length;){if(P(aB[az])){aB[az]=aB[az]();}}ab(function(){for(az=-1;++az<aB.length;){aj((typeof aB[az]==h)?{src:aB[az]}:aB[az]);}});}ag=e(function(){ac=z;},5);return aA;},wait:function(aC){C(ag);ac=z;if(!P(aC)){aC=s;}var aD=l(ay||ao,am),az=aD.trigger,aB=function(){try{aC();}catch(aE){}az();};delete aD.trigger;var aA=function(){if(ao&&!al){aa=aB;}else{aB();}};if(ay&&!ao){au.push(aA);}else{ab(aA);}return aD;}};if(ay){ai.trigger=function(){var aA,az=-1;while(aA=au[++az]){aA();}au=[];};}else{ai.trigger=s;}return ai;}function j(Z){var V,X={},W={"UseCachePreload":"cache","UseLocalXHR":"xhr","UsePreloading":H,"AlwaysPreserveOrder":v,"AllowDuplicates":"dupe"},Y={"AppendTo":b,"BasePath":"base"};for(V in W){Y[V]=W[V];}X.order=!(!m.order);for(V in Y){if(Y[I](V)&&m[Y[V]]!=y){X[Y[V]]=(Z[V]!=y)?Z[V]:m[Y[V]];}}for(V in W){if(W[I](V)){X[W[V]]=!(!X[W[V]]);}}if(!X[H]){X.cache=X.order=X.xhr=z;}X.which=(X.which===k||X.which===t)?X.which:k;return X;}c.$LAB={setGlobalDefaults:function(V){m=j(V);},setOptions:function(V){return l(z,j(V));},script:function(){return l().script.apply(y,arguments);},wait:function(){return l().wait.apply(y,arguments);}};(function(X,V,W){if(n[O]==y&&n[X]){n[O]="loading";
-n[X](V,W=function(){n.removeEventListener(V,W,z);n[O]=u;},z);}})("addEventListener","DOMContentLoaded");})(window);if(typeof PUNBB==="undefined"||!PUNBB){var PUNBB={};}PUNBB.common=(function(){var e=document.documentElement,d=false,a=false;function b(f){return document.getElementById(f);}function c(f,h){if(f&&h){if(f.value.length===0&&h.value.length===0){return;}if(f.value===h.value){return;}var g=parseInt(h.getAttribute("maxlength"),10)||0;if(g>0){h.value=f.value.replace(/@.*/,"").replace(/\s/g,"").substr(0,g);}else{h.value=f.value.replace(/@.*/,"").replace(/\s/g,"");}}}return{on_domready_init:function(){d=true;PUNBB.common.addClass(e,"js");PUNBB.common.attachWindowOpen();PUNBB.common.autoFocus();PUNBB.common.attachCtrlEnterForm();PUNBB.common.attachUsernameFromEmail();PUNBB.common.attachEmailFieldFixer();if(!PUNBB.common.input_support_attr("required")){PUNBB.common.attachValidateForm();}var f=b("brd-messages");if(f){setTimeout(function(){f.style.visibility="hidden";},3500);}},on_load_init:function(){a=true;},addLoadEvent:function(g){if(a===true){g();}else{var f=window.onload;window.onload=(f&&typeof f==="function")?function(){f();g();}:g;}},addDOMReadyEvent:function(h){var f=false;if(d===true){h();return;}if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){h();f=true;},false);window.addEventListener("load",function(){if(!f){h();}},false);}else{if(window.attachEvent){if(window.ActiveXObject&&window===window.top){g();}else{window.attachEvent("onload",h);}}else{PUNBB.common.addLoadEvent(h);}}function g(){try{e.doScroll("left");}catch(i){setTimeout(g,0);return;}h();}},hasClass:function(g,f){return(new RegExp("\\b"+f+"\\b")).test(g.className);},addClass:function(g,f){if(PUNBB.common.hasClass(g,f)){return false;}else{g.className+=" "+f;}return true;},removeClass:function(g,f){if(!PUNBB.common.hasClass(g,f)){return false;}f=new RegExp("\\s*\\b"+f+"\\b","g");g.className=g.className.replace(f,"");return true;},blink:function(h,g){if(typeof g===undefined){g=2;}var f=h.style.visibility;if(g&&f!=="hidden"){h.style.visibility="hidden";setTimeout(function(){h.style.visibility=f;},200);setTimeout(function(){PUNBB.common.blink(h,g-1);},400);}},onScreen:function(m){function j(){var n=-1;if(window.pageYOffset){n=window.pageYOffset;}else{if(e&&e.scrollTop){n=e.scrollTop;}else{if(document.body){n=document.body.scrollTop;}}}return n;}function i(){var n=-1;if(window.innerHeight){n=window.innerHeight;}else{if(e&&e.clientHeight){n=e.clientHeight;}else{if(document.body){n=document.body.clientHeight;}}}return n;}function g(p){var o=p.offsetTop;p=p.offsetParent;return p?o+=g(p):o;}var f=j(),l=f+i(),h=g(m),k=h+m.clientHeight;return h>=f&&k<l;},map:function(j,g){var h,f;for(h=0,f=g.length;h<f;h+=1){g[h]=j(g[h]);}return g;},find:function(j,g){var h,f;for(h=0,f=g.length;h<f;h+=1){if(j(g[h])){return h;}}return -1;},arrayOfMatched:function(k,h){var j,g,f=[];for(j=0,g=h.length;j<g;j+=1){if(k(h[j])){f.push(h[j]);}}return f;},flatten:function(g){var h,f,j=[];for(h=0,f=g.length;h<f;h+=1){if(typeof g[h]==="object"&&g.length){j.concat(PUNBB.common.flatten(g[h]));}else{j.push(g[h]);}}return j;},validateForm:function(h){var g=function(m){return m.name&&m.name.indexOf("req_")===0;};var j=h.elements,f=PUNBB.common.arrayOfMatched(g,j);g=function(m){return(/^\s*$/).test(m.value);};var i=PUNBB.common.find(g,f);if(i>-1){if(PUNBB.common.find(g,f)>-1){var l=b("req-msg");PUNBB.common.removeClass(l,"req-warn");var k=PUNBB.common.addClass(l,"req-error");if(!PUNBB.common.onScreen(l)){l.scrollIntoView();setTimeout(function(){PUNBB.common.blink(l);},500);}else{if(!k){PUNBB.common.blink(l);}}if(PUNBB.common.onScreen(f[i])){f[i].focus();}return false;}}return true;},doQuickjumpRedirect:function(h,g){var f=b("qjump-select")[b("qjump-select").selectedIndex].value;h=h.replace("$1",f);h=h.replace("$2",g[f]);document.location=h;return false;},attachQuickjumpRedirect:function(f,i){var h=b("qjump-select"),g=b("qjump-submit");if(h){h.onchange=function(){return PUNBB.common.doQuickjumpRedirect(f,i);};}if(g){g.onclick=function(){return PUNBB.common.doQuickjumpRedirect(f,i);};PUNBB.common.addClass(g,"visual-hidden");}},initToggleCheckboxes:function(){var k=function(i){return function(){return PUNBB.common.toggleCheckboxes(i);};};var g,f,l=document.getElementsByTagName("span");for(g=0,f=l.length;g<f;g+=1){var h=l[g];if(PUNBB.common.hasClass(h,"select-all")&&h.getAttribute("data-check-form")){var j=b(h.getAttribute("data-check-form"));if(j){h.onclick=k(j);}}}},toggleCheckboxes:function(j){if(!j){return false;}var g,f,k=j.getElementsByTagName("input");for(g=0,f=k.length;g<f;g+=1){var h=k[g];if(h.getAttribute("data-no-select-all")){continue;}if(h.getAttribute("type")=="checkbox"&&h.disabled===false){h.checked=!h.checked;}}return false;},attachCtrlEnterForm:function(){var r=function(f){return function(j){j=j||window.event;var i=j.keyCode||j.which;if(((i==13)||(i==10))&&(j.ctrlKey===true)){return f.submit();}};};var n=function(f){return f.tagName.toUpperCase()=="TEXTAREA";
-};var m,q,h=document.forms;for(m=0,q=h.length;m<q;m+=1){var p=h[m];if(!PUNBB.common.hasClass(p,"frm-ctrl-submit")){continue;}var l,o,g=p.elements,k=PUNBB.common.arrayOfMatched(n,g);for(l=0,o=k.length;l<o;l+=1){k[l].onkeypress=r(p);}}},attachValidateForm:function(){var o=function(i){return i.name&&i.name.indexOf("req_")===0;};var l=function(i){return i.type&&(i.type=="submit"&&i.name!="cancel");};var m=function(i){return function(){return PUNBB.common.validateForm(i);};};var k,n,g=document.forms;for(k=0,n=g.length;k<n;k+=1){var f=g[k].elements;if(PUNBB.common.find(o,f)>-1){var h=PUNBB.common.arrayOfMatched(l,f),j=g[k];h=PUNBB.common.map(function(i){i.onclick=m(j);},h);}}},attachWindowOpen:function(){if(!document.getElementsByTagName){return;}var h=function(){return function(){window.open(this.href);return false;};};var g,f=document.getElementsByTagName("a");for(g=0;g<f.length;g+=1){if(PUNBB.common.hasClass(f[g],"exthelp")){f[g].onclick=h();}}},autoFocus:function(){var g=function(i){return i.offsetWidth>0&&(i.tagName.toUpperCase()=="TEXTAREA"||(i.tagName.toUpperCase()=="INPUT"&&(i.type=="text")||(i.type=="password")||(i.type=="email")||(i.type=="url")||(i.type=="number")));};var f=b("afocus");if(!f||window.location.hash.replace(/#/g,"")){return;}f=f.all||f.getElementsByTagName("*");var h=PUNBB.common.find(g,f);if(h>-1){f[h].focus();}},input_support_attr:function(f){var g=document.createElement("input");if(!f){return false;}return !!(f in g);},attachUsernameFromEmail:function(){var m=function(f){return(f.tagName.toUpperCase()=="INPUT"&&f.type=="email"&&f.getAttribute("data-suggest-role")==="email");};var p=function(f){return(f.tagName.toUpperCase()=="INPUT"&&f.type=="text"&&f.getAttribute("data-suggest-role")==="username");};var j,n,g=document.forms;for(j=0,n=g.length;j<n;j+=1){var l=g[j],k=-1,h=-1;if(!PUNBB.common.hasClass(l,"frm-suggest-username")){continue;}k=PUNBB.common.find(m,l.elements);h=PUNBB.common.find(p,l.elements);if(k>0&&h>0){var o=function(f){return function(i){c(this,f);};};l.elements[k].onkeyup=o(l.elements[h]);}}},attachEmailFieldFixer:function(){var n=function(i){return(i.tagName.toUpperCase()=="INPUT"&&i.type=="email");};var p=function(){var i=this;if(i&&i.value.length>0){i.value=i.value.replace(/\s/g,"");}};var l,o,g=document.forms;for(l=0,o=g.length;l<o;l+=1){var k,m,f=g[l].elements,h=PUNBB.common.arrayOfMatched(n,f);for(k=0,m=h.length;k<m;k+=1){h[k].onblur=p;}}}};}());PUNBB.common.addDOMReadyEvent(PUNBB.common.on_domready_init);PUNBB.common.addLoadEvent(PUNBB.common.on_load_init);
\ No newline at end of file
+(function(n){var q=n.$LAB,i="UseLocalXHR",m="AlwaysPreserveOrder",k="AllowDuplicates",j="CacheBust",d="BasePath",o=/^[^?#]*\//.exec(location.href)[0],y=/^\w+\:\/\/\/?[^\/]+/.exec(o)[0],e=document.head||document.getElementsByTagName("head"),g=(n.opera&&Object.prototype.toString.call(n.opera)=="[object Opera]")||("MozAppearance" in document.documentElement.style),w=document.createElement("script"),a=typeof w.preload=="boolean",t=a||(w.readyState&&w.readyState=="uninitialized"),u=!t&&w.async===true,v=!t&&!u&&!g;function r(z){return Object.prototype.toString.call(z)=="[object Function]";}function x(z){return Object.prototype.toString.call(z)=="[object Array]";}function f(B,A){var z=/^\w+\:\/\//;if(/^\/\/\/?/.test(B)){B=location.protocol+B;}else{if(!z.test(B)&&B.charAt(0)!="/"){B=(A||"")+B;}}return z.test(B)?B:((B.charAt(0)=="/"?y:o)+B);}function h(A,B){for(var z in A){if(A.hasOwnProperty(z)){B[z]=A[z];}}return B;}function b(A){var B=false;for(var z=0;z<A.scripts.length;z++){if(A.scripts[z].ready&&A.scripts[z].exec_trigger){B=true;A.scripts[z].exec_trigger();A.scripts[z].exec_trigger=null;}}return B;}function c(B,A,z,C){B.onload=B.onreadystatechange=function(){if((B.readyState&&B.readyState!="complete"&&B.readyState!="loaded")||A[z]){return;}B.onload=B.onreadystatechange=null;C();};}function s(z){z.ready=z.finished=true;for(var A=0;A<z.finished_listeners.length;A++){z.finished_listeners[A]();}z.ready_listeners=[];z.finished_listeners=[];}function p(B,C,A,D,z){setTimeout(function(){var E,G=C.real_src,F;if("item" in e){if(!e[0]){setTimeout(arguments.callee,25);return;}e=e[0];}E=document.createElement("script");if(C.type){E.type=C.type;}if(C.charset){E.charset=C.charset;}if(z){if(t){A.elem=E;if(a){E.preload=true;E.onpreload=D;}else{E.onreadystatechange=function(){if(E.readyState=="loaded"){D();}};}E.src=G;}else{if(z&&G.indexOf(y)==0&&B[i]){F=new XMLHttpRequest();F.onreadystatechange=function(){if(F.readyState==4){F.onreadystatechange=function(){};A.text=F.responseText+"\n//@ sourceURL="+G;D();}};F.open("GET",G);F.send();}else{E.type="text/cache-script";c(E,A,"ready",function(){e.removeChild(E);D();});E.src=G;e.insertBefore(E,e.firstChild);}}}else{if(u){E.async=false;c(E,A,"finished",D);E.src=G;e.insertBefore(E,e.firstChild);}else{c(E,A,"finished",D);E.src=G;e.insertBefore(E,e.firstChild);}}},0);}function l(){var B={},G=t||v,z=[],A={},D;B[i]=true;B[m]=false;B[k]=false;B[j]=false;B[d]="";function F(J,L,I){var H;function K(){if(H!=null){H=null;s(I);}}if(A[L.src].finished){return;}if(!J[k]){A[L.src].finished=true;}H=I.elem||document.createElement("script");if(L.type){H.type=L.type;}if(L.charset){H.charset=L.charset;}c(H,I,"finished",K);if(I.elem){I.elem=null;}else{if(I.text){H.onload=H.onreadystatechange=null;H.text=I.text;}else{H.src=L.real_src;}}e.insertBefore(H,e.firstChild);if(I.text){K();}}function C(J,N,M,H){var I,L,K=function(){N.ready_cb(N,function(){F(J,N,I);});},O=function(){N.finished_cb(N,M);};N.src=f(N.src,J[d]);N.real_src=N.src+(J[j]?((/\?.*$/.test(N.src)?"&_":"?_")+~~(Math.random()*1000000000)+"="):"");if(!A[N.src]){A[N.src]={items:[],finished:false};}L=A[N.src].items;if(J[k]||L.length==0){I=L[L.length]={ready:false,finished:false,ready_listeners:[K],finished_listeners:[O]};p(J,N,I,((H)?function(){I.ready=true;for(var P=0;P<I.ready_listeners.length;P++){I.ready_listeners[P]();}I.ready_listeners=[];}:function(){s(I);}),H);}else{I=L[0];if(I.finished){O();}else{I.finished_listeners.push(O);}}}function E(){var K,O=h(B,{}),H=[],J=0,L=false,N;function Q(S,R){S.ready=true;S.exec_trigger=R;I();}function P(T,S){T.ready=T.finished=true;T.exec_trigger=null;for(var R=0;R<S.scripts.length;R++){if(!S.scripts[R].finished){return;}}S.finished=true;I();}function I(){while(J<H.length){if(r(H[J])){try{H[J++]();}catch(R){}continue;}else{if(!H[J].finished){if(b(H[J])){continue;}break;}}J++;}if(J==H.length){L=false;N=false;}}function M(){if(!N||!N.scripts){H.push(N={scripts:[],finished:true});}}K={script:function(){for(var R=0;R<arguments.length;R++){(function(V,T){var U;if(!x(V)){T=[V];}for(var S=0;S<T.length;S++){M();V=T[S];if(r(V)){V=V();}if(!V){continue;}if(x(V)){U=[].slice.call(V);U.unshift(S,1);[].splice.apply(T,U);S--;continue;}if(typeof V=="string"){V={src:V};}V=h(V,{ready:false,ready_cb:Q,finished:false,finished_cb:P});N.finished=false;N.scripts.push(V);C(O,V,N,(G&&L));L=true;if(O[m]){K.wait();}}})(arguments[R],arguments[R]);}return K;},wait:function(){if(arguments.length>0){for(var R=0;R<arguments.length;R++){H.push(arguments[R]);}N=H[H.length-1];}else{N=false;}I();return K;}};return{script:K.script,wait:K.wait,setOptions:function(R){h(R,O);return K;}};}D={setGlobalDefaults:function(H){h(H,B);return D;},setOptions:function(){return E().setOptions.apply(null,arguments);},script:function(){return E().script.apply(null,arguments);},wait:function(){return E().wait.apply(null,arguments);},queueScript:function(){z[z.length]={type:"script",args:[].slice.call(arguments)};
+return D;},queueWait:function(){z[z.length]={type:"wait",args:[].slice.call(arguments)};return D;},runQueue:function(){var J=D,H=z.length,I=H,K;for(;--I>=0;){K=z.shift();J=J[K.type].apply(null,K.args);}return J;},noConflict:function(){n.$LAB=q;return D;},sandbox:function(){return l();}};return D;}n.$LAB=l();(function(B,z,A){if(document.readyState==null&&document[B]){document.readyState="loading";document[B](z,A=function(){document.removeEventListener(z,A,false);document.readyState="complete";},false);}})("addEventListener","DOMContentLoaded");})(this);if(typeof PUNBB==="undefined"||!PUNBB){var PUNBB={};}PUNBB.common=(function(){var e=document.documentElement,d=false,a=false;function b(f){return document.getElementById(f);}function c(f,h){if(f&&h){if(f.value.length===0&&h.value.length===0){return;}if(f.value===h.value){return;}var g=parseInt(h.getAttribute("maxlength"),10)||0;if(g>0){h.value=f.value.replace(/@.*/,"").replace(/\s/g,"").substr(0,g);}else{h.value=f.value.replace(/@.*/,"").replace(/\s/g,"");}}}return{on_domready_init:function(){d=true;PUNBB.common.addClass(e,"js");PUNBB.common.attachWindowOpen();PUNBB.common.autoFocus();PUNBB.common.attachCtrlEnterForm();PUNBB.common.attachUsernameFromEmail();PUNBB.common.attachEmailFieldFixer();if(!PUNBB.common.input_support_attr("required")){PUNBB.common.attachValidateForm();}var f=b("brd-messages");if(f){setTimeout(function(){f.style.visibility="hidden";},3500);}},on_load_init:function(){a=true;},addLoadEvent:function(g){if(a===true){g();}else{var f=window.onload;window.onload=(f&&typeof f==="function")?function(){f();g();}:g;}},addDOMReadyEvent:function(h){var f=false;if(d===true){h();return;}if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){h();f=true;},false);window.addEventListener("load",function(){if(!f){h();}},false);}else{if(window.attachEvent){if(window.ActiveXObject&&window===window.top){g();}else{window.attachEvent("onload",h);}}else{PUNBB.common.addLoadEvent(h);}}function g(){try{e.doScroll("left");}catch(i){setTimeout(g,0);return;}h();}},hasClass:function(g,f){return(new RegExp("\\b"+f+"\\b")).test(g.className);},addClass:function(g,f){if(PUNBB.common.hasClass(g,f)){return false;}else{g.className+=" "+f;}return true;},removeClass:function(g,f){if(!PUNBB.common.hasClass(g,f)){return false;}f=new RegExp("\\s*\\b"+f+"\\b","g");g.className=g.className.replace(f,"");return true;},blink:function(h,g){if(typeof g===undefined){g=2;}var f=h.style.visibility;if(g&&f!=="hidden"){h.style.visibility="hidden";setTimeout(function(){h.style.visibility=f;},200);setTimeout(function(){PUNBB.common.blink(h,g-1);},400);}},onScreen:function(m){function j(){var n=-1;if(window.pageYOffset){n=window.pageYOffset;}else{if(e&&e.scrollTop){n=e.scrollTop;}else{if(document.body){n=document.body.scrollTop;}}}return n;}function i(){var n=-1;if(window.innerHeight){n=window.innerHeight;}else{if(e&&e.clientHeight){n=e.clientHeight;}else{if(document.body){n=document.body.clientHeight;}}}return n;}function g(p){var o=p.offsetTop;p=p.offsetParent;return p?o+=g(p):o;}var f=j(),l=f+i(),h=g(m),k=h+m.clientHeight;return h>=f&&k<l;},map:function(j,g){var h,f;for(h=0,f=g.length;h<f;h+=1){g[h]=j(g[h]);}return g;},find:function(j,g){var h,f;for(h=0,f=g.length;h<f;h+=1){if(j(g[h])){return h;}}return -1;},arrayOfMatched:function(k,h){var j,g,f=[];for(j=0,g=h.length;j<g;j+=1){if(k(h[j])){f.push(h[j]);}}return f;},flatten:function(g){var h,f,j=[];for(h=0,f=g.length;h<f;h+=1){if(typeof g[h]==="object"&&g.length){j.concat(PUNBB.common.flatten(g[h]));}else{j.push(g[h]);}}return j;},validateForm:function(h){var g=function(m){return m.name&&m.name.indexOf("req_")===0;};var j=h.elements,f=PUNBB.common.arrayOfMatched(g,j);g=function(m){return(/^\s*$/).test(m.value);};var i=PUNBB.common.find(g,f);if(i>-1){if(PUNBB.common.find(g,f)>-1){var l=b("req-msg");PUNBB.common.removeClass(l,"req-warn");var k=PUNBB.common.addClass(l,"req-error");if(!PUNBB.common.onScreen(l)){l.scrollIntoView();setTimeout(function(){PUNBB.common.blink(l);},500);}else{if(!k){PUNBB.common.blink(l);}}if(PUNBB.common.onScreen(f[i])){f[i].focus();}return false;}}return true;},doQuickjumpRedirect:function(h,g){var f=b("qjump-select")[b("qjump-select").selectedIndex].value;h=h.replace("$1",f);h=h.replace("$2",g[f]);document.location=h;return false;},attachQuickjumpRedirect:function(f,i){var h=b("qjump-select"),g=b("qjump-submit");if(h){h.onchange=function(){return PUNBB.common.doQuickjumpRedirect(f,i);};}if(g){g.onclick=function(){return PUNBB.common.doQuickjumpRedirect(f,i);};PUNBB.common.addClass(g,"visual-hidden");}},initToggleCheckboxes:function(){var k=function(i){return function(){return PUNBB.common.toggleCheckboxes(i);};};var g,f,l=document.getElementsByTagName("span");for(g=0,f=l.length;g<f;g+=1){var h=l[g];if(PUNBB.common.hasClass(h,"select-all")&&h.getAttribute("data-check-form")){var j=b(h.getAttribute("data-check-form"));if(j){h.onclick=k(j);}}}},toggleCheckboxes:function(j){if(!j){return false;
+}var g,f,k=j.getElementsByTagName("input");for(g=0,f=k.length;g<f;g+=1){var h=k[g];if(h.getAttribute("data-no-select-all")){continue;}if(h.getAttribute("type")=="checkbox"&&h.disabled===false){h.checked=!h.checked;}}return false;},attachCtrlEnterForm:function(){var r=function(f){return function(j){j=j||window.event;var i=j.keyCode||j.which;if(((i==13)||(i==10))&&(j.ctrlKey===true)){return f.submit();}};};var n=function(f){return f.tagName.toUpperCase()=="TEXTAREA";};var m,q,h=document.forms;for(m=0,q=h.length;m<q;m+=1){var p=h[m];if(!PUNBB.common.hasClass(p,"frm-ctrl-submit")){continue;}var l,o,g=p.elements,k=PUNBB.common.arrayOfMatched(n,g);for(l=0,o=k.length;l<o;l+=1){k[l].onkeypress=r(p);}}},attachValidateForm:function(){var o=function(i){return i.name&&i.name.indexOf("req_")===0;};var l=function(i){return i.type&&(i.type=="submit"&&i.name!="cancel");};var m=function(i){return function(){return PUNBB.common.validateForm(i);};};var k,n,g=document.forms;for(k=0,n=g.length;k<n;k+=1){var f=g[k].elements;if(PUNBB.common.find(o,f)>-1){var h=PUNBB.common.arrayOfMatched(l,f),j=g[k];h=PUNBB.common.map(function(i){i.onclick=m(j);},h);}}},attachWindowOpen:function(){if(!document.getElementsByTagName){return;}var h=function(){return function(){window.open(this.href);return false;};};var g,f=document.getElementsByTagName("a");for(g=0;g<f.length;g+=1){if(PUNBB.common.hasClass(f[g],"exthelp")){f[g].onclick=h();}}},autoFocus:function(){var g=function(i){return i.offsetWidth>0&&(i.tagName.toUpperCase()=="TEXTAREA"||(i.tagName.toUpperCase()=="INPUT"&&(i.type=="text")||(i.type=="password")||(i.type=="email")||(i.type=="url")||(i.type=="number")));};var f=b("afocus");if(!f||window.location.hash.replace(/#/g,"")){return;}f=f.all||f.getElementsByTagName("*");var h=PUNBB.common.find(g,f);if(h>-1){f[h].focus();}},input_support_attr:function(f){var g=document.createElement("input");if(!f){return false;}return !!(f in g);},attachUsernameFromEmail:function(){var m=function(f){return(f.tagName.toUpperCase()=="INPUT"&&f.type=="email"&&f.getAttribute("data-suggest-role")==="email");};var p=function(f){return(f.tagName.toUpperCase()=="INPUT"&&f.type=="text"&&f.getAttribute("data-suggest-role")==="username");};var j,n,g=document.forms;for(j=0,n=g.length;j<n;j+=1){var l=g[j],k=-1,h=-1;if(!PUNBB.common.hasClass(l,"frm-suggest-username")){continue;}k=PUNBB.common.find(m,l.elements);h=PUNBB.common.find(p,l.elements);if(k>0&&h>0){var o=function(f){return function(i){c(this,f);};};l.elements[k].onkeyup=o(l.elements[h]);}}},attachEmailFieldFixer:function(){var n=function(i){return(i.tagName.toUpperCase()=="INPUT"&&i.type=="email");};var p=function(){var i=this;if(i&&i.value.length>0){i.value=i.value.replace(/\s/g,"");}};var l,o,g=document.forms;for(l=0,o=g.length;l<o;l+=1){var k,m,f=g[l].elements,h=PUNBB.common.arrayOfMatched(n,f);for(k=0,m=h.length;k<m;k+=1){h[k].onblur=p;}}}};}());PUNBB.common.addDOMReadyEvent(PUNBB.common.on_domready_init);PUNBB.common.addLoadEvent(PUNBB.common.on_load_init);
\ No newline at end of file
diff -urN punbb-1.4.2/include/parser.php punbb-1.4.3/include/parser.php
--- punbb-1.4.2/include/parser.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/parser.php	2015-06-15 09:21:05.000000000 -0400
@@ -664,6 +664,23 @@
 
 
 //
+// Callback for handle_url_tag
+//
+function callback_handle_url_nobb($reg)
+{
+	return handle_url_tag($reg[1], (isset($reg[2]) ? $reg[2] : ''), false);
+}
+
+//
+// Callback for handle_url_tag
+//
+function callback_handle_url_bb($reg)
+{
+	return handle_url_tag($reg[1], (isset($reg[2]) ? $reg[2] : ''), true);
+}
+
+
+//
 // Turns an URL from the [img] tag into an <img> tag or a <a href...> tag
 //
 function handle_img_tag($url, $is_signature = false, $alt = null)
@@ -773,13 +790,12 @@
 		}
 	}
 
-	$pattern[] = '#\[url\]([^\[]*?)\[/url\]#e';
-	$pattern[] = '#\[url=([^\[]+?)\](.*?)\[/url\]#e';
+	$text = preg_replace_callback('#\[url\]([^\[]*?)\[/url\]#', 'callback_handle_url_nobb', $text);
+	$text = preg_replace_callback('#\[url=([^\[]+?)\](.*?)\[/url\]#', 'callback_handle_url_nobb', $text);
+
 	$pattern[] = '#\[email\]([^\[]*?)\[/email\]#';
 	$pattern[] = '#\[email=([^\[]+?)\](.*?)\[/email\]#';
 
-	$replace[] = 'handle_url_tag(\'$1\')';
-	$replace[] = 'handle_url_tag(\'$1\', \'$2\')';
 	$replace[] = '<a href="mailto:$1">$1</a>';
 	$replace[] = '<a href="mailto:$1">$2</a>';
 
diff -urN punbb-1.4.2/include/search_functions.php punbb-1.4.3/include/search_functions.php
--- punbb-1.4.2/include/search_functions.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/search_functions.php	2015-06-15 09:21:05.000000000 -0400
@@ -7,10 +7,6 @@
  * @package PunBB
  */
 
-if (!defined('FORUM_SEARCH_MIN_WORD'))
-	define('FORUM_SEARCH_MIN_WORD', 3);
-if (!defined('FORUM_SEARCH_MAX_WORD'))
-	define('FORUM_SEARCH_MAX_WORD', 20);
 
 //
 // Cache the results of a search and redirect the user to the results page
diff -urN punbb-1.4.2/include/template/admin.tpl punbb-1.4.3/include/template/admin.tpl
--- punbb-1.4.2/include/template/admin.tpl	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/template/admin.tpl	2015-06-15 09:21:05.000000000 -0400
@@ -5,6 +5,7 @@
 <!--[if gt IE 8]><!--> <html <!-- forum_local -->> <!--<![endif]-->
 <head>
 <meta charset="utf-8" />
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
 <!-- forum_head -->
 </head>
 <body>
@@ -50,5 +51,20 @@
 </div>
 </div>
 <!-- forum_javascript -->
+<script>
+    var main_menu = responsiveNav("#brd-navlinks", {
+        label: "<!-- forum_board_title -->"
+    });
+    if(document.getElementsByClassName('admin-menu').length){
+        var admin_menu = responsiveNav(".admin-menu", {
+            label: "<!-- forum_lang_menu_admin -->"
+        });
+    }
+    if(document.getElementsByClassName('main-menu').length){
+        var profile_menu = responsiveNav(".main-menu", {
+            label: "<!-- forum_lang_menu_profile -->"
+        });
+    }
+</script>
 </body>
 </html>
diff -urN punbb-1.4.2/include/template/help.tpl punbb-1.4.3/include/template/help.tpl
--- punbb-1.4.2/include/template/help.tpl	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/template/help.tpl	2015-06-15 09:21:05.000000000 -0400
@@ -6,6 +6,7 @@
 <head>
 <head>
 <meta charset="utf-8" />
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
 <!-- forum_head -->
 </head>
 <body>
diff -urN punbb-1.4.2/include/template/maintenance.tpl punbb-1.4.3/include/template/maintenance.tpl
--- punbb-1.4.2/include/template/maintenance.tpl	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/template/maintenance.tpl	2015-06-15 09:21:05.000000000 -0400
@@ -5,6 +5,7 @@
 <!--[if gt IE 8]><!--> <html <!-- forum_local -->> <!--<![endif]-->
 <head>
 <meta charset="utf-8" />
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
 <!-- forum_head -->
 </head>
 <body>
diff -urN punbb-1.4.2/include/template/main.tpl punbb-1.4.3/include/template/main.tpl
--- punbb-1.4.2/include/template/main.tpl	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/template/main.tpl	2015-06-15 09:21:05.000000000 -0400
@@ -5,6 +5,7 @@
 <!--[if gt IE 8]><!--> <html <!-- forum_local -->> <!--<![endif]-->
 <head>
 <meta charset="utf-8" />
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
 <!-- forum_head -->
 </head>
 <body>
@@ -45,5 +46,20 @@
 	</div>
 	</div>
 	<!-- forum_javascript -->
+	<script>
+	    var main_menu = responsiveNav("#brd-navlinks", {
+		label: "<!-- forum_board_title -->"
+	    });
+	    if(document.getElementsByClassName('admin-menu').length){
+		var admin_menu = responsiveNav(".admin-menu", {
+		    label: "<!-- forum_lang_menu_admin -->"
+		});
+	    }
+	    if(document.getElementsByClassName('main-menu').length){
+		var profile_menu = responsiveNav(".main-menu", {
+		    label: "<!-- forum_lang_menu_profile -->"
+		});
+	    }
+	</script>
 </body>
 </html>
diff -urN punbb-1.4.2/include/template/redirect.tpl punbb-1.4.3/include/template/redirect.tpl
--- punbb-1.4.2/include/template/redirect.tpl	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/template/redirect.tpl	2015-06-15 09:21:05.000000000 -0400
@@ -5,6 +5,7 @@
 <!--[if gt IE 8]><!--> <html <!-- forum_local -->> <!--<![endif]-->
 <head>
 <meta charset="utf-8" />
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
 <!-- forum_head -->
 </head>
 <body>
diff -urN punbb-1.4.2/include/url/Default/forum_urls.php punbb-1.4.3/include/url/Default/forum_urls.php
--- punbb-1.4.2/include/url/Default/forum_urls.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/url/Default/forum_urls.php	2015-06-15 09:21:05.000000000 -0400
@@ -38,6 +38,7 @@
 	'mark_forum_read'				=>	'misc.php?action=markforumread&amp;fid=$1&amp;csrf_token=$2',
 	'new_topic'						=>	'post.php?fid=$1',
 	'new_reply'						=>	'post.php?tid=$1',
+	'opensearch'					=>	'misc.php?action=opensearch',
 	'post'							=>	'viewtopic.php?pid=$1#p$1',
 	'profile_about'					=>	'profile.php?section=about&amp;id=$1',
 	'profile_identity'				=>	'profile.php?section=identity&amp;id=$1',
diff -urN punbb-1.4.2/include/url/File_based/forum_urls.php punbb-1.4.3/include/url/File_based/forum_urls.php
--- punbb-1.4.2/include/url/File_based/forum_urls.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/url/File_based/forum_urls.php	2015-06-15 09:21:05.000000000 -0400
@@ -40,6 +40,7 @@
 	'mark_forum_read'				=>	'mark-forum$1-read-$2.html',
 	'new_topic'						=>	'new-topic$1.html',
 	'new_reply'						=>	'new-reply$1.html',
+	'opensearch'					=>	'misc.php?action=opensearch',
 	'post'							=>	'post$1.html#p$1',
 	'profile_about'					=>	'user$1-about.html',
 	'profile_identity'				=>	'user$1-identity.html',
diff -urN punbb-1.4.2/include/url/File_based_(fancy)/forum_urls.php punbb-1.4.3/include/url/File_based_(fancy)/forum_urls.php
--- punbb-1.4.2/include/url/File_based_(fancy)/forum_urls.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/url/File_based_(fancy)/forum_urls.php	2015-06-15 09:21:05.000000000 -0400
@@ -41,6 +41,7 @@
 	'mark_forum_read'				=>	'mark-forum$1-read-$2.html',
 	'new_topic'						=>	'new-topic$1.html',
 	'new_reply'						=>	'new-reply$1.html',
+	'opensearch'					=>	'misc.php?action=opensearch',
 	'post'							=>	'post$1.html#p$1',
 	'profile_about'					=>	'user$1-about.html',
 	'profile_identity'				=>	'user$1-identity.html',
diff -urN punbb-1.4.2/include/url/Folder_based/forum_urls.php punbb-1.4.3/include/url/Folder_based/forum_urls.php
--- punbb-1.4.2/include/url/Folder_based/forum_urls.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/url/Folder_based/forum_urls.php	2015-06-15 09:21:05.000000000 -0400
@@ -38,6 +38,7 @@
 	'mark_forum_read'				=>	'mark/forum/$1/read/$2/',
 	'new_topic'						=>	'new/topic/$1/',
 	'new_reply'						=>	'new/reply/$1/',
+	'opensearch'					=>	'misc.php?action=opensearch',
 	'post'							=>	'post/$1/#p$1',
 	'profile_about'					=>	'user/$1/about/',
 	'profile_identity'				=>	'user/$1/identity/',
diff -urN punbb-1.4.2/include/url/Folder_based_(fancy)/forum_urls.php punbb-1.4.3/include/url/Folder_based_(fancy)/forum_urls.php
--- punbb-1.4.2/include/url/Folder_based_(fancy)/forum_urls.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/include/url/Folder_based_(fancy)/forum_urls.php	2015-06-15 09:21:05.000000000 -0400
@@ -39,6 +39,7 @@
 	'mark_forum_read'				=>	'mark/forum/$1/read/$2/',
 	'new_topic'						=>	'new/topic/$1/',
 	'new_reply'						=>	'new/reply/$1/',
+	'opensearch'					=>	'misc.php?action=opensearch',
 	'post'							=>	'post/$1/#p$1',
 	'profile_about'					=>	'user/$1/about/',
 	'profile_identity'				=>	'user/$1/identity/',
diff -urN punbb-1.4.2/lang/English/admin_ext.php punbb-1.4.3/lang/English/admin_ext.php
--- punbb-1.4.2/lang/English/admin_ext.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/lang/English/admin_ext.php	2015-06-15 09:21:05.000000000 -0400
@@ -70,5 +70,7 @@
 'Disable dependency'			=>	'This extension cannot be disabled while "%s" is enabled.',
 'Disabled dependency'			=>	'This extension cannot be enabled while "%s" is disabled.',
 'Download latest version'		=>	'Download latest version',
+'Version dependency error'    =>  'Extension "%s" must be version %s or higher',
+'Install ext errors'            =>  '<strong>Warning!</strong> The following errors must be corrected before extension can be installed:',
 
 );
diff -urN punbb-1.4.2/lang/English/common.php punbb-1.4.3/lang/English/common.php
--- punbb-1.4.2/lang/English/common.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/lang/English/common.php	2015-06-15 09:21:05.000000000 -0400
@@ -169,4 +169,8 @@
 'Forum error db reported'	=> 'Database reported:',
 'Forum error db query'		=> 'Failed query:',
 
+// Menu
+'Menu admin'		=> 'Admin Menu',
+'Menu profile'		=> 'Profile Menu',
+
 );
diff -urN punbb-1.4.2/lang/English/login.php punbb-1.4.3/lang/English/login.php
--- punbb-1.4.2/lang/English/login.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/lang/English/login.php	2015-06-15 09:21:05.000000000 -0400
@@ -21,6 +21,7 @@
 'Obtain pass'						=>	'new password',
 'register'							=>	'register',
 'Submit password request'			=>	'Submit request',
+'Email important'					=>	'Contact the forum administrator at %s to change password on specified email address.',
 'Email flood'						=>	'This account has already requested a new password in the past %s seconds. Please wait a while before requesting a new password again.',
 'New password request'				=>	'New password request',
 'New password errors'				=>	'<strong>Warning!</strong> The following errors must be corrected before a new password can be sent:',
diff -urN punbb-1.4.2/lang/English/misc.php punbb-1.4.3/lang/English/misc.php
--- punbb-1.4.2/lang/English/misc.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/lang/English/misc.php	2015-06-15 09:21:05.000000000 -0400
@@ -11,6 +11,7 @@
 'Form e-mail errors'		=>	'<strong>Warning!</strong> The following errors must be corrected before your message can be sent:',
 'No e-mail subject'			=>	'You must enter a subject.',
 'No e-mail message'			=>	'You must enter a message.',
+'Too long e-mail subject'   =>  'Subjects cannot be longer than %s characters.',
 'Too long e-mail message'	=>	'Your message length is %s bytes. This exceeds the %s bytes limit.',
 'Email flood'				=>	'At least %s seconds have to pass between sent emails. Please wait a while and try sending again.',
 'E-mail sent redirect'		=>	'Email sent.',
diff -urN punbb-1.4.2/lang/English/post.php punbb-1.4.3/lang/English/post.php
--- punbb-1.4.2/lang/English/post.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/lang/English/post.php	2015-06-15 09:21:05.000000000 -0400
@@ -5,7 +5,7 @@
 
 // Post validation stuff (many are similar to those in edit.php)
 'No subject'			=>	'Topics must contain a subject.',
-'Too long subject'		=>	'Subjects cannot be longer than 70 characters.',
+'Too long subject'		=>	'Subjects cannot be longer than %s characters.',
 'All caps subject'		=>	'Subjects cannot contain only capital letters.',
 'No message'			=>	'You must enter a message.',
 'Too long message'		=>	'Your post length is %s bytes. This exceeds the %s bytes limit.',
diff -urN punbb-1.4.2/lang/English/profile.php punbb-1.4.3/lang/English/profile.php
--- punbb-1.4.2/lang/English/profile.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/lang/English/profile.php	2015-06-15 09:21:05.000000000 -0400
@@ -92,6 +92,9 @@
 'AOL IM'					=>	'AOL IM',
 'Forbidden title'			=>	'The title you entered contains a forbidden word. You must choose a different title.',
 'Bad ICQ'					=>	'You entered an invalid ICQ UIN.',
+'Bad Twitter'				=>	'You entered an invalid Twitter account.',
+'Bad Facebook'				=>	'You entered an invalid Facebook account.',
+'Bad LinkedIn'				=>	'You entered an invalid LinkedIn account.',
 'Yahoo'						=>	'Yahoo! Messenger',
 'Posts and topics'			=>	'Posts and topics',
 'Private info'				=>	'Private information',
diff -urN punbb-1.4.2/login.php punbb-1.4.3/login.php
--- punbb-1.4.2/login.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/login.php	2015-06-15 09:21:05.000000000 -0400
@@ -205,7 +205,7 @@
 
 			// Fetch user matching $email
 			$query = array(
-				'SELECT'	=> 'u.id, u.username, u.salt, u.last_email_sent',
+				'SELECT'	=> 'u.id, u.group_id, u.username, u.salt, u.last_email_sent',
 				'FROM'		=> 'users AS u',
 				'WHERE'		=> 'u.email=\''.$forum_db->escape($email).'\''
 			);
@@ -243,6 +243,9 @@
 
 					($hook = get_hook('li_forgot_pass_pre_flood_check')) ? eval($hook) : null;
 
+					if ($cur_hit['group_id'] == FORUM_ADMIN)
+						message(sprintf($lang_login['Email important'], '<a href="mailto:'.forum_htmlencode($forum_config['o_admin_email']).'">'.forum_htmlencode($forum_config['o_admin_email']).'</a>'));
+
 					if ($cur_hit['last_email_sent'] != '' && (time() - $cur_hit['last_email_sent']) < $forgot_pass_timeout && (time() - $cur_hit['last_email_sent']) >= 0)
 						message(sprintf($lang_login['Email flood'], $forgot_pass_timeout));
 
diff -urN punbb-1.4.2/misc.php punbb-1.4.3/misc.php
--- punbb-1.4.2/misc.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/misc.php	2015-06-15 09:21:05.000000000 -0400
@@ -152,6 +152,37 @@
 	redirect(forum_link($forum_url['forum'], array($fid, sef_friendly($forum_name))), $lang_misc['Mark forum read redirect']);
 }
 
+// OpenSearch plugin?
+else if ($action == 'opensearch')
+{
+	// Send XML/no cache headers
+	header('Content-Type: text/xml; charset=utf-8');
+	header('Expires: '.gmdate('D, d M Y H:i:s').' GMT');
+	header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
+	header('Pragma: public');
+
+	echo '<?xml version="1.0" encoding="utf-8"?>'."\n";
+	echo '<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">'."\n";
+	echo "\t".'<ShortName>'.forum_htmlencode($forum_config['o_board_title']).'</ShortName>'."\n";
+	echo "\t".'<Description>'.forum_htmlencode($forum_config['o_board_desc']).'</Description>'."\n";
+	echo "\t".'<InputEncoding>utf-8</InputEncoding>'."\n";
+	echo "\t".'<OutputEncoding>utf-8</OutputEncoding>'."\n";
+	echo "\t".'<Image width="16" height="16" type="image/x-icon">'.$base_url.'/favicon.ico</Image>'."\n";
+	echo "\t".'<Url type="text/html" method="get" template="'.$base_url.'/search.php?action=search&amp;source=opensearch&amp;keywords={searchTerms}"/>'."\n";
+	echo "\t".'<Url type="application/opensearchdescription+xml" rel="self" template="'.forum_link($forum_url['opensearch']).'"/>'."\n";
+	echo "\t".'<Contact>'.forum_htmlencode($forum_config['o_admin_email']).'</Contact>'."\n";
+
+	if ($forum_config['o_show_version'] == '1')
+		echo "\t".'<Attribution>PunBB '.$forum_config['o_cur_version'].'</Attribution>'."\n";
+	else
+		echo "\t".'<Attribution>PunBB</Attribution>'."\n";
+
+	echo "\t".'<moz:SearchForm>'.forum_link($forum_url['search']).'</moz:SearchForm>'."\n";
+	echo '</OpenSearchDescription>'."\n";
+
+	exit;
+}
+
 
 // Send form e-mail?
 else if (isset($_GET['email']))
@@ -202,10 +233,15 @@
 
 		if ($subject == '')
 			$errors[] = $lang_misc['No e-mail subject'];
+		else if (utf8_strlen($subject) > FORUM_SUBJECT_MAXIMUM_LENGTH)
+	     	$errors[] = sprintf($lang_misc['Too long e-mail subject'], FORUM_SUBJECT_MAXIMUM_LENGTH);
+
 		if ($message == '')
 			$errors[] = $lang_misc['No e-mail message'];
 		else if (strlen($message) > FORUM_MAX_POSTSIZE_BYTES)
-			$errors[] = sprintf($lang_misc['Too long e-mail message'], forum_number_format(strlen($message)), forum_number_format(FORUM_MAX_POSTSIZE_BYTES));
+			$errors[] = sprintf($lang_misc['Too long e-mail message'],
+				forum_number_format(strlen($message)), forum_number_format(FORUM_MAX_POSTSIZE_BYTES));
+
 		if ($forum_user['last_email_sent'] != '' && (time() - $forum_user['last_email_sent']) < $forum_user['g_email_flood'] && (time() - $forum_user['last_email_sent']) >= 0)
 			$errors[] = sprintf($lang_misc['Email flood'], $forum_user['g_email_flood']);
 
@@ -327,7 +363,7 @@
 				<div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
 					<div class="sf-box text required longtext">
 						<label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_misc['E-mail subject'] ?></span></label><br />
-						<span class="fld-input"><input type="text" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_subject" value="<?php echo(isset($_POST['req_subject']) ? forum_htmlencode($_POST['req_subject']) : '') ?>" size="75" maxlength="70" required /></span>
+						<span class="fld-input"><input type="text" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_subject" value="<?php echo(isset($_POST['req_subject']) ? forum_htmlencode($_POST['req_subject']) : '') ?>" size="<?php echo FORUM_SUBJECT_MAXIMUM_LENGTH ?>" maxlength="<?php echo FORUM_SUBJECT_MAXIMUM_LENGTH ?>" required /></span>
 					</div>
 				</div>
 <?php ($hook = get_hook('mi_email_pre_message_contents')) ? eval($hook) : null; ?>
diff -urN punbb-1.4.2/moderate.php punbb-1.4.3/moderate.php
--- punbb-1.4.2/moderate.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/moderate.php	2015-06-15 09:21:05.000000000 -0400
@@ -291,8 +291,8 @@
 
 			if ($new_subject == '')
 				message($lang_post['No subject']);
-			else if (utf8_strlen($new_subject) > 70)
-				message($lang_post['Too long subject']);
+			else if (utf8_strlen($new_subject) > FORUM_SUBJECT_MAXIMUM_LENGTH)
+				message(sprintf($lang_post['Too long subject'], FORUM_SUBJECT_MAXIMUM_LENGTH));
 
 			// Get data from the new first post
 			$query = array(
@@ -381,7 +381,7 @@
 <?php ($hook = get_hook('mr_confirm_split_posts_pre_subject')) ? eval($hook) : null; ?>
 					<div class="sf-box text required">
 						<label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_misc['New subject'] ?></span></label><br />
-						<span class="fld-input"><input type="text" id="fld<?php echo $forum_page['fld_count'] ?>" name="new_subject" size="70" maxlength="70" required /></span>
+						<span class="fld-input"><input type="text" id="fld<?php echo $forum_page['fld_count'] ?>" name="new_subject" size="<?php echo FORUM_SUBJECT_MAXIMUM_LENGTH ?>" maxlength="<?php echo FORUM_SUBJECT_MAXIMUM_LENGTH ?>" required /></span>
 					</div>
 <?php ($hook = get_hook('mr_confirm_split_posts_pre_confirm_checkbox')) ? eval($hook) : null; ?>
 					<div class="sf-box checkbox">
@@ -887,6 +887,8 @@
 	$forum_page['cur_category'] = 0;
 	foreach ($forum_list as $cur_forum)
 	{
+		($hook = get_hook('mr_move_topics_forum_loop_start')) ? eval($hook) : null;
+		
 		if ($cur_forum['cid'] != $forum_page['cur_category'])	// A new category since last iteration?
 		{
 			if ($forum_page['cur_category'])
@@ -898,6 +900,8 @@
 
 		if ($cur_forum['fid'] != $fid)
 			echo "\t\t\t\t".'<option value="'.$cur_forum['fid'].'">'.forum_htmlencode($cur_forum['forum_name']).'</option>'."\n";
+			
+		($hook = get_hook('mr_move_topics_forum_loop_end')) ? eval($hook) : null;
 	}
 
 ?>
diff -urN punbb-1.4.2/post.php punbb-1.4.3/post.php
--- punbb-1.4.2/post.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/post.php	2015-06-15 09:21:05.000000000 -0400
@@ -121,8 +121,8 @@
 
 		if ($subject == '')
 			$errors[] = $lang_post['No subject'];
-		else if (utf8_strlen($subject) > 70)
-			$errors[] = $lang_post['Too long subject'];
+		else if (utf8_strlen($subject) > FORUM_SUBJECT_MAXIMUM_LENGTH)
+			$errors[] = sprintf($lang_post['Too long subject'], FORUM_SUBJECT_MAXIMUM_LENGTH);
 		else if ($forum_config['p_subject_all_caps'] == '0' && check_is_all_caps($subject) && !$forum_page['is_admmod'])
 			$errors[] = $lang_post['All caps subject'];
 	}
@@ -469,7 +469,7 @@
 				<div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
 					<div class="sf-box text required longtext">
 						<label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_post['Topic subject'] ?></span></label><br />
-						<span class="fld-input"><input id="fld<?php echo $forum_page['fld_count'] ?>" type="text" name="req_subject" value="<?php if (isset($_POST['req_subject'])) echo forum_htmlencode($subject); ?>" size="70" maxlength="70" required /></span>
+						<span class="fld-input"><input id="fld<?php echo $forum_page['fld_count'] ?>" type="text" name="req_subject" value="<?php if (isset($_POST['req_subject'])) echo forum_htmlencode($subject); ?>" size="<?php echo FORUM_SUBJECT_MAXIMUM_LENGTH ?>" maxlength="<?php echo FORUM_SUBJECT_MAXIMUM_LENGTH ?>" required /></span>
 					</div>
 				</div>
 <?php
diff -urN punbb-1.4.2/profile.php punbb-1.4.3/profile.php
--- punbb-1.4.2/profile.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/profile.php	2015-06-15 09:21:05.000000000 -0400
@@ -975,6 +975,20 @@
 			if ($form['url'] != '' && strpos(strtolower($form['url']), 'http://') !== 0 && strpos(strtolower($form['url']), 'https://') !== 0)
 				$form['url'] = 'http://'.$form['url'];
 
+			//check Facebook for validity
+			if (strpos($form['facebook'], 'http://') === 0 || strpos($form['facebook'], 'https://') === 0)
+				if (!preg_match('#https?://(www\.)?facebook.com/.+?#', $form['facebook']))
+					$errors[] = $lang_profile['Bad Facebook'];
+
+			//check Twitter for validity
+			if (strpos($form['twitter'], 'http://') === 0 || strpos($form['twitter'], 'https://') === 0)
+				if (!preg_match('#https?://twitter.com/.+?#', $form['twitter']))
+					$errors[] = $lang_profile['Bad Twitter'];
+
+			//check LinkedIn for validity
+			if (!preg_match('#https?://(www\.)?linkedin.com/.+?#', $form['linkedin']))
+					$errors[] = $lang_profile['Bad LinkedIn'];
+
 			// Add http:// if the LinkedIn doesn't contain it or https:// already
 			if ($form['linkedin'] != '' && strpos(strtolower($form['linkedin']), 'http://') !== 0 && strpos(strtolower($form['linkedin']), 'https://') !== 0)
 				$form['linkedin'] = 'http://'.$form['linkedin'];
@@ -2895,19 +2909,22 @@
 				if ($cur_forum['cid'] != $cur_category)	// A new category since last iteration?
 				{
 					if ($cur_category)
-						echo "\n\t\t\t\t\t".'</fieldset>'."\n";
+						 echo "\n\t\t\t\t\t\t".'</fieldset>'."\n";
 
-					echo "\t\t\t\t\t".'<fieldset>'."\n\t\t\t\t\t\t".'<legend><span>'.$cur_forum['cat_name'].':</span></legend>'."\n";
+					echo "\t\t\t\t\t\t".'<fieldset>'."\n\t\t\t\t\t\t\t".'<legend><span>'.$cur_forum['cat_name'].':</span></legend>'."\n";
 					$cur_category = $cur_forum['cid'];
 				}
 
 				$moderators = ($cur_forum['moderators'] != '') ? unserialize($cur_forum['moderators']) : array();
 
-				echo "\t\t\t\t\t\t".'<div class="checklist-item"><span class="fld-input"><input type="checkbox" id="fld'.(++$forum_page['fld_count']).'" name="moderator_in['.$cur_forum['fid'].']" value="1"'.((in_array($id, $moderators)) ? ' checked="checked"' : '').' /></span> <label for="fld'.$forum_page['fld_count'].'">'.forum_htmlencode($cur_forum['forum_name']).'</label></div>'."\n";
+				echo "\t\t\t\t\t\t\t".'<div class="checklist-item"><span class="fld-input"><input type="checkbox" id="fld'.(++$forum_page['fld_count']).'" name="moderator_in['.$cur_forum['fid'].']" value="1"'.((in_array($id, $moderators)) ? ' checked="checked"' : '').' /></span> <label for="fld'.$forum_page['fld_count'].'">'.forum_htmlencode($cur_forum['forum_name']).'</label></div>'."\n";
+				
+				($hook = get_hook('pf_change_details_admin_forum_loop_end')) ? eval($hook) : null;
 			}
 
+			if ($cur_category)
+				echo "\t\t\t\t\t\t".'</fieldset>'."\n";
 ?>
-						</fieldset>
 					</div>
 				</div>
 <?php ($hook = get_hook('pf_change_details_admin_pre_mod_assignment_fieldset_end')) ? eval($hook) : null; ?>
diff -urN punbb-1.4.2/register.php punbb-1.4.3/register.php
--- punbb-1.4.2/register.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/register.php	2015-06-15 09:21:05.000000000 -0400
@@ -53,7 +53,7 @@
 
 	($hook = get_hook('rg_rules_pre_header_load')) ? eval($hook) : null;
 
-	define('FORUM_PAGE', 'rules');
+	define('FORUM_PAGE', 'rules-register');
 	require FORUM_ROOT.'header.php';
 
 	// START SUBST - <!-- forum_main -->
diff -urN punbb-1.4.2/search.php punbb-1.4.3/search.php
--- punbb-1.4.2/search.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/search.php	2015-06-15 09:21:05.000000000 -0400
@@ -695,6 +695,8 @@
 		}
 
 		echo "\t\t\t\t\t\t\t\t".'<div class="checklist-item"><span class="fld-input"><input type="checkbox" id="fld'.(++$forum_page['fld_count']).'" name="forum[]" value="'.$cur_forum['fid'].'" /></span> <label for="fld'.$forum_page['fld_count'].'">'.forum_htmlencode($cur_forum['forum_name']).'</label></div>'."\n";
+		
+		($hook = get_hook('se_forum_loop_end')) ? eval($hook) : null;
 	}
 
 	echo "\t\t\t\t\t\t\t".'</fieldset>'."\n";
Binary files punbb-1.4.2/style/Oxygen/font/responsivenav.eot and punbb-1.4.3/style/Oxygen/font/responsivenav.eot differ
diff -urN punbb-1.4.2/style/Oxygen/font/responsivenav.svg punbb-1.4.3/style/Oxygen/font/responsivenav.svg
--- punbb-1.4.2/style/Oxygen/font/responsivenav.svg	1969-12-31 19:00:00.000000000 -0500
+++ punbb-1.4.3/style/Oxygen/font/responsivenav.svg	2015-06-15 09:21:05.000000000 -0400
@@ -0,0 +1,12 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>Generated by IcoMoon</metadata>
+<defs>
+<font id="responsivenav" horiz-adv-x="512">
+<font-face units-per-em="512" ascent="480" descent="-32" />
+<missing-glyph horiz-adv-x="512" />
+<glyph unicode="&#x20;" d="" horiz-adv-x="256" />
+<glyph unicode="&#x78;" d="M443.904 366.016c6.24-6.208 6.24-16.416 0-22.624l-124.448-124.512c-6.176-6.208-6.176-16.416 0-22.656l124.384-124.544c6.24-6.208 6.24-16.416 0-22.624l-45.312-45.216c-6.176-6.208-16.384-6.208-22.624 0l-124.32 124.544c-6.208 6.208-16.416 6.208-22.624 0l-124.448-124.448c-6.208-6.24-16.416-6.24-22.624 0l-45.248 45.312c-6.208 6.176-6.208 16.384 0 22.624l124.48 124.448c6.208 6.208 6.208 16.416 0 22.656l-124.384 124.512c-6.208 6.24-6.208 16.416 0 22.624l45.28 45.248c6.208 6.208 16.416 6.208 22.624 0l124.32-124.512c6.208-6.24 16.416-6.24 22.624-0.032l124.416 124.48c6.24 6.176 16.448 6.176 22.624 0l45.28-45.28z" />
+<glyph unicode="&#x2261;" d="M438.857 91.428v-36.572q0-7.428-5.428-12.857t-12.857-5.428h-402.286q-7.428 0-12.857 5.428t-5.428 12.857v36.572q0 7.428 5.428 12.857t12.857 5.428h402.286q7.428 0 12.857-5.428t5.428-12.857zM438.857 237.714v-36.572q0-7.428-5.428-12.857t-12.857-5.428h-402.286q-7.428 0-12.857 5.428t-5.428 12.857v36.572q0 7.428 5.428 12.857t12.857 5.429h402.286q7.428 0 12.857-5.428t5.428-12.857zM438.857 384v-36.572q0-7.428-5.428-12.857t-12.857-5.429h-402.286q-7.428 0-12.857 5.428t-5.428 12.857v36.571q0 7.429 5.428 12.857t12.857 5.428h402.286q7.428 0 12.857-5.428t5.428-12.857z" horiz-adv-x="439" />
+</font></defs></svg>
\ No newline at end of file
Binary files punbb-1.4.2/style/Oxygen/font/responsivenav.ttf and punbb-1.4.3/style/Oxygen/font/responsivenav.ttf differ
Binary files punbb-1.4.2/style/Oxygen/font/responsivenav.woff and punbb-1.4.3/style/Oxygen/font/responsivenav.woff differ
diff -urN punbb-1.4.2/style/Oxygen/Oxygen_ie6.css punbb-1.4.3/style/Oxygen/Oxygen_ie6.css
--- punbb-1.4.2/style/Oxygen/Oxygen_ie6.css	1969-12-31 19:00:00.000000000 -0500
+++ punbb-1.4.3/style/Oxygen/Oxygen_ie6.css	2015-06-15 09:21:05.000000000 -0400
@@ -0,0 +1,93 @@
+/*************************************************************
+IE6 - FIXES
+**************************************************************/
+
+/* Float Clearing and Has Layout Fixes
+-------------------------------------------------------------*/
+
+.brd-page,
+.brd .main,
+#brd-index .main-subhead,
+.brd .main-content .main-item,
+.brd .main-content .main-item ul,
+.brd .gen-content,
+.brd .main-content,
+.brd .ct-box,
+.brd .ct-box *,
+.brd .frm-group,
+.brd .mf-set,
+.brd .sf-set,
+.brd .mf-box,
+.brd .sf-box,
+.brd .mf-item,
+.brd .txt-set,
+.brd .txt-box,
+.brd .frm-form label,
+.brd fieldset,
+.brd span.fld-input,
+.brd .main-subhead .hn,
+.brd .post,
+.brd .posthead,
+.brd .postbody,
+.brd .post-entry,
+.brd .postfoot .post-options {
+	zoom: 1;
+	}
+
+.brd .ct-box ol, .brd .ct-box ol * {
+	zoom: normal;
+	}
+
+.brd .postfoot .post-contacts {
+	position: absolute;
+	}
+
+/* Forms
+-------------------------------------------------------------*/
+
+#brd-wrap fieldset {
+	padding-top: 1px;
+	position: relative;
+	}
+
+.brd fieldset legend {
+	margin-left: -7px;
+	}
+
+#brd-wrap .checklist {
+	height: 9em;
+	width: 30em;
+	overflow: auto;
+	}
+
+.brd .sf-set .checkbox label span {
+	padding-right: 0em;
+	padding-left: 5em;
+	}
+
+#brd-admin-censoring #info-censored-intro, #brd-admin-ranks #info-ranks-intro { margin-bottom: 3em; }
+
+.important strong { margin-right: 1ex; }
+
+#brd-stats .st-users { margin-bottom: -1ex; }
+
+/* Fixes for the forms in post.php and edit.php. */
+.brd .txt-box label span { position: absolute; }
+/* Try this fixes if something's wrong */
+/*
+#brd-post #post-form .sf-set .fld-input { padding-top: 1.7em; }
+#brd-postedit	#post-form .set2 .txt-box .fld-input,
+#brd-post		#post-form .txt-box .fld-input { padding-top: 1.3em; }
+#brd-postedit	#post-form .mf-item #fld2,
+#brd-post		#post-form .mf-item #fld2 { top: 1.25em; left: -0.25em; position: relative; }
+*/
+
+/* Fix for index.php: no backgroud for the first main-head. */
+.brd #brd-index .main-head { position: relative; }
+
+/* Footer
+-------------------------------------------------------------*/
+
+#brd-about p#extensions-used {
+	clear: left;
+	}
\ No newline at end of file
diff -urN punbb-1.4.2/style/Oxygen/Oxygen_ie7.css punbb-1.4.3/style/Oxygen/Oxygen_ie7.css
--- punbb-1.4.2/style/Oxygen/Oxygen_ie7.css	1969-12-31 19:00:00.000000000 -0500
+++ punbb-1.4.3/style/Oxygen/Oxygen_ie7.css	2015-06-15 09:21:05.000000000 -0400
@@ -0,0 +1,67 @@
+/*************************************************************
+IE7 - FIXES
+**************************************************************/
+
+/* Float Clearing and Has Layout Fixes
+-------------------------------------------------------------*/
+
+.brd-page,
+.brd .main,
+#brd-index .main-subhead,
+#brd-index .forum-item,
+.brd .gen-content,
+.brd .main-content,
+.brd .ct-box,
+.brd .ct-box *,
+.brd .frm-group,
+.brd .mf-set,
+.brd .sf-set,
+.brd .mf-box,
+.brd .sf-box,
+.brd .mf-item,
+.brd .txt-set,
+.brd .txt-box,
+.brd .frm-group label,
+.brd fieldset,
+.brd span.fld-input,
+.brd .main-subhead .hn,
+.brd .post,
+.brd .posthead,
+.brd .postbody,
+.brd .post-entry,
+.brd .postfoot .post-options,
+#brd-stats ul {
+	max-height: 100%;
+	zoom: 1;
+	}
+
+/* Forms
+-------------------------------------------------------------*/
+
+#brd-wrap fieldset {
+	padding-top: 1px;
+	position: relative;
+	}
+
+.brd fieldset legend {
+	margin-left: -7px;
+	}
+
+#brd-wrap .entry-content .codebox pre {min-height: 3em}
+
+#brd-admin-censoring #info-censored-intro, #brd-admin-ranks #info-ranks-intro {
+	margin-bottom: 3em;
+	}
+
+.main-forum .main-item .item-starter {
+	margin-left: 1ex;
+	}
+
+#brd-admin-settings-setup #fld19, #brd-post textarea#fld1, #brd-post textarea#fld2, #brd-viewtopic textarea#fld1, #brd-postedit #fld2 {
+	margin-top: -19px;
+	}
+
+.item-starter{
+	position: relative;
+	left: -0.5em;
+	}
\ No newline at end of file
diff -urN punbb-1.4.2/style/Oxygen/Oxygen_ie8.css punbb-1.4.3/style/Oxygen/Oxygen_ie8.css
--- punbb-1.4.2/style/Oxygen/Oxygen_ie8.css	1969-12-31 19:00:00.000000000 -0500
+++ punbb-1.4.3/style/Oxygen/Oxygen_ie8.css	2015-06-15 09:21:05.000000000 -0400
@@ -0,0 +1,8 @@
+/*************************************************************
+IE8 - FIXES
+**************************************************************/
+/* Forms
+-------------------------------------------------------------*/
+.brd .txt-set .required label span em {
+	margin-bottom: 0;
+	}
diff -urN punbb-1.4.2/style/Oxygen/Oxygen.min.css punbb-1.4.3/style/Oxygen/Oxygen.min.css
--- punbb-1.4.2/style/Oxygen/Oxygen.min.css	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/style/Oxygen/Oxygen.min.css	2015-06-15 09:21:05.000000000 -0400
@@ -1,9 +1,2876 @@
-html,body,div,p,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,legend,blockquote,table,th,td,input,textarea,button,select{margin:0;padding:0;text-align:left}fieldset,img,cite{border:0}.visual-hidden{visibility:hidden}br,hr,.hr,.hidden{display:none}.border-less{border:none!important}.small-font{font-size:.917em}.list-clean{list-style-type:none}.prepend-top{margin-top:1em!important}.nowrap{white-space:nowrap}html{height:99%;overflow-y:scroll}body{font-size:100%}.brd-page{font:75%/1.5em Verdana,Helvetica,Arial,sans-serif}h1,h2,h3,h4,h5,h6{font-size:1em;font-weight:normal}samp,code,pre,option,optgroup,input,select,textarea,td,th{font-size:1em;font-family:Verdana,Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal}samp,code,pre{font-family:monospace,sans-serif;white-space:pre-wrap;word-wrap:break-word}.brd-page:after,.gen-content:after,.ct-box:after,#brd-index .item-head:after,#brd-index .main-item:after,#brd-index ul.item-info:after,.frm-group:after,.mf-set:after,.sf-set:after,.mf-box:after,.sf-box:after,.mf-item:after,.txt-set:after,.txt-box:after,.frm-form label:after,fieldset:after,span.fld-input:after,.posthead:after,.postbody:after,.postfoot .post-options:after{content:"\0020";display:block;font-size:0;height:0;line-height:.0;overflow:hidden;visibility:hidden;clear:both}.clearfix:before,.clearfix:after{content:"\0020";display:block;height:0;overflow:hidden}.clearfix:after{clear:both}.clearfix{zoom:1}#brd-stats .hn,#qjump label,.post-byline span,.posthead .post-link span,.admin .main-subhead,.main-item .item-info li span.label,.main-item .item-info li label,.main-item .you-posted,.main-item .item-num,.group-legend,.group-legend span,.sf-set legend,.sf-set legend span,.main-pagehead .page-info,p.item-select label,.mf-extra .mf-field label,.mf-extra .mf-field .aslabel,.item-subject .item-nav span,.post-options a span,.main-title,.main-head .hn small,.entry-title,.menu-page .main-head{font-size:0;left:-999em;text-indent:-999em;position:absolute;line-height:0;visibility:hidden}.brd{padding:1em 2em;margin:0 auto;max-width:1100px;min-width:700px;width:90%}#brd-redirect,#brd-maint,#brd-util{margin:50px auto 12px auto;width:60%}.brd-page{float:left;width:100%;position:relative}.main-content,.gen-content{border-style:solid;border-width:1px}.gen-content{padding:0 1.5em}#brd-about,#brd-stats{margin-top:1em}.main-content,#brd-visit,#brd-qpost,#brd-announcement{margin-bottom:1em}#brd-announcement{padding:.5em 1.5em;margin-top:1em}#brd-announcement br{display:inline}.main-options{border-top:0;margin:-1em 0 1em 0}#rules-content{padding:1.5em}#rules-content h1{font-size:1.3em;line-height:1em;margin-bottom:.7em}#rules-content h2{font-size:1.2em;font-weight:bold;margin-bottom:.3em}#rules-content h3{font-size:1.1em;font-weight:bold}#rules-content h4,#rules-content h5{font-size:1;font-weight:bold}#rules-content p{margin:0 0 .65em}p,.hn{padding:.35em 0}ul,ol{padding:.35em 0 .35em 2em}ul.spaced{padding:.25em 0 .25em 2em}.spaced li{padding:.25em 0}th{font-size:1.084em;padding:.462em 1.417em;border-bottom-style:solid;border-bottom-width:1px}.main-head,.main-foot{border-style:solid;border-width:1px;padding:0 1.417em}.main-head .hn,.main-foot .hn{padding-right:10em}h2.main-subhead{border-style:solid;border-width:1px;padding:.462em 10em .426em 1.417em}.column-title{border-style:solid;border-width:1px;position:relative;margin-bottom:-1px}.main-subhead{border-style:solid;border-width:1px;border-bottom:0}.main-subhead .hn{padding:.462em 1.417em;position:relative}.main-foot{margin-top:-1em}#brd-announcement h1,.main-extensions .ct-legend,.main-hotfixes .ct-legend{border-bottom-style:dashed;border-bottom-width:1px;font-size:1.1em;font-weight:bold}#brd-announcement h1{margin-bottom:.5em}.main-pagehead .hn{padding:.5em 0}.content-head{margin:.5em 1.417em 0}.content-head .hn{border-style:none none double none;border-width:3px;padding:.462em 0}.options>span{padding:0 0 0 .3em;margin:0 0 0 .25em}.options .js_link{padding:0;margin:0 0 0 .55em}.options>span.first-item{border-left:0;padding-left:0;margin-left:0}.extension .options,.hotfix .options{border-top-style:dashed;border-top-width:1px}.extension h3>em{font-style:normal}.extension .data-list{list-style-type:none;padding-left:0}.ct-box{border-style:solid;border-width:1px;-moz-border-radius:.35em;-webkit-border-radius:.35em;-khtml-border-radius:.35em;border-radius:.35em;margin:1.417em;padding:.5em 1em;position:relative}.ct-box li{padding:0;margin:0 0 .7em 0}.ct-set{border-style:solid;border-width:1px;margin:1.417em;padding:0 0 0 17em;position:relative}.ct-group{border-style:solid;border-width:1px;margin:1.417em}.frm-group .ct-set{border-style:dashed none none none;margin:0}.ct-group .ct-set{border-style:dashed none none none;margin:0 1em;padding:0 0 0 16em}.ct-group .group-item1{border:0}.ct-group .set1,.frm-group .set1{border-top:0}.ct-group .ct-box,.frm-group .ct-box{border-style:none;margin:0}.ct-group .ct-set .ct-box,.ct-set .ct-box,.frm-group .ct-set .ct-box{border-style:none;margin:0}
-.ct-group .set1{border-top:0}.ct-set .ct-legend{float:left;margin-left:-17em;width:16em;position:relative;text-align:right;font-weight:bold}.ct-set ul{padding-left:0;list-style:none}.ct-box div{padding:.35em 0}.ct-box p.options{float:none}.ct-box .info-list{padding-bottom:0}.user-ident{padding-left:0;list-style:none}.user-ident .username a,.user-ident .username strong{font-size:1.5em;font-weight:normal}.user-ident .username a,.user-ident .username a:link,.user-ident .username a:visited{text-decoration:none}.user-ident .username a:hover,.user-ident .username a:active,.user-ident .username a:focus{text-decoration:underline}.user-ident .usertitle{font-weight:bold}.user-ident .useravatar{padding:.25em 0}.user-ident .useravatar img{display:block}.main-message{padding:.5em 1.417em}.main-message p span{display:block;padding-top:.5em}#brd-maint .main-message{padding:0}#brd-navlinks,.main-menu,.admin-menu{padding:0 .75em}.main-menu,.admin-menu{border:0}#brd-navlinks ul,.main-menu ul,.admin-menu ul{list-style-type:none;float:left;padding:0}#brd-navlinks li,.main-menu li,.admin-menu li{float:left;display:inline}#brd-navlinks a,.main-menu a,.admin-menu a{float:left;position:relative;padding:.55em .7em}#brd-navlinks a{padding:.43em .7em}#brd-navlinks li.first-item,.main-menu li.first-item,.admin-menu li.first-item{border-left:0}.admin-submenu{border-style:solid;border-width:0 1px}.admin-submenu ul{padding:.5em 0;list-style:none}.admin-submenu li{display:inline;margin-right:.75em}.admin-submenu .active a{font-weight:bold}#brd-head{padding-bottom:.75em;padding-top:1em;border-radius:.4em .4em 0 0}#brd-title{padding-bottom:0}#brd-title a,#brd-title strong{font-size:1.5em;text-decoration:none;font-weight:normal}#brd-desc{padding-top:0;padding-bottom:0}#brd-navlinks ul{margin:0;float:left}#brd-navlinks li{display:inline}#brd-navlinks li a{text-decoration:none}ul#brd-admod{float:right;text-align:right}#brd-access{text-align:right;padding:0;height:0;margin:0;position:absolute;background:transparent}#brd-access a,#brd-access a:link,#brd-access a:visited{height:2em;line-height:2em;position:absolute;left:-999em;margin:1px;width:12em}#brd-access a:hover,#brd-access a:active,#brd-access a:focus{text-indent:0;background:#000;position:static;float:right}#brd-visit #welcome{float:left}#brd-visit #visit-links{text-align:right;float:none}#brd-pagepost-end{border-top:0}#brd-pagepost-top{border-bottom:0}#brd-admin-bans #brd-pagepost-end{margin-top:-1em}.paging{float:left}.posting{text-align:right;float:right}.paging{white-space:nowrap}.paging a,.paging strong,.paging span{padding:0 1em;border-left-style:solid;border-left-width:1px;float:left;white-space:nowrap}.paging .first-item,.paging span.pages{border-left:0;padding-left:0}.posting .newpost{font-size:1.084em;font-weight:bold}.crumbs .crumblast span{font-weight:normal}.crumbs span,.crumbs a{white-space:nowrap}.crumbs{margin:.5em 0;padding:0 1.417em;font-size:1.084em}#brd-crumbs-top .crumblast{font-size:1.15em}#brd-stats ul{list-style:none;padding-left:0}#brd-stats ul li.st-users{float:left;clear:both;white-space:nowrap}#brd-stats ul li.st-activity{text-align:right;display:block;white-space:nowrap}#brd-stats li strong{font-weight:bold}#brd-online{padding-top:.5em;padding-bottom:.5em;border-top:0}#brd-online .hn,#brd-online p{padding-bottom:0;padding-top:0}#brd-online .hn{float:left;margin-right:.5em}#qjump{float:left;padding:.5em 0}#qjump div,#qjump label{padding:0;border:0}#copyright{text-align:right;margin:0}#querytime{text-align:right;font-size:.917em;padding:0}#extensions-used{border-bottom:1px dotted}p.options{border-top:0;float:right}.main-modoptions .options{text-align:center}a.feed{padding-left:22px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAVZQTFRFzF0V2XIp2l4q3GEr3W4v3mUs3m8v3nAw33Ew4Got4HVF4XQw4Xgx4nA24nYx424u43kx43ky5Hsy5HxH5XQu5Xwy5X0y5nQv5n8z5otg53gv54Ez6Hkx6II06IM06IU16IlV6X456YU16Yg26n0x6oc16olJ638y64k17IEy7Io27JZj7oUz7oU07pFM7ppk7quJ7rKV741B751k8Ik08Ys18beX8o018pNC8qNm86Rn9JE29KZn9Kxz9LKA9L2Y9ZI39alo9b+Z9cCY9pQ39ptE95c496FQ961p98OZ99S++Jk5+J5E+K9p+LR1+L+O+Zo5+Z1B+Z9F+aVS+cib+de/+pw5+qJG+qxe+rNq+r6D+sOP+s6n+tOz+506+6lS+69e+7l3++bY/MKE/Nm1/OPN/dq1/d/B/eXN/fHm/ubO/uza/vHm/vLm/vfy/vjy//nz////L/lnWgAAAAJ0Uk5TEI9BVkHYAAAA50lEQVQY0yXOu07DMBSA4XNxnDtE4bYBFYxMMPAaPCoPg5gqBgRDSVtok1McO3awxPj904+ApSJFzIqZxrcZ8brXRcIZq5wK7Z65Cu1Vy/TvbBiV0vU9QPjcYfRGmIsjtkDJ8ZkO0bLnukL73f1WKoNOxPQxNI9taUTr9Gdr7IE4S6g6v21MDwtvZYoD9nU1YWOXhhpxnpTK58OX4Kl5gTtnvOKcFjyu00SvPOf7mZhOijTZvsOFLKGZAsW/GQbpoHZrwBDw5iET2RibTR9K70yC+GTjjxVn7BTmckDAS3bOT977ENjOfw1gcm/NBi+EAAAAAElFTkSuQmCC) center left no-repeat}.content-options,.ct-options{float:right;margin-top:-2.6em;padding:.5em 1.417em;position:relative}.item-summary{height:2.5em;padding:0;position:relative;font-size:1em}.item-summary span{width:100%;position:absolute;left:-999em;text-indent:-999em;display:block}.item-summary strong{position:absolute;left:999em;text-indent:0;padding:.5em 0;white-space:nowrap;font-weight:normal}
-.item-summary strong:first-letter {text-transform:uppercase}.item-summary .subject-title{padding-left:1.417em}.item-summary .info-topics,.item-summary .info-replies{margin-left:100%;text-align:center;width:7em;left:965em}.item-summary .info-forum{margin-left:100%;text-align:center;width:20em;left:952em}.item-summary .info-posts,.item-summary .info-views{margin-left:100%;text-align:center;width:7em;left:972em}.item-summary .info-lastpost{margin-left:100%;left:980em}p.forum-noview .info-replies{left:972em}.main-content .main-item{border-top-style:solid;border-top-width:1px;overflow:hidden;position:relative;line-height:1.4em}.main-content .main-first-item{border-top:0}.main-content .main-item ul{float:right;position:relative;padding:0;list-style:none}.main-content .main-item p,.main-content .main-item .hn{padding:0}.hn .item-status{font-weight:normal}.hn .item-status em{font-style:normal}.main-item .item-subject,.main-content .main-item li{float:left;border-left-style:solid;border-left-width:1px;margin:0 -2px -9.7em 0;position:relative;padding-top:.6em;padding-bottom:10.4em}.main-item .item-subject{overflow:hidden;width:100%}li.info-topics,li.info-posts,li.info-views,li.info-replies{width:7em;text-align:center}li.info-forum{width:20em;text-align:center}li.info-lastpost{width:20em}li.info-lastpost cite{overflow:hidden;width:18em}.main-item li strong{font-weight:normal}.main-content .main-item{padding-right:35em;padding-left:3.75em}.main-content .main-item .hn{position:relative}.main-content .main-item ul{width:34em;right:-35em;margin-left:-34em}.forum-noview .main-item{padding-right:28em}.forum-noview .main-item ul{width:27em;right:-28em;margin-left:-27em}.forum-forums .main-item{padding-right:48em}.forum-forums .main-item ul{width:47em;right:-48em;margin-left:-47em}.item-subject span.modlist{display:block}#brd-index .main-item .hn span{font-size:1.084em;font-weight:bold}#brd-index .main-item .hn small{font-size:1em}.item-status{font-weight:bold}.main-content .main-item cite{font-style:normal}.item-nav,.item-nav a,.item-nav span{white-space:nowrap;font-style:normal}.item-subject .hn,.item-subject p{margin:0 0 0 1.5em}li.info-lastpost cite,li.info-lastpost span,li.info-forum a{display:block;padding:0 1em;font-style:normal;font-weight:normal}li.info-lastpost strong{padding:0 0 0 1em;font-style:normal;font-weight:normal}.main-item li.info-select{position:absolute;right:0;top:0;padding:.3em;border-style:none none solid solid;border-width:1px}.main-content .main-item .icon{border-style:solid;border-width:.5833em;height:0;width:0;float:left;margin-top:.667em;margin-left:-2.417em}.main-content .main-item .hn .posted-mark{position:absolute;font-size:2em;width:1em;left:-0.5em;top:0}.frm-group{border-top-style:dashed;border-top-width:1px;margin:1.417em;padding:1.3em 0 0}.group1{border-top:0;padding-top:0}.sf-box,.mf-box,.txt-box{margin:1.417em;padding:.5em 0;position:relative}.sf-set,.mf-set,.txt-set{margin:1.417em;padding:0 0 0 17em;position:relative}.sf-set .sf-box,.mf-set .mf-box,.txt-set .txt-box{margin:0}.frm-group .sf-set,.frm-group .mf-set,.frm-group .txt-set{margin:0}.text input{font-size:1.084em}select{height:25px;*height:auto;line-height:25px;padding-left:3px}optgroup{font-weight:bold}.frm-buttons{margin:.75em 1.417em .8em 1.417em;position:relative;border-top-style:solid;border-top-width:1px;padding:1.1em 0 .3em 18em}.frm-buttons .submit{margin-right:.75em}.frm-buttons .primary{margin-right:2em}.submit input,.cancel input{overflow:visible;padding-left:.5em;padding-right:.5em;font-size:1.084em}.button-set .submit{padding-left:1em}button{width:auto;overflow:visible}label,input[type="button"],input[type="submit"],button,select{cursor:pointer}input[type="submit"],input[type="button"],input[type="reset"],button{display:inline-block;vertical-align:baseline;text-align:center;text-decoration:none;padding:.5em .6em;-moz-border-radius:2px;-webkit-border-radius:2px;-khtml-border-radius:2px;border-radius:2px;border-style:solid;border-width:1px;-webkit-appearance:button;line-height:normal}input[type="submit"]::-moz-focus-inner,input[type="button"]::-moz-focus-inner,input[type="file"]::-moz-focus-inner,input[type="reset"]::-moz-focus-inner,button::-moz-focus-inner{border:0;padding:0}input[type="submit"]:active,input[type="button"]:active,input[type="reset"]:active,button:active{position:relative;top:1px}input[type="submit"][disabled]:active,input[type="button"][disabled]:active,input[type="reset"][disabled]:active,button[disabled]:active{position:relative;top:0}.primary input[type="submit"],.primary input[type="button"],.primary input[type="reset"],.primary button{padding-left:1.2em;padding-right:1.2em}
-.js_link{border-bottom-style:dashed;border-bottom-width:1px}.sf-box label,.sf-box .aslabel{float:left;padding:0}.sf-set .checkbox label{padding:2px 0 2px 2.7em}.sf-set .text label span,.sf-set .select label span,.sf-set .aslabel span{float:left;margin-left:-17em;display:block;position:relative;padding:2px 0 2px 1em;width:16em;text-align:right}.sf-set .checkbox label span{float:left;margin-left:-18em;display:block;position:relative;padding:0 0 0 2em;width:16em;left:-3em;text-align:right;font-weight:bold}.sf-set .text label small,.sf-set .select label small{display:block;text-align:left;position:relative;margin:2em 1em 0 1em;padding-top:.25em;font-size:.917em}.sf-set .fld-input{position:absolute;top:0;left:0;display:block;padding:.5em 1em}.sf-set .checkbox input{margin:.2em 0 .2em -.1em}.sf-set .text input:not([title]){height:100%}.sf-set .sf-short input{width:4em}.sf-set .sf-short label small{font-size:1em;padding:2px 0;margin:0 1em 0 7em}input[type="radio"]{vertical-align:middle;bottom:1px}input[type="checkbox"]{vertical-align:middle;bottom:1px}table input[type="checkbox"]{vertical-align:baseline}.mf-box .mf-item{position:relative;top:-0.166em;padding:.3em 0}.mf-set legend{position:absolute;height:0;background:transparent}.mf-set legend span{position:absolute;left:-17em;width:16em;padding:.5em 1em;margin:1px 0 2px 0;overflow:hidden;display:block;text-align:right;font-weight:bold}.mf-set legend span em{display:block;white-space:normal;font-style:normal;font-weight:normal;font-size:.917em}.mf-item .fld-input{position:absolute;top:.25em;left:0;display:block;padding:0 1em}.mf-item input{margin:.1em 0 .1em -.1em}.mf-item label{padding:1px 0 1px 2.7em;float:left}.mf-set .mf-yesno .mf-item{width:11em;float:left}.mf-set .mf-field{float:left;padding:0 1em 0 1em;border-left:1px solid #ccc}.mf-set .mf-field1{border-left:none}.mf-set .mf-field label,.mf-set .mf-field .aslabel{position:absolute;top:-2em;display:block}.mf-set .mf-cell .fld-input{position:static;padding:0 0 0 1em;border-left:1px solid #ccc}.frm-hdgroup{padding-top:2em}.sf-set .sf-box .sf-forum{width:25em}.mf-set .mf-box .forum-field{width:25em}.checklist{min-height:6em;max-height:9em;max-width:30em;overflow:auto;border-style:solid;border-width:1px;position:relative;padding:.25em .5em;margin:0 1em}.checklist fieldset{height:auto}.checklist legend,.checklist legend span{font-weight:bold;position:static;padding:0;height:auto;text-align:left}.checklist legend span{width:auto;max-width:25em}.checklist-item{position:relative;height:auto}.checklist-item label{display:block;padding:0 0 0 2.25em;float:none;height:100%}.checklist-item .fld-input{position:absolute;left:0;top:0;padding:0;margin:0}.checklist-item input{margin:0}.txt-box label{float:left}.txt-set label span{float:left;margin-left:-17em;display:block;position:relative;padding:2px 1em;width:16em;text-align:right}.txt-set label small{display:block;text-align:left;position:relative;margin:0 1em 0 -1px;padding:2px 1.25em;font-size:.917em;z-index:100}.txt-set .txt-input{position:relative;width:100%}.txt-set .fld-input{display:block;padding:0 0 0 1em}.txt-set textarea{width:95%;resize:vertical}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="search"],input[type="number"],textarea{border-width:1px;border-style:solid;padding:.25em}#quick-search{padding:.1em .2em}.req-warn{display:none}#req-msg p em,.required label span em{font-style:normal;font-weight:normal}.required label span em{float:left;font-size:.917em;line-height:1.2em;width:100%;position:relative}.req-error{display:block}.required label span{font-weight:bold}.post{border-style:solid;border-width:1px;position:relative;margin:1.417em;margin-top:-1.417em}.firstpost,.singlepost{margin-top:1.417em}.main-topic .lastpost{border-bottom:0}.main-topic .post{border-style:solid none;margin:0}.main-topic .firstpost{border-top:0}.posthead{margin-left:18em;border-style:none none none solid;border-width:1px}.posthead .hn{padding-right:1.5em;padding-left:1em;border-style:none none dashed none;border-width:1px}.posthead .post-byline a,.posthead .post-byline strong{font-size:1.167em;font-weight:bold;text-decoration:none;font-style:normal}.posthead .post-byline{float:left;width:15.5em;padding:.5em 1em .5em 1.5em;margin-left:-19em;margin-top:-0.5em;position:relative;left:-1px;overflow:hidden}.posthead .post-num{float:right}#brd-modtopic .posthead .hn{padding-right:2.7em}.post-title{padding:0 1.5em .5em 1em;margin-top:-1px;position:relative}.post-title span{display:block;width:100%;overflow:hidden}.post-title a{font-size:1em;text-decoration:none;font-weight:bold}.post-title small,.post-title small a{font-size:1em;font-weight:normal;white-space:nowrap}.posthead p.item-select{position:absolute;top:0;right:.75em;height:2.5em}
-.postbody{margin-left:18em;position:relative;border-left-style:solid;border-left-width:1px;padding:.5em 1.5em 0 1em;clear:both}.postfoot{padding-left:18em;border-top-style:none;border-top-width:1px;position:relative}.postfoot .post-options{border-left-style:solid;border-left-width:1px}.postbody .post-author{float:left;width:15.5em;margin-left:-19em;left:-1px;position:relative;padding:0 1em .5em 1.5em;overflow:hidden;margin-top:-1em}.postbody .post-author ul{margin:0;padding:0 0 .5em 0;list-style:none}.author-ident .useravatar img{display:block;padding:.5em 0}.author-ident .username{display:none}.author-ident .usertitle{font-weight:bold;line-height:normal}.author-ident .userstatus{padding:.75em 0 .25em 0;margin:0;line-height:.75em;width:100%}.author-ident .userstatus span{font-size:.917em;display:block;border-left-style:solid;border-left-width:.7em;text-indent:.5em}.author-info li span strong{font-weight:normal}.online .author-ident .userstatus span{font-weight:bold}.postfoot .post-contacts{float:left;margin-left:-18em;width:15.5em;padding:.5em 1em .5em 1.5em;position:relative;left:-1px}.postfoot .post-actions{padding:.5em 1.5em .5em 1em;text-align:right;display:block;float:right}.postfoot .post-actions>span{margin-left:.75em}.postfoot .post-contacts>span{margin-right:.75em}.entry-content{padding-bottom:2em;overflow:hidden;width:100%;min-height:7em}#brd-help .entry-content{min-height:4em}.entry-content ol{padding-left:2.5em;list-style-type:decimal}.entry-content ol p,.entry-content ul p{padding:0}.entry-content ol.alpha{list-style-type:upper-alpha}.entry-content h5{font-weight:normal;font-size:1.5em;line-height:1.5em}.entry-content img{vertical-align:text-top;max-width:100%}.entry-content .quotebox,.entry-content .codebox{border-style:solid;border-width:1px;margin:.75em 1em;padding:1em .75em}.entry-content .codebox{font-size:.97em}.entry-content blockquote{overflow:hidden;width:100%}.entry-content .quotebox cite{display:block;font-style:normal;font-weight:bold}.entry-content pre{margin:0;max-height:35em;min-height:2em;overflow:auto;padding:0 2% .1em 0;width:98%}.entry-content span.bbu{text-decoration:underline}.entry-content br,.sig-demo br,.user-box br,.main-message br{display:inline}.sig-content{padding-top:2em;font-size:.95em}.sig-content a,.sig-demo a{border-bottom:solid;border-width:1px}span.sig-line{display:block;width:200px;border-top-style:solid;border-top-width:1px;padding-bottom:.5em}table{width:100%;table-layout:fixed;empty-cells:show;border-spacing:0;line-height:1.3333em;border-collapse:collapse}td{overflow:hidden;vertical-align:middle}table caption{display:none}#brd-userlist table .tc0{width:30%}#brd-userlist table .tc1{width:20%;text-align:left}#brd-userlist table .tc2{width:10%;text-align:center}#brd-debug table{border:0;font-size:.95em}#brd-debug .tcl{white-space:nowrap;width:10%}#brd-debug .tcr{white-space:normal;width:90%}#brd-admin-uresults table .tc0,#brd-admin-iresults table .tc0{width:45%}#brd-admin-uresults table .tc1,#brd-admin-iresults table .tc1,#brd-admin-iresults table .tc2{width:20%}#brd-admin-uresults table .tc2,#brd-admin-uresults table .tc4{width:10%;text-align:center}#brd-admin-uresults .tc3{width:15%}#brd-admin-uresults td.tc0 span,#brd-admin-uresults td.tc3 span{display:block;white-space:nowrap}#brd-admin-iresults table .tc0{width:25%}#brd-admin-iresults table .tc1{width:25%}#brd-admin-iresults table .tc2{width:20%}#brd-admin-iresults .tc3{width:30%}.main-content th{font-size:1.084em;padding:.462em 1.417em;font-weight:normal}td{padding:.5em 1.417em;border-width:1px;border-style:solid none none solid}td.tc0{border-left-style:none;border-left-width:0}th{padding:.5em 1.3em;border-style:none}td.actions,th.actions{text-align:right}td.actions span{display:block}.report{margin-left:4em}.report h3 span{display:block;font-style:normal}.report h3 cite{font-style:normal;font-size:1.084em;font-weight:bold}.report h3 strong{position:absolute;left:-3.1em;width:1.5em;text-align:right;font-size:1.167em}.report p strong{display:block;font-weight:normal;margin-top:1em}.report h4{border-bottom-style:dashed;border-bottom-width:1px}#brd-admin-reports .frm-buttons{margin-left:4em;margin-top:0}#brd-admin-reports .select-all{float:right}.report .item-select{position:absolute;top:0;right:.75em;height:2.5em}.help-box samp{display:block;margin-left:1.5em}.help-box h5 samp{margin-left:1.417em}.help-box code{font-family:courier;font-size:1.084em}.help-box .entry-content{padding:0}.help-box .hn{padding-bottom:.5em;border-bottom-style:dashed;border-bottom-width:1px;margin-bottom:.5em;color:#294f6e}#brd-messages{text-align:center;position:fixed;top:0;z-index:999;padding:0;left:0;right:0}#brd-messages span{text-align:center;padding:.35em 1.3em;margin:0 1em;font:87%/1.5em Arial,sans-serif;font-weight:bold;line-height:2em;border-width:1px;border-style:solid}.ie6 a.feed,.ie7 a.feed{background:url(feed-icon.png) center left no-repeat}.ie6 .brd-page,.ie6 .main,.ie6 #brd-index .main-subhead,.ie6 .main-content .main-item,.ie6 .main-content .main-item ul,.ie6 .gen-content,.ie6 .main-content,.ie6 .ct-box,.ie6 .frm-group,.ie6 .mf-set,.ie6 .sf-set,.ie6 .mf-box,.ie6 .sf-box,.ie6 .mf-item,.ie6 .txt-set,.ie6 .txt-box,.ie6 .frm-form label,.ie6 fieldset,.ie6 span.fld-input,.ie6 .main-subhead .hn,.ie6 .post,.ie6 .posthead,.ie6 .postbody,.ie6 .post-entry,.ie6 .postfoot .post-options{zoom:1}
-.ie6 .ct-box ol,.ie6 .ct-box ol li{zoom:normal}.ie6 .postfoot .post-contacts{position:absolute}.ie6 #brd-wrap fieldset{padding-top:1px;position:relative}.ie6 fieldset legend{margin-left:-7px}.ie6 #brd-wrap .checklist{height:9em;width:30em;overflow:auto}.ie6 .sf-set .checkbox label span{padding-right:0;padding-left:5em}.ie6 #info-censored-intro,.ie6 #info-ranks-intro{margin-bottom:3em}.ie6 .important strong{margin-right:1ex}.ie6 #brd-stats .st-users{margin-bottom:-1ex}.ie6 .txt-box label span{position:absolute}.ie6 #brd-index .main-head{position:relative}.ie6 input{vertical-align:text-bottom}.ie6 #extensions-used{clear:left}.oldie textarea{overflow:auto}.ie7 .brd-page,.ie7 .main,.ie7 #brd-index .main-subhead,.ie7 #brd-index .forum-item,.ie7 .gen-content,.ie7 .main-content,.ie7 .ct-box,.ie7 .frm-group,.ie7 .mf-set,.ie7 .sf-set,.ie7 .mf-box,.ie7 .sf-box,.ie7 .mf-item,.ie7 .txt-set,.ie7 .txt-box,.ie7 .frm-group label,.ie7 fieldset,.ie7 span.fld-input,.ie7 .main-subhead .hn,.ie7 .post,.ie7 .posthead,.ie7 .postbody,.ie7 .post-entry,.ie7 .postfoot .post-options,.ie7 #brd-stats ul{max-height:100%;zoom:1}.ie7 #brd-wrap fieldset{padding-top:1px;position:relative}.ie7 fieldset legend{margin-left:-7px}.ie7 .entry-content .codebox pre{min-height:3em}.ie7 #info-censored-intro,.ie7 #info-ranks-intro{margin-bottom:3em}.ie7 .main-forum .main-item .item-starter{margin-left:1ex}.ie7 #brd-admin-settings-setup #fld19,.ie7 #brd-post textarea#fld1,.ie7 #brd-post textarea#fld2,.ie7 #brd-viewtopic textarea#fld1,.ie7 #brd-postedit #fld2{margin-top:-19px}.ie7 .item-starter{position:relative;left:-0.5em}.ie7 input[type="checkbox"]{vertical-align:baseline}body{background:#fff;color:#222}a:focus{outline:0}a:link,a:visited,.js_link{color:#00579c;text-decoration:none}a:hover,a:active,a:focus{color:#cd0021;text-decoration:underline}.js_link{cursor:pointer;border-color:#00579c;-moz-user-select:none;-webkit-user-select:none;user-select:none}.js_link:hover{color:#cd0021;border-color:#cd0021}.entry-content a:visited{color:#909}.entry-content a:visited:hover{color:#cd0021}.sig-content a,.sig-content a:visited{color:#999;border-color:#ddd}.sig-content a:hover,.sig-content a:active,.sig-content a:focus,.sig-content a:visited:hover{color:#333;border-color:#999;text-decoration:none}.entry-content h5{color:#d93315}.gen-content,.main-content{background:#fbfbfb;border-color:#d3dae1;border-bottom-color:#cbd1d8}.main-pagepost{background:#fff;border-color:#dde4eb}#brd-crumbs-top .crumblast a,#brd-crumbs-top .crumblast a:hover{color:#111;text-decoration:none}.main-item,.main-item li,.main-item div,td{border-color:#dde4eb}.main-content .main-item .item-nav{color:#888}.main-content .sticky{background:#f2f4fa}.main-content .main-item .hn .item-status em.sticky,.main-content .main-item .hn .item-status em.closed{color:#314b60;font-weight:bold}.main-content .main-item .hn .item-status em.moved{color:#666}.post div,h3.post-ident,h4.post-title,.posthead h3,.userstatus span,.sig-line{border-color:#dde4eb}.post-num,.post-edit{color:#999}.post{border-color:#dde4eb;border-top-color:#fff;border-bottom-color:#ccc;background:#edf1f5}#topic-review .firstpost,.singlepost{border-top-color:#dde4eb;border-bottom-color:#dde4eb}.posthead,.postbody,.post-options{background:#fafafa}.posthead .hn{background:#f1f1f1}.post-title small{color:#999}.sig-content{color:#999}.sig-demo{color:#333}.sig-demo a,.sig-demo a:visited{color:#333;text-decoration:none;border-color:#bbb}.online .userstatus span{border-color:#3f9439}.ct-box,.ct-set,.ct-group,.frm-group{border-color:#dbe0e4}.admin-page .ct-box{background:#feffe6}.admin-page .ct-set .ct-box,.report{background:#f4f9fd}.admin-page .warn-set .warn-box{background:#feffe6}.main-frm .ct-group,#brd-announcement{background:#f4f9fd}.main-content .info-box{background:#ffffe1}.main-extensions .extension,.main-hotfixes .hotfix{background:#f4f9fd}.main-extensions .disabled,.main-hotfixes .disabled{background:#ffffe1}.warn-group,.warn-set,.warn-box,.error-box,#admin-alerts{background:#feffe6;border-color:#f4ebce}.warn-group,.warn-set,.warn-box,.error-box{border-color:#e6d190}.info-list li,.error-list li{color:#5d5636}.info-list li span,.error-list li span{color:#5d5636}ul li strong{color:#222}.user-box{background:#f4f9fd}.ct-box .hn{border-color:#dbe0e4;color:#333}.error-box .hn{color:#222}.help-box{background:#f4f4f4}.help-box .hn{color:#294f6e}#rules-content{background:#fff}.frm-buttons,.extension .options,.hotfix .options,#rules-content{border-color:#e3e3e3}.checklist{background:#fff;border-color:#ccc}label,.aslabel,.mf-set legend,.ct-legend,.ct-legend span,.ct-legend cite,.ct-legend strong{color:#333}.paging span,.paging a,.paging strong{border-color:#dedfdf}.required label em,#req-msg em,.warn strong,.important strong{color:#b42000}.sf-set .text label small,.sf-set .select label small,.txt-set .textarea label small{color:#999}.entry-content .quotebox,.entry-content .codebox{background:#fff;border-color:#ddd}#brd-announcement .userbox{background:#f4f9fd none repeat scroll 0 0}
-.main-content .main-item .hn .posted-mark{color:#99C}.lastedit em{font-size:.95em;font-style:normal;color:#999}.user-ident .username strong{color:#222}#brd-navlinks{border-color:#376daa}#brd-navlinks a:link,#brd-navlinks a:visited{color:#eee;text-decoration:none}.main-options,.main-options span{background:#f1f1f1}#brd-navlinks,.main-menu,.admin-menu,.main-head,.main-foot{background-color:#0066b9;background-image:-moz-linear-gradient(bottom,#2a6ab8 0,#4795cc 100%);background-image:-ms-linear-gradient(bottom,#2a6ab8 0,#4795cc 100%);background-image:-o-linear-gradient(bottom,#2a6ab8 0,#4795cc 100%);background-image:-webkit-gradient(linear,0 100%,0 0,from(#2a6ab8),to(#4795cc));background-image:-webkit-linear-gradient(bottom,#2a6ab8 0,#4795cc 100%);background-image:linear-gradient(bottom,#2a6ab8 0,#4795cc 100%)}.admin-submenu{background:#e4e4ec;border-color:#d3dae1}#brd-navlinks a:link,#brd-navlinks a:visited,.main-menu a:link,.main-menu a:visited,.admin-menu a:link,.admin-menu a:visited{color:#eee;text-decoration:none;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}#brd-navlinks a:hover,#brd-navlinks a:active,#brd-navlinks a:focus,.main-menu a:hover,.main-menu a:active,.main-menu a:focus,.admin-menu a:hover,.admin-menu a:active,.admin-menu a:focus{color:#fff}#brd-navlinks .isactive a,.main-menu .active a,.admin-menu .active a{color:#fff;background:#2a6ab8}#brd-admod #alert a{color:yellow;font-weight:bold}#brd-head{background:#f5f5f5;color:#222}#brd-head a,#brd-head a:link,#brd-head a:visited{color:#222}.main-head,.main-foot{color:#fff;border-color:#4a86c1;text-shadow:0 -1px 0 rgba(0,0,0,0.15)}#brd-announcement h1{border-color:#bbb}.main-subhead{border-color:#d3dae1 #D3DAE1 #cbd1d8 #D3DAE1;background:#f4f4f4}.column-title{border-color:#f4f4f4 #F4F4F4 #cbd1d8 #F4F4F4;background:#f4f4f4}.group-head{background:#edf1f5;border-color:#dbe0e4}.content-head .hn{border-color:#dbe0e4;color:#666}.main-head a:link,.main-head a:visited,.main-foot .options a:link,.main-foot .options a:visited,.main-head .js_link,.main-foot .options .js_link{color:#ddd}.main-head .js_link,.main-foot .options .js_link{border-color:#ccc}.main-head a:hover,.main-head a:active,.main-head a:focus,.main-head .js_link:hover,.main-foot .options a:hover,.main-foot .options a:active,.main-foot .options a:focus,.main-foot .options .js_link:hover{color:#fff}.main-head .js_link:hover,.main-foot .options .js_link:hover{border-color:#fff}th{background:#f4f4f4}.main-frm .ct-group td{background:#fbfbfb}#extensions-used{border-bottom-color:#999}.main-content .main-item .icon{border-color:#edf1f5 #DDE0E4 #c6cbd3 #BABFC6}.main-content .redirect .icon{border-color:#f4f4f4 #f4f4f4 #f4f4f4 #f4f4f4}.main-content .sticky .icon{border-color:#d7e5f3 #C3CFDc #9fb3c7 #90A2B4}.main-content .closed .icon{border-color:#acacac #979797 #898989 #7A7A7A}.main-content .sticky.closed .icon{border-color:#d7e5f3 #C3CFDc #898989 #7A7A7A}.main-content .new .icon{border-color:#0080d7 #0065C0 #0058b3 #0072CA}.checklist-item label{background:#fff}.checklist-item label:hover{background:#edf1f5}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="number"],input[type="search"],textarea{border-color:#d3dae1}input[type="text"]:active,input[type="text"]:focus,input[type="password"]:active,input[type="password"]:focus,input[type="email"]:active,input[type="email"]:focus,input[type="url"]:active,input[type="url"]:focus,input[type="search"]:active,input[type="search"]:focus,input[type="number"]:active,input[type="number"]:focus,textarea:active,textarea:focus{border-color:#c8d3dc #D3DAE1 #d3dae1 #C8D3DC;box-shadow:0 1px 2px rgba(0,0,0,0.1) inset;background:#fffff3;background-image:-moz-linear-gradient(top,#fffee8,#fff);background-image:-ms-linear-gradient(top,#fffee8,#fff);background-image:-o-linear-gradient(top,#fffee8,#fff);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fffee8),to(#fff));background-image:-webkit-linear-gradient(top,#fffee8,#fff);background-image:linear-gradient(top,#fffee8,#fff)}input[type="submit"],input[type="button"],input[type="reset"],button{color:#404040;border-color:#ccc;background:#f6f6f6;background-image:-moz-linear-gradient(top,#fff,#eee);background-image:-ms-linear-gradient(top,#fff,#eee);background-image:-o-linear-gradient(top,#fff,#eee);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(top,#fff,#eee);text-shadow:0 1px 1px #ddd}
-.primary input[type="submit"],.primary input[type="button"],.primary input[type="reset"],.primary button{color:#fafafa;background:#4897d9;border-color:#2575ae;text-shadow:0 -1px 1px rgba(0,0,0,0.4);box-shadow:0 1px 0 rgba(255,255,255,0.2) inset,0 1px 2px rgba(0,0,0,0.05);background-image:-moz-linear-gradient(top,#5cb7f7,#4897d9);background-image:-ms-linear-gradient(top,#5cb7f7,#4897d9);background-image:-o-linear-gradient(top,#5cb7f7,#4897d9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5cb7f7),to(#4897d9));background-image:-webkit-linear-gradient(top,#5cb7f7,#4897d9);background-image:linear-gradient(top,#5cb7f7,#4897d9)}.primary.caution input[type="submit"],.primary.caution input[type="button"],.primary.caution input[type="reset"],.primary.caution button{border-color:#c0372a;background:#d95548;background-image:-moz-linear-gradient(top,#f7655b,#d95548);background-image:-ms-linear-gradient(top,#f7655b,#d95548);background-image:-o-linear-gradient(top,#f7655b,#d95548);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f7655b),to(#d95548));background-image:-webkit-linear-gradient(top,#f7655b,#d95548);background-image:linear-gradient(top,#f7655b,#d95548)}input[type="submit"]:hover,input[type="submit"]:focus,input[type="reset"]:hover,input[type="reset"]:focus,input[type="button"]:hover,input[type="button"]:focus,button:hover,button:focus{color:#101010;background:#f3f3f3;background-image:-moz-linear-gradient(top,#fff,#ebebeb);background-image:-ms-linear-gradient(top,#fff,#ebebeb);background-image:-o-linear-gradient(top,#fff,#ebebeb);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#ebebeb));background-image:-webkit-linear-gradient(top,#fff,#ebebeb);background-image:linear-gradient(top,#fff,#ebebeb);border-color:#84bce4;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.primary input[type="submit"]:hover,.primary input[type="submit"]:focus,.primary input[type="reset"]:hover,.primary input[type="reset"]:focus,.primary input[type="button"]:hover,.primary input[type="button"]:focus,.primary button:hover,.primary button:focus{color:#fff;text-shadow:0 -1px 1px rgba(0,0,0,0.4);border-color:#2575ae;background:#2e8bd9;background-image:-moz-linear-gradient(top,#5cb7f7,#2e8bd9);background-image:-ms-linear-gradient(top,#5cb7f7,#2e8bd9);background-image:-o-linear-gradient(top,#5cb7f7,#2e8bd9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5cb7f7),to(#2e8bd9));background-image:-webkit-linear-gradient(top,#5cb7f7,#2e8bd9);background-image:linear-gradient(top,#5cb7f7,#2e8bd9);-webkit-box-shadow:0 1px 0 rgba(255,255,255,0.2) inset,0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 0 rgba(255,255,255,0.2) inset,0 1px 2px rgba(0,0,0,.2)}.primary.caution input[type="submit"]:hover,.primary.caution input[type="submit"]:focus,.primary.caution input[type="button"]:hover,.primary.caution input[type="button"]:focus,.primary.caution input[type="reset"]:hover,.primary.caution input[type="reset"]:focus,.primary.caution button:hover,.primary.caution button:focus{border-color:#c0372a;background:#d93d2e;background-image:-moz-linear-gradient(top,#f7655b,#d93d2e);background-image:-ms-linear-gradient(top,#f7655b,#d93d2e);background-image:-o-linear-gradient(top,#f7655b,#d93d2e);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f7655b),to(#d93d2e));background-image:-webkit-linear-gradient(top,#f7655b,#d93d2e);background-image:linear-gradient(top,#f7655b,#d93d2e)}input[type="submit"][disabled],input[type="button"][disabled],input[type="reset"][disabled],button[disabled]{border-color:#ccc;color:#999}input[type="submit"][disabled]:hover,input[type="submit"][disabled]:focus,input[type="reset"][disabled]:hover,input[type="reset"][disabled]:focus,input[type="button"][disabled]:hover,input[type="button"][disabled]:focus,button[disabled]:hover,button[disabled]:focus{color:#999}#querytime{color:#999}.quiet{color:#999}.loud{color:#000}#brd-debug th{background:#fff;border:0;border-bottom:2px solid #dde4eb;color:#111}#brd-debug td{background:#fff;border:0;border-bottom:solid 1px #eee;color:#666}
-#brd-messages span{color:#333;-webkit-border-bottom-right-radius:.3em;-webkit-border-bottom-left-radius:.3em;-moz-border-radius-bottomright:.3em;-moz-border-radius-bottomleft:.3em;border-bottom-right-radius:.3em;border-bottom-left-radius:.3em;-moz-box-shadow:0 2px 3px rgba(0,0,0,.2);-webkit-box-shadow:0 2px 3px rgba(0,0,0,.2);box-shadow:0 2px 3px rgba(0,0,0,.2)}#brd-messages .message_error{border-color:#ffe475;background:#ffbdac}#brd-messages .message_warning{border-color:#ffe475;background:#ffd0ac}#brd-messages .message_info{border-color:#ffe475;background:#ffc;background:-moz-linear-gradient(center top,#fffbea,#fef7cb);background:-o-linear-gradient(top,#fffbea,#fef7cb);background:-webkit-gradient(linear,0 0,0 100%,from(#fffbea),to(#fef7cb));background:-webkit-linear-gradient(top,#fffbea,#fef7cb);background:-ms-linear-gradient(top,#fffbea,#fef7cb);background:linear-gradient(top,#fffbea,#fef7cb)}::-moz-selection{background:#fff2a8;color:#000;text-shadow:none}::selection{background:#fff2a8;color:#000;text-shadow:none}
\ No newline at end of file
+html,
+body,
+div,
+p,
+dl,
+dt,
+dd,
+ul,
+ol,
+li,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+pre,
+form,
+fieldset,
+legend,
+blockquote,
+table,
+th,
+td,
+input,
+textarea,
+button,
+select {
+    margin: 0;
+    padding: 0;
+    text-align: left
+}
+fieldset,
+img,
+cite {
+    border: 0
+}
+.visual-hidden {
+    visibility: hidden
+}
+br,
+hr,
+.hr,
+.hidden {
+    display: none
+}
+.border-less {
+    border: none!important
+}
+.small-font {
+    font-size: .917em
+}
+.list-clean {
+    list-style-type: none
+}
+.prepend-top {
+    margin-top: 1em!important
+}
+.nowrap {
+    white-space: nowrap
+}
+html {
+    height: 99%;
+    overflow-y: scroll
+}
+body {
+    font-size: 100%
+}
+.brd-page {
+    font: 75%/1.5em Verdana, Helvetica, Arial, sans-serif
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+    font-size: 1em;
+    font-weight: normal
+}
+samp,
+code,
+pre,
+option,
+optgroup,
+input,
+select,
+textarea,
+td,
+th {
+    font-size: 1em;
+    font-family: Verdana, Helvetica, Arial, sans-serif;
+    font-style: normal;
+    font-weight: normal
+}
+samp,
+code,
+pre {
+    font-family: monospace, sans-serif;
+    white-space: pre-wrap;
+    word-wrap: break-word
+}
+.brd-page:after,
+.gen-content:after,
+.ct-box:after,
+#brd-index .item-head:after,
+#brd-index .main-item:after,
+#brd-index ul.item-info:after,
+.frm-group:after,
+.mf-set:after,
+.sf-set:after,
+.mf-box:after,
+.sf-box:after,
+.mf-item:after,
+.txt-set:after,
+.txt-box:after,
+.frm-form label:after,
+fieldset:after,
+span.fld-input:after,
+.posthead:after,
+.postbody:after,
+.postfoot .post-options:after {
+    content: "\0020";
+    display: block;
+    font-size: 0;
+    height: 0;
+    line-height: .0;
+    overflow: hidden;
+    visibility: hidden;
+    clear: both
+}
+.clearfix:before,
+.clearfix:after {
+    content: "\0020";
+    display: block;
+    height: 0;
+    overflow: hidden
+}
+.clearfix:after {
+    clear: both
+}
+.clearfix {
+    zoom: 1
+}
+#brd-stats .hn,
+#qjump label,
+.post-byline span,
+.posthead .post-link span,
+.admin .main-subhead,
+.main-item .item-info li span.label,
+.main-item .item-info li label,
+.main-item .you-posted,
+.main-item .item-num,
+.group-legend,
+.group-legend span,
+.sf-set legend,
+.sf-set legend span,
+.main-pagehead .page-info,
+p.item-select label,
+.mf-extra .mf-field label,
+.mf-extra .mf-field .aslabel,
+.item-subject .item-nav span,
+.post-options a span,
+.main-title,
+.main-head .hn small,
+.entry-title,
+.menu-page .main-head {
+    font-size: 0;
+    left: -999em;
+    text-indent: -999em;
+    position: absolute;
+    line-height: 0;
+    visibility: hidden
+}
+.brd {
+    padding: 1em 2em;
+    margin: 0 auto;
+    max-width: 1100px;
+    min-width: 700px;
+    width: 90%
+}
+#brd-redirect,
+#brd-maint,
+#brd-util {
+    margin: 50px auto 12px auto;
+    width: 60%
+}
+.brd-page {
+    float: left;
+    width: 100%;
+    position: relative
+}
+.main-content,
+.gen-content {
+    border-style: solid;
+    border-width: 1px
+}
+.gen-content {
+    padding: 0 1.5em
+}
+#brd-about,
+#brd-stats {
+    margin-top: 1em
+}
+.main-content,
+#brd-visit,
+#brd-qpost,
+#brd-announcement {
+    margin-bottom: 1em
+}
+#brd-announcement {
+    padding: .5em 1.5em;
+    margin-top: 1em
+}
+#brd-announcement br {
+    display: inline
+}
+.main-options {
+    border-top: 0;
+    margin: -1em 0 1em 0
+}
+#rules-content {
+    padding: 1.5em
+}
+#rules-content h1 {
+    font-size: 1.3em;
+    line-height: 1em;
+    margin-bottom: .7em
+}
+#rules-content h2 {
+    font-size: 1.2em;
+    font-weight: bold;
+    margin-bottom: .3em
+}
+#rules-content h3 {
+    font-size: 1.1em;
+    font-weight: bold
+}
+#rules-content h4,
+#rules-content h5 {
+    font-size: 1;
+    font-weight: bold
+}
+#rules-content p {
+    margin: 0 0 .65em
+}
+p,
+.hn {
+    padding: .35em 0
+}
+ul,
+ol {
+    padding: .35em 0 .35em 2em
+}
+ul.spaced {
+    padding: .25em 0 .25em 2em
+}
+.spaced li {
+    padding: .25em 0
+}
+th {
+    font-size: 1.084em;
+    padding: .462em 1.417em;
+    border-bottom-style: solid;
+    border-bottom-width: 1px
+}
+.main-head,
+.main-foot {
+    border-style: solid;
+    border-width: 1px;
+    padding: 0 1.417em
+}
+.main-head .hn,
+.main-foot .hn {
+    padding-right: 10em
+}
+h2.main-subhead {
+    border-style: solid;
+    border-width: 1px;
+    padding: .462em 10em .426em 1.417em
+}
+.column-title {
+    border-style: solid;
+    border-width: 1px;
+    position: relative;
+    margin-bottom: -1px
+}
+.main-subhead {
+    border-style: solid;
+    border-width: 1px;
+    border-bottom: 0
+}
+.main-subhead .hn {
+    padding: .462em 1.417em;
+    position: relative
+}
+.main-foot {
+    margin-top: -1em
+}
+#brd-announcement h1,
+.main-extensions .ct-legend,
+.main-hotfixes .ct-legend {
+    border-bottom-style: dashed;
+    border-bottom-width: 1px;
+    font-size: 1.1em;
+    font-weight: bold
+}
+#brd-announcement h1 {
+    margin-bottom: .5em
+}
+.main-pagehead .hn {
+    padding: .5em 0
+}
+.content-head {
+    margin: .5em 1.417em 0
+}
+.content-head .hn {
+    border-style: none none double none;
+    border-width: 3px;
+    padding: .462em 0
+}
+.options>span {
+    padding: 0 0 0 .3em;
+    margin: 0 0 0 .25em
+}
+.options .js_link {
+    padding: 0;
+    margin: 0 0 0 .55em
+}
+.options>span.first-item {
+    border-left: 0;
+    padding-left: 0;
+    margin-left: 0
+}
+.extension .options,
+.hotfix .options {
+    border-top-style: dashed;
+    border-top-width: 1px
+}
+.extension h3>em {
+    font-style: normal
+}
+.extension .data-list {
+    list-style-type: none;
+    padding-left: 0
+}
+.ct-box {
+    border-style: solid;
+    border-width: 1px;
+    -moz-border-radius: .35em;
+    -webkit-border-radius: .35em;
+    -khtml-border-radius: .35em;
+    border-radius: .35em;
+    margin: 1.417em;
+    padding: .5em 1em;
+    position: relative
+}
+.ct-box li {
+    padding: 0;
+    margin: 0 0 .7em 0
+}
+.ct-set {
+    border-style: solid;
+    border-width: 1px;
+    margin: 1.417em;
+    padding: 0 0 0 17em;
+    position: relative
+}
+.ct-group {
+    border-style: solid;
+    border-width: 1px;
+    margin: 1.417em
+}
+.frm-group .ct-set {
+    border-style: dashed none none none;
+    margin: 0
+}
+.ct-group .ct-set {
+    border-style: dashed none none none;
+    margin: 0 1em;
+    padding: 0 0 0 16em
+}
+.ct-group .group-item1 {
+    border: 0
+}
+.ct-group .set1,
+.frm-group .set1 {
+    border-top: 0
+}
+.ct-group .ct-box,
+.frm-group .ct-box {
+    border-style: none;
+    margin: 0
+}
+.ct-group .ct-set .ct-box,
+.ct-set .ct-box,
+.frm-group .ct-set .ct-box {
+    border-style: none;
+    margin: 0
+}
+.ct-group .set1 {
+    border-top: 0
+}
+.ct-set .ct-legend {
+    float: left;
+    margin-left: -17em;
+    width: 16em;
+    position: relative;
+    text-align: right;
+    font-weight: bold
+}
+.ct-set ul {
+    padding-left: 0;
+    list-style: none
+}
+.ct-box div {
+    padding: .35em 0
+}
+.ct-box p.options {
+    float: none
+}
+.ct-box .info-list {
+    padding-bottom: 0
+}
+.user-ident {
+    padding-left: 0;
+    list-style: none
+}
+.user-ident .username a,
+.user-ident .username strong {
+    font-size: 1.5em;
+    font-weight: normal
+}
+.user-ident .username a,
+.user-ident .username a:link,
+.user-ident .username a:visited {
+    text-decoration: none
+}
+.user-ident .username a:hover,
+.user-ident .username a:active,
+.user-ident .username a:focus {
+    text-decoration: underline
+}
+.user-ident .usertitle {
+    font-weight: bold
+}
+.user-ident .useravatar {
+    padding: .25em 0
+}
+.user-ident .useravatar img {
+    display: block
+}
+.main-message {
+    padding: .5em 1.417em
+}
+.main-message p span {
+    display: block;
+    padding-top: .5em
+}
+#brd-maint .main-message {
+    padding: 0
+}
+#brd-navlinks,
+.main-menu,
+.admin-menu {
+    padding: 0 .75em
+}
+.main-menu,
+.admin-menu {
+    border: 0
+}
+#brd-navlinks ul,
+.main-menu ul,
+.admin-menu ul {
+    list-style-type: none;
+    float: left;
+    padding: 0
+}
+#brd-navlinks li,
+.main-menu li,
+.admin-menu li {
+    float: left;
+    display: inline
+}
+#brd-navlinks a,
+.main-menu a,
+.admin-menu a {
+    float: left;
+    position: relative;
+    padding: .55em .7em
+}
+#brd-navlinks a {
+    padding: .43em .7em
+}
+#brd-navlinks li.first-item,
+.main-menu li.first-item,
+.admin-menu li.first-item {
+    border-left: 0
+}
+.admin-submenu {
+    border-style: solid;
+    border-width: 0 1px
+}
+.admin-submenu ul {
+    padding: .5em 0;
+    list-style: none
+}
+.admin-submenu li {
+    display: inline;
+    margin-right: .75em
+}
+.admin-submenu .active a {
+    font-weight: bold
+}
+#brd-head {
+    padding-bottom: .75em;
+    padding-top: 1em;
+    border-radius: .4em .4em 0 0
+}
+#brd-title {
+    padding-bottom: 0
+}
+#brd-title a,
+#brd-title strong {
+    font-size: 1.5em;
+    text-decoration: none;
+    font-weight: normal
+}
+#brd-desc {
+    padding-top: 0;
+    padding-bottom: 0
+}
+#brd-navlinks ul {
+    margin: 0;
+    float: left
+}
+#brd-navlinks li {
+    display: inline
+}
+#brd-navlinks li a {
+    text-decoration: none
+}
+ul#brd-admod {
+    float: right;
+    text-align: right
+}
+#brd-access {
+    text-align: right;
+    padding: 0;
+    height: 0;
+    margin: 0;
+    position: absolute;
+    background: transparent
+}
+#brd-access a,
+#brd-access a:link,
+#brd-access a:visited {
+    height: 2em;
+    line-height: 2em;
+    position: absolute;
+    left: -999em;
+    margin: 1px;
+    width: 12em
+}
+#brd-access a:hover,
+#brd-access a:active,
+#brd-access a:focus {
+    text-indent: 0;
+    background: #000;
+    position: static;
+    float: right
+}
+#brd-visit #welcome {
+    float: left
+}
+#brd-visit #visit-links {
+    text-align: right;
+    float: none
+}
+#brd-pagepost-end {
+    border-top: 0
+}
+#brd-pagepost-top {
+    border-bottom: 0
+}
+#brd-admin-bans #brd-pagepost-end {
+    margin-top: -1em
+}
+.paging {
+    float: left
+}
+.posting {
+    text-align: right;
+    float: right
+}
+.paging {
+    white-space: nowrap
+}
+.paging a,
+.paging strong,
+.paging span {
+    padding: 0 1em;
+    border-left-style: solid;
+    border-left-width: 1px;
+    float: left;
+    white-space: nowrap
+}
+.paging .first-item,
+.paging span.pages {
+    border-left: 0;
+    padding-left: 0
+}
+.posting .newpost {
+    font-size: 1.084em;
+    font-weight: bold
+}
+.crumbs .crumblast span {
+    font-weight: normal
+}
+.crumbs span,
+.crumbs a {
+    white-space: nowrap
+}
+.crumbs {
+    margin: .5em 0;
+    padding: 0 1.417em;
+    font-size: 1.084em
+}
+#brd-crumbs-top .crumblast {
+    font-size: 1.15em
+}
+#brd-stats ul {
+    list-style: none;
+    padding-left: 0
+}
+#brd-stats ul li.st-users {
+    float: left;
+    clear: both;
+    white-space: nowrap
+}
+#brd-stats ul li.st-activity {
+    text-align: right;
+    display: block;
+    white-space: nowrap
+}
+#brd-stats li strong {
+    font-weight: bold
+}
+#brd-online {
+    padding-top: .5em;
+    padding-bottom: .5em;
+    border-top: 0
+}
+#brd-online .hn,
+#brd-online p {
+    padding-bottom: 0;
+    padding-top: 0
+}
+#brd-online .hn {
+    float: left;
+    margin-right: .5em
+}
+#qjump {
+    float: left;
+    padding: .5em 0
+}
+#qjump div,
+#qjump label {
+    padding: 0;
+    border: 0
+}
+#copyright {
+    text-align: right;
+    margin: 0
+}
+#querytime {
+    text-align: right;
+    font-size: .917em;
+    padding: 0
+}
+#extensions-used {
+    border-bottom: 1px dotted
+}
+p.options {
+    border-top: 0;
+    float: right
+}
+.main-modoptions .options {
+    text-align: center
+}
+a.feed {
+    padding-left: 22px;
+    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAVZQTFRFzF0V2XIp2l4q3GEr3W4v3mUs3m8v3nAw33Ew4Got4HVF4XQw4Xgx4nA24nYx424u43kx43ky5Hsy5HxH5XQu5Xwy5X0y5nQv5n8z5otg53gv54Ez6Hkx6II06IM06IU16IlV6X456YU16Yg26n0x6oc16olJ638y64k17IEy7Io27JZj7oUz7oU07pFM7ppk7quJ7rKV741B751k8Ik08Ys18beX8o018pNC8qNm86Rn9JE29KZn9Kxz9LKA9L2Y9ZI39alo9b+Z9cCY9pQ39ptE95c496FQ961p98OZ99S++Jk5+J5E+K9p+LR1+L+O+Zo5+Z1B+Z9F+aVS+cib+de/+pw5+qJG+qxe+rNq+r6D+sOP+s6n+tOz+506+6lS+69e+7l3++bY/MKE/Nm1/OPN/dq1/d/B/eXN/fHm/ubO/uza/vHm/vLm/vfy/vjy//nz////L/lnWgAAAAJ0Uk5TEI9BVkHYAAAA50lEQVQY0yXOu07DMBSA4XNxnDtE4bYBFYxMMPAaPCoPg5gqBgRDSVtok1McO3awxPj904+ApSJFzIqZxrcZ8brXRcIZq5wK7Z65Cu1Vy/TvbBiV0vU9QPjcYfRGmIsjtkDJ8ZkO0bLnukL73f1WKoNOxPQxNI9taUTr9Gdr7IE4S6g6v21MDwtvZYoD9nU1YWOXhhpxnpTK58OX4Kl5gTtnvOKcFjyu00SvPOf7mZhOijTZvsOFLKGZAsW/GQbpoHZrwBDw5iET2RibTR9K70yC+GTjjxVn7BTmckDAS3bOT977ENjOfw1gcm/NBi+EAAAAAElFTkSuQmCC) center left no-repeat
+}
+.content-options,
+.ct-options {
+    float: right;
+    margin-top: -2.6em;
+    padding: .5em 1.417em;
+    position: relative
+}
+.item-summary {
+    height: 2.5em;
+    padding: 0;
+    position: relative;
+    font-size: 1em
+}
+.item-summary span {
+    width: 100%;
+    position: absolute;
+    left: -999em;
+    text-indent: -999em;
+    display: block
+}
+.item-summary strong {
+    position: absolute;
+    left: 999em;
+    text-indent: 0;
+    padding: .5em 0;
+    white-space: nowrap;
+    font-weight: normal
+}
+.item-summary strong:first-letter {
+    text-transform: uppercase
+}
+.item-summary .subject-title {
+    padding-left: 1.417em
+}
+.item-summary .info-topics,
+.item-summary .info-replies {
+    margin-left: 100%;
+    text-align: center;
+    width: 7em;
+    left: 965em
+}
+.item-summary .info-forum {
+    margin-left: 100%;
+    text-align: center;
+    width: 20em;
+    left: 952em
+}
+.item-summary .info-posts,
+.item-summary .info-views {
+    margin-left: 100%;
+    text-align: center;
+    width: 7em;
+    left: 972em
+}
+.item-summary .info-lastpost {
+    margin-left: 100%;
+    left: 980em
+}
+p.forum-noview .info-replies {
+    left: 972em
+}
+.main-content .main-item {
+    border-top-style: solid;
+    border-top-width: 1px;
+    overflow: hidden;
+    position: relative;
+    line-height: 1.4em
+}
+.main-content .main-first-item {
+    border-top: 0
+}
+.main-content .main-item ul {
+    float: right;
+    position: relative;
+    padding: 0;
+    list-style: none
+}
+.main-content .main-item p,
+.main-content .main-item .hn {
+    padding: 0
+}
+.hn .item-status {
+    font-weight: normal
+}
+.hn .item-status em {
+    font-style: normal
+}
+.main-item .item-subject,
+.main-content .main-item li {
+    float: left;
+    border-left-style: solid;
+    border-left-width: 1px;
+    margin: 0 -2px -9.7em 0;
+    position: relative;
+    padding-top: .6em;
+    padding-bottom: 10.4em
+}
+.main-item .item-subject {
+    overflow: hidden;
+    width: 100%
+}
+li.info-topics,
+li.info-posts,
+li.info-views,
+li.info-replies {
+    width: 7em;
+    text-align: center
+}
+li.info-forum {
+    width: 20em;
+    text-align: center
+}
+li.info-lastpost {
+    width: 20em
+}
+li.info-lastpost cite {
+    overflow: hidden;
+    width: 18em
+}
+.main-item li strong {
+    font-weight: normal
+}
+.main-content .main-item {
+    padding-right: 35em;
+    padding-left: 3.75em
+}
+.main-content .main-item .hn {
+    position: relative
+}
+.main-content .main-item ul {
+    width: 34em;
+    right: -35em;
+    margin-left: -34em
+}
+.forum-noview .main-item {
+    padding-right: 28em
+}
+.forum-noview .main-item ul {
+    width: 27em;
+    right: -28em;
+    margin-left: -27em
+}
+.forum-forums .main-item {
+    padding-right: 48em
+}
+.forum-forums .main-item ul {
+    width: 47em;
+    right: -48em;
+    margin-left: -47em
+}
+.item-subject span.modlist {
+    display: block
+}
+#brd-index .main-item .hn span {
+    font-size: 1.084em;
+    font-weight: bold
+}
+#brd-index .main-item .hn small {
+    font-size: 1em
+}
+.item-status {
+    font-weight: bold
+}
+.main-content .main-item cite {
+    font-style: normal
+}
+.item-nav,
+.item-nav a,
+.item-nav span {
+    white-space: nowrap;
+    font-style: normal
+}
+.item-subject .hn,
+.item-subject p {
+    margin: 0 0 0 1.5em
+}
+li.info-lastpost cite,
+li.info-lastpost span,
+li.info-forum a {
+    display: block;
+    padding: 0 1em;
+    font-style: normal;
+    font-weight: normal
+}
+li.info-lastpost strong {
+    padding: 0 0 0 1em;
+    font-style: normal;
+    font-weight: normal
+}
+.main-item li.info-select {
+    position: absolute;
+    right: 0;
+    top: 0;
+    padding: .3em;
+    border-style: none none solid solid;
+    border-width: 1px
+}
+.main-content .main-item .icon {
+    border-style: solid;
+    border-width: .5833em;
+    height: 0;
+    width: 0;
+    float: left;
+    margin-top: .667em;
+    margin-left: -2.417em
+}
+.main-content .main-item .hn .posted-mark {
+    position: absolute;
+    font-size: 2em;
+    width: 1em;
+    left: -0.5em;
+    top: 0
+}
+.frm-group {
+    border-top-style: dashed;
+    border-top-width: 1px;
+    margin: 1.417em;
+    padding: 1.3em 0 0
+}
+.group1 {
+    border-top: 0;
+    padding-top: 0
+}
+.sf-box,
+.mf-box,
+.txt-box {
+    margin: 1.417em;
+    padding: .5em 0;
+    position: relative
+}
+.sf-set,
+.mf-set,
+.txt-set {
+    margin: 1.417em;
+    padding: 0 0 0 17em;
+    position: relative
+}
+.sf-set .sf-box,
+.mf-set .mf-box,
+.txt-set .txt-box {
+    margin: 0
+}
+.frm-group .sf-set,
+.frm-group .mf-set,
+.frm-group .txt-set {
+    margin: 0
+}
+.text input {
+    font-size: 1.084em
+}
+select {
+    height: 25px;
+    *height: auto;
+    line-height: 25px;
+    padding-left: 3px
+}
+optgroup {
+    font-weight: bold
+}
+.frm-buttons {
+    margin: .75em 1.417em .8em 1.417em;
+    position: relative;
+    border-top-style: solid;
+    border-top-width: 1px;
+    padding: 1.1em 0 .3em 18em
+}
+.frm-buttons .submit {
+    margin-right: .75em
+}
+.frm-buttons .primary {
+    margin-right: 2em
+}
+.submit input,
+.cancel input {
+    overflow: visible;
+    padding-left: .5em;
+    padding-right: .5em;
+    font-size: 1.084em
+}
+.button-set .submit {
+    padding-left: 1em
+}
+button {
+    width: auto;
+    overflow: visible
+}
+label,
+input[type="button"],
+input[type="submit"],
+button,
+select {
+    cursor: pointer
+}
+input[type="submit"],
+input[type="button"],
+input[type="reset"],
+button {
+    display: inline-block;
+    vertical-align: baseline;
+    text-align: center;
+    text-decoration: none;
+    padding: .5em .6em;
+    -moz-border-radius: 2px;
+    -webkit-border-radius: 2px;
+    -khtml-border-radius: 2px;
+    border-radius: 2px;
+    border-style: solid;
+    border-width: 1px;
+    -webkit-appearance: button;
+    line-height: normal
+}
+input[type="submit"]::-moz-focus-inner,
+input[type="button"]::-moz-focus-inner,
+input[type="file"]::-moz-focus-inner,
+input[type="reset"]::-moz-focus-inner,
+button::-moz-focus-inner {
+    border: 0;
+    padding: 0
+}
+input[type="submit"]:active,
+input[type="button"]:active,
+input[type="reset"]:active,
+button:active {
+    position: relative;
+    top: 1px
+}
+input[type="submit"][disabled]:active,
+input[type="button"][disabled]:active,
+input[type="reset"][disabled]:active,
+button[disabled]:active {
+    position: relative;
+    top: 0
+}
+.primary input[type="submit"],
+.primary input[type="button"],
+.primary input[type="reset"],
+.primary button {
+    padding-left: 1.2em;
+    padding-right: 1.2em
+}
+.js_link {
+    border-bottom-style: dashed;
+    border-bottom-width: 1px
+}
+.sf-box label,
+.sf-box .aslabel {
+    float: left;
+    padding: 0
+}
+.sf-set .checkbox label {
+    padding: 2px 0 2px 2.7em
+}
+.sf-set .text label span,
+.sf-set .select label span,
+.sf-set .aslabel span {
+    float: left;
+    margin-left: -17em;
+    display: block;
+    position: relative;
+    padding: 2px 0 2px 1em;
+    width: 16em;
+    text-align: right
+}
+.sf-set .checkbox label span {
+    float: left;
+    margin-left: -18em;
+    display: block;
+    position: relative;
+    padding: 0 0 0 2em;
+    width: 16em;
+    left: -3em;
+    text-align: right;
+    font-weight: bold
+}
+.sf-set .text label small,
+.sf-set .select label small {
+    display: block;
+    text-align: left;
+    position: relative;
+    margin: 2em 1em 0 1em;
+    padding-top: .25em;
+    font-size: .917em
+}
+.sf-set .fld-input {
+    position: absolute;
+    top: 0;
+    left: 0;
+    display: block;
+    padding: .5em 1em
+}
+.sf-set .checkbox input {
+    margin: .2em 0 .2em -.1em
+}
+.sf-set .text input:not([title]) {
+    height: 100%
+}
+.sf-set .sf-short input {
+    width: 4em
+}
+.sf-set .sf-short label small {
+    font-size: 1em;
+    padding: 2px 0;
+    margin: 0 1em 0 7em
+}
+input[type="radio"] {
+    vertical-align: middle;
+    bottom: 1px
+}
+input[type="checkbox"] {
+    vertical-align: middle;
+    bottom: 1px
+}
+table input[type="checkbox"] {
+    vertical-align: baseline
+}
+.mf-box .mf-item {
+    position: relative;
+    top: -0.166em;
+    padding: .3em 0
+}
+.mf-set legend {
+    position: absolute;
+    height: 0;
+    background: transparent
+}
+.mf-set legend span {
+    position: absolute;
+    left: -17em;
+    width: 16em;
+    padding: .5em 1em;
+    margin: 1px 0 2px 0;
+    overflow: hidden;
+    display: block;
+    text-align: right;
+    font-weight: bold
+}
+.mf-set legend span em {
+    display: block;
+    white-space: normal;
+    font-style: normal;
+    font-weight: normal;
+    font-size: .917em
+}
+.mf-item .fld-input {
+    position: absolute;
+    top: .25em;
+    left: 0;
+    display: block;
+    padding: 0 1em
+}
+.mf-item input {
+    margin: .1em 0 .1em -.1em
+}
+.mf-item label {
+    padding: 1px 0 1px 2.7em;
+    float: left
+}
+.mf-set .mf-yesno .mf-item {
+    width: 11em;
+    float: left
+}
+.mf-set .mf-field {
+    float: left;
+    padding: 0 1em 0 1em;
+    border-left: 1px solid #ccc
+}
+.mf-set .mf-field1 {
+    border-left: none
+}
+.mf-set .mf-field label,
+.mf-set .mf-field .aslabel {
+    position: absolute;
+    top: -2em;
+    display: block
+}
+.mf-set .mf-cell .fld-input {
+    position: static;
+    padding: 0 0 0 1em;
+    border-left: 1px solid #ccc
+}
+.frm-hdgroup {
+    padding-top: 2em
+}
+.sf-set .sf-box .sf-forum {
+    width: 25em
+}
+.mf-set .mf-box .forum-field {
+    width: 25em
+}
+.checklist {
+    min-height: 6em;
+    max-height: 9em;
+    max-width: 30em;
+    overflow: auto;
+    border-style: solid;
+    border-width: 1px;
+    position: relative;
+    padding: .25em .5em;
+    margin: 0 1em
+}
+.checklist fieldset {
+    height: auto
+}
+.checklist legend,
+.checklist legend span {
+    font-weight: bold;
+    position: static;
+    padding: 0;
+    height: auto;
+    text-align: left
+}
+.checklist legend span {
+    width: auto;
+    max-width: 25em
+}
+.checklist-item {
+    position: relative;
+    height: auto
+}
+.checklist-item label {
+    display: block;
+    padding: 0 0 0 2.25em;
+    float: none;
+    height: 100%
+}
+.checklist-item .fld-input {
+    position: absolute;
+    left: 0;
+    top: 0;
+    padding: 0;
+    margin: 0
+}
+.checklist-item input {
+    margin: 0
+}
+.txt-box label {
+    float: left
+}
+.txt-set label span {
+    float: left;
+    margin-left: -17em;
+    display: block;
+    position: relative;
+    padding: 2px 1em;
+    width: 16em;
+    text-align: right
+}
+.txt-set label small {
+    display: block;
+    text-align: left;
+    position: relative;
+    margin: 0 1em 0 -1px;
+    padding: 2px 1.25em;
+    font-size: .917em;
+    z-index: 100
+}
+.txt-set .txt-input {
+    position: relative;
+    width: 100%
+}
+.txt-set .fld-input {
+    display: block;
+    padding: 0 0 0 1em
+}
+.txt-set textarea {
+    width: 95%;
+    resize: vertical
+}
+input[type="text"],
+input[type="password"],
+input[type="email"],
+input[type="url"],
+input[type="search"],
+input[type="number"],
+textarea {
+    border-width: 1px;
+    border-style: solid;
+    padding: .25em
+}
+#quick-search {
+    padding: .1em .2em
+}
+.req-warn {
+    display: none
+}
+#req-msg p em,
+.required label span em {
+    font-style: normal;
+    font-weight: normal
+}
+.required label span em {
+    float: left;
+    font-size: .917em;
+    line-height: 1.2em;
+    width: 100%;
+    position: relative
+}
+.req-error {
+    display: block
+}
+.required label span {
+    font-weight: bold
+}
+.post {
+    border-style: solid;
+    border-width: 1px;
+    position: relative;
+    margin: 1.417em;
+    margin-top: -1.417em
+}
+.firstpost,
+.singlepost {
+    margin-top: 1.417em
+}
+.main-topic .lastpost {
+    border-bottom: 0
+}
+.main-topic .post {
+    border-style: solid none;
+    margin: 0
+}
+.main-topic .firstpost {
+    border-top: 0
+}
+.posthead {
+    margin-left: 18em;
+    border-style: none none none solid;
+    border-width: 1px
+}
+.posthead .hn {
+    padding-right: 1.5em;
+    padding-left: 1em;
+    border-style: none none dashed none;
+    border-width: 1px
+}
+.posthead .post-byline a,
+.posthead .post-byline strong {
+    font-size: 1.167em;
+    font-weight: bold;
+    text-decoration: none;
+    font-style: normal
+}
+.posthead .post-byline {
+    float: left;
+    width: 15.5em;
+    padding: .5em 1em .5em 1.5em;
+    margin-left: -19em;
+    margin-top: -0.5em;
+    position: relative;
+    left: -1px;
+    overflow: hidden
+}
+.posthead .post-num {
+    float: right
+}
+#brd-modtopic .posthead .hn {
+    padding-right: 2.7em
+}
+.post-title {
+    padding: 0 1.5em .5em 1em;
+    margin-top: -1px;
+    position: relative
+}
+.post-title span {
+    display: block;
+    width: 100%;
+    overflow: hidden
+}
+.post-title a {
+    font-size: 1em;
+    text-decoration: none;
+    font-weight: bold
+}
+.post-title small,
+.post-title small a {
+    font-size: 1em;
+    font-weight: normal;
+    white-space: nowrap
+}
+.posthead p.item-select {
+    position: absolute;
+    top: 0;
+    right: .75em;
+    height: 2.5em
+}
+.postbody {
+    margin-left: 18em;
+    position: relative;
+    border-left-style: solid;
+    border-left-width: 1px;
+    padding: .5em 1.5em 0 1em;
+    clear: both
+}
+.postfoot {
+    padding-left: 18em;
+    border-top-style: none;
+    border-top-width: 1px;
+    position: relative
+}
+.postfoot .post-options {
+    border-left-style: solid;
+    border-left-width: 1px
+}
+.postbody .post-author {
+    float: left;
+    width: 15.5em;
+    margin-left: -19em;
+    left: -1px;
+    position: relative;
+    padding: 0 1em .5em 1.5em;
+    overflow: hidden;
+    margin-top: -1em
+}
+.postbody .post-author ul {
+    margin: 0;
+    padding: 0 0 .5em 0;
+    list-style: none
+}
+.author-ident .useravatar img {
+    display: block;
+    padding: .5em 0
+}
+.author-ident .username {
+    display: none
+}
+.author-ident .usertitle {
+    font-weight: bold;
+    line-height: normal
+}
+.author-ident .userstatus {
+    padding: .75em 0 .25em 0;
+    margin: 0;
+    line-height: .75em;
+    width: 100%
+}
+.author-ident .userstatus span {
+    font-size: .917em;
+    display: block;
+    border-left-style: solid;
+    border-left-width: .7em;
+    text-indent: .5em
+}
+.author-info li span strong {
+    font-weight: normal
+}
+.online .author-ident .userstatus span {
+    font-weight: bold
+}
+.postfoot .post-contacts {
+    float: left;
+    margin-left: -18em;
+    width: 15.5em;
+    padding: .5em 1em .5em 1.5em;
+    position: relative;
+    left: -1px
+}
+.postfoot .post-actions {
+    padding: .5em 1.5em .5em 1em;
+    text-align: right;
+    display: block;
+    float: right
+}
+.postfoot .post-actions>span {
+    margin-left: .75em
+}
+.postfoot .post-contacts>span {
+    margin-right: .75em
+}
+.entry-content {
+    padding-bottom: 2em;
+    overflow: hidden;
+    width: 100%;
+    min-height: 7em
+}
+#brd-help .entry-content {
+    min-height: 4em
+}
+.entry-content ol {
+    padding-left: 2.5em;
+    list-style-type: decimal
+}
+.entry-content ol p,
+.entry-content ul p {
+    padding: 0
+}
+.entry-content ol.alpha {
+    list-style-type: upper-alpha
+}
+.entry-content h5 {
+    font-weight: normal;
+    font-size: 1.5em;
+    line-height: 1.5em
+}
+.entry-content img {
+    vertical-align: text-top;
+    max-width: 100%
+}
+.entry-content .quotebox,
+.entry-content .codebox {
+    border-style: solid;
+    border-width: 1px;
+    margin: .75em 1em;
+    padding: 1em .75em
+}
+.entry-content .codebox {
+    font-size: .97em
+}
+.entry-content blockquote {
+    overflow: hidden;
+    width: 100%
+}
+.entry-content .quotebox cite {
+    display: block;
+    font-style: normal;
+    font-weight: bold
+}
+.entry-content pre {
+    margin: 0;
+    max-height: 35em;
+    min-height: 2em;
+    overflow: auto;
+    padding: 0 2% .1em 0;
+    width: 98%
+}
+.entry-content span.bbu {
+    text-decoration: underline
+}
+.entry-content br,
+.sig-demo br,
+.user-box br,
+.main-message br {
+    display: inline
+}
+.sig-content {
+    padding-top: 2em;
+    font-size: .95em
+}
+.sig-content a,
+.sig-demo a {
+    border-bottom: solid;
+    border-width: 1px
+}
+span.sig-line {
+    display: block;
+    width: 200px;
+    border-top-style: solid;
+    border-top-width: 1px;
+    padding-bottom: .5em
+}
+table {
+    width: 100%;
+    table-layout: fixed;
+    empty-cells: show;
+    border-spacing: 0;
+    line-height: 1.3333em;
+    border-collapse: collapse
+}
+td {
+    overflow: hidden;
+    vertical-align: middle
+}
+table caption {
+    display: none
+}
+#brd-userlist table .tc0 {
+    width: 30%
+}
+#brd-userlist table .tc1 {
+    width: 20%;
+    text-align: left
+}
+#brd-userlist table .tc2 {
+    width: 10%;
+    text-align: center
+}
+#brd-debug table {
+    border: 0;
+    font-size: .95em
+}
+#brd-debug .tcl {
+    white-space: nowrap;
+    width: 10%
+}
+#brd-debug .tcr {
+    white-space: normal;
+    width: 90%
+}
+#brd-admin-uresults table .tc0,
+#brd-admin-iresults table .tc0 {
+    width: 45%
+}
+#brd-admin-uresults table .tc1,
+#brd-admin-iresults table .tc1,
+#brd-admin-iresults table .tc2 {
+    width: 20%
+}
+#brd-admin-uresults table .tc2,
+#brd-admin-uresults table .tc4 {
+    width: 10%;
+    text-align: center
+}
+#brd-admin-uresults .tc3 {
+    width: 15%
+}
+#brd-admin-uresults td.tc0 span,
+#brd-admin-uresults td.tc3 span {
+    display: block;
+    white-space: nowrap
+}
+#brd-admin-iresults table .tc0 {
+    width: 25%
+}
+#brd-admin-iresults table .tc1 {
+    width: 25%
+}
+#brd-admin-iresults table .tc2 {
+    width: 20%
+}
+#brd-admin-iresults .tc3 {
+    width: 30%
+}
+.main-content th {
+    font-size: 1.084em;
+    padding: .462em 1.417em;
+    font-weight: normal
+}
+td {
+    padding: .5em 1.417em;
+    border-width: 1px;
+    border-style: solid none none solid
+}
+td.tc0 {
+    border-left-style: none;
+    border-left-width: 0
+}
+th {
+    padding: .5em 1.3em;
+    border-style: none
+}
+td.actions,
+th.actions {
+    text-align: right
+}
+td.actions span {
+    display: block
+}
+.report {
+    margin-left: 4em
+}
+.report h3 span {
+    display: block;
+    font-style: normal
+}
+.report h3 cite {
+    font-style: normal;
+    font-size: 1.084em;
+    font-weight: bold
+}
+.report h3 strong {
+    position: absolute;
+    left: -3.1em;
+    width: 1.5em;
+    text-align: right;
+    font-size: 1.167em
+}
+.report p strong {
+    display: block;
+    font-weight: normal;
+    margin-top: 1em
+}
+.report h4 {
+    border-bottom-style: dashed;
+    border-bottom-width: 1px
+}
+#brd-admin-reports .frm-buttons {
+    margin-left: 4em;
+    margin-top: 0
+}
+#brd-admin-reports .select-all {
+    float: right
+}
+.report .item-select {
+    position: absolute;
+    top: 0;
+    right: .75em;
+    height: 2.5em
+}
+.help-box samp {
+    display: block;
+    margin-left: 1.5em
+}
+.help-box h5 samp {
+    margin-left: 1.417em
+}
+.help-box code {
+    font-family: courier;
+    font-size: 1.084em
+}
+.help-box .entry-content {
+    padding: 0
+}
+.help-box .hn {
+    padding-bottom: .5em;
+    border-bottom-style: dashed;
+    border-bottom-width: 1px;
+    margin-bottom: .5em;
+    color: #294f6e
+}
+#brd-messages {
+    text-align: center;
+    position: fixed;
+    top: 0;
+    z-index: 999;
+    padding: 0;
+    left: 0;
+    right: 0
+}
+#brd-messages span {
+    text-align: center;
+    padding: .35em 1.3em;
+    margin: 0 1em;
+    font: 87%/1.5em Arial, sans-serif;
+    font-weight: bold;
+    line-height: 2em;
+    border-width: 1px;
+    border-style: solid
+}
+.ie6 a.feed,
+.ie7 a.feed {
+    background: url(feed-icon.png) center left no-repeat
+}
+.ie6 .brd-page,
+.ie6 .main,
+.ie6 #brd-index .main-subhead,
+.ie6 .main-content .main-item,
+.ie6 .main-content .main-item ul,
+.ie6 .gen-content,
+.ie6 .main-content,
+.ie6 .ct-box,
+.ie6 .frm-group,
+.ie6 .mf-set,
+.ie6 .sf-set,
+.ie6 .mf-box,
+.ie6 .sf-box,
+.ie6 .mf-item,
+.ie6 .txt-set,
+.ie6 .txt-box,
+.ie6 .frm-form label,
+.ie6 fieldset,
+.ie6 span.fld-input,
+.ie6 .main-subhead .hn,
+.ie6 .post,
+.ie6 .posthead,
+.ie6 .postbody,
+.ie6 .post-entry,
+.ie6 .postfoot .post-options {
+    zoom: 1
+}
+.ie6 .ct-box ol,
+.ie6 .ct-box ol li {
+    zoom: normal
+}
+.ie6 .postfoot .post-contacts {
+    position: absolute
+}
+.ie6 #brd-wrap fieldset {
+    padding-top: 1px;
+    position: relative
+}
+.ie6 fieldset legend {
+    margin-left: -7px
+}
+.ie6 #brd-wrap .checklist {
+    height: 9em;
+    width: 30em;
+    overflow: auto
+}
+.ie6 .sf-set .checkbox label span {
+    padding-right: 0;
+    padding-left: 5em
+}
+.ie6 #info-censored-intro,
+.ie6 #info-ranks-intro {
+    margin-bottom: 3em
+}
+.ie6 .important strong {
+    margin-right: 1ex
+}
+.ie6 #brd-stats .st-users {
+    margin-bottom: -1ex
+}
+.ie6 .txt-box label span {
+    position: absolute
+}
+.ie6 #brd-index .main-head {
+    position: relative
+}
+.ie6 input {
+    vertical-align: text-bottom
+}
+.ie6 #extensions-used {
+    clear: left
+}
+.oldie textarea {
+    overflow: auto
+}
+.ie7 .brd-page,
+.ie7 .main,
+.ie7 #brd-index .main-subhead,
+.ie7 #brd-index .forum-item,
+.ie7 .gen-content,
+.ie7 .main-content,
+.ie7 .ct-box,
+.ie7 .frm-group,
+.ie7 .mf-set,
+.ie7 .sf-set,
+.ie7 .mf-box,
+.ie7 .sf-box,
+.ie7 .mf-item,
+.ie7 .txt-set,
+.ie7 .txt-box,
+.ie7 .frm-group label,
+.ie7 fieldset,
+.ie7 span.fld-input,
+.ie7 .main-subhead .hn,
+.ie7 .post,
+.ie7 .posthead,
+.ie7 .postbody,
+.ie7 .post-entry,
+.ie7 .postfoot .post-options,
+.ie7 #brd-stats ul {
+    max-height: 100%;
+    zoom: 1
+}
+.ie7 #brd-wrap fieldset {
+    padding-top: 1px;
+    position: relative
+}
+.ie7 fieldset legend {
+    margin-left: -7px
+}
+.ie7 .entry-content .codebox pre {
+    min-height: 3em
+}
+.ie7 #info-censored-intro,
+.ie7 #info-ranks-intro {
+    margin-bottom: 3em
+}
+.ie7 .main-forum .main-item .item-starter {
+    margin-left: 1ex
+}
+.ie7 #brd-admin-settings-setup #fld19,
+.ie7 #brd-post textarea#fld1,
+.ie7 #brd-post textarea#fld2,
+.ie7 #brd-viewtopic textarea#fld1,
+.ie7 #brd-postedit #fld2 {
+    margin-top: -19px
+}
+.ie7 .item-starter {
+    position: relative;
+    left: -0.5em
+}
+.ie7 input[type="checkbox"] {
+    vertical-align: baseline
+}
+body {
+    background: #fff;
+    color: #222
+}
+a:focus {
+    outline: 0
+}
+a:link,
+a:visited,
+.js_link {
+    color: #00579c;
+    text-decoration: none
+}
+a:hover,
+a:active,
+a:focus {
+    color: #cd0021;
+    text-decoration: underline
+}
+.js_link {
+    cursor: pointer;
+    border-color: #00579c;
+    -moz-user-select: none;
+    -webkit-user-select: none;
+    user-select: none
+}
+.js_link:hover {
+    color: #cd0021;
+    border-color: #cd0021
+}
+.entry-content a:visited {
+    color: #909
+}
+.entry-content a:visited:hover {
+    color: #cd0021
+}
+.sig-content a,
+.sig-content a:visited {
+    color: #999;
+    border-color: #ddd
+}
+.sig-content a:hover,
+.sig-content a:active,
+.sig-content a:focus,
+.sig-content a:visited:hover {
+    color: #333;
+    border-color: #999;
+    text-decoration: none
+}
+.entry-content h5 {
+    color: #d93315
+}
+.gen-content,
+.main-content {
+    background: #fbfbfb;
+    border-color: #d3dae1;
+    border-bottom-color: #cbd1d8
+}
+.main-pagepost {
+    background: #fff;
+    border-color: #dde4eb
+}
+#brd-crumbs-top .crumblast a,
+#brd-crumbs-top .crumblast a:hover {
+    color: #111;
+    text-decoration: none
+}
+.main-item,
+.main-item li,
+.main-item div,
+td {
+    border-color: #dde4eb
+}
+.main-content .main-item .item-nav {
+    color: #888
+}
+.main-content .sticky {
+    background: #f2f4fa
+}
+.main-content .main-item .hn .item-status em.sticky,
+.main-content .main-item .hn .item-status em.closed {
+    color: #314b60;
+    font-weight: bold
+}
+.main-content .main-item .hn .item-status em.moved {
+    color: #666
+}
+.post div,
+h3.post-ident,
+h4.post-title,
+.posthead h3,
+.userstatus span,
+.sig-line {
+    border-color: #dde4eb
+}
+.post-num,
+.post-edit {
+    color: #999
+}
+.post {
+    border-color: #dde4eb;
+    border-top-color: #fff;
+    border-bottom-color: #ccc;
+    background: #edf1f5
+}
+#topic-review .firstpost,
+.singlepost {
+    border-top-color: #dde4eb;
+    border-bottom-color: #dde4eb
+}
+.posthead,
+.postbody,
+.post-options {
+    background: #fafafa
+}
+.posthead .hn {
+    background: #f1f1f1
+}
+.post-title small {
+    color: #999
+}
+.sig-content {
+    color: #999
+}
+.sig-demo {
+    color: #333
+}
+.sig-demo a,
+.sig-demo a:visited {
+    color: #333;
+    text-decoration: none;
+    border-color: #bbb
+}
+.online .userstatus span {
+    border-color: #3f9439
+}
+.ct-box,
+.ct-set,
+.ct-group,
+.frm-group {
+    border-color: #dbe0e4
+}
+.admin-page .ct-box {
+    background: #feffe6
+}
+.admin-page .ct-set .ct-box,
+.report {
+    background: #f4f9fd
+}
+.admin-page .warn-set .warn-box {
+    background: #feffe6
+}
+.main-frm .ct-group,
+#brd-announcement {
+    background: #f4f9fd
+}
+.main-content .info-box {
+    background: #ffffe1
+}
+.main-extensions .extension,
+.main-hotfixes .hotfix {
+    background: #f4f9fd
+}
+.main-extensions .disabled,
+.main-hotfixes .disabled {
+    background: #ffffe1
+}
+.warn-group,
+.warn-set,
+.warn-box,
+.error-box,
+#admin-alerts {
+    background: #feffe6;
+    border-color: #f4ebce
+}
+.warn-group,
+.warn-set,
+.warn-box,
+.error-box {
+    border-color: #e6d190
+}
+.info-list li,
+.error-list li {
+    color: #5d5636
+}
+.info-list li span,
+.error-list li span {
+    color: #5d5636
+}
+ul li strong {
+    color: #222
+}
+.user-box {
+    background: #f4f9fd
+}
+.ct-box .hn {
+    border-color: #dbe0e4;
+    color: #333
+}
+.error-box .hn {
+    color: #222
+}
+.help-box {
+    background: #f4f4f4
+}
+.help-box .hn {
+    color: #294f6e
+}
+#rules-content {
+    background: #fff
+}
+.frm-buttons,
+.extension .options,
+.hotfix .options,
+#rules-content {
+    border-color: #e3e3e3
+}
+.checklist {
+    background: #fff;
+    border-color: #ccc
+}
+label,
+.aslabel,
+.mf-set legend,
+.ct-legend,
+.ct-legend span,
+.ct-legend cite,
+.ct-legend strong {
+    color: #333
+}
+.paging span,
+.paging a,
+.paging strong {
+    border-color: #dedfdf
+}
+.required label em,
+#req-msg em,
+.warn strong,
+.important strong {
+    color: #b42000
+}
+.sf-set .text label small,
+.sf-set .select label small,
+.txt-set .textarea label small {
+    color: #999
+}
+.entry-content .quotebox,
+.entry-content .codebox {
+    background: #fff;
+    border-color: #ddd
+}
+#brd-announcement .userbox {
+    background: #f4f9fd none repeat scroll 0 0
+}
+.main-content .main-item .hn .posted-mark {
+    color: #99C
+}
+.lastedit em {
+    font-size: .95em;
+    font-style: normal;
+    color: #999
+}
+.user-ident .username strong {
+    color: #222
+}
+#brd-navlinks {
+    border-color: #376daa
+}
+#brd-navlinks a:link,
+#brd-navlinks a:visited {
+    color: #eee;
+    text-decoration: none
+}
+.main-options,
+.main-options span {
+    background: #f1f1f1
+}
+#brd-navlinks,
+.main-menu,
+.admin-menu,
+.main-head,
+.main-foot {
+    background-color: #0066b9;
+    background-image: -moz-linear-gradient(bottom, #2a6ab8 0, #4795cc 100%);
+    background-image: -ms-linear-gradient(bottom, #2a6ab8 0, #4795cc 100%);
+    background-image: -o-linear-gradient(bottom, #2a6ab8 0, #4795cc 100%);
+    background-image: -webkit-gradient(linear, 0 100%, 0 0, from(#2a6ab8), to(#4795cc));
+    background-image: -webkit-linear-gradient(bottom, #2a6ab8 0, #4795cc 100%);
+    background-image: linear-gradient(bottom, #2a6ab8 0, #4795cc 100%)
+}
+.admin-submenu {
+    background: #e4e4ec;
+    border-color: #d3dae1
+}
+#brd-navlinks a:link,
+#brd-navlinks a:visited,
+.main-menu a:link,
+.main-menu a:visited,
+.admin-menu a:link,
+.admin-menu a:visited {
+    color: #eee;
+    text-decoration: none;
+    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25)
+}
+#brd-navlinks a:hover,
+#brd-navlinks a:active,
+#brd-navlinks a:focus,
+.main-menu a:hover,
+.main-menu a:active,
+.main-menu a:focus,
+.admin-menu a:hover,
+.admin-menu a:active,
+.admin-menu a:focus {
+    color: #fff
+}
+#brd-navlinks .isactive a,
+.main-menu .active a,
+.admin-menu .active a {
+    color: #fff;
+    background: #2a6ab8
+}
+#brd-admod #alert a {
+    color: yellow;
+    font-weight: bold
+}
+#brd-head {
+    background: #f5f5f5;
+    color: #222
+}
+#brd-head a,
+#brd-head a:link,
+#brd-head a:visited {
+    color: #222
+}
+.main-head,
+.main-foot {
+    color: #fff;
+    border-color: #4a86c1;
+    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.15)
+}
+#brd-announcement h1 {
+    border-color: #bbb
+}
+.main-subhead {
+    border-color: #d3dae1 #D3DAE1 #cbd1d8 #D3DAE1;
+    background: #f4f4f4
+}
+.column-title {
+    border-color: #f4f4f4 #F4F4F4 #cbd1d8 #F4F4F4;
+    background: #f4f4f4
+}
+.group-head {
+    background: #edf1f5;
+    border-color: #dbe0e4
+}
+.content-head .hn {
+    border-color: #dbe0e4;
+    color: #666
+}
+.main-head a:link,
+.main-head a:visited,
+.main-foot .options a:link,
+.main-foot .options a:visited,
+.main-head .js_link,
+.main-foot .options .js_link {
+    color: #ddd
+}
+.main-head .js_link,
+.main-foot .options .js_link {
+    border-color: #ccc
+}
+.main-head a:hover,
+.main-head a:active,
+.main-head a:focus,
+.main-head .js_link:hover,
+.main-foot .options a:hover,
+.main-foot .options a:active,
+.main-foot .options a:focus,
+.main-foot .options .js_link:hover {
+    color: #fff
+}
+.main-head .js_link:hover,
+.main-foot .options .js_link:hover {
+    border-color: #fff
+}
+th {
+    background: #f4f4f4
+}
+.main-frm .ct-group td {
+    background: #fbfbfb
+}
+#extensions-used {
+    border-bottom-color: #999
+}
+.main-content .main-item .icon {
+    border-color: #edf1f5 #DDE0E4 #c6cbd3 #BABFC6
+}
+.main-content .redirect .icon {
+    border-color: #f4f4f4 #f4f4f4 #f4f4f4 #f4f4f4
+}
+.main-content .sticky .icon {
+    border-color: #d7e5f3 #C3CFDc #9fb3c7 #90A2B4
+}
+.main-content .closed .icon {
+    border-color: #acacac #979797 #898989 #7A7A7A
+}
+.main-content .sticky.closed .icon {
+    border-color: #d7e5f3 #C3CFDc #898989 #7A7A7A
+}
+.main-content .new .icon {
+    border-color: #0080d7 #0065C0 #0058b3 #0072CA
+}
+.checklist-item label {
+    background: #fff
+}
+.checklist-item label:hover {
+    background: #edf1f5
+}
+input[type="text"],
+input[type="password"],
+input[type="email"],
+input[type="url"],
+input[type="number"],
+input[type="search"],
+textarea {
+    border-color: #d3dae1
+}
+input[type="text"]:active,
+input[type="text"]:focus,
+input[type="password"]:active,
+input[type="password"]:focus,
+input[type="email"]:active,
+input[type="email"]:focus,
+input[type="url"]:active,
+input[type="url"]:focus,
+input[type="search"]:active,
+input[type="search"]:focus,
+input[type="number"]:active,
+input[type="number"]:focus,
+textarea:active,
+textarea:focus {
+    border-color: #c8d3dc #D3DAE1 #d3dae1 #C8D3DC;
+    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset;
+    background: #fffff3;
+    background-image: -moz-linear-gradient(top, #fffee8, #fff);
+    background-image: -ms-linear-gradient(top, #fffee8, #fff);
+    background-image: -o-linear-gradient(top, #fffee8, #fff);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fffee8), to(#fff));
+    background-image: -webkit-linear-gradient(top, #fffee8, #fff);
+    background-image: linear-gradient(top, #fffee8, #fff)
+}
+input[type="submit"],
+input[type="button"],
+input[type="reset"],
+button {
+    color: #404040;
+    border-color: #ccc;
+    background: #f6f6f6;
+    background-image: -moz-linear-gradient(top, #fff, #eee);
+    background-image: -ms-linear-gradient(top, #fff, #eee);
+    background-image: -o-linear-gradient(top, #fff, #eee);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#eee));
+    background-image: -webkit-linear-gradient(top, #fff, #eee);
+    background-image: linear-gradient(top, #fff, #eee);
+    text-shadow: 0 1px 1px #ddd
+}
+.primary input[type="submit"],
+.primary input[type="button"],
+.primary input[type="reset"],
+.primary button {
+    color: #fafafa;
+    background: #4897d9;
+    border-color: #2575ae;
+    text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.4);
+    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, 0.05);
+    background-image: -moz-linear-gradient(top, #5cb7f7, #4897d9);
+    background-image: -ms-linear-gradient(top, #5cb7f7, #4897d9);
+    background-image: -o-linear-gradient(top, #5cb7f7, #4897d9);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5cb7f7), to(#4897d9));
+    background-image: -webkit-linear-gradient(top, #5cb7f7, #4897d9);
+    background-image: linear-gradient(top, #5cb7f7, #4897d9)
+}
+.primary.caution input[type="submit"],
+.primary.caution input[type="button"],
+.primary.caution input[type="reset"],
+.primary.caution button {
+    border-color: #c0372a;
+    background: #d95548;
+    background-image: -moz-linear-gradient(top, #f7655b, #d95548);
+    background-image: -ms-linear-gradient(top, #f7655b, #d95548);
+    background-image: -o-linear-gradient(top, #f7655b, #d95548);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f7655b), to(#d95548));
+    background-image: -webkit-linear-gradient(top, #f7655b, #d95548);
+    background-image: linear-gradient(top, #f7655b, #d95548)
+}
+input[type="submit"]:hover,
+input[type="submit"]:focus,
+input[type="reset"]:hover,
+input[type="reset"]:focus,
+input[type="button"]:hover,
+input[type="button"]:focus,
+button:hover,
+button:focus {
+    color: #101010;
+    background: #f3f3f3;
+    background-image: -moz-linear-gradient(top, #fff, #ebebeb);
+    background-image: -ms-linear-gradient(top, #fff, #ebebeb);
+    background-image: -o-linear-gradient(top, #fff, #ebebeb);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#ebebeb));
+    background-image: -webkit-linear-gradient(top, #fff, #ebebeb);
+    background-image: linear-gradient(top, #fff, #ebebeb);
+    border-color: #84bce4;
+    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .1);
+    box-shadow: 0 1px 2px rgba(0, 0, 0, .1)
+}
+.primary input[type="submit"]:hover,
+.primary input[type="submit"]:focus,
+.primary input[type="reset"]:hover,
+.primary input[type="reset"]:focus,
+.primary input[type="button"]:hover,
+.primary input[type="button"]:focus,
+.primary button:hover,
+.primary button:focus {
+    color: #fff;
+    text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.4);
+    border-color: #2575ae;
+    background: #2e8bd9;
+    background-image: -moz-linear-gradient(top, #5cb7f7, #2e8bd9);
+    background-image: -ms-linear-gradient(top, #5cb7f7, #2e8bd9);
+    background-image: -o-linear-gradient(top, #5cb7f7, #2e8bd9);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5cb7f7), to(#2e8bd9));
+    background-image: -webkit-linear-gradient(top, #5cb7f7, #2e8bd9);
+    background-image: linear-gradient(top, #5cb7f7, #2e8bd9);
+    -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, .2);
+    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, .2)
+}
+.primary.caution input[type="submit"]:hover,
+.primary.caution input[type="submit"]:focus,
+.primary.caution input[type="button"]:hover,
+.primary.caution input[type="button"]:focus,
+.primary.caution input[type="reset"]:hover,
+.primary.caution input[type="reset"]:focus,
+.primary.caution button:hover,
+.primary.caution button:focus {
+    border-color: #c0372a;
+    background: #d93d2e;
+    background-image: -moz-linear-gradient(top, #f7655b, #d93d2e);
+    background-image: -ms-linear-gradient(top, #f7655b, #d93d2e);
+    background-image: -o-linear-gradient(top, #f7655b, #d93d2e);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f7655b), to(#d93d2e));
+    background-image: -webkit-linear-gradient(top, #f7655b, #d93d2e);
+    background-image: linear-gradient(top, #f7655b, #d93d2e)
+}
+input[type="submit"][disabled],
+input[type="button"][disabled],
+input[type="reset"][disabled],
+button[disabled] {
+    border-color: #ccc;
+    color: #999
+}
+input[type="submit"][disabled]:hover,
+input[type="submit"][disabled]:focus,
+input[type="reset"][disabled]:hover,
+input[type="reset"][disabled]:focus,
+input[type="button"][disabled]:hover,
+input[type="button"][disabled]:focus,
+button[disabled]:hover,
+button[disabled]:focus {
+    color: #999
+}
+#querytime {
+    color: #999
+}
+.quiet {
+    color: #999
+}
+.loud {
+    color: #000
+}
+#brd-debug th {
+    background: #fff;
+    border: 0;
+    border-bottom: 2px solid #dde4eb;
+    color: #111
+}
+#brd-debug td {
+    background: #fff;
+    border: 0;
+    border-bottom: solid 1px #eee;
+    color: #666
+}
+#brd-messages span {
+    color: #333;
+    -webkit-border-bottom-right-radius: .3em;
+    -webkit-border-bottom-left-radius: .3em;
+    -moz-border-radius-bottomright: .3em;
+    -moz-border-radius-bottomleft: .3em;
+    border-bottom-right-radius: .3em;
+    border-bottom-left-radius: .3em;
+    -moz-box-shadow: 0 2px 3px rgba(0, 0, 0, .2);
+    -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, .2);
+    box-shadow: 0 2px 3px rgba(0, 0, 0, .2)
+}
+#brd-messages .message_error {
+    border-color: #ffe475;
+    background: #ffbdac
+}
+#brd-messages .message_warning {
+    border-color: #ffe475;
+    background: #ffd0ac
+}
+#brd-messages .message_info {
+    border-color: #ffe475;
+    background: #ffc;
+    background: -moz-linear-gradient(center top, #fffbea, #fef7cb);
+    background: -o-linear-gradient(top, #fffbea, #fef7cb);
+    background: -webkit-gradient(linear, 0 0, 0 100%, from(#fffbea), to(#fef7cb));
+    background: -webkit-linear-gradient(top, #fffbea, #fef7cb);
+    background: -ms-linear-gradient(top, #fffbea, #fef7cb);
+    background: linear-gradient(top, #fffbea, #fef7cb)
+}
+::-moz-selection {
+    background: #fff2a8;
+    color: #000;
+    text-shadow: none
+}
+::selection {
+    background: #fff2a8;
+    color: #000;
+    text-shadow: none
+}
+
+/*nav*/
+.fixed {
+  position: fixed;
+  width: 100%;
+  top: 0;
+  left: 0;
+}
+
+.nav-collapse,
+.nav-collapse * {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+}
+
+
+
+@font-face {
+  font-family: "responsivenav";
+  src:url("font/responsivenav.eot");
+  src:url("font/responsivenav.eot?#iefix") format("embedded-opentype"),
+    url("font/responsivenav.ttf") format("truetype"),
+    url("font/responsivenav.woff") format("woff"),
+    url("font/responsivenav.svg#responsivenav") format("svg");
+  font-weight: normal;
+  font-style: normal;
+}
+a.nav-toggle{display:block; padding:0.43em 1.45em; clear:both; color:#fff; font-weight:bold; font-size:1.2em; height:38px; 
+	-moz-box-sizing: border-box; 
+    box-sizing: border-box;
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+	text-decoration: none;
+	position: relative;
+	overflow: hidden;
+	background-color: #0066b9;
+    background-image: -moz-linear-gradient(bottom, #2a6ab8 0, #4795cc 100%);
+    background-image: -ms-linear-gradient(bottom, #2a6ab8 0, #4795cc 100%);
+    background-image: -o-linear-gradient(bottom, #2a6ab8 0, #4795cc 100%);
+    background-image: -webkit-gradient(linear, 0 100%, 0 0, from(#2a6ab8), to(#4795cc));
+    background-image: -webkit-linear-gradient(bottom, #2a6ab8 0, #4795cc 100%);
+    background-image: linear-gradient(bottom, #2a6ab8 0, #4795cc 100%)
+}
+a.nav-toggle:hover,a.nav-toggle:focus{color:#fff; text-decoration:none;}
+
+.nav-toggle:before {
+  color: #fff;
+  font-family: "responsivenav", sans-serif;
+  font-style: normal;
+  font-weight: normal;
+  font-variant: normal;
+  font-size: 28px;
+  text-transform: none;
+  position: absolute;
+  content: "≡";
+  text-indent: 0;
+  text-align: center;
+  line-height: 38px;
+  speak: none;
+  width: 50px;
+  top: 0;
+  right: 0;
+}
+
+.nav-toggle.active::before {
+  font-size: 24px;
+  content:"x";
+}
+
+
+
+.js .nav-collapse {
+  clip: rect(0 0 0 0);
+  max-height: 0;
+  position: absolute;
+  display: block;
+  overflow: hidden;
+  zoom: 1;
+}
+
+.nav-collapse.opened {
+  max-height: 9999px;
+}
+
+.nav-toggle {
+  -webkit-tap-highlight-color: rgba(0,0,0,0);
+  -webkit-touch-callout: none;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  -o-user-select: none;
+  user-select: none;
+}
+
+@media screen and (min-width: 600px) {
+  .js .nav-collapse {
+    position: relative;
+  }
+  .js .nav-collapse.closed {
+    max-height: none;
+  }
+  a.nav-toggle {
+    display: none;
+  }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.post-entry .entry-title{
+    text-indent: 0;
+    visibility: visible;
+    font-size: 1.2em;
+    line-height: 1.2;
+    font-weight: bold;
+    position: static;
+}
+.main-content .main-item .item-starter,
+.main-content .main-item .info-lastpost cite{display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -o-text-overflow: ellipsis; width: 100%;}
+.username, .nickname{display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -o-text-overflow: ellipsis; width: 100%;}
+.posthead .post-byline a, .posthead .post-byline strong{display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -o-text-overflow: ellipsis; }
+
+@media screen and (max-width: 1000px) {
+    .forum-forums .main-item ul{width: 42em; right: -43em; margin-left: -42em;}
+    .forum-forums .main-item{padding-right: 43em;}
+    .forum-forums li.info-forum{width: 15em;}
+}
+
+@media screen and (max-width: 760px) {
+	html{min-width:320px;}
+	.brd{padding-left:0; padding-right:0; min-width:320px; width:auto;}
+	#brd-visit #visit-links{clear:left; text-align:left;}
+	
+	/*main-content*/
+	li.info-topics, li.info-posts, li.info-views, li.info-replies{width:5em;}
+	li.info-lastpost{width:9em; padding-right: 1em;}
+	li.info-lastpost strong{display:block;}
+	
+	.main-content .main-item ul{margin-left: -20em; right:-21em; width: 20em;}
+	.main-content .main-item{padding-right:21em;}
+	.item-summary .info-topics, .item-summary .info-replies{width:5em; left:979em;}
+	.item-summary .info-posts, .item-summary .info-views{width:5em; left:984em;}
+	.item-summary .info-lastpost{left: 989em;}
+	.item-summary .info-forum{width:15em; left:969em;}
+	p.forum-noview .info-replies{left:984em;}
+	
+	.forum-forums .main-item ul{margin-left: -30em; right:-31em; width: 30em;}
+	.forum-forums .main-item{padding-right:31em;}
+	li.info-forum{width:15em;}
+  .main-item .item-subject, .main-content .main-item li{margin-bottom:-19.7em; padding-bottom: 20.4em;}
+  .post-title small, .post-title small a{white-space: normal;}
+  .crumbs span, .crumbs a{ white-space: normal; }
+  .crumbs{overflow: hidden;}
+  
+	
+	/*post*/
+	.postbody, .posthead{margin-left:15em;}
+  .postbody{overflow: hidden;}
+	.postfoot{padding-left:15em;}
+	.postbody .post-author, .posthead .post-byline{width:12.5em; margin-left:-16em;}
+	.postfoot .post-contacts{width:12.5em; margin-left:-15em;}
+	.postfoot .post-actions {text-align:left; float:none;}
+	.postfoot .post-actions > span{margin:0; margin-bottom:0.5em; display:inline-block; vertical-align:top;}
+	.postfoot .post-actions a{
+		display: inline-block;
+		vertical-align: baseline;
+		text-align: center;
+		text-decoration: none;
+		padding: 0.5em 0.6em;
+		border-radius: 2px;
+		border-style: solid;
+		border-width: 1px;
+		line-height: normal;
+		color: #fafafa;
+		background: #4897d9; 
+		border-color: #2575ae;
+		text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.4);
+		box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, 0.05);
+		background-image: -moz-linear-gradient(top, #5cb7f7, #4897d9);
+		background-image: -ms-linear-gradient(top, #5cb7f7, #4897d9);
+		background-image: -o-linear-gradient(top, #5cb7f7, #4897d9);
+		background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5cb7f7), to(#4897d9));
+		background-image: -webkit-linear-gradient(top, #5cb7f7, #4897d9);
+		background-image: linear-gradient(top, #5cb7f7, #4897d9)
+	}
+	.postfoot .post-actions a:hover{
+		color: #fff;
+		text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.4);
+		border-color: #2575ae;
+		background: #2e8bd9;
+		background-image: -moz-linear-gradient(top, #5cb7f7, #2e8bd9);
+		background-image: -ms-linear-gradient(top, #5cb7f7, #2e8bd9);
+		background-image: -o-linear-gradient(top, #5cb7f7, #2e8bd9);
+		background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5cb7f7), to(#2e8bd9));
+		background-image: -webkit-linear-gradient(top, #5cb7f7, #2e8bd9);
+		background-image: linear-gradient(top, #5cb7f7, #2e8bd9);
+		-webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, .2);
+		box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, .2)
+	}
+	
+	.fld-input{display:inline-block; max-width:100%;}
+	.fld-input input, .fld-input select{max-width:100%;}
+	
+	p.options{float:none; margin-top:0;}
+	.options a:link{/*white-space:nowrap;*/ line-height:1.5;}
+	.options > span{display:inline-block; padding: 0 0.3em 0 0; margin:0.25em 0.25em 0.25em 0;}
+	
+	.frm-buttons>.submit{margin:0; display:inline-block;}
+	
+	/*footer*/
+	#brd-about, #brd-stats{padding:0 1.5em 1em;}
+	#qjump{padding:0;}
+  #brd-stats ul li.st-users, #brd-stats ul li.st-activity{float:none; white-space:normal; text-align:left;}
+}
+@media screen and (max-width: 850px) {
+	/*forum edit*/
+	.frm-hdgroup{padding-top:0;}
+	.frm-hdgroup .mf-set{padding-left:0; border-bottom:1px solid #DBE0E4;}
+	.frm-hdgroup .mf-set legend{display:block; height:auto; position:static;}
+	.frm-hdgroup .mf-set legend span{position:static; width:auto; margin:0; left:0; display:block;}
+	.mf-set .mf-field label, .mf-set .mf-field .aslabel{position:static; top:auto; height:auto; text-indent:0; font-size:1em; line-height:normal; visibility:visible; display:none;}
+	.mf-set .mf-field{float:none; border:none; padding:0;}
+	.mf-set .mf-field .fld-input{display:inline-block; float:right;}
+	.mf-set .mf-box .forum-field{width:auto; float:left; font-weight:bold; font-size:1.2em;}
+	.mf-set .mf-field .fld-input input{width:100px;} 
+	.mf-set legend span{font-weight:normal;}
+	
+	.frm-form .mf-set .mf-field .fld-input{float:none; display:block; margin-bottom:1em;}
+	.frm-form .mf-set .mf-field .fld-input input{width:90%;}
+}
+
+@media screen and (min-width: 600px) and (max-width: 915px) {
+    #brd-navlinks ul, ul#brd-admod {float: none; display: inline;}
+}
+
+   @media screen and (max-width: 600px) {
+	/*body*/
+	body{font-size:1.2em}
+	/*header*/
+	#brd-head {display: none !important;}
+	/*nav*/
+	ul#brd-admod,#brd-navlinks ul,#brd-navlinks ul, .main-menu ul, .admin-menu ul{float:none;}
+	#brd-navlinks, .main-menu, .admin-menu{padding-left:0; padding-right:0; font-size:1.2em;}
+	#brd-navlinks li, .main-menu li, .admin-menu li, #brd-navlinks a, .main-menu 
+	a, .admin-menu a{float:none; display:block; margin:0; padding:0;}
+	#brd-navlinks a, .main-menu a, .admin-menu a{padding:0.43em 1.45em;}
+	#brd-navlinks li, .main-menu li, .admin-menu li{border-top:1px solid rgba(0,0,0,0.1)}
+  
+  #brd-navlinks li+li, .main-menu li+li, .admin-menu li+li{display: none;}
+  #brd-navlinks.nav-collapse li+li, .main-menu.nav-collapse li+li, .admin-menu.nav-collapse li+li{display: block;}
+	
+	/*admin-submenu*/
+	.admin-submenu{font-size:1.2em; line-height:1.5}
+	.admin-submenu li{margin-right:0.5em; display:inline-block; margin-bottom:0.25em; margin-top:0.25em}
+	.admin-submenu a{display:inline-block; white-space:nowrap;}
+  
+  .main-head .hn{padding-right: 0;}
+	
+	/*main-content*/
+	li.info-topics, li.info-posts, li.info-views, li.info-replies{display:none;}
+	.main-content .main-item ul{margin-left: -10em; right:-11em; width: 10em;}
+	.main-content .main-item{padding-right:11em;}
+	
+	.item-summary .info-topics, .item-summary .info-replies,
+	.item-summary .info-posts, .item-summary .info-views{display:none;}
+	.item-summary .info-forum{width:15em; left:975em;}
+	p.forum-noview .info-replies{display:none;}
+	.item-summary .info-lastpost{width:9em; padding-left:1em;}
+	
+	.forum-forums .main-item ul{margin-left: -25em; right:-26em; width: 25em;}
+	.forum-forums .main-item{padding-right:26em;}
+	.postbody{padding-right: 1em;}
+  .entry-content .codebox{font-size: 0.8em;}
+  .entry-content pre{padding-right: 0.8em;}
+	.posthead .post-byline a, .posthead .post-byline strong{font-size: 0.8em;}
+	
+	/*footer*/
+	#copyright{text-align:center;}
+	#qjump{float:none;}
+	#qjump .frm-input{display:block; line-height:0;}
+	#qjump-submit{height:0; padding:0;}
+	#brd-about #qjump-select, #brd-stats #qjump-select{width:100%}
+	
+	/*post*/
+	.postbody, .posthead{margin-left:10em;}
+	.postfoot{padding-left:10em;}
+	.postbody .post-author, .posthead .post-byline{width:7.5em; margin-left:-11em;}
+	.postfoot .post-contacts{width:7.5em; margin-left:-10em;}
+	.postbody .post-author ul.author-info{display:none;}
+  p.posting{text-align: left; float: none; clear: both;}
+  .item-newposts{margin: 0 -0.3em; font-size: 0.9em;}
+  
+	
+	/*form set*/ 
+	.ct-box{padding:0.5em 0;}
+	.main-frm .ct-box{padding:0.5em 1em;}
+	.sf-set, .mf-set, .txt-set, .ct-set{padding-left:0;}
+	.txt-box label,
+	.sf-box label, .sf-box .aslabel{float:none;}
+	.txt-set label span,
+	.sf-set .text label span, 
+	.sf-set .select label span, 
+	.sf-set .aslabel span, 
+	.ct-set .ct-legend{float:none; width:auto; text-align:left; padding:2px 0; margin:0 0 2em 0;}
+	.txt-set .fld-input{padding:0;}
+	.sf-set .fld-input{padding:0; top:2.3em;}
+	.sf-set .text label small, .sf-set .select label small{margin-left:0;}
+	.frm-buttons{padding-left:0;}
+	.sf-box.checkbox .fld-input{top:0.5em; left:0.5em;}
+	.mf-set legend{position:static; height:auto; display:block;}
+	.mf-set legend span{position:static; width:auto; text-align:left; padding:2px 0; margin:0;}
+	/*user page*/
+	.ct-group .ct-set{padding-left:0;}
+	.ct-set .ct-legend{float:none; margin:0; width:auto; text-align:left;}
+	.checklist{margin:0;}
+	.button-set .submit{padding-left:0}
+	
+	/*user table*/
+  /*
+	#brd-userlist table .tc0, 
+	#brd-userlist table .tc1, 
+	#brd-userlist table .tc2, 
+	#brd-userlist table .tc3{width:auto; padding: 0.4em 0.5em;}
+	#brd-userlist table .tc2{width:7%; min-width:50px;}
+  */
+  #brd-userlist table,
+  #brd-userlist table tbody,
+  #brd-userlist table thead,
+  #brd-userlist table tr,
+  #brd-userlist table td{display: block;}
+  #brd-userlist table th{display: none;}
+  #brd-userlist table td{display: block; width: auto !important; text-align: left !important;}
+  #brd-userlist table .even td{background: rgba(0,0,0,0.02);}
+ 
+	
+}
+
+@media screen and (max-width: 560px) {
+	/*main-content*/
+	li.info-forum{width:10em; display: none;}
+	.item-summary .info-forum{width:10em; left:979em; display: none;}
+	.forum-forums .main-item ul{margin-left: -10em; right:-11em; width: 10em;}
+	.forum-forums .main-item{padding-right:11em;}
+	.author-ident .usertitle{font-size:12px;}
+}
+@media screen and (max-width: 460px) {
+	/*main-content*/
+	li.info-posts, li.info-views{display:none;}
+	li.info-lastpost{display:none;}
+	.item-summary .info-lastpost{display:none;}
+	.item-summary .info-posts, .item-summary .info-views{/*display:block; left:994em; top:0;*/ display: none;}
+	
+	.main-content .main-item ul{margin-left: -5em; right:-6em; width: 5em; display: none;}
+	.main-content .main-item{padding-right:0;}
+	
+	li.info-forum{display:none;}
+	.forum-forums .main-item ul{margin-left: -10em; right:-11em; width: 10em;}
+	.forum-forums .main-item{padding-right:11em;}
+	.item-summary .info-forum{display:none;}
+	p.forum-noview .info-lastpost{display:block; top:0;}
+	.forum-forums li.info-lastpost{display:block;}	
+	
+	/*post*/
+	.postbody, .posthead{margin-left:100px; }
+	.postbody, .posthead .hn{padding-left:10px}
+	.postfoot{padding-left:100px;}
+	.postbody .post-author, .posthead .post-byline{width:80px; margin-left:-110px; padding-left:10px; padding-right:10px;}
+	.postfoot .post-contacts{width:80px; margin-left:-100px;padding-left:10px; padding-right:10px;}
+	.author-ident .usertitle{font-weight:normal;}
+}
diff -urN punbb-1.4.2/style/Oxygen/Oxygen.php punbb-1.4.3/style/Oxygen/Oxygen.php
--- punbb-1.4.2/style/Oxygen/Oxygen.php	2012-02-09 15:42:20.000000000 -0500
+++ punbb-1.4.3/style/Oxygen/Oxygen.php	2015-06-15 09:21:05.000000000 -0400
@@ -1,5 +1,10 @@
 <?php
 
+$forum_loader->add_js($base_url. '/style/Oxygen/responsive-nav.min.js', array('weight' => 55, 'async' => false, 'group' => FORUM_JS_GROUP_SYSTEM));
 $forum_loader->add_css($base_url.'/style/Oxygen/Oxygen.min.css', array('type' => 'url', 'group' => FORUM_CSS_GROUP_SYSTEM, 'media' => 'screen'));
 
+$tpl_main = str_replace('<!-- forum_board_title -->', forum_htmlencode($forum_config['o_board_title']), $tpl_main);
+$tpl_main = str_replace('<!-- forum_lang_menu_admin -->', $lang_common['Menu admin'], $tpl_main);
+$tpl_main = str_replace('<!-- forum_lang_menu_profile -->', $lang_common['Menu profile'], $tpl_main);
+
 ?>
diff -urN punbb-1.4.2/style/Oxygen/responsive-nav.min.js punbb-1.4.3/style/Oxygen/responsive-nav.min.js
--- punbb-1.4.2/style/Oxygen/responsive-nav.min.js	1969-12-31 19:00:00.000000000 -0500
+++ punbb-1.4.3/style/Oxygen/responsive-nav.min.js	2015-06-15 09:21:05.000000000 -0400
@@ -0,0 +1 @@
+!function(a,b,c){"use strict";var d=function(d,e){var f=!!b.getComputedStyle;f||(b.getComputedStyle=function(a){return this.el=a,this.getPropertyValue=function(b){var c=/(\-([a-z]){1})/g;return"float"===b&&(b="styleFloat"),c.test(b)&&(b=b.replace(c,function(){return arguments[2].toUpperCase()})),a.currentStyle[b]?a.currentStyle[b]:null},this});var g,h,i,j,k,l,m=function(a,b,c,d){if("addEventListener"in a)try{a.addEventListener(b,c,d)}catch(e){if("object"!=typeof c||!c.handleEvent)throw e;a.addEventListener(b,function(a){c.handleEvent.call(c,a)},d)}else"attachEvent"in a&&("object"==typeof c&&c.handleEvent?a.attachEvent("on"+b,function(){c.handleEvent.call(c)}):a.attachEvent("on"+b,c))},n=function(a,b,c,d){if("removeEventListener"in a)try{a.removeEventListener(b,c,d)}catch(e){if("object"!=typeof c||!c.handleEvent)throw e;a.removeEventListener(b,function(a){c.handleEvent.call(c,a)},d)}else"detachEvent"in a&&("object"==typeof c&&c.handleEvent?a.detachEvent("on"+b,function(){c.handleEvent.call(c)}):a.detachEvent("on"+b,c))},o=function(a){if(a.children.length<1)throw new Error("The Nav container has no containing elements");for(var b=[],c=0;c<a.children.length;c++)1===a.children[c].nodeType&&b.push(a.children[c]);return b},p=function(a,b){for(var c in b)a.setAttribute(c,b[c])},q=function(a,b){0!==a.className.indexOf(b)&&(a.className+=" "+b,a.className=a.className.replace(/(^\s*)|(\s*$)/g,""))},r=function(a,b){var c=new RegExp("(\\s|^)"+b+"(\\s|$)");a.className=a.className.replace(c," ").replace(/(^\s*)|(\s*$)/g,"")},s=function(a,b,c){for(var d=0;d<a.length;d++)b.call(c,d,a[d])},t=a.createElement("style"),u=a.documentElement,v=function(b,c){var d;this.options={animate:!0,transition:284,label:"Menu",insert:"before",customToggle:"",closeOnNavClick:!1,openPos:"relative",navClass:"nav-collapse",navActiveClass:"js-nav-active",jsClass:"js",init:function(){},open:function(){},close:function(){}};for(d in c)this.options[d]=c[d];if(q(u,this.options.jsClass),this.wrapperEl=b.replace("#",""),a.getElementById(this.wrapperEl))this.wrapper=a.getElementById(this.wrapperEl);else{if(!a.querySelector(this.wrapperEl))throw new Error("The nav element you are trying to select doesn't exist");this.wrapper=a.querySelector(this.wrapperEl)}this.wrapper.inner=o(this.wrapper),h=this.options,g=this.wrapper,this._init(this)};return v.prototype={destroy:function(){this._removeStyles(),r(g,"closed"),r(g,"opened"),r(g,h.navClass),r(g,h.navClass+"-"+this.index),r(u,h.navActiveClass),g.removeAttribute("style"),g.removeAttribute("aria-hidden"),n(b,"resize",this,!1),n(b,"focus",this,!1),n(a.body,"touchmove",this,!1),n(i,"touchstart",this,!1),n(i,"touchend",this,!1),n(i,"mouseup",this,!1),n(i,"keyup",this,!1),n(i,"click",this,!1),h.customToggle?i.removeAttribute("aria-hidden"):i.parentNode.removeChild(i)},toggle:function(){j===!0&&(l?this.close():this.open())},open:function(){l||(r(g,"closed"),q(g,"opened"),q(u,h.navActiveClass),q(i,"active"),g.style.position=h.openPos,p(g,{"aria-hidden":"false"}),l=!0,h.open())},close:function(){l&&(q(g,"closed"),r(g,"opened"),r(u,h.navActiveClass),r(i,"active"),p(g,{"aria-hidden":"true"}),h.animate?(j=!1,setTimeout(function(){g.style.position="absolute",j=!0},h.transition+10)):g.style.position="absolute",l=!1,h.close())},resize:function(){"none"!==b.getComputedStyle(i,null).getPropertyValue("display")?(k=!0,p(i,{"aria-hidden":"false"}),g.className.match(/(^|\s)closed(\s|$)/)&&(p(g,{"aria-hidden":"true"}),g.style.position="absolute"),this._createStyles(),this._calcHeight()):(k=!1,p(i,{"aria-hidden":"true"}),p(g,{"aria-hidden":"false"}),g.style.position=h.openPos,this._removeStyles())},handleEvent:function(a){var c=a||b.event;switch(c.type){case"touchstart":this._onTouchStart(c);break;case"touchmove":this._onTouchMove(c);break;case"touchend":case"mouseup":this._onTouchEnd(c);break;case"click":this._preventDefault(c);break;case"keyup":this._onKeyUp(c);break;case"focus":case"resize":this.resize(c)}},_init:function(){this.index=c++,q(g,h.navClass),q(g,h.navClass+"-"+this.index),q(g,"closed"),j=!0,l=!1,this._closeOnNavClick(),this._createToggle(),this._transitions(),this.resize();var d=this;setTimeout(function(){d.resize()},20),m(b,"resize",this,!1),m(b,"focus",this,!1),m(a.body,"touchmove",this,!1),m(i,"touchstart",this,!1),m(i,"touchend",this,!1),m(i,"mouseup",this,!1),m(i,"keyup",this,!1),m(i,"click",this,!1),h.init()},_createStyles:function(){t.parentNode||(t.type="text/css",a.getElementsByTagName("head")[0].appendChild(t))},_removeStyles:function(){t.parentNode&&t.parentNode.removeChild(t)},_createToggle:function(){if(h.customToggle){var b=h.customToggle.replace("#","");if(a.getElementById(b))i=a.getElementById(b);else{if(!a.querySelector(b))throw new Error("The custom nav toggle you are trying to select doesn't exist");i=a.querySelector(b)}}else{var c=a.createElement("a");c.innerHTML=h.label,p(c,{href:"#","class":"nav-toggle"}),"after"===h.insert?g.parentNode.insertBefore(c,g.nextSibling):g.parentNode.insertBefore(c,g),i=c}},_closeOnNavClick:function(){if(h.closeOnNavClick){var a=g.getElementsByTagName("a"),b=this;s(a,function(c){m(a[c],"click",function(){k&&b.toggle()},!1)})}},_preventDefault:function(a){return a.preventDefault?(a.stopImmediatePropagation&&a.stopImmediatePropagation(),a.preventDefault(),a.stopPropagation(),!1):void(a.returnValue=!1)},_onTouchStart:function(a){Event.prototype.stopImmediatePropagation||this._preventDefault(a),this.startX=a.touches[0].clientX,this.startY=a.touches[0].clientY,this.touchHasMoved=!1,n(i,"mouseup",this,!1)},_onTouchMove:function(a){(Math.abs(a.touches[0].clientX-this.startX)>10||Math.abs(a.touches[0].clientY-this.startY)>10)&&(this.touchHasMoved=!0)},_onTouchEnd:function(a){if(this._preventDefault(a),k&&!this.touchHasMoved){if("touchend"===a.type)return void this.toggle();var c=a||b.event;3!==c.which&&2!==c.button&&this.toggle()}},_onKeyUp:function(a){var c=a||b.event;13===c.keyCode&&this.toggle()},_transitions:function(){if(h.animate){var a=g.style,b="max-height "+h.transition+"ms";a.WebkitTransition=a.MozTransition=a.OTransition=a.transition=b}},_calcHeight:function(){for(var a=0,b=0;b<g.inner.length;b++)a+=g.inner[b].offsetHeight;var c="."+h.jsClass+" ."+h.navClass+"-"+this.index+".opened{max-height:"+a+"px !important} ."+h.jsClass+" ."+h.navClass+"-"+this.index+".opened.dropdown-active {max-height:9999px !important}";t.styleSheet?t.styleSheet.cssText=c:t.innerHTML=c,c=""}},new v(d,e)};"undefined"!=typeof module&&module.exports?module.exports=d:b.responsiveNav=d}(document,window,0);
\ No newline at end of file
