1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-07-02 22:45:02 +03:00
Conflicts:
	templates/skin/developer-jquery/css/navs.css
This commit is contained in:
Denis Shakhov 2012-04-22 14:27:52 +07:00
commit 03d9228e0c
13 changed files with 950 additions and 865 deletions

View file

@ -118,12 +118,12 @@ class ActionBlog extends Action {
*
*/
protected function RegisterEvent() {
$this->AddEventPreg('/^good$/i','/^(page(\d+))?$/i','EventTopics');
$this->AddEvent('good','EventTopics');
$this->AddEventPreg('/^bad$/i','/^(page(\d+))?$/i','EventTopics');
$this->AddEventPreg('/^new$/i','/^(page(\d+))?$/i','EventTopics');
$this->AddEventPreg('/^discussed$/i','/^(page(\d+))?$/i','EventTopics');
$this->AddEventPreg('/^top$/i','/^(page(\d+))?$/i','EventTopics');
$this->AddEventPreg('/^good$/i','/^(page(\d+))?$/i',array('EventTopics','topics'));
$this->AddEvent('good',array('EventTopics','topics'));
$this->AddEventPreg('/^bad$/i','/^(page(\d+))?$/i',array('EventTopics','topics'));
$this->AddEventPreg('/^new$/i','/^(page(\d+))?$/i',array('EventTopics','topics'));
$this->AddEventPreg('/^discussed$/i','/^(page(\d+))?$/i',array('EventTopics','topics'));
$this->AddEventPreg('/^top$/i','/^(page(\d+))?$/i',array('EventTopics','topics'));
$this->AddEvent('add','EventAddBlog');
$this->AddEvent('edit','EventEditBlog');
@ -138,14 +138,14 @@ class ActionBlog extends Action {
$this->AddEvent('ajaxbloginfo', 'AjaxBlogInfo');
$this->AddEvent('ajaxblogjoin', 'AjaxBlogJoin');
$this->AddEventPreg('/^(\d+)\.html$/i','/^$/i','EventShowTopic');
$this->AddEventPreg('/^[\w\-\_]+$/i','/^(\d+)\.html$/i','EventShowTopic');
$this->AddEventPreg('/^(\d+)\.html$/i','/^$/i',array('EventShowTopic','topic'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^(\d+)\.html$/i',array('EventShowTopic','topic'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^(page(\d+))?$/i','EventShowBlog');
$this->AddEventPreg('/^[\w\-\_]+$/i','/^bad$/i','/^(page(\d+))?$/i','EventShowBlog');
$this->AddEventPreg('/^[\w\-\_]+$/i','/^new$/i','/^(page(\d+))?$/i','EventShowBlog');
$this->AddEventPreg('/^[\w\-\_]+$/i','/^discussed$/i','/^(page(\d+))?$/i','EventShowBlog');
$this->AddEventPreg('/^[\w\-\_]+$/i','/^top$/i','/^(page(\d+))?$/i','EventShowBlog');
$this->AddEventPreg('/^[\w\-\_]+$/i','/^(page(\d+))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^bad$/i','/^(page(\d+))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^new$/i','/^(page(\d+))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^discussed$/i','/^(page(\d+))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^top$/i','/^(page(\d+))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^users$/i','/^(page(\d+))?$/i','EventShowUsers');
}

View file

@ -395,16 +395,8 @@ $config['router']['config']['action_not_found'] = 'error';
* Настройки вывода блоков
*/
$config['block']['rule_index_blog'] = array(
'path' => array(
'___path.root.web___/blog$',
'___path.root.web___/blog/*$',
'___path.root.web___/blog/*/page\d+$',
'___path.root.web___/blog/*/*\.html$',
'___path.root.web___/blog/*\.html$',
'___path.root.web___/top(|(/.+))$',
),
'action' => array(
'index', 'new'
'index', 'blog' => array('{topics}','{topic}','{blog}')
),
'blocks' => array(
'right' => array('stream'=>array('priority'=>100),'tags'=>array('priority'=>50),'blogs'=>array('params'=>array(),'priority'=>1))

View file

@ -71,6 +71,13 @@ abstract class Action extends LsObject {
* @var string|null
*/
protected $sCurrentEvent=null;
/**
* Имя текущий евента
* Позволяет именовать экшены на основе регулярных выражений
*
* @var string|null
*/
protected $sCurrentEventName=null;
/**
* Текущий экшен
*
@ -113,7 +120,17 @@ abstract class Action extends LsObject {
throw new Exception("Incorrect number of arguments when adding events");
}
$aEvent=array();
$aEvent['method']=func_get_arg($iCountArgs-1);
/**
* Последний параметр может быть массивом - содержать имя метода и имя евента(именованный евент)
* Если указан только метод, то имя будет равным названию метода
*/
$aNames=(array)func_get_arg($iCountArgs-1);
$aEvent['method']=$aNames[0];
if (isset($aNames[1])) {
$aEvent['name']=$aNames[1];
} else {
$aEvent['name']=$aEvent['method'];
}
if (!method_exists($this,$aEvent['method'])) {
throw new Exception("Method of the event not found: ".$aEvent['method']);
}
@ -148,6 +165,7 @@ abstract class Action extends LsObject {
continue 2;
}
}
$this->sCurrentEventName=$aEvent['name'];
$sCmd='$result=$this->'.$aEvent['method'].'();';
$this->Hook_Run("action_event_".strtolower($this->sCurrentAction)."_before",array('event'=>$this->sCurrentEvent,'params'=>$this->GetParams()));
eval($sCmd);
@ -306,6 +324,15 @@ abstract class Action extends LsObject {
return Router::GetActionClass();
}
/**
* Возвращает имя евента
*
* @return null|string
*/
public function GetCurrentEventName() {
return $this->sCurrentEventName;
}
/**
* Вызывается в том случаи если не найден евент который запросили через URL
* По дефолту происходит перекидывание на страницу ошибки, это можно переопределить в наследнике

View file

@ -44,6 +44,12 @@ class Router extends LsObject {
* @var string|null
*/
static protected $sActionEvent=null;
/**
* Имя текущего евента
*
* @var string|null
*/
static protected $sActionEventName=null;
/**
* Класс текущего экшена
*
@ -272,6 +278,7 @@ class Router extends LsObject {
$iTimeId=$oProfiler->Start('ExecAction',self::$sAction);
$res=$this->oAction->ExecEvent();
self::$sActionEventName=$this->oAction->GetCurrentEventName();
$this->Hook_Run("action_shutdown_".strtolower($sActionClass)."_before");
$this->oAction->EventShutdown();
@ -344,6 +351,14 @@ class Router extends LsObject {
static public function GetActionEvent() {
return self::$sActionEvent;
}
/**
* Возвращает имя текущего евента
*
* @return string
*/
static public function GetActionEventName() {
return self::$sActionEventName;
}
/**
* Возвращает класс текущего экшена
*
@ -455,7 +470,7 @@ class Router extends LsObject {
* @param string $sPage
* @return string
*/
protected function Rewrite($sPage) {
public function Rewrite($sPage) {
return (isset($this->aConfigRoute['rewrite'][$sPage]))
? $this->aConfigRoute['rewrite'][$sPage]
: $sPage;
@ -470,7 +485,7 @@ class Router extends LsObject {
* @param string $sPage
* @return string
*/
protected function Standart($sPage) {
public function Standart($sPage) {
$aRewrite=array_flip($this->aConfigRoute['rewrite']);
return (isset($aRewrite[$sPage]))
? $aRewrite[$sPage]

View file

@ -208,14 +208,6 @@ class ModuleViewer extends Module {
$this->oSmarty->setCompileDir($sCompilePath);
$this->oSmarty->setCacheDir(Config::Get('path.smarty.cache'));
$this->oSmarty->setPluginsDir(array_merge(array(Config::Get('path.smarty.plug'),'plugins'),$this->oSmarty->getPluginsDir()));
/**
* Получаем настройки блоков из конфигов
*/
$this->InitBlockParams();
/**
* Добавляем блоки по предзагруженным правилам из конфигов
*/
$this->BuildBlocks();
/**
* Получаем настройки JS, CSS файлов
*/
@ -582,7 +574,8 @@ class ModuleViewer extends Module {
*/
protected function BuildBlocks() {
$sAction = strtolower(Router::GetAction());
$sEvent = strtolower(Router::GetActionEvent());
$sEvent = strtolower(Router::GetActionEvent());
$sEventName = strtolower(Router::GetActionEventName());
foreach($this->aBlockRules as $sName=>$aRule) {
$bUse=false;
/**
@ -603,16 +596,24 @@ class ModuleViewer extends Module {
* переходи к следующему действию.
*/
foreach ((array)$aRule['action'][$sAction] as $sEventPreg) {
if(substr($sEventPreg,0,1)!='/') {
if(substr($sEventPreg,0,1)=='/') {
/**
* значит это название event`a
*/
if($sEvent==$sEventPreg) { $bUse=true; break; }
} else {
/**
* это регулярное выражение
* Это регулярное выражение
*/
if(preg_match($sEventPreg,$sEvent)) { $bUse=true; break; }
} elseif (substr($sEventPreg,0,1)=='{') {
/**
* Это имя event'a (именованный евент, если его нет, то совпадает с именем метода евента в экшене)
*/
if(trim($sEventPreg,'{}')==$sEventName) {
$bUse=true;
break;
}
} else {
/**
* Это название event`a
*/
if($sEvent==$sEventPreg) { $bUse=true; break; }
}
}
}
@ -1343,7 +1344,16 @@ class ModuleViewer extends Module {
* Загружаем переменные в шаблон при завершении модуля
*
*/
public function Shutdown() {
public function Shutdown() {
/**
* Получаем настройки блоков из конфигов
*/
$this->InitBlockParams();
/**
* Добавляем блоки по предзагруженным правилам из конфигов
*/
$this->BuildBlocks();
$this->SortBlocks();
/**
* Добавляем JS и CSS по предписанным правилам

View file

@ -1 +1,43 @@
/* Глобальные стили -------------------------------------- */ body { font-size: 13px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; line-height: 18px; color: #333; background-color: #f7f7f7; } /* Ссылки -------------------------------------- */ a { color: #5055b2; text-decoration: none; } a:hover { color: #06e; } a.link-dashed { border-bottom: 1px dashed #5055b2; } a.link-dashed:hover { border-color: #06e; } a.link-dotted { text-decoration: none; border-bottom: 1px dotted #5055b2; } a.link-dotted:hover { border-color: #06e; } /* Заголовки -------------------------------------- */ h2.page-header { color: #333; font-size: 27px; line-height: 1em; font-weight: bold; margin-bottom: 20px; } h2.page-header span { color: #aaa; } h2.header-table { margin-bottom: 0; border-bottom: 1px solid #eee; padding-bottom: 5px; font-size: 14px; font-weight: bold; } /* Шапка сайта -------------------------------------- */ #header a { text-decoration: none; color: #333; } #header .site-name { margin: 0 0 10px; font-size: 54px; line-height: 1em; font-weight: bold; } #header .site-name a:hover { color: #444AA3; } #header .site-description { width: 500px; color: #777; font-size: 15px; } /* Футер -------------------------------------- */ #footer .copyright { float: right; }
/* Глобальные стили
-------------------------------------- */
body {
font-size: 13px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
line-height: 18px;
color: #333;
background-color: #f7f7f7;
}
/* Ссылки
-------------------------------------- */
a { color: #5055b2; text-decoration: none; }
a:hover { color: #06e; }
a.link-dashed { border-bottom: 1px dashed #5055b2; }
a.link-dashed:hover { border-color: #06e; }
a.link-dotted { text-decoration: none; border-bottom: 1px dotted #5055b2; }
a.link-dotted:hover { border-color: #06e; }
/* Заголовки
-------------------------------------- */
h2.page-header { color: #333; font-size: 27px; line-height: 1em; font-weight: bold; margin-bottom: 20px; }
h2.page-header span { color: #aaa; }
h2.header-table { margin-bottom: 0; border-bottom: 1px solid #eee; padding-bottom: 5px; font-size: 14px; font-weight: bold; }
/* Шапка сайта
-------------------------------------- */
#header a { text-decoration: none; color: #333; }
#header .site-name { margin: 0 0 10px; font-size: 54px; line-height: 1em; font-weight: bold; }
#header .site-name a:hover { color: #444AA3; }
#header .site-description { width: 500px; color: #777; font-size: 15px; }
/* Футер
-------------------------------------- */
#footer .copyright { float: right; }

View file

@ -1,57 +1,57 @@
/* -------------------------------------------------------------------
БЛОКИ
------------------------------------------------------------------- */
.block { background: #fafafa; margin-bottom: 30px; border-radius: 3px; }
.block:last-child { margin-bottom: 0; }
.sidebar-left .block { margin-bottom: 10px; }
.block .block-header { padding: 13px 20px; background: #f5f5f5; border-top: 1px solid #eee; position: relative; }
.block .block-header h3 { font-size: 16px; line-height: 1em; font-weight: normal; }
.block .block-header h3 a { text-decoration: none; color: #333; }
.block .block-header h3 a.link-dotted { color: #5055B2; }
.block .block-content { padding: 20px; }
.block footer { margin-top: 15px; font-size: 12px; }
.block .max-height-200 { overflow: auto; max-height: 200px; _height: expression( this.scrollHeight > 200 ? "200px" : "auto" ); position: relative; }
/* Block Type - Stream */
.block.block-type-stream .stream-update { position: absolute; top: 13px; right: 15px; width: 16px; height: 16px; background: url(../images/update.gif) no-repeat; cursor: pointer; }
.block.block-type-stream .stream-update.active { background-position: -16px 0; }
/* Block Type - Activity Settings */
.block.block-type-activity p { margin-bottom: 15px; }
.block.block-type-activity ul li { margin-bottom: 5px; }
.block.block-type-activity .note { display: block; margin-bottom: 15px; color: #aaa; }
/* Block Type - Profile */
.block.block-type-profile { background: none; border: none; padding: 0; }
.block.block-type-profile .profile-photo-wrapper { position: relative; min-height: 50px; }
.block.block-type-profile .profile-photo { vertical-align: top; }
.block.block-type-profile .status { position: absolute; top: 5px; left: 5px; padding: 0 5px; border-radius: 2px; font-size: 11px; }
.block.block-type-profile .status.status-online { background: #B7BC1C; color: #fff; }
.block.block-type-profile .status.status-offline { background: #333; color: #fff; opacity: .5; filter: alpha(opacity=50); }
.block.block-type-profile .upload-photo { padding: 7px 10px 10px; background: #f7f7f7; }
.block.block-type-profile-note { background: #F1F7AF; border: 1px solid #E1EA83; padding: 15px; }
.block.block-type-profile-note p { margin-bottom: 10px; }
.block.block-type-profile-note .actions { margin-bottom: 0; }
.block.block-type-profile-nav { padding: 0; background: none; }
.block.block-type-profile-actions .block-content { padding: 10px 15px; }
.block.block-type-profile-actions ul li { margin-bottom: 5px; }
.block.block-type-profile-actions ul li:last-child { margin-bottom: 0; }
.block.block-type-profile-actions ul li a.followed { color: #f00; }
/* Block Type - Foldable */
.block.block-type-foldable { background: none; }
.block.block-type-foldable .block-header { background: none; border: none; padding: 0 0 10px; }
.block.block-type-foldable .block-content { display: none; background: #fafafa; }
.block.block-type-talk-search { margin-bottom: 10px; }
/* -------------------------------------------------------------------
БЛОКИ
------------------------------------------------------------------- */
.block { background: #fafafa; margin-bottom: 30px; border-radius: 3px; }
.block:last-child { margin-bottom: 0; }
.sidebar-left .block { margin-bottom: 10px; }
.block .block-header { padding: 13px 20px; background: #f5f5f5; border-top: 1px solid #eee; position: relative; }
.block .block-header h3 { font-size: 16px; line-height: 1em; font-weight: normal; }
.block .block-header h3 a { text-decoration: none; color: #333; }
.block .block-header h3 a.link-dotted { color: #5055B2; }
.block .block-content { padding: 20px; }
.block footer { margin-top: 15px; font-size: 12px; }
.block .max-height-200 { overflow: auto; max-height: 200px; _height: expression( this.scrollHeight > 200 ? "200px" : "auto" ); position: relative; }
/* Block Type - Stream */
.block.block-type-stream .stream-update { position: absolute; top: 13px; right: 15px; width: 16px; height: 16px; background: url(../images/update.gif) no-repeat; cursor: pointer; }
.block.block-type-stream .stream-update.active { background-position: -16px 0; }
/* Block Type - Activity Settings */
.block.block-type-activity p { margin-bottom: 15px; }
.block.block-type-activity ul li { margin-bottom: 5px; }
.block.block-type-activity .note { display: block; margin-bottom: 15px; color: #aaa; }
/* Block Type - Profile */
.block.block-type-profile { background: none; border: none; padding: 0; }
.block.block-type-profile .profile-photo-wrapper { position: relative; min-height: 50px; }
.block.block-type-profile .profile-photo { vertical-align: top; }
.block.block-type-profile .status { position: absolute; top: 5px; left: 5px; padding: 0 5px; border-radius: 2px; font-size: 11px; }
.block.block-type-profile .status.status-online { background: #B7BC1C; color: #fff; }
.block.block-type-profile .status.status-offline { background: #333; color: #fff; opacity: .5; filter: alpha(opacity=50); }
.block.block-type-profile .upload-photo { padding: 7px 10px 10px; background: #f7f7f7; }
.block.block-type-profile-note { background: #F1F7AF; border: 1px solid #E1EA83; padding: 15px; }
.block.block-type-profile-note p { margin-bottom: 10px; }
.block.block-type-profile-note .actions { margin-bottom: 0; }
.block.block-type-profile-nav { padding: 0; background: none; }
.block.block-type-profile-actions .block-content { padding: 10px 15px; }
.block.block-type-profile-actions ul li { margin-bottom: 5px; }
.block.block-type-profile-actions ul li:last-child { margin-bottom: 0; }
.block.block-type-profile-actions ul li a.followed { color: #f00; }
/* Block Type - Foldable */
.block.block-type-foldable { background: none; }
.block.block-type-foldable .block-header { background: none; border: none; padding: 0 0 10px; }
.block.block-type-foldable .block-content { display: none; background: #fafafa; }
.block.block-type-talk-search { margin-bottom: 10px; }
.block.block-type-talk-friends { margin-bottom: 10px; }

View file

@ -1,76 +1,76 @@
/* --------------------------------------------
Стили комментариев
-------------------------------------------- */
/* Блок с комментариями */
.comments-header { margin-bottom: 20px; }
.comments-header h3 { font-size: 24px; margin-bottom: 5px; }
.comments { margin-bottom: 30px; }
.comment-wrapper { position: relative; }
.comment-wrapper .comment-wrapper { padding-left: 25px; }
.comment-preview { padding: 5px 10px 6px; margin-bottom: 10px; background: #fafafa; border: 1px solid #eee; border-radius: 3px; }
.comment-preview { font-size: 13px; line-height: 18px; }
/* Стили для списка комментариев на странице http://ваш_сайт/comments/ */
.comments.comment-list .comment { margin-bottom: 15px; }
.comments.comment-list .comment-path { background: #eee; padding: 5px 10px 6px; border-top: 1px solid #ddd; }
.comments.comment-list .comment-path .blog-name { color: #777; }
/* Комментарий */
.comment { min-height: 48px; margin-bottom: 10px; padding: 10px 10px 10px 68px; position: relative; }
.comment .deleted { padding: 5px 10px; color: #777; background: #f4f4f4; }
.comment .comment-avatar { position: absolute; top: 10px; left: 10px; }
/* Типы комментариев
*
* deleted - удаленный комментарий
* self - ваш комментарий
* new - новый, непрочитанный комментарий
* current - активный комментарий, который выделяется при исползование кнопки обновления в тулбаре
*
*/
.comment { background: #f7f7f7; }
.comment.comment-deleted { background: #efd5d5; }
.comment.comment-self { background: #c5f7ea; }
.comment.comment-new { background: #fbfba8; }
.comment.comment-current { background: #a5e7fa; }
.comment.comment-bad { opacity: 0.3; filter: alpha(opacity=30); }
.comment.comment-bad:hover { opacity: 1; filter: alpha(opacity=100); }
.ls-user-role-not-admin .comment.comment-deleted { padding: 10px 15px; min-height: 0; background: #f7f7f7; color: #888; }
/* Info Block */
.comment .comment-info { padding: 0 70px 7px 0; line-height: 12px; position: relative; top: -2px; overflow: hidden; zoom: 1; }
.comment .comment-info li { float: left; height: 18px; padding-top: 3px; margin-right: 10px; }
.comment .comment-info li a { text-decoration: none; }
.comment .comment-info li.comment-author a { font-weight: bold; }
.comment .comment-info li.comment-author .comment-topic-author { background: #C9A518; color: #fff; font-size: 11px; border-radius: 3px; padding: 1px 7px; margin-right: 5px; }
.comment .comment-info li.comment-date a { color: #999; border-color: #999; }
.comment .comment-info li.vote { position: absolute; top: 0; right: 0; margin: 0; }
.comment .comment-info li.goto-comment-child { display: none; }
/* Content */
.comment .comment-content { margin-bottom: 10px; }
.comment .comment-content.text { font-size: 13px; }
.comment .comment-content.text blockquote { background: #fff; border-color: #ccc; padding: 5px 10px; margin-bottom: 5px; }
/* Actions */
.comment .comment-actions { }
.comment .comment-actions li { display: inline; margin-right: 10px; }
/* Форма комментирования */
.reply-header { font-size: 20px; line-height: 1.3em; margin-bottom: 15px; }
.reply { padding-bottom: 10px; }
.reply textarea { height: 100px; }
/* --------------------------------------------
Стили комментариев
-------------------------------------------- */
/* Блок с комментариями */
.comments-header { margin-bottom: 20px; }
.comments-header h3 { font-size: 24px; margin-bottom: 5px; }
.comments { margin-bottom: 30px; }
.comment-wrapper { position: relative; }
.comment-wrapper .comment-wrapper { padding-left: 25px; }
.comment-preview { padding: 5px 10px 6px; margin-bottom: 10px; background: #fafafa; border: 1px solid #eee; border-radius: 3px; }
.comment-preview { font-size: 13px; line-height: 18px; }
/* Стили для списка комментариев на странице http://ваш_сайт/comments/ */
.comments.comment-list .comment { margin-bottom: 15px; }
.comments.comment-list .comment-path { background: #eee; padding: 5px 10px 6px; border-top: 1px solid #ddd; }
.comments.comment-list .comment-path .blog-name { color: #777; }
/* Комментарий */
.comment { min-height: 48px; margin-bottom: 10px; padding: 10px 10px 10px 68px; position: relative; }
.comment .deleted { padding: 5px 10px; color: #777; background: #f4f4f4; }
.comment .comment-avatar { position: absolute; top: 10px; left: 10px; }
/* Типы комментариев
*
* deleted - удаленный комментарий
* self - ваш комментарий
* new - новый, непрочитанный комментарий
* current - активный комментарий, который выделяется при исползование кнопки обновления в тулбаре
*
*/
.comment { background: #f7f7f7; }
.comment.comment-deleted { background: #efd5d5; }
.comment.comment-self { background: #c5f7ea; }
.comment.comment-new { background: #fbfba8; }
.comment.comment-current { background: #a5e7fa; }
.comment.comment-bad { opacity: 0.3; filter: alpha(opacity=30); }
.comment.comment-bad:hover { opacity: 1; filter: alpha(opacity=100); }
.ls-user-role-not-admin .comment.comment-deleted { padding: 10px 15px; min-height: 0; background: #f7f7f7; color: #888; }
/* Info Block */
.comment .comment-info { padding: 0 70px 7px 0; line-height: 12px; position: relative; top: -2px; overflow: hidden; zoom: 1; }
.comment .comment-info li { float: left; height: 18px; padding-top: 3px; margin-right: 10px; }
.comment .comment-info li a { text-decoration: none; }
.comment .comment-info li.comment-author a { font-weight: bold; }
.comment .comment-info li.comment-author .comment-topic-author { background: #C9A518; color: #fff; font-size: 11px; border-radius: 3px; padding: 1px 7px; margin-right: 5px; }
.comment .comment-info li.comment-date a { color: #999; border-color: #999; }
.comment .comment-info li.vote { position: absolute; top: 0; right: 0; margin: 0; }
.comment .comment-info li.goto-comment-child { display: none; }
/* Content */
.comment .comment-content { margin-bottom: 10px; }
.comment .comment-content.text { font-size: 13px; }
.comment .comment-content.text blockquote { background: #fff; border-color: #ccc; padding: 5px 10px; margin-bottom: 5px; }
/* Actions */
.comment .comment-actions { }
.comment .comment-actions li { display: inline; margin-right: 10px; }
/* Форма комментирования */
.reply-header { font-size: 20px; line-height: 1.3em; margin-bottom: 15px; }
.reply { padding-bottom: 10px; }
.reply textarea { height: 100px; }
.reply textarea.loader { background: #f7f7f7 url(../images/loader.gif) no-repeat center;}

View file

@ -1,54 +1,54 @@
.input-text {
width: 150px;
padding: 5px;
border: 1px solid #ddd;
box-shadow: 0 2px 4px rgba(0,0,0,.07) inset;
border-radius: 3px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.input-text:focus { border-color: #4D90FE; box-shadow: 0 2px 4px rgba(0,0,0,.07) inset, 0 0 3px #4D90FE; }
.input-checkbox { position: relative; top: 1px; margin: 0 2px 0 1px; }
.input-width-full { width: 100%; }
.input-width-50 { width: 50px; }
.input-width-100 { width: 100px; }
.input-width-150 { width: 150px; }
.input-width-200 { width: 200px; }
.input-width-250 { width: 250px; }
.input-width-300 { width: 300px; }
.input-width-400 { width: 400px; }
.input-width-500 { width: 500px; }
.poll-create { padding: 15px 20px; margin-bottom: 20px; background: #f7f7f7; }
.question-list { margin-bottom: 15px; }
.question-list li { margin-bottom: 5px; }
.question-list li .input-text { margin-right: 10px; }
select { padding: 4px; border: 1px solid #ddd; border-radius: 3px; }
fieldset { margin-bottom: 30px; padding-top: 20px; border-top: 1px solid #eaeaea; }
fieldset legend { color: #000; font-size: 18px; padding-right: 10px; }
input:-moz-placeholder { color: #aaa; }
form p { margin-bottom: 20px; }
form label { display: block; margin-bottom: 3px; }
form .icon-question-sign { cursor: help; }
.note { display: block; margin-top: 3px; font-size: 12px; color: #aaa; }
.note.note-header { margin-bottom: 20px; }
.validate-error-hide { display: none; }
.validate-error-show { display: block; }
.captcha-image { vertical-align: top; }
dl.form-item { overflow: hidden; zoom: 1; margin-bottom: 20px; }
dl.form-item dt { float: left; width: 135px; padding-top: 4px; padding-right: 15px; overflow: hidden; }
dl.form-item dd { float: left; width: 300px; }
.form-profile { position: relative; }
.form-profile .avatar-change { position: absolute; top: 40px; right: 0; padding: 10px; background: #f7f7f7; font-size: 11px; }
.input-text {
width: 150px;
padding: 5px;
border: 1px solid #ddd;
box-shadow: 0 2px 4px rgba(0,0,0,.07) inset;
border-radius: 3px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.input-text:focus { border-color: #4D90FE; box-shadow: 0 2px 4px rgba(0,0,0,.07) inset, 0 0 3px #4D90FE; }
.input-checkbox { position: relative; top: 1px; margin: 0 2px 0 1px; }
.input-width-full { width: 100%; }
.input-width-50 { width: 50px; }
.input-width-100 { width: 100px; }
.input-width-150 { width: 150px; }
.input-width-200 { width: 200px; }
.input-width-250 { width: 250px; }
.input-width-300 { width: 300px; }
.input-width-400 { width: 400px; }
.input-width-500 { width: 500px; }
.poll-create { padding: 15px 20px; margin-bottom: 20px; background: #f7f7f7; }
.question-list { margin-bottom: 15px; }
.question-list li { margin-bottom: 5px; }
.question-list li .input-text { margin-right: 10px; }
select { padding: 4px; border: 1px solid #ddd; border-radius: 3px; }
fieldset { margin-bottom: 30px; padding-top: 20px; border-top: 1px solid #eaeaea; }
fieldset legend { color: #000; font-size: 18px; padding-right: 10px; }
input:-moz-placeholder { color: #aaa; }
form p { margin-bottom: 20px; }
form label { display: block; margin-bottom: 3px; }
form .icon-question-sign { cursor: help; }
.note { display: block; margin-top: 3px; font-size: 12px; color: #aaa; }
.note.note-header { margin-bottom: 20px; }
.validate-error-hide { display: none; }
.validate-error-show { display: block; }
.captcha-image { vertical-align: top; }
dl.form-item { overflow: hidden; zoom: 1; margin-bottom: 20px; }
dl.form-item dt { float: left; width: 135px; padding-top: 4px; padding-right: 15px; overflow: hidden; }
dl.form-item dd { float: left; width: 300px; }
.form-profile { position: relative; }
.form-profile .avatar-change { position: absolute; top: 40px; right: 0; padding: 10px; background: #f7f7f7; font-size: 11px; }
.placeholder { color: #aaa; }

View file

@ -1,19 +1,19 @@
/* --------------------------------------------
СЕТКА
-------------------------------------------- */
#container { width: 1000px; margin: 0 auto; margin-bottom: 20px; }
#header { padding: 50px 0; position: relative; }
#nav { margin-bottom: 15px; overflow: hidden; }
#wrapper { overflow: hidden; zoom: 1; padding: 30px; background: #fff; border-bottom: 1px solid #eee; box-shadow: 0 0 3px rgba(0,0,0,.1); }
#content { float: left; width: 61%; margin-right: 4%; background: #fff; position: relative; }
#sidebar { float: left; width: 35%; }
#footer { overflow: hidden; zoom: 1; margin-bottom: 20px; padding: 20px 0 50px; color: #777; }
#content.content-full-width { width: 100%; margin-right: 0; }
#content.content-right { margin-right: 0; float: none; margin-left: 311px; width: auto; }
#sidebar.sidebar-left { float: left; width: 250px; padding-right: 30px; border-right: 1px solid #eee; margin-right: 30px; }
/* --------------------------------------------
СЕТКА
-------------------------------------------- */
#container { width: 1000px; margin: 0 auto; margin-bottom: 20px; }
#header { padding: 50px 0; position: relative; }
#nav { margin-bottom: 15px; overflow: hidden; }
#wrapper { overflow: hidden; zoom: 1; padding: 30px; background: #fff; border-bottom: 1px solid #eee; box-shadow: 0 0 3px rgba(0,0,0,.1); }
#content { float: left; width: 61%; margin-right: 4%; background: #fff; position: relative; }
#sidebar { float: left; width: 35%; }
#footer { overflow: hidden; zoom: 1; margin-bottom: 20px; padding: 20px 0 50px; color: #777; }
#content.content-full-width { width: 100%; margin-right: 0; }
#content.content-right { margin-right: 0; float: none; margin-left: 311px; width: auto; }
#sidebar.sidebar-left { float: left; width: 250px; padding-right: 30px; border-right: 1px solid #eee; margin-right: 30px; }

View file

@ -23,10 +23,10 @@
background: -ms-linear-gradient(top, #2891d3 0%,#2375c6 100%);
background: linear-gradient(top, #2891d3 0%,#2375c6 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2891d3', endColorstr='#2375c6',GradientType=0 );
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
color: #fff;
color: #fff;
}
.nav.nav-pills.nav-pills-profile { margin-bottom: 30px; }
@ -50,10 +50,10 @@
/* Userbar */
#userbar {
border: 1px solid #ddd;
border-top: none;
#userbar {
border: 1px solid #ddd;
border-top: none;
background: #ffffff;
background: -moz-linear-gradient(top, #ffffff 0%, #f3f3f3 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#f3f3f3));
@ -61,10 +61,10 @@
background: -o-linear-gradient(top, #ffffff 0%,#f3f3f3 100%);
background: -ms-linear-gradient(top, #ffffff 0%,#f3f3f3 100%);
background: linear-gradient(top, #ffffff 0%,#f3f3f3 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f3f3f3',GradientType=0 );
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f3f3f3',GradientType=0 );
border-radius: 0 0 4px 4px;
box-shadow: 0 0 5px #ddd;
box-shadow: 0 0 5px #ddd;
}
#userbar .search { float: left; margin: 5px 0 0 6px; *margin: 4px 0 0 4px; }
@ -116,4 +116,3 @@

View file

@ -1,480 +1,480 @@
/*! normalize.css 2012-03-06T10:21 UTC - http://github.com/necolas/normalize.css */
/* =============================================================================
HTML5 display definitions
========================================================================== */
/*
* Corrects block display not defined in IE6/7/8/9 & FF3
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
display: block;
}
/*
* Corrects inline-block display not defined in IE6/7/8/9 & FF3
*/
audio,
canvas,
video {
display: inline-block;
*display: inline;
*zoom: 1;
}
/*
* Prevents modern browsers from displaying 'audio' without controls
* Remove excess height in iOS5 devices
*/
audio:not([controls]) {
display: none;
height: 0;
}
/*
* Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4
* Known issue: no IE6 support
*/
[hidden] {
display: none;
}
/* =============================================================================
Base
========================================================================== */
/*
* 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
* http://clagnut.com/blog/348/#c790
* 2. Prevents iOS text size adjust after orientation change, without disabling user zoom
* www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
*/
html {
font-size: 100%; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
-ms-text-size-adjust: 100%; /* 2 */
}
/*
* Addresses font-family inconsistency between 'textarea' and other form elements.
*/
html,
button,
input,
select,
textarea {
font-family: sans-serif;
}
/*
* Addresses margins handled incorrectly in IE6/7
*/
body {
margin: 0;
}
/* =============================================================================
Links
========================================================================== */
/*
* Addresses outline displayed oddly in Chrome
*/
a:focus {
outline: 0;
}
/*
* Improves readability when focused and also mouse hovered in all browsers
* people.opera.com/patrickl/experiments/keyboard/test
*/
a:hover,
a:active {
outline: 0;
}
/* =============================================================================
Typography
========================================================================== */
/*
* Addresses font sizes and margins set differently in IE6/7
* Addresses font sizes within 'section' and 'article' in FF4+, Chrome, S5
*/
h1, h2, h3, h4, h5, h6 {
font-size: 13px;
line-height: 1.6em;
font-weight: normal;
margin: 0;
}
/*
* Addresses styling not present in IE7/8/9, S5, Chrome
*/
abbr[title] {
border-bottom: 1px dotted;
}
/*
* Addresses style set to 'bolder' in FF3+, S4/5, Chrome
*/
b,
strong {
font-weight: bold;
}
blockquote {
margin: 1em 40px;
}
/*
* Addresses styling not present in S5, Chrome
*/
dfn {
font-style: italic;
}
/*
* Addresses styling not present in IE6/7/8/9
*/
mark {
background: #ff0;
color: #000;
}
/*
* Addresses margins set differently in IE6/7
*/
p,
pre {
margin: 0;
}
/*
* Corrects font family set oddly in IE6, S4/5, Chrome
* en.wikipedia.org/wiki/User:Davidgothberg/Test59
*/
pre,
code,
kbd,
samp {
font-family: monospace, serif;
_font-family: 'courier new', monospace;
}
/*
* Improves readability of pre-formatted text in all browsers
*/
pre {
}
/*
* 1. Addresses CSS quotes not supported in IE6/7
* 2. Addresses quote property not supported in S4
*/
/* 1 */
q {
quotes: none;
}
/* 2 */
q:before,
q:after {
content: '';
content: none;
}
small {
font-size: 75%;
}
/*
* Prevents sub and sup affecting line-height in all browsers
* gist.github.com/413930
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* =============================================================================
Lists
========================================================================== */
/*
* Addresses margins set differently in IE6/7
*/
dl,
menu,
ol,
ul {
margin: 0 0;
}
dd {
margin: 0 0 0 0;
}
/*
* Addresses paddings set differently in IE6/7
*/
menu,
ol,
ul {
padding: 0 0 0 0;
}
/*
* Corrects list images handled incorrectly in IE7
*/
ul,
ol {
list-style: none;
list-style-image: none;
}
/* =============================================================================
Embedded content
========================================================================== */
/*
* 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
* 2. Improves image quality when scaled in IE7
* code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
*/
img {
border: 0; /* 1 */
-ms-interpolation-mode: bicubic; /* 2 */
}
/*
* Corrects overflow displayed oddly in IE9
*/
svg:not(:root) {
overflow: hidden;
}
/* =============================================================================
Figures
========================================================================== */
/*
* Addresses margin not present in IE6/7/8/9, S5, O11
*/
figure {
margin: 0;
}
/* =============================================================================
Forms
========================================================================== */
/*
* Corrects margin displayed oddly in IE6/7
*/
form {
margin: 0;
}
/*
* Define consistent border, margin, and padding
*/
fieldset {
border: none;
margin: 0;
padding: 0;
}
/*
* 1. Corrects color not being inherited in IE6/7/8/9
* 2. Corrects text not wrapping in FF3
* 3. Corrects alignment displayed oddly in IE6/7
*/
legend {
border: 0; /* 1 */
padding: 0;
white-space: normal; /* 2 */
*margin-left: -7px; /* 3 */
}
/*
* 1. Corrects font size not being inherited in all browsers
* 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome
* 3. Improves appearance and consistency in all browsers
*/
button,
input,
select,
textarea {
font-size: 100%; /* 1 */
margin: 0; /* 2 */
vertical-align: baseline; /* 3 */
*vertical-align: middle; /* 3 */
}
/*
* Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet
*/
button,
input {
line-height: normal; /* 1 */
}
/*
* 1. Improves usability and consistency of cursor style between image-type 'input' and others
* 2. Corrects inability to style clickable 'input' types in iOS
* 3. Removes inner spacing in IE7 without affecting normal text inputs
* Known issue: inner spacing remains in IE6
*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
cursor: pointer; /* 1 */
-webkit-appearance: button; /* 2 */
*overflow: visible; /* 3 */
}
/*
* Re-set default cursor for disabled elements
*/
button[disabled],
input[disabled] {
cursor: default;
}
/*
* 1. Addresses box sizing set to content-box in IE8/9
* 2. Removes excess padding in IE8/9
* 3. Removes excess padding in IE7
Known issue: excess padding remains in IE6
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
*height: 13px; /* 3 */
*width: 13px; /* 3 */
}
/*
* 1. Addresses appearance set to searchfield in S5, Chrome
* 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof)
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box;
}
/*
* Removes inner padding and search cancel button in S5, Chrome on OS X
*/
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none;
}
/*
* Removes inner padding and border in FF3+
* www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/*
* 1. Removes default vertical scrollbar in IE6/7/8/9
* 2. Improves readability and alignment in all browsers
*/
textarea {
overflow: auto; /* 1 */
vertical-align: top; /* 2 */
}
/* =============================================================================
Tables
========================================================================== */
/*
* Remove most spacing between table cells
*/
table {
border-collapse: collapse;
border-spacing: 0;
}
frame { border: none; }
/*! normalize.css 2012-03-06T10:21 UTC - http://github.com/necolas/normalize.css */
/* =============================================================================
HTML5 display definitions
========================================================================== */
/*
* Corrects block display not defined in IE6/7/8/9 & FF3
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
display: block;
}
/*
* Corrects inline-block display not defined in IE6/7/8/9 & FF3
*/
audio,
canvas,
video {
display: inline-block;
*display: inline;
*zoom: 1;
}
/*
* Prevents modern browsers from displaying 'audio' without controls
* Remove excess height in iOS5 devices
*/
audio:not([controls]) {
display: none;
height: 0;
}
/*
* Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4
* Known issue: no IE6 support
*/
[hidden] {
display: none;
}
/* =============================================================================
Base
========================================================================== */
/*
* 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
* http://clagnut.com/blog/348/#c790
* 2. Prevents iOS text size adjust after orientation change, without disabling user zoom
* www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
*/
html {
font-size: 100%; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
-ms-text-size-adjust: 100%; /* 2 */
}
/*
* Addresses font-family inconsistency between 'textarea' and other form elements.
*/
html,
button,
input,
select,
textarea {
font-family: sans-serif;
}
/*
* Addresses margins handled incorrectly in IE6/7
*/
body {
margin: 0;
}
/* =============================================================================
Links
========================================================================== */
/*
* Addresses outline displayed oddly in Chrome
*/
a:focus {
outline: 0;
}
/*
* Improves readability when focused and also mouse hovered in all browsers
* people.opera.com/patrickl/experiments/keyboard/test
*/
a:hover,
a:active {
outline: 0;
}
/* =============================================================================
Typography
========================================================================== */
/*
* Addresses font sizes and margins set differently in IE6/7
* Addresses font sizes within 'section' and 'article' in FF4+, Chrome, S5
*/
h1, h2, h3, h4, h5, h6 {
font-size: 13px;
line-height: 1.6em;
font-weight: normal;
margin: 0;
}
/*
* Addresses styling not present in IE7/8/9, S5, Chrome
*/
abbr[title] {
border-bottom: 1px dotted;
}
/*
* Addresses style set to 'bolder' in FF3+, S4/5, Chrome
*/
b,
strong {
font-weight: bold;
}
blockquote {
margin: 1em 40px;
}
/*
* Addresses styling not present in S5, Chrome
*/
dfn {
font-style: italic;
}
/*
* Addresses styling not present in IE6/7/8/9
*/
mark {
background: #ff0;
color: #000;
}
/*
* Addresses margins set differently in IE6/7
*/
p,
pre {
margin: 0;
}
/*
* Corrects font family set oddly in IE6, S4/5, Chrome
* en.wikipedia.org/wiki/User:Davidgothberg/Test59
*/
pre,
code,
kbd,
samp {
font-family: monospace, serif;
_font-family: 'courier new', monospace;
}
/*
* Improves readability of pre-formatted text in all browsers
*/
pre {
}
/*
* 1. Addresses CSS quotes not supported in IE6/7
* 2. Addresses quote property not supported in S4
*/
/* 1 */
q {
quotes: none;
}
/* 2 */
q:before,
q:after {
content: '';
content: none;
}
small {
font-size: 75%;
}
/*
* Prevents sub and sup affecting line-height in all browsers
* gist.github.com/413930
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* =============================================================================
Lists
========================================================================== */
/*
* Addresses margins set differently in IE6/7
*/
dl,
menu,
ol,
ul {
margin: 0 0;
}
dd {
margin: 0 0 0 0;
}
/*
* Addresses paddings set differently in IE6/7
*/
menu,
ol,
ul {
padding: 0 0 0 0;
}
/*
* Corrects list images handled incorrectly in IE7
*/
ul,
ol {
list-style: none;
list-style-image: none;
}
/* =============================================================================
Embedded content
========================================================================== */
/*
* 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
* 2. Improves image quality when scaled in IE7
* code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
*/
img {
border: 0; /* 1 */
-ms-interpolation-mode: bicubic; /* 2 */
}
/*
* Corrects overflow displayed oddly in IE9
*/
svg:not(:root) {
overflow: hidden;
}
/* =============================================================================
Figures
========================================================================== */
/*
* Addresses margin not present in IE6/7/8/9, S5, O11
*/
figure {
margin: 0;
}
/* =============================================================================
Forms
========================================================================== */
/*
* Corrects margin displayed oddly in IE6/7
*/
form {
margin: 0;
}
/*
* Define consistent border, margin, and padding
*/
fieldset {
border: none;
margin: 0;
padding: 0;
}
/*
* 1. Corrects color not being inherited in IE6/7/8/9
* 2. Corrects text not wrapping in FF3
* 3. Corrects alignment displayed oddly in IE6/7
*/
legend {
border: 0; /* 1 */
padding: 0;
white-space: normal; /* 2 */
*margin-left: -7px; /* 3 */
}
/*
* 1. Corrects font size not being inherited in all browsers
* 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome
* 3. Improves appearance and consistency in all browsers
*/
button,
input,
select,
textarea {
font-size: 100%; /* 1 */
margin: 0; /* 2 */
vertical-align: baseline; /* 3 */
*vertical-align: middle; /* 3 */
}
/*
* Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet
*/
button,
input {
line-height: normal; /* 1 */
}
/*
* 1. Improves usability and consistency of cursor style between image-type 'input' and others
* 2. Corrects inability to style clickable 'input' types in iOS
* 3. Removes inner spacing in IE7 without affecting normal text inputs
* Known issue: inner spacing remains in IE6
*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
cursor: pointer; /* 1 */
-webkit-appearance: button; /* 2 */
*overflow: visible; /* 3 */
}
/*
* Re-set default cursor for disabled elements
*/
button[disabled],
input[disabled] {
cursor: default;
}
/*
* 1. Addresses box sizing set to content-box in IE8/9
* 2. Removes excess padding in IE8/9
* 3. Removes excess padding in IE7
Known issue: excess padding remains in IE6
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
*height: 13px; /* 3 */
*width: 13px; /* 3 */
}
/*
* 1. Addresses appearance set to searchfield in S5, Chrome
* 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof)
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box;
}
/*
* Removes inner padding and search cancel button in S5, Chrome on OS X
*/
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none;
}
/*
* Removes inner padding and border in FF3+
* www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/*
* 1. Removes default vertical scrollbar in IE6/7/8/9
* 2. Improves readability and alignment in all browsers
*/
textarea {
overflow: auto; /* 1 */
vertical-align: top; /* 2 */
}
/* =============================================================================
Tables
========================================================================== */
/*
* Remove most spacing between table cells
*/
table {
border-collapse: collapse;
border-spacing: 0;
}
frame { border: none; }

View file

@ -1,129 +1,129 @@
.topic { overflow: hidden; zoom: 1; margin-bottom: 50px; }
.topic:last-child { margin-bottom: 0; }
/* Header */
.topic .topic-header .topic-title { font-size: 26px; line-height: 1.1em; font-weight: bold; margin: 0 0 15px; }
.topic .topic-header .topic-title a { text-decoration: none; }
.topic .topic-header .topic-title i { position: relative; top: 7px; cursor: help; }
.topic .topic-header .topic-url { margin-bottom: 15px; }
.topic .topic-header .topic-url a { background: #eee; border-radius: 3px; padding: 3px 10px 4px; text-decoration: none; }
.topic .topic-header .topic-info { margin-bottom: 25px; color: #777; }
.topic .topic-header .topic-info time { margin-right: 15px; }
.topic .topic-header .topic-info .topic-blog { margin-right: 15px; }
.topic .topic-header .topic-info .actions,
.topic .topic-header .topic-info .actions li { display: inline; float: none; margin-bottom: 0; }
.topic .topic-header .topic-info .actions li { margin-right: 10px; }
/* Content */
.topic .topic-content { margin-bottom: 15px; }
.topic .topic-content.text { color: #333; }
/* Tags */
.topic .topic-footer .topic-tags { margin: 0 0 15px; }
.topic .topic-footer .topic-tags li { display: inline; color: #888; }
.topic .topic-footer .topic-tags li.topic-tags-edit { margin-left: 20px; }
.topic .topic-footer .topic-tags li.topic-tags-user a { color: #3CA023; }
/* Info */
.topic .topic-footer .topic-info { overflow: hidden; background: #f7f7f7; border-radius: 3px; }
.topic .topic-footer .topic-info li { float: left; height: 19px; padding: 8px 15px; border-right: 1px solid #fff; }
.topic .topic-footer .topic-info li a { text-decoration: none; }
.topic .topic-footer .topic-info li.topic-info-author a { font-weight: bold; color: #333; }
.topic .topic-footer .topic-info li.topic-info-author a:hover { text-decoration: underline; }
.topic .topic-footer .topic-info li.topic-info-comments a { }
.topic .topic-footer .topic-info li.topic-info-comments a span { color: #777; }
.topic .topic-footer .topic-info li.topic-info-comments a:hover { text-decoration: underline; }
/* Share */
.topic .topic-share { display: none; padding: 3px; margin-bottom: 10px; border: 5px solid #eee; }
/* Poll */
.topic .poll { margin-bottom: 15px; background: #fafafa; padding: 15px; }
.topic .poll .poll-vote { margin-bottom: 20px; margin-left: 0; list-style-type: none; }
.topic .poll .poll-vote li { margin-bottom: 10px; }
.topic .poll .poll-vote li:last-child { margin-bottom: 0; }
.topic .poll .poll-vote li label { display: inline; }
.topic .poll .poll-vote li input { position: relative; top: 1px; margin-right: 2px; }
.topic .poll .poll-result { margin-bottom: 10px; margin-left: 0; list-style-type: none; padding: 15px 15px 0; background: #fff; border: 1px solid #eee; }
.topic .poll .poll-result li { margin-bottom: 20px; }
.topic .poll .poll-result li dl { overflow: hidden; zoom: 1; }
.topic .poll .poll-result li dl dt { float: left; width: 50px; text-align: right; padding-right: 15px; }
.topic .poll .poll-result li dl dt span { color: #aaa; }
.topic .poll .poll-result li dl dd { float: left; width: 400px; }
.topic .poll .poll-result li dl dd div { height: 10px; margin-top: 5px; background: #ccc; overflow: hidden; border-radius: 2px; }
.topic .poll .poll-result li.most dl dd div { background: #60CC4E; }
.topic .poll .poll-total { color: #aaa; margin-left: 10px; }
/* Topic Photo */
.topic.topic-type-photoset { }
.topic.topic-type-photoset .topic-photo-preview { position: relative; margin-bottom: 15px; }
.topic.topic-type-photoset .topic-photo-preview img { vertical-align: top; }
.topic.topic-type-photoset .topic-photo-preview .topic-photo-count { display: none; cursor: pointer; position: absolute; top: 5px; right: 5px; background: #000; color: #6bd24b; padding: 4px 7px; background: rgba(0,0,0,.6); }
.topic.topic-type-photoset .topic-photo-preview .topic-photo-desc { display: none; width: 96%; padding: 7px 2%; position: absolute; bottom: 0; left: 0; background: #000; color: #6bd24b; color: #fff; line-height: 16px; background: rgba(0,0,0,.7); }
.topic.topic-type-photoset .topic-photo-images { padding-top: 10px; margin-bottom: 15px; }
.topic.topic-type-photoset .topic-photo-images h2 { border-bottom: 1px solid #ddd; padding-bottom: 4px; margin-bottom: 15px; }
.topic.topic-type-photoset .topic-photo-images ul { overflow: hidden; zoom: 1; }
.topic.topic-type-photoset .topic-photo-images ul li { float: left; margin: 0 9px 9px 0; position: relative; }
.topic.topic-type-photoset .topic-photo-images ul li .image-number { display: none; position: absolute; top: 5px; right: 5px; background: #000; color: #6bd24b; padding: 1px 6px; font-size: 11px; background: rgba(0,0,0,.6); }
.topic.topic-type-photoset .topic-photo-images ul li:hover .image-number { display: block; }
.topic.topic-type-photoset .topic-photo-images ul li img { vertical-align: top; }
.topic.topic-type-photoset .topic-photo-images .topic-photo-more { display: block; border-top: 1px solid #dbe6f0; text-align: center; padding: 10px 0; margin-bottom: 15px; text-decoration: none; background: #f3f7fa; color: #7b90a5; }
.topic.topic-type-photoset .topic-photo-images .topic-photo-more:hover { background: #eaf2f8; }
.topic-photo-upload { background: #fafafa; padding: 15px 15px 15px; margin-bottom: 20px; }
.topic-photo-upload h2 { margin-bottom: 15px; }
.topic-photo-upload ul { overflow: hidden; zoom: 1; }
.topic-photo-upload ul li { min-height: 100px; _height: 100px; margin-bottom: 10px; padding-left: 110px; position: relative; }
.topic-photo-upload ul li img { position: absolute; top: 0; left: 0; }
.topic-photo-upload ul li label { color: #aaa; }
.topic-photo-upload ul li textarea { border: 1px solid #ddd; width: 350px; height: 60px; padding: 3px; font-size: 12px; font-family: Arial, sans-serif; color: #333; }
.topic-photo-upload ul li .image-delete { text-decoration: none; margin-right: 15px; }
.topic-photo-upload ul li .image-delete:hover { color: #f00; }
.topic-photo-upload ul li.marked-as-preview .mark-as-preview { display: inline; color: #43c70f; font-weight: bold; }
.topic-photo-upload ul li .mark-as-preview { display: none; text-decoration: none; }
.topic-photo-upload ul li:hover .mark-as-preview { display: inline; }
.topic-photo-upload .topic-photo-upload-rules { color: #888; margin-bottom: 15px; }
.topic-photo-upload .topic-photo-upload-input { margin-bottom: 20px; }
.topic-photo-upload .topic-photo-upload-input input { margin-top: 3px; }
#photoset-upload-form {
width: 270px;
padding: 15px;
position: absolute;
top:70%;
display: none;
background-color: #fff;
border: 1px solid #ccc;
-moz-box-shadow: 0 0 10px #ddd;
-webkit-box-shadow: 0 0 10px #ddd;
box-shadow: 0 0 10px #ddd;
}
#photoset-upload-form p { margin-bottom: 10px; }
#photoset-upload-form .input-text { width: 262px; border: 1px solid #ccc; margin: 0; padding: 3px; font-family: Arial, sans-serif; font-size: 12px; }
/* Topic Talk */
.topic.topic-type-talk { }
.topic.topic-type-talk .topic-header { background: #f7f7f7; padding: 10px 15px 15px; border-top: 1px solid #dfdfdf; border-bottom: 1px solid #eee; }
.topic.topic-type-talk .topic-header .topic-title { margin-bottom: 13px; font-size: 20px; }
.topic.topic-type-talk .topic-header .topic-info { margin-bottom: 0; position: relative; min-height: 30px; padding-left: 40px; line-height: 14px; }
.topic.topic-type-talk .topic-header .topic-info .avatar { position: absolute; top: 0; left: 0; }
.topic.topic-type-talk .topic-header .topic-info .author-wrapper { margin-bottom: 4px; position: relative; top: -2px; }
.topic.topic-type-talk .topic-header .topic-info .author-wrapper .author { font-weight: bold; margin-right: 15px; }
.topic.topic-type-talk .topic-header .topic-info .recipient { margin-right: 10px; }
.topic.topic-type-talk .topic-content { font-size: 13px; padding: 15px; background: #fafafa; margin-bottom: 1px; border-top: 1px solid #fff; }
.topic.topic-type-talk .topic-footer .topic-info { border-radius: 0; background: #fafafa; }
.topic.topic-type-talk .talk-recipients { padding: 15px; background: #fafafa; display: none; border-top: 1px solid #fff; border-bottom: 1px solid #eee; }
.topic.topic-type-talk .talk-recipients h3 { font-size: 16px; font-weight: bold; margin-bottom: 10px; }
/* Topic Preview */
.topic-preview { margin-top: 30px; }
.topic-preview .profile-page-header { border-top: 1px solid #ddd; }
.topic { overflow: hidden; zoom: 1; margin-bottom: 50px; }
.topic:last-child { margin-bottom: 0; }
/* Header */
.topic .topic-header .topic-title { font-size: 26px; line-height: 1.1em; font-weight: bold; margin: 0 0 15px; }
.topic .topic-header .topic-title a { text-decoration: none; }
.topic .topic-header .topic-title i { position: relative; top: 7px; cursor: help; }
.topic .topic-header .topic-url { margin-bottom: 15px; }
.topic .topic-header .topic-url a { background: #eee; border-radius: 3px; padding: 3px 10px 4px; text-decoration: none; }
.topic .topic-header .topic-info { margin-bottom: 25px; color: #777; }
.topic .topic-header .topic-info time { margin-right: 15px; }
.topic .topic-header .topic-info .topic-blog { margin-right: 15px; }
.topic .topic-header .topic-info .actions,
.topic .topic-header .topic-info .actions li { display: inline; float: none; margin-bottom: 0; }
.topic .topic-header .topic-info .actions li { margin-right: 10px; }
/* Content */
.topic .topic-content { margin-bottom: 15px; }
.topic .topic-content.text { color: #333; }
/* Tags */
.topic .topic-footer .topic-tags { margin: 0 0 15px; }
.topic .topic-footer .topic-tags li { display: inline; color: #888; }
.topic .topic-footer .topic-tags li.topic-tags-edit { margin-left: 20px; }
.topic .topic-footer .topic-tags li.topic-tags-user a { color: #3CA023; }
/* Info */
.topic .topic-footer .topic-info { overflow: hidden; background: #f7f7f7; border-radius: 3px; }
.topic .topic-footer .topic-info li { float: left; height: 19px; padding: 8px 15px; border-right: 1px solid #fff; }
.topic .topic-footer .topic-info li a { text-decoration: none; }
.topic .topic-footer .topic-info li.topic-info-author a { font-weight: bold; color: #333; }
.topic .topic-footer .topic-info li.topic-info-author a:hover { text-decoration: underline; }
.topic .topic-footer .topic-info li.topic-info-comments a { }
.topic .topic-footer .topic-info li.topic-info-comments a span { color: #777; }
.topic .topic-footer .topic-info li.topic-info-comments a:hover { text-decoration: underline; }
/* Share */
.topic .topic-share { display: none; padding: 3px; margin-bottom: 10px; border: 5px solid #eee; }
/* Poll */
.topic .poll { margin-bottom: 15px; background: #fafafa; padding: 15px; }
.topic .poll .poll-vote { margin-bottom: 20px; margin-left: 0; list-style-type: none; }
.topic .poll .poll-vote li { margin-bottom: 10px; }
.topic .poll .poll-vote li:last-child { margin-bottom: 0; }
.topic .poll .poll-vote li label { display: inline; }
.topic .poll .poll-vote li input { position: relative; top: 1px; margin-right: 2px; }
.topic .poll .poll-result { margin-bottom: 10px; margin-left: 0; list-style-type: none; padding: 15px 15px 0; background: #fff; border: 1px solid #eee; }
.topic .poll .poll-result li { margin-bottom: 20px; }
.topic .poll .poll-result li dl { overflow: hidden; zoom: 1; }
.topic .poll .poll-result li dl dt { float: left; width: 50px; text-align: right; padding-right: 15px; }
.topic .poll .poll-result li dl dt span { color: #aaa; }
.topic .poll .poll-result li dl dd { float: left; width: 400px; }
.topic .poll .poll-result li dl dd div { height: 10px; margin-top: 5px; background: #ccc; overflow: hidden; border-radius: 2px; }
.topic .poll .poll-result li.most dl dd div { background: #60CC4E; }
.topic .poll .poll-total { color: #aaa; margin-left: 10px; }
/* Topic Photo */
.topic.topic-type-photoset { }
.topic.topic-type-photoset .topic-photo-preview { position: relative; margin-bottom: 15px; }
.topic.topic-type-photoset .topic-photo-preview img { vertical-align: top; }
.topic.topic-type-photoset .topic-photo-preview .topic-photo-count { display: none; cursor: pointer; position: absolute; top: 5px; right: 5px; background: #000; color: #6bd24b; padding: 4px 7px; background: rgba(0,0,0,.6); }
.topic.topic-type-photoset .topic-photo-preview .topic-photo-desc { display: none; width: 96%; padding: 7px 2%; position: absolute; bottom: 0; left: 0; background: #000; color: #6bd24b; color: #fff; line-height: 16px; background: rgba(0,0,0,.7); }
.topic.topic-type-photoset .topic-photo-images { padding-top: 10px; margin-bottom: 15px; }
.topic.topic-type-photoset .topic-photo-images h2 { border-bottom: 1px solid #ddd; padding-bottom: 4px; margin-bottom: 15px; }
.topic.topic-type-photoset .topic-photo-images ul { overflow: hidden; zoom: 1; }
.topic.topic-type-photoset .topic-photo-images ul li { float: left; margin: 0 9px 9px 0; position: relative; }
.topic.topic-type-photoset .topic-photo-images ul li .image-number { display: none; position: absolute; top: 5px; right: 5px; background: #000; color: #6bd24b; padding: 1px 6px; font-size: 11px; background: rgba(0,0,0,.6); }
.topic.topic-type-photoset .topic-photo-images ul li:hover .image-number { display: block; }
.topic.topic-type-photoset .topic-photo-images ul li img { vertical-align: top; }
.topic.topic-type-photoset .topic-photo-images .topic-photo-more { display: block; border-top: 1px solid #dbe6f0; text-align: center; padding: 10px 0; margin-bottom: 15px; text-decoration: none; background: #f3f7fa; color: #7b90a5; }
.topic.topic-type-photoset .topic-photo-images .topic-photo-more:hover { background: #eaf2f8; }
.topic-photo-upload { background: #fafafa; padding: 15px 15px 15px; margin-bottom: 20px; }
.topic-photo-upload h2 { margin-bottom: 15px; }
.topic-photo-upload ul { overflow: hidden; zoom: 1; }
.topic-photo-upload ul li { min-height: 100px; _height: 100px; margin-bottom: 10px; padding-left: 110px; position: relative; }
.topic-photo-upload ul li img { position: absolute; top: 0; left: 0; }
.topic-photo-upload ul li label { color: #aaa; }
.topic-photo-upload ul li textarea { border: 1px solid #ddd; width: 350px; height: 60px; padding: 3px; font-size: 12px; font-family: Arial, sans-serif; color: #333; }
.topic-photo-upload ul li .image-delete { text-decoration: none; margin-right: 15px; }
.topic-photo-upload ul li .image-delete:hover { color: #f00; }
.topic-photo-upload ul li.marked-as-preview .mark-as-preview { display: inline; color: #43c70f; font-weight: bold; }
.topic-photo-upload ul li .mark-as-preview { display: none; text-decoration: none; }
.topic-photo-upload ul li:hover .mark-as-preview { display: inline; }
.topic-photo-upload .topic-photo-upload-rules { color: #888; margin-bottom: 15px; }
.topic-photo-upload .topic-photo-upload-input { margin-bottom: 20px; }
.topic-photo-upload .topic-photo-upload-input input { margin-top: 3px; }
#photoset-upload-form {
width: 270px;
padding: 15px;
position: absolute;
top:70%;
display: none;
background-color: #fff;
border: 1px solid #ccc;
-moz-box-shadow: 0 0 10px #ddd;
-webkit-box-shadow: 0 0 10px #ddd;
box-shadow: 0 0 10px #ddd;
}
#photoset-upload-form p { margin-bottom: 10px; }
#photoset-upload-form .input-text { width: 262px; border: 1px solid #ccc; margin: 0; padding: 3px; font-family: Arial, sans-serif; font-size: 12px; }
/* Topic Talk */
.topic.topic-type-talk { }
.topic.topic-type-talk .topic-header { background: #f7f7f7; padding: 10px 15px 15px; border-top: 1px solid #dfdfdf; border-bottom: 1px solid #eee; }
.topic.topic-type-talk .topic-header .topic-title { margin-bottom: 13px; font-size: 20px; }
.topic.topic-type-talk .topic-header .topic-info { margin-bottom: 0; position: relative; min-height: 30px; padding-left: 40px; line-height: 14px; }
.topic.topic-type-talk .topic-header .topic-info .avatar { position: absolute; top: 0; left: 0; }
.topic.topic-type-talk .topic-header .topic-info .author-wrapper { margin-bottom: 4px; position: relative; top: -2px; }
.topic.topic-type-talk .topic-header .topic-info .author-wrapper .author { font-weight: bold; margin-right: 15px; }
.topic.topic-type-talk .topic-header .topic-info .recipient { margin-right: 10px; }
.topic.topic-type-talk .topic-content { font-size: 13px; padding: 15px; background: #fafafa; margin-bottom: 1px; border-top: 1px solid #fff; }
.topic.topic-type-talk .topic-footer .topic-info { border-radius: 0; background: #fafafa; }
.topic.topic-type-talk .talk-recipients { padding: 15px; background: #fafafa; display: none; border-top: 1px solid #fff; border-bottom: 1px solid #eee; }
.topic.topic-type-talk .talk-recipients h3 { font-size: 16px; font-weight: bold; margin-bottom: 10px; }
/* Topic Preview */
.topic-preview { margin-top: 30px; }
.topic-preview .profile-page-header { border-top: 1px solid #ddd; }
.topic-preview .topic { margin-bottom: 20px; }