Browse Source

Resolve conflicts

Rafał Pitoń 11 years ago
parent
commit
0dee3f6daf

+ 31 - 0
README.md

@@ -16,6 +16,7 @@ The secondary goal is making Misago a viable foundation for building and maintai
 Finally, while Misago is built using Django, it's not a "Django application" and it won't integrate with existing Django projects. This is the result of a design decision to use custom users/session/auth/permissions functionality instead of native Django applications - however, in the future Misago will provide a web API allowing you to add Misago-powered features to your website and/or application.
 Finally, while Misago is built using Django, it's not a "Django application" and it won't integrate with existing Django projects. This is the result of a design decision to use custom users/session/auth/permissions functionality instead of native Django applications - however, in the future Misago will provide a web API allowing you to add Misago-powered features to your website and/or application.
 
 
 
 
+<<<<<<< HEAD
 Requirements
 Requirements
 ------------
 ------------
 
 
@@ -26,15 +27,23 @@ Requirements
 * Pillow Imaging Library for Python
 * Pillow Imaging Library for Python
 
 
 
 
+=======
+>>>>>>> master
 Dependencies
 Dependencies
 ------------
 ------------
 
 
 * [Django](http://djangoproject.com)
 * [Django](http://djangoproject.com)
 * [Django Debug Toolbar](https://github.com/django-debug-toolbar/django-debug-toolbar)
 * [Django Debug Toolbar](https://github.com/django-debug-toolbar/django-debug-toolbar)
+<<<<<<< HEAD
 * [Django-floppyforms](https://github.com/brutasse/django-floppyforms)
 * [Django-floppyforms](https://github.com/brutasse/django-floppyforms)
 * [Django Haystack 2](http://haystacksearch.org/)
 * [Django Haystack 2](http://haystacksearch.org/)
 * [Django-Jina](https://github.com/niwibe/django-jinja)
 * [Django-Jina](https://github.com/niwibe/django-jinja)
 * [Django-MPTT](https://github.com/django-mptt/django-mptt)
 * [Django-MPTT](https://github.com/django-mptt/django-mptt)
+=======
+* [Django-MPTT](https://github.com/django-mptt/django-mptt)
+* [Coffin](https://github.com/coffin/coffin)
+* [Django Haystack 2](http://haystacksearch.org/)
+>>>>>>> master
 * [Jinja2](https://github.com/mitsuhiko/jinja2)
 * [Jinja2](https://github.com/mitsuhiko/jinja2)
 * [Markdown](http://pypi.python.org/pypi/Markdown)
 * [Markdown](http://pypi.python.org/pypi/Markdown)
 * [path](http://pypi.python.org/pypi/path.py)
 * [path](http://pypi.python.org/pypi/path.py)
@@ -73,8 +82,13 @@ sudo python manage.py runserver 192.168.33.10:80 # Private network address as pe
 
 
 Now navigate to [192.168.33.10](http://192.168.33.10) in your browser of choice to find your forums all set up and ready for testing and development. Puppet will have taken care of bootstrapping your Misago installation with a database, some dummy content and an admin user with the following credentials:
 Now navigate to [192.168.33.10](http://192.168.33.10) in your browser of choice to find your forums all set up and ready for testing and development. Puppet will have taken care of bootstrapping your Misago installation with a database, some dummy content and an admin user with the following credentials:
 
 
+<<<<<<< HEAD
 __Username__: Admin
 __Username__: Admin
 __Email__: admin@example.com
 __Email__: admin@example.com
+=======
+__Username__: Admin  
+__Email__: admin@example.com  
+>>>>>>> master
 __Password__: password
 __Password__: password
 
 
 Be aware that the defualt configuration doesn't contain anything besides the bare-minimum for Misago to run - this meaning that things like an SMTP server will have to added manually if you wish to test Misago's email features.
 Be aware that the defualt configuration doesn't contain anything besides the bare-minimum for Misago to run - this meaning that things like an SMTP server will have to added manually if you wish to test Misago's email features.
@@ -87,10 +101,17 @@ Misago comes with the "deployment" Python module that contains an empty Misago c
 
 
 After you set low-level configuration of Misago ([`deployment/settings.py`](deployment/settings.py)), fire the following commands on manage.py through the Python executable:
 After you set low-level configuration of Misago ([`deployment/settings.py`](deployment/settings.py)), fire the following commands on manage.py through the Python executable:
 
 
+<<<<<<< HEAD
 * `startmisago [--quiet]`
 * `startmisago [--quiet]`
   Creates the DB structure for Misago and populates it with default data
   Creates the DB structure for Misago and populates it with default data
 * `adduser [--admin] <username> <email> <password>`
 * `adduser [--admin] <username> <email> <password>`
   Adds a new user to the database.
   Adds a new user to the database.
+=======
+* `startmisago [--quiet]`  
+  Creates the DB structure for Misago and populates it with default data
+* `adduser [--admin] <username> <email> <password>`  
+  Adds a new user to the database.  
+>>>>>>> master
   Make sure to do something like `adduser Admin admin@example.com password --admin` to add an admin user when you first setup your forums.
   Make sure to do something like `adduser Admin admin@example.com password --admin` to add an admin user when you first setup your forums.
 
 
 Misago stands on shoulders of Django and Django documentation covers deployment of apps extensively: https://docs.djangoproject.com/en/dev/howto/deployment/
 Misago stands on shoulders of Django and Django documentation covers deployment of apps extensively: https://docs.djangoproject.com/en/dev/howto/deployment/
@@ -105,6 +126,11 @@ Updating
 
 
 You can use the `updatemisago` command to update your forums database to latest version _unless_ you are updating from `0.1` which is incompatibile with `0.2` and later releases.
 You can use the `updatemisago` command to update your forums database to latest version _unless_ you are updating from `0.1` which is incompatibile with `0.2` and later releases.
 
 
+<<<<<<< HEAD
+=======
+Support for migrations from `0.1` has been dropped with `0.3` release.
+
+>>>>>>> master
 
 
 Contributing
 Contributing
 ------------
 ------------
@@ -127,8 +153,13 @@ Authors
 Copyright and license
 Copyright and license
 ---------------------
 ---------------------
 
 
+<<<<<<< HEAD
 > __Misago__ - Copyright © 2013 [Rafał Pitoń](http://github.com/ralfp)
 > __Misago__ - Copyright © 2013 [Rafał Pitoń](http://github.com/ralfp)
 > This program comes with ABSOLUTELY NO WARRANTY.
 > This program comes with ABSOLUTELY NO WARRANTY.
+=======
+> __Misago__ - Copyright © 2013 [Rafał Pitoń](http://github.com/ralfp)  
+> This program comes with ABSOLUTELY NO WARRANTY.  
+>>>>>>> master
 > This is free software and you are welcome to redistribute it under the conditions described in the license.
 > This is free software and you are welcome to redistribute it under the conditions described in the license.
 >
 >
 > For the complete license, refer to [LICENSE.md](LICENSE.md)
 > For the complete license, refer to [LICENSE.md](LICENSE.md)

+ 7 - 0
cron.txt

@@ -1,6 +1,9 @@
 0 3 * * * python $HOME/misago/manage.py clearalerts
 0 3 * * * python $HOME/misago/manage.py clearalerts
 0 3 * * * python $HOME/misago/manage.py clearattempts
 0 3 * * * python $HOME/misago/manage.py clearattempts
+<<<<<<< HEAD
 0 3 * * * python $HOME/misago/manage.py pruneattachments
 0 3 * * * python $HOME/misago/manage.py pruneattachments
+=======
+>>>>>>> master
 0 */4 * * * python $HOME/misago/manage.py clearsessions
 0 */4 * * * python $HOME/misago/manage.py clearsessions
 20 3 * * * python $HOME/misago/manage.py cleartokens
 20 3 * * * python $HOME/misago/manage.py cleartokens
 15 3 * * * python $HOME/misago/manage.py cleartracker
 15 3 * * * python $HOME/misago/manage.py cleartracker
@@ -10,6 +13,10 @@
 10 3 * * * python $HOME/misago/manage.py updateranking
 10 3 * * * python $HOME/misago/manage.py updateranking
 25 3 * * * python $HOME/misago/manage.py updatethreadranking
 25 3 * * * python $HOME/misago/manage.py updatethreadranking
 */30 * * * * python $HOME/misago/manage.py countreports
 */30 * * * * python $HOME/misago/manage.py countreports
+<<<<<<< HEAD
 0 */2 * * * python $HOME/misago/manage.py update_index --age=3
 0 */2 * * * python $HOME/misago/manage.py update_index --age=3
+=======
+* */2 * * * python $HOME/misago/manage.py update_index --age=2
+>>>>>>> master
 # Uncomment next line for heartbeat cron
 # Uncomment next line for heartbeat cron
 #*/3 * * * * python $HOME/misago/heartbeat.py deployment.settings --log=heartbeats.txt
 #*/3 * * * * python $HOME/misago/heartbeat.py deployment.settings --log=heartbeats.txt

+ 19 - 0
deployment/settings.py

@@ -16,7 +16,11 @@ BOARD_ADDRESS = 'http://somewhere.com'
 ADMIN_PATH = 'admincp'
 ADMIN_PATH = 'admincp'
 
 
 # System admins
 # System admins
+<<<<<<< HEAD
 # Enter every god admin using following pattern:
 # Enter every god admin using following pattern:
+=======
+# Enter every admin using following pattern:
+>>>>>>> master
 # ('John', 'john@example.com'),
 # ('John', 'john@example.com'),
 # Note trailing separator!
 # Note trailing separator!
 ADMINS = ()
 ADMINS = ()
@@ -85,7 +89,11 @@ TIME_ZONE = 'UTC'
 # http://www.i18nguy.com/unicode/language-identifiers.html
 # http://www.i18nguy.com/unicode/language-identifiers.html
 LANGUAGE_CODE = 'en_US'
 LANGUAGE_CODE = 'en_US'
 
 
+<<<<<<< HEAD
 # Absolute filesystem path to the directory that will hold publicly available media uploaded by users.
 # Absolute filesystem path to the directory that will hold publicly available media uploaded by users.
+=======
+# Absolute filesystem path to the directory that will hold user-uploaded files.
+>>>>>>> master
 # Always use forward slashes, even on Windows.
 # Always use forward slashes, even on Windows.
 # Example: "/home/media/media.lawrence.com/media/"
 # Example: "/home/media/media.lawrence.com/media/"
 MEDIA_ROOT = '/vagrant/media/'
 MEDIA_ROOT = '/vagrant/media/'
@@ -95,11 +103,14 @@ MEDIA_ROOT = '/vagrant/media/'
 # Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
 # Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
 MEDIA_URL = '/media/'
 MEDIA_URL = '/media/'
 
 
+<<<<<<< HEAD
 # Absolute filesystem path to the directory that will hold post attachments.
 # Absolute filesystem path to the directory that will hold post attachments.
 # Always use forward slashes, even on Windows.
 # Always use forward slashes, even on Windows.
 # Example: "/home/media/media.lawrence.com/attachments/"
 # Example: "/home/media/media.lawrence.com/attachments/"
 ATTACHMENTS_ROOT = '/vagrant/attachments/'
 ATTACHMENTS_ROOT = '/vagrant/attachments/'
 
 
+=======
+>>>>>>> master
 # Absolute path to the directory static files should be collected to.
 # Absolute path to the directory static files should be collected to.
 # Don't put anything in this directory yourself; store your static files
 # Don't put anything in this directory yourself; store your static files
 # Always use forward slashes, even on Windows.
 # Always use forward slashes, even on Windows.
@@ -135,12 +146,17 @@ EMAIL_HOST_PASSWORD = ''
 # Use TLS encryption
 # Use TLS encryption
 EMAIL_USE_TLS = False
 EMAIL_USE_TLS = False
 
 
+<<<<<<< HEAD
 # Screamer Configuration
 # Screamer Configuration
 # Screamer is special feature that sends email to users listed under ADMINS when application
 # Screamer is special feature that sends email to users listed under ADMINS when application
 # erros. First setting is origin of error emails, while second is message title prefix that
 # erros. First setting is origin of error emails, while second is message title prefix that
 # makes messages easier to spot in your inbox
 # makes messages easier to spot in your inbox
 SERVER_EMAIL = 'root@localhost'
 SERVER_EMAIL = 'root@localhost'
 EMAIL_SUBJECT_PREFIX = '[Misago Screamer]'
 EMAIL_SUBJECT_PREFIX = '[Misago Screamer]'
+=======
+# E-mail subject prefix added to emails for staff
+EMAIL_SUBJECT_PREFIX = '[Misago]'
+>>>>>>> master
 
 
 # Catch-all e-mail address
 # Catch-all e-mail address
 # If DEBUG_MODE is on, all emails will be sent to this address instead of real recipient.
 # If DEBUG_MODE is on, all emails will be sent to this address instead of real recipient.
@@ -176,10 +192,13 @@ WSGI_APPLICATION = 'deployment.wsgi.application'
 if SECRET_KEY == 'yaobeifl1a6hf&3)^uc#^vlu1ud7xp^+*c5zoq*tf)fvs#*o$#':
 if SECRET_KEY == 'yaobeifl1a6hf&3)^uc#^vlu1ud7xp^+*c5zoq*tf)fvs#*o$#':
     SECRET_KEY = ''
     SECRET_KEY = ''
 
 
+<<<<<<< HEAD
 # Disable Jinja2 for django debug toolbar templates
 # Disable Jinja2 for django debug toolbar templates
 if DEBUG:
 if DEBUG:
     DEFAULT_JINJA2_TEMPLATE_INTERCEPT_RE = r"(?!debug_toolbar/).*"
     DEFAULT_JINJA2_TEMPLATE_INTERCEPT_RE = r"(?!debug_toolbar/).*"
 
 
+=======
+>>>>>>> master
 # Override config if we are in tests
 # Override config if we are in tests
 if 'test' in sys.argv:
 if 'test' in sys.argv:
     if not SECRET_KEY:
     if not SECRET_KEY:

+ 16 - 0
requirements.txt

@@ -1,15 +1,31 @@
+<<<<<<< HEAD
 django<1.6
 django<1.6
 django-debug-toolbar
 django-debug-toolbar
 django-floppyforms
 django-floppyforms
 django-haystack
 django-haystack
 django-jinja
 django-jinja
 django-mptt<0.6
 django-mptt<0.6
+=======
+django
+django-debug-toolbar
+django-haystack
+django-mptt
+coffin
+>>>>>>> master
 jinja2
 jinja2
 markdown
 markdown
 path.py
 path.py
 Pillow
 Pillow
+<<<<<<< HEAD
 pytz==2013b
 pytz==2013b
 recaptcha-client
 recaptcha-client
 South<0.9
 South<0.9
 Unidecode
 Unidecode
 whoosh<2.6
 whoosh<2.6
+=======
+pytz
+recaptcha-client
+South
+Unidecode
+whoosh<2.5
+>>>>>>> master

+ 21 - 1
static/cranefly/css/cranefly.less

@@ -27,6 +27,10 @@
 @import "bootstrap/tables.less";
 @import "bootstrap/tables.less";
 
 
 // Components: common
 // Components: common
+<<<<<<< HEAD
+=======
+@import "bootstrap/sprites.less";
+>>>>>>> master
 @import "bootstrap/dropdowns.less";
 @import "bootstrap/dropdowns.less";
 @import "bootstrap/wells.less";
 @import "bootstrap/wells.less";
 @import "bootstrap/component-animations.less";
 @import "bootstrap/component-animations.less";
@@ -63,6 +67,7 @@
 // Responsiveness
 // Responsiveness
 @import "bootstrap/responsive-1200px-min.less";
 @import "bootstrap/responsive-1200px-min.less";
 
 
+<<<<<<< HEAD
 // Cranefly theme
 // Cranefly theme
 @import "cranefly/header.less";
 @import "cranefly/header.less";
 @import "cranefly/scaffolding.less";
 @import "cranefly/scaffolding.less";
@@ -70,6 +75,12 @@
 @import "cranefly/loader.less";
 @import "cranefly/loader.less";
 @import "cranefly/navbar.less";
 @import "cranefly/navbar.less";
 @import "cranefly/midman.less";
 @import "cranefly/midman.less";
+=======
+// Sora theme
+@import "cranefly/header.less";
+@import "cranefly/scaffolding.less";
+@import "cranefly/navbar.less";
+>>>>>>> master
 @import "cranefly/breadcrumbs.less";
 @import "cranefly/breadcrumbs.less";
 @import "cranefly/messages.less";
 @import "cranefly/messages.less";
 @import "cranefly/forms.less";
 @import "cranefly/forms.less";
@@ -89,13 +100,17 @@
 @import "cranefly/profiles.less";
 @import "cranefly/profiles.less";
 @import "cranefly/forum.less";
 @import "cranefly/forum.less";
 @import "cranefly/thread.less";
 @import "cranefly/thread.less";
+<<<<<<< HEAD
 @import "cranefly/poll_votes.less";
 @import "cranefly/poll_votes.less";
+=======
+>>>>>>> master
 @import "cranefly/karmas.less";
 @import "cranefly/karmas.less";
 @import "cranefly/changelog.less";
 @import "cranefly/changelog.less";
 @import "cranefly/report.less";
 @import "cranefly/report.less";
 @import "cranefly/reports.less";
 @import "cranefly/reports.less";
 @import "cranefly/search.less";
 @import "cranefly/search.less";
 
 
+<<<<<<< HEAD
 // Extra css
 // Extra css
 @import "jquery.atwho.css";
 @import "jquery.atwho.css";
 @import "jquery.Jcrop.min.css";
 @import "jquery.Jcrop.min.css";
@@ -103,4 +118,9 @@
 @import "font-awesome.min.css";
 @import "font-awesome.min.css";
 
 
 // Keep ranks last for easy overrides!
 // Keep ranks last for easy overrides!
-@import "ranks.less";
+@import "ranks.less";
+=======
+// Keep ranks last for easy overrides!
+@import "ranks.less";
+@import "jquery.Jcrop.min.css";
+>>>>>>> master

+ 22 - 0
static/cranefly/css/cranefly/alerts.less

@@ -6,12 +6,31 @@
     vertical-align: middle;
     vertical-align: middle;
 
 
     &.alert-icon {
     &.alert-icon {
+<<<<<<< HEAD
     	color: @itemOldColor;
     	color: @itemOldColor;
     	font-size: @fontSizeLarge;
     	font-size: @fontSizeLarge;
 
 
     	&.alert-new {
     	&.alert-new {
     		color: @itemNewColor;
     		color: @itemNewColor;
     	}
     	}
+=======
+      .label {
+        background-color: @gray;
+        border: 1px solid darken(@gray, 15%);
+        border-radius: @baseBorderRadius;
+        padding: 4px;
+        padding-top: 3px;
+
+        i {
+          background-image: url("@{iconWhiteSpritePath}");
+        }
+
+        &.label-warning {
+          background-color: @red;
+          border: 1px solid darken(@red, 15%);
+        }
+      }
+>>>>>>> master
     }
     }
 
 
     &.alert-message {
     &.alert-message {
@@ -29,6 +48,7 @@
       text-align: right;
       text-align: right;
     }
     }
   }
   }
+<<<<<<< HEAD
 }
 }
 
 
 .midman-alerts {
 .midman-alerts {
@@ -60,4 +80,6 @@
       text-align: right;
       text-align: right;
     }
     }
   }
   }
+=======
+>>>>>>> master
 }
 }

+ 20 - 0
static/cranefly/css/cranefly/breadcrumbs.less

@@ -11,6 +11,7 @@ footer {
   	padding: 0px;
   	padding: 0px;
 
 
   	font-weight: bold;
   	font-weight: bold;
+<<<<<<< HEAD
 		text-shadow: none;
 		text-shadow: none;
 
 
     li {
     li {
@@ -27,6 +28,25 @@ footer {
 		  &.active {
 		  &.active {
 		  	color: @gray;
 		  	color: @gray;
 		  }
 		  }
+=======
+	text-shadow: none;
+
+    li {
+	  text-shadow: none;
+
+	  a:link, a:active, a:visited, a:hover {
+	    color: @textColor;
+	  }	
+
+	  .divider {
+	  	.opacity(30);
+	  	margin-left: -6px;
+	  }
+
+	  &.active {
+	  	color: @gray;
+	  }
+>>>>>>> master
     }
     }
   }
   }
 }
 }

+ 118 - 0
static/cranefly/css/cranefly/buttons.less

@@ -6,125 +6,220 @@
   background-color: @bodyBackground;
   background-color: @bodyBackground;
   .box-shadow(none);
   .box-shadow(none);
 
 
+<<<<<<< HEAD
   color: @grayLight;
   color: @grayLight;
   font-weight: bold;
   font-weight: bold;
 
 
   i {
   i {
   	margin-right: 6px;
   	margin-right: 6px;
+=======
+  font-weight: bold;
+  
+  i {
+    .opacity(60);
+    position: relative;
+    bottom: 1px;
+>>>>>>> master
   }
   }
 
 
   &:hover, &:active {
   &:hover, &:active {
     background-color: @white;
     background-color: @white;
     border-color: lighten(@grayLight, 5%);
     border-color: lighten(@grayLight, 5%);
+<<<<<<< HEAD
 
 
     color: @grayDark;
     color: @grayDark;
+=======
+  
+    i {
+      .opacity(90);
+    }
+>>>>>>> master
   }
   }
 
 
   &.btn-primary {
   &.btn-primary {
     background-color: @bluePale;
     background-color: @bluePale;
     border-color: darken(@bluePale, 5%);
     border-color: darken(@bluePale, 5%);
 
 
+<<<<<<< HEAD
     color: @white;
     color: @white;
     text-shadow: 0px 1px 0px darken(@bluePale, 15%);
     text-shadow: 0px 1px 0px darken(@bluePale, 15%);
 
 
     &:hover, &:active {
     &:hover, &:active {
       color: @white;
       color: @white;
 
 
+=======
+    text-shadow: 0px 1px 0px darken(@bluePale, 15%);
+
+    &:hover, &:active {
+>>>>>>> master
       &:enabled {
       &:enabled {
         background-color: saturate(@bluePale, 20%);
         background-color: saturate(@bluePale, 20%);
         border-color: darken(saturate(@bluePale, 20%), 5%);
         border-color: darken(saturate(@bluePale, 20%), 5%);
       }
       }
     }
     }
+<<<<<<< HEAD
+=======
+
+    i {
+      background-image: url("@{iconWhiteSpritePath}");
+    }
+>>>>>>> master
   }
   }
 
 
   &.btn-info {
   &.btn-info {
     background-color: desaturate(@bluePale, 25%);
     background-color: desaturate(@bluePale, 25%);
     border-color: darken(desaturate(@bluePale, 25%), 5%);
     border-color: darken(desaturate(@bluePale, 25%), 5%);
 
 
+<<<<<<< HEAD
     color: @white;
     color: @white;
     text-shadow: 0px 1px 0px darken(desaturate(@bluePale, 25%), 15%);
     text-shadow: 0px 1px 0px darken(desaturate(@bluePale, 25%), 15%);
 
 
     &:hover, &:active {
     &:hover, &:active {
       color: @white;
       color: @white;
 
 
+=======
+    text-shadow: 0px 1px 0px darken(desaturate(@bluePale, 25%), 15%);
+
+    &:hover, &:active {
+>>>>>>> master
       &:enabled {
       &:enabled {
         background-color: desaturate(@bluePale, 10%);
         background-color: desaturate(@bluePale, 10%);
         border-color: darken(desaturate(@bluePale, 10%), 5%);
         border-color: darken(desaturate(@bluePale, 10%), 5%);
       }
       }
     }
     }
+<<<<<<< HEAD
+=======
+
+    i {
+      background-image: url("@{iconWhiteSpritePath}");
+    }
+>>>>>>> master
   }
   }
 
 
   &.btn-success {
   &.btn-success {
     background-color: desaturate(@green, 15%);
     background-color: desaturate(@green, 15%);
     border-color: darken(desaturate(@green, 15%), 5%);
     border-color: darken(desaturate(@green, 15%), 5%);
 
 
+<<<<<<< HEAD
     color: @white;
     color: @white;
     text-shadow: 0px 1px 0px darken(@green, 15%);
     text-shadow: 0px 1px 0px darken(@green, 15%);
 
 
     &:hover, &:active {
     &:hover, &:active {
       color: @white;
       color: @white;
 
 
+=======
+    text-shadow: 0px 1px 0px darken(@green, 15%);
+
+    &:hover, &:active {
+>>>>>>> master
       &:enabled {
       &:enabled {
         background-color: @green;
         background-color: @green;
         border-color: darken(@green, 5%);
         border-color: darken(@green, 5%);
       }
       }
     }
     }
+<<<<<<< HEAD
+=======
+
+    i {
+      background-image: url("@{iconWhiteSpritePath}");
+    }
+>>>>>>> master
   }
   }
 
 
   &.btn-warning {
   &.btn-warning {
     background-color: desaturate(@orange, 15%);
     background-color: desaturate(@orange, 15%);
     border-color: darken(desaturate(@orange, 15%), 5%);
     border-color: darken(desaturate(@orange, 15%), 5%);
 
 
+<<<<<<< HEAD
     color: @white;
     color: @white;
     text-shadow: 0px 1px 0px darken(@orange, 15%);
     text-shadow: 0px 1px 0px darken(@orange, 15%);
 
 
     &:hover, &:active {
     &:hover, &:active {
       color: @white;
       color: @white;
 
 
+=======
+    text-shadow: 0px 1px 0px darken(@orange, 15%);
+
+    &:hover, &:active {
+>>>>>>> master
       &:enabled {
       &:enabled {
         background-color: @orange;
         background-color: @orange;
         border-color: darken(@orange, 5%);
         border-color: darken(@orange, 5%);
       }
       }
     }
     }
+<<<<<<< HEAD
+=======
+
+    i {
+      background-image: url("@{iconWhiteSpritePath}");
+    }
+>>>>>>> master
   }
   }
 
 
   &.btn-danger {
   &.btn-danger {
     background-color: @red;
     background-color: @red;
     border-color: darken(@red, 5%);
     border-color: darken(@red, 5%);
 
 
+<<<<<<< HEAD
     color: @white;
     color: @white;
     text-shadow: 0px 1px 0px darken(@red, 15%);
     text-shadow: 0px 1px 0px darken(@red, 15%);
 
 
     &:hover, &:active {
     &:hover, &:active {
       color: @white;
       color: @white;
 
 
+=======
+    text-shadow: 0px 1px 0px darken(@red, 15%);
+
+    &:hover, &:active {
+>>>>>>> master
       &:enabled {
       &:enabled {
         background-color: saturate(@red, 20%);
         background-color: saturate(@red, 20%);
         border-color: darken(saturate(@red, 20%), 5%);
         border-color: darken(saturate(@red, 20%), 5%);
       }
       }
     }
     }
+<<<<<<< HEAD
+=======
+
+    i {
+      background-image: url("@{iconWhiteSpritePath}");
+    }
+>>>>>>> master
   }
   }
 
 
   &.btn-inverse {
   &.btn-inverse {
     background-color: @textColor;
     background-color: @textColor;
     border-color: darken(@textColor, 5%);
     border-color: darken(@textColor, 5%);
 
 
+<<<<<<< HEAD
     color: @white;
     color: @white;
     text-shadow: 0px 1px 0px darken(@textColor, 15%);
     text-shadow: 0px 1px 0px darken(@textColor, 15%);
 
 
     &:hover, &:active {
     &:hover, &:active {
     	background-color: lighten(@textColor, 10%);
     	background-color: lighten(@textColor, 10%);
 
 
+=======
+    text-shadow: 0px 1px 0px darken(@textColor, 15%);
+
+    &:hover, &:active {
+>>>>>>> master
       &:enabled {
       &:enabled {
         background-color: darken(@textColor, 5%);
         background-color: darken(@textColor, 5%);
         border-color: darken(@textColor, 10%);
         border-color: darken(@textColor, 10%);
       }
       }
     }
     }
+<<<<<<< HEAD
+=======
+
+    i {
+      background-image: url("@{iconWhiteSpritePath}");
+    }
+>>>>>>> master
   }
   }
 
 
   &.btn-link {
   &.btn-link {
     background: none;
     background: none;
     border: none;
     border: none;
+<<<<<<< HEAD
 
 
     color: @grayLight;
     color: @grayLight;
 
 
@@ -132,11 +227,22 @@
     	color: @textColor;
     	color: @textColor;
 
 
       &:enabled {
       &:enabled {
+=======
+    .opacity(70);
+
+    color: @textColor;
+
+    &:hover, &:active, &:focus {
+      &:enabled {
+        .opacity(90);
+        
+>>>>>>> master
         text-decoration: none;
         text-decoration: none;
       }
       }
     }
     }
   }
   }
 
 
+<<<<<<< HEAD
   &.btn-icon {
   &.btn-icon {
   	padding-left: 0px !important;
   	padding-left: 0px !important;
   	padding-right: 0px !important;
   	padding-right: 0px !important;
@@ -147,11 +253,23 @@
   	i {
   	i {
   		margin: 0px;
   		margin: 0px;
   	}
   	}
+=======
+
+  &.btn-primary, &.btn-info, &.btn-success, &.btn-warning, &.btn-danger, &.btn-inverse, &.btn-link {
+    i {
+      .opacity(100);
+    }
+>>>>>>> master
   }
   }
 }
 }
 
 
 a.btn-link {
 a.btn-link {
   &:hover, &:active, &:focus {
   &:hover, &:active, &:focus {
+<<<<<<< HEAD
+=======
+    .opacity(90);
+
+>>>>>>> master
     color: @textColor;
     color: @textColor;
     text-decoration: none;
     text-decoration: none;
   }
   }

+ 28 - 0
static/cranefly/css/cranefly/category.less

@@ -47,6 +47,7 @@
 
 
     .forum-icon {
     .forum-icon {
       float: left;
       float: left;
+<<<<<<< HEAD
     	position: relative;
     	position: relative;
     	bottom: 1px;
     	bottom: 1px;
       width: @forumIconSize * 1.5;
       width: @forumIconSize * 1.5;
@@ -66,11 +67,35 @@
       .icon-comment, .icon-comment-alt {
       .icon-comment, .icon-comment-alt {
       	position: relative;
       	position: relative;
       	bottom: 3px;
       	bottom: 3px;
+=======
+
+      .forum-icon-wrap {
+        background-color: @itemOldColor;
+        border: 1px solid darken(@itemOldColor, 10%);
+        border-radius: @baseBorderRadius;
+        padding: ((@forumIconSize - 22px) / 2) ((@forumIconSize - 16px) / 2);
+        position: relative;
+        bottom: (@forumIconSize - @baseLineHeight) / 2;
+
+        &.forum-icon-new {
+          background-color: @itemNewColor;
+          border: 1px solid darken(@itemNewColor, 10%);
+        }
+
+        &.forum-icon-redirect {
+          background-color: @itemMovedColor;
+          border: 1px solid darken(@itemMovedColor, 10%);
+        }
+>>>>>>> master
       }
       }
     }
     }
 
 
     .forum-main {
     .forum-main {
+<<<<<<< HEAD
       margin-left: (@forumIconSize * 1.5) + (@fontSizeSmall - 2px);
       margin-left: (@forumIconSize * 1.5) + (@fontSizeSmall - 2px);
+=======
+      margin-left: @forumIconSize + 10px;
+>>>>>>> master
 
 
       h3 {
       h3 {
         float: left;
         float: left;
@@ -128,7 +153,10 @@
           background: none;
           background: none;
           border: none;
           border: none;
           box-shadow: none;
           box-shadow: none;
+<<<<<<< HEAD
           z-index: 2;
           z-index: 2;
+=======
+>>>>>>> master
 
 
           .dropdown-shadow{
           .dropdown-shadow{
             border-radius: @baseBorderRadius;
             border-radius: @baseBorderRadius;

+ 28 - 0
static/cranefly/css/cranefly/editor.less

@@ -5,7 +5,10 @@
   background-color: @editorBackground;
   background-color: @editorBackground;
   border: 1px solid darken(@editorBackground, 10%);
   border: 1px solid darken(@editorBackground, 10%);
   border-radius: @baseBorderRadius;
   border-radius: @baseBorderRadius;
+<<<<<<< HEAD
   margin-bottom: @baseLineHeight;
   margin-bottom: @baseLineHeight;
+=======
+>>>>>>> master
 
 
   .editor-error {
   .editor-error {
     padding: @editorPadding;
     padding: @editorPadding;
@@ -22,14 +25,19 @@
     padding: @editorPadding;
     padding: @editorPadding;
 
 
     &>div {
     &>div {
+<<<<<<< HEAD
       margin-right: 22px;
       margin-right: 22px;
       position: relative;
       position: relative;
+=======
+      margin-right: 2px;
+>>>>>>> master
 
 
       textarea {
       textarea {
         border: none;
         border: none;
         box-shadow: none;
         box-shadow: none;
         margin: @editorPadding * -1;
         margin: @editorPadding * -1;
         padding: @editorPadding;
         padding: @editorPadding;
+<<<<<<< HEAD
         padding-right: 32px;
         padding-right: 32px;
         width: 100%;
         width: 100%;
 
 
@@ -156,6 +164,12 @@
       &.attachment-removed {
       &.attachment-removed {
         .opacity(70);
         .opacity(70);
       }
       }
+=======
+        width: 100%;
+
+        font-family: @monoFontFamily;
+      } 
+>>>>>>> master
     }
     }
   }
   }
 
 
@@ -170,13 +184,17 @@
 
 
     .editor-tools {
     .editor-tools {
       margin: 0px;
       margin: 0px;
+<<<<<<< HEAD
       margin-right: @editorPadding;
       margin-right: @editorPadding;
+=======
+>>>>>>> master
 
 
       li {
       li {
         float: left;
         float: left;
         margin-right: @editorPadding;
         margin-right: @editorPadding;
 
 
         .btn {
         .btn {
+<<<<<<< HEAD
           display: block;
           display: block;
           padding-left: 0px;
           padding-left: 0px;
           padding-right: 0px;
           padding-right: 0px;
@@ -194,6 +212,13 @@
     .editor-help {
     .editor-help {
       line-height: @baseLineHeight + @editorPadding;
       line-height: @baseLineHeight + @editorPadding;
     }
     }
+=======
+          padding-left: 7px;
+          padding-right: 7px;
+        }
+      }
+    }
+>>>>>>> master
   }
   }
 }
 }
 
 
@@ -205,6 +230,7 @@
       border-top-color: darken(@editorBackground, 20%);
       border-top-color: darken(@editorBackground, 20%);
     }
     }
   }
   }
+<<<<<<< HEAD
 }
 }
 
 
 .zen-overlay {
 .zen-overlay {
@@ -295,4 +321,6 @@
       }
       }
     }
     }
   }
   }
+=======
+>>>>>>> master
 }
 }

+ 76 - 0
static/cranefly/css/cranefly/forms.less

@@ -12,6 +12,7 @@
   padding: @baseLineHeight;
   padding: @baseLineHeight;
   padding-top: @baseLineHeight * -0.75;
   padding-top: @baseLineHeight * -0.75;
 
 
+<<<<<<< HEAD
   &.container-horizontal {
   &.container-horizontal {
     margin: 0px ((@baseLineHeight * -2) - 1px);
     margin: 0px ((@baseLineHeight * -2) - 1px);
     margin-bottom: @baseLineHeight;
     margin-bottom: @baseLineHeight;
@@ -28,12 +29,29 @@
       padding: 0px;
       padding: 0px;
 
 
       font-size: @fontSizeLarge * 1.2;
       font-size: @fontSizeLarge * 1.2;
+=======
+  .form-header {
+  	border-bottom: 1px solid darken(@bodyBackground, 8%);
+  	margin-top: @baseLineHeight * -1;
+  	margin-bottom: @baseLineHeight;
+  	padding: (@baseLineHeight / 2) 0px;
+
+  	h1 {
+  	  margin: 0px;
+  	  padding: 0px;
+
+  	  font-size: @fontSizeLarge;
+>>>>>>> master
 
 
       small {
       small {
         font-size: @fontSizeLarge * 0.75;
         font-size: @fontSizeLarge * 0.75;
         font-weight: bold;
         font-weight: bold;
       }
       }
+<<<<<<< HEAD
     }
     }
+=======
+  	}
+>>>>>>> master
 
 
     .btn {
     .btn {
       margin-left: @baseFontSize;
       margin-left: @baseFontSize;
@@ -47,6 +65,7 @@
     border: 1px solid darken(@bodyBackground, 8%);
     border: 1px solid darken(@bodyBackground, 8%);
     border-radius: @baseBorderRadius;
     border-radius: @baseBorderRadius;
     margin-bottom: @baseLineHeight;
     margin-bottom: @baseLineHeight;
+<<<<<<< HEAD
     overflow: auto;
     overflow: auto;
     padding: @baseLineHeight;
     padding: @baseLineHeight;
   }
   }
@@ -100,6 +119,60 @@
     border-radius: 0px 0px @baseBorderRadius @baseBorderRadius;
     border-radius: 0px 0px @baseBorderRadius @baseBorderRadius;
     margin: (@baseLineHeight * -1);
     margin: (@baseLineHeight * -1);
     margin-top: @baseLineHeight * 0.5;
     margin-top: @baseLineHeight * 0.5;
+=======
+    padding: @baseLineHeight;
+  }
+
+  form {
+  	margin: 0px;
+
+  	fieldset {
+  	  border-top: 1px solid darken(@bodyBackground, 8%);
+  	  padding-top: @baseLineHeight * 0.5;
+
+      legend {
+        margin-bottom: @baseLineHeight * -0.5;
+
+        color: @grayLight;
+        font-size: @baseFontSize;
+        font-weight: bold;
+
+        div {
+          margin-bottom: @baseLineHeight * -0.5;
+        }
+      }
+
+  	  &.first {
+  	  	border-top: none;
+  	  	padding-top: 0px;
+  	  }
+  	}
+
+  	.control-label {
+  	  font-weight: bold;
+  	}
+
+  	&.form-horizontal {
+  		fieldset {
+  			&.last {
+  		    .control-group:last-child {
+  		  		margin-bottom: 0px;
+  		  		padding-bottom: 0px;
+  		    }
+  		  }
+  		}
+
+		  .form-actions {
+	      padding-left: @horizontalComponentOffset + @baseLineHeight;
+		  }
+	  }
+  }
+
+  .form-actions {
+		border-radius: 0px 0px @baseBorderRadius @baseBorderRadius;
+		margin: (@baseLineHeight * -1);
+		margin-top: @baseLineHeight * 0.5;
+>>>>>>> master
 
 
     .form-actions-protip {
     .form-actions-protip {
       margin-left: @baseFontSize;
       margin-left: @baseFontSize;
@@ -113,6 +186,7 @@
 // Only v-resize textareas
 // Only v-resize textareas
 textarea {
 textarea {
   resize: vertical;
   resize: vertical;
+<<<<<<< HEAD
 }
 }
 
 
 // Responsiveness haxxord
 // Responsiveness haxxord
@@ -123,4 +197,6 @@ textarea {
       margin-bottom: @baseLineHeight;
       margin-bottom: @baseLineHeight;
     }
     }
   }
   }
+=======
+>>>>>>> master
 }
 }

+ 265 - 0
static/cranefly/css/cranefly/forum.less

@@ -48,6 +48,7 @@
 
 
     .forum-icon {
     .forum-icon {
       float: left;
       float: left;
+<<<<<<< HEAD
       position: relative;
       position: relative;
       bottom: 1px;
       bottom: 1px;
       width: @forumIconSize * 1.5;
       width: @forumIconSize * 1.5;
@@ -67,11 +68,35 @@
       .icon-comment, .icon-comment-alt {
       .icon-comment, .icon-comment-alt {
         position: relative;
         position: relative;
         bottom: 3px;
         bottom: 3px;
+=======
+
+      .forum-icon-wrap {
+        background-color: @itemOldColor;
+        border: 1px solid darken(@itemOldColor, 10%);
+        border-radius: @baseBorderRadius;
+        padding: ((@forumIconSize - 22px) / 2) ((@forumIconSize - 16px) / 2);
+        position: relative;
+        bottom: (@forumIconSize - @baseLineHeight) / 2;
+
+        &.forum-icon-new {
+          background-color: @itemNewColor;
+          border: 1px solid darken(@itemNewColor, 10%);
+        }
+
+        &.forum-icon-redirect {
+          background-color: @itemMovedColor;
+          border: 1px solid darken(@itemMovedColor, 10%);
+        }
+>>>>>>> master
       }
       }
     }
     }
 
 
     .forum-main {
     .forum-main {
+<<<<<<< HEAD
       margin-left: (@forumIconSize * 1.5) + (@fontSizeSmall - 2px);
       margin-left: (@forumIconSize * 1.5) + (@fontSizeSmall - 2px);
+=======
+      margin-left: 34px;
+>>>>>>> master
 
 
       h3 {
       h3 {
         float: left;
         float: left;
@@ -129,7 +154,10 @@
           background: none;
           background: none;
           border: none;
           border: none;
           box-shadow: none;
           box-shadow: none;
+<<<<<<< HEAD
           z-index: 2;
           z-index: 2;
+=======
+>>>>>>> master
 
 
           .dropdown-shadow{
           .dropdown-shadow{
             border-radius: @baseBorderRadius;
             border-radius: @baseBorderRadius;
@@ -298,6 +326,10 @@
   }
   }
 }
 }
 
 
+<<<<<<< HEAD
+=======
+// Threads list
+>>>>>>> master
 .forum-threads-list {
 .forum-threads-list {
   background-color: @categoryBackground;
   background-color: @categoryBackground;
   border: 1px solid @categoryBorder;
   border: 1px solid @categoryBorder;
@@ -305,6 +337,7 @@
   .box-shadow(0px 0px 0px 3px @categoryShadow);
   .box-shadow(0px 0px 0px 3px @categoryShadow);
   margin-bottom: @baseLineHeight;
   margin-bottom: @baseLineHeight;
 
 
+<<<<<<< HEAD
   .threads-list-empty {
   .threads-list-empty {
     padding: (@baseFontSize * 2) 0px;
     padding: (@baseFontSize * 2) 0px;
 
 
@@ -573,6 +606,235 @@
     &>li:last-child {
     &>li:last-child {
       border-bottom: none;
       border-bottom: none;
     }
     }
+=======
+  .header {
+    background-color: @categoryHeader;
+    border: 1px solid @categoryBorder;
+    border-radius: @borderRadiusSmall @borderRadiusSmall 0px 0px;
+    margin: -1px;
+    margin-bottom: 0px;
+    padding-bottom: 1px;
+    overflow: auto;
+
+    color: @grayLight;
+    font-weight: bold;
+    font-size: @fontSizeSmall;
+
+    .row-fluid {
+      &>div {
+        min-height: auto;
+        padding: @paddingSmall;
+      }
+
+      .thread-replies {
+        float: left;
+        width: 106px;
+      }
+
+      .thread-last {
+        float: left;
+      }
+    }
+
+    .check-cell {
+      label {
+        margin: 0px;
+      }
+    }
+  }
+
+  .thread-row {
+    border-bottom: 1px solid @categoryBorder;
+    height: 38px;
+    overflow: hidden;
+    padding: (@fontSizeSmall - 2px) 0px;
+
+    .row-fluid {
+      &>div {
+        min-height: auto;
+        padding: @paddingSmall;
+        padding-bottom: 0px;
+      }
+    }
+
+    &.thread-last {
+      border-bottom: none;
+
+      &>div {
+        padding-bottom: 1px;
+      }
+    }
+
+    .thread-icon {
+      background-color: @itemOldColor;
+      border: 1px solid darken(@itemOldColor, 10%);
+      .border-radius(@baseBorderRadius);
+      display: block;
+      float: left;
+      margin: -2px 0px;
+      margin-left: -1px;
+      padding: 1px 4px;
+
+      &:hover, &:active {
+        .opacity(100);
+      }
+
+      i {
+        background-image: url("@{iconWhiteSpritePath}");
+      }
+    }
+
+    &.thread-new {
+      .thread-icon {
+        background-color: @itemNewColor;
+        border: 1px solid darken(@itemNewColor, 10%);
+      }
+
+      .thread-name {
+        color: @textColor !important;
+      }
+    }
+
+    &.threads-list-empty {
+      height: auto;
+      padding: @paddingLarge;
+
+      font-size: @fontSizeLarge;
+      text-align: center;
+    }
+
+    .thread-name {
+      margin-left: 10px;
+
+      color: lighten(@textColor, 17%);
+      font-size: @baseFontSize + 2px;
+      font-weight: bold;
+    }
+
+    .thread-details, .thread-last-reply {
+      color: @grayLight;
+      line-height: @baseFontSize;
+
+      a:link, a:visited {
+        color: @textColor;
+      }
+    }
+
+    .thread-details {
+      margin-left: 34px;
+
+      font-size: @fontSizeMini;
+    }
+
+    .thread-flags {
+      float: right;
+      margin: 0px;
+      position: relative;
+      right: -30px;
+      top: 5px;
+      padding: 0px;
+
+      li {
+        .border-radius(@baseBorderRadius);
+        display: block;
+        float: left;
+        margin-left: 3px;
+        padding: 2px 5px;
+
+        &.flag-reported {
+          background-color: @flagReported;
+        }
+
+        &.flag-notreviewed {
+          background-color: @flagReviewed;
+        }
+
+        &.flag-announcement {
+          background-color: @flagAnnouncement;
+        }
+
+        &.flag-sticky {
+          background-color: @flagSticky;
+        }
+
+        &.flag-deleted {
+          background-color: @flagDeleted;
+        }
+
+        &.flag-closed {
+          background-color: @flagClosed;
+        }
+      }
+
+      i {
+        background-image: url("@{iconWhiteSpritePath}");
+      }
+    }
+
+    .thread-activity {
+      border-left: 1px dotted darken(@categoryBackground, 12%);
+      position: relative;
+      bottom: 3px;
+
+      .thread-last-avatar {
+        float: left;
+
+        img {
+          .border-radius(@baseBorderRadius);
+          margin: 0px;
+          margin-right: @baseFontSize;
+          width: 40px;
+          height: 40px;
+        }
+      }
+
+      .thread-replies {
+        float: left;
+        margin-top: -1px;
+        margin-right: @baseFontSize;
+
+        color: @grayLight;
+        font-size: @fontSizeSmall;
+
+        .lead {
+          font-size: @baseFontSize;
+          font-weight: bold;
+          line-height: @baseLineHeight;
+        }
+
+        a:link, a:active, a:visited, a:hover {
+          color: @gray;
+        }
+      }
+
+      .thread-last-reply {
+        border-left: 1px dotted darken(@categoryBackground, 12%);
+        padding-left: @baseFontSize;
+
+      }
+
+      .thread-select {
+        background-color: darken(@categoryBackground, 5%);
+        display: block;
+        float: right;
+        margin: -12px -11px;
+        margin-left: 0px;
+        width: 29px;
+        height: 61px;
+
+        &:hover, &:focus, &:active {
+          background-color: @linkColor;
+        }
+
+        input {
+          margin: 0px;
+          position: relative;
+          right: 2px;
+          top: 26px;
+        }
+      }
+    }
+>>>>>>> master
   }
   }
 
 
   .threads-actions {
   .threads-actions {
@@ -605,6 +867,7 @@
       color: @textColor;
       color: @textColor;
     }
     }
   }
   }
+<<<<<<< HEAD
 }
 }
 
 
 .prefix-select {
 .prefix-select {
@@ -753,4 +1016,6 @@
       .opacity(100);
       .opacity(100);
     }
     }
   }
   }
+=======
+>>>>>>> master
 }
 }

+ 23 - 0
static/cranefly/css/cranefly/header.less

@@ -28,7 +28,18 @@
       }
       }
 
 
       .divider {
       .divider {
+<<<<<<< HEAD
         color: @grayLight
         color: @grayLight
+=======
+        padding-left: 0px;
+        padding-right: 0px;
+
+        i {
+          .opacity(20);
+          position: relative;
+          bottom: 1px;
+        }
+>>>>>>> master
       }
       }
     }
     }
   }
   }
@@ -49,6 +60,7 @@
       float: left;
       float: left;
       margin-right: @baseFontSize;
       margin-right: @baseFontSize;
 
 
+<<<<<<< HEAD
       .thread-prefix {
       .thread-prefix {
         margin-left: 2px;
         margin-left: 2px;
         position: relative;
         position: relative;
@@ -56,6 +68,9 @@
       }
       }
 
 
       &>a:not(.label) {
       &>a:not(.label) {
+=======
+      &>a {
+>>>>>>> master
         color: @grayLight;
         color: @grayLight;
 
 
         &:hover, &:active {
         &:hover, &:active {
@@ -152,6 +167,11 @@
           margin: 0px;
           margin: 0px;
           padding: 4px 12px;
           padding: 4px 12px;
 
 
+<<<<<<< HEAD
+=======
+          color: @textColor;
+
+>>>>>>> master
           i {
           i {
             position: relative;
             position: relative;
             top: 0px;
             top: 0px;
@@ -160,8 +180,11 @@
           &:visited, &:hover {
           &:visited, &:hover {
             background-color: @white;
             background-color: @white;
             border-color: lighten(@grayLight, 5%);
             border-color: lighten(@grayLight, 5%);
+<<<<<<< HEAD
 
 
             color: @grayDark;
             color: @grayDark;
+=======
+>>>>>>> master
           }
           }
         }
         }
       }
       }

+ 38 - 0
static/cranefly/css/cranefly/index.less

@@ -55,6 +55,7 @@
 
 
     .forum-icon {
     .forum-icon {
       float: left;
       float: left;
+<<<<<<< HEAD
     	position: relative;
     	position: relative;
     	bottom: 1px;
     	bottom: 1px;
       width: @forumIconSize * 1.5;
       width: @forumIconSize * 1.5;
@@ -74,11 +75,35 @@
       .icon-comment, .icon-comment-alt {
       .icon-comment, .icon-comment-alt {
       	position: relative;
       	position: relative;
       	bottom: 3px;
       	bottom: 3px;
+=======
+
+      .forum-icon-wrap {
+        background-color: @itemOldColor;
+        border: 1px solid darken(@itemOldColor, 10%);
+        border-radius: @baseBorderRadius;
+        padding: ((@forumIconSize - 22px) / 2) ((@forumIconSize - 16px) / 2);
+        position: relative;
+        bottom: (@forumIconSize - @baseLineHeight) / 2;
+
+        &.forum-icon-new {
+          background-color: @itemNewColor;
+          border: 1px solid darken(@itemNewColor, 10%);
+        }
+
+        &.forum-icon-redirect {
+          background-color: @itemMovedColor;
+          border: 1px solid darken(@itemMovedColor, 10%);
+        }
+>>>>>>> master
       }
       }
     }
     }
 
 
     .forum-main {
     .forum-main {
+<<<<<<< HEAD
       margin-left: (@forumIconSize * 1.5) + (@fontSizeSmall - 2px);
       margin-left: (@forumIconSize * 1.5) + (@fontSizeSmall - 2px);
+=======
+      margin-left: @forumIconSize + 10px;
+>>>>>>> master
 
 
       h3 {
       h3 {
         float: left;
         float: left;
@@ -136,7 +161,10 @@
           background: none;
           background: none;
           border: none;
           border: none;
           box-shadow: none;
           box-shadow: none;
+<<<<<<< HEAD
           z-index: 2;
           z-index: 2;
+=======
+>>>>>>> master
 
 
           .dropdown-shadow{
           .dropdown-shadow{
             border-radius: @baseBorderRadius;
             border-radius: @baseBorderRadius;
@@ -390,7 +418,11 @@
 
 
 // Popular threads
 // Popular threads
 // -------------------------
 // -------------------------
+<<<<<<< HEAD
 .index-popular-threads {
 .index-popular-threads {
+=======
+.index-popular-threads { 
+>>>>>>> master
   h3 {
   h3 {
     margin: 0px;
     margin: 0px;
     margin-bottom: (@baseLineHeight * -0.5);
     margin-bottom: (@baseLineHeight * -0.5);
@@ -430,9 +462,15 @@
 // -------------------------
 // -------------------------
 .index-stats {
 .index-stats {
   margin-bottom: @baseLineHeight;
   margin-bottom: @baseLineHeight;
+<<<<<<< HEAD
   overflow: auto;
   overflow: auto;
 
 
   color: @gray;
   color: @gray;
+=======
+  .opacity(60);
+  overflow: auto;
+
+>>>>>>> master
   font-weight: bold;
   font-weight: bold;
 
 
   ul {
   ul {

+ 12 - 0
static/cranefly/css/cranefly/karmas.less

@@ -12,6 +12,7 @@
     .vote-icon {
     .vote-icon {
       background-color: @grayLight;
       background-color: @grayLight;
       border-radius: @baseBorderRadius;
       border-radius: @baseBorderRadius;
+<<<<<<< HEAD
       display: inline-block;
       display: inline-block;
       padding: 2px 3px;
       padding: 2px 3px;
       position: relative;
       position: relative;
@@ -21,6 +22,17 @@
       color: @white;
       color: @white;
       font-size: @baseFontSize;
       font-size: @baseFontSize;
       text-align: center;
       text-align: center;
+=======
+      padding: 2px 3px;
+      position: relative;
+      bottom: (@fontSizeLarge - @baseFontSize) / 2;
+
+      font-size: @baseFontSize;
+
+      i {
+        background-image: url("@{iconWhiteSpritePath}");
+      }
+>>>>>>> master
     }
     }
   }
   }
 
 

+ 37 - 0
static/cranefly/css/cranefly/markdown.less

@@ -3,7 +3,11 @@
 
 
 .markdown, .markdown article {
 .markdown, .markdown article {
   margin: 0px;
   margin: 0px;
+<<<<<<< HEAD
   overflow: visible;
   overflow: visible;
+=======
+  overflow: auto;
+>>>>>>> master
 
 
   &>:first-child {
   &>:first-child {
     margin-top: 0px;
     margin-top: 0px;
@@ -42,7 +46,10 @@
   blockquote {
   blockquote {
     border-left-color: darken(@grayLighter, 5%);
     border-left-color: darken(@grayLighter, 5%);
     padding: (@baseFontSize / 3) @baseFontSize;
     padding: (@baseFontSize / 3) @baseFontSize;
+<<<<<<< HEAD
     margin: @baseLineHeight / 2;
     margin: @baseLineHeight / 2;
+=======
+>>>>>>> master
 
 
     header {
     header {
       padding-bottom: (@baseLineHeight / 2);
       padding-bottom: (@baseLineHeight / 2);
@@ -63,6 +70,17 @@
     }
     }
   }
   }
 
 
+<<<<<<< HEAD
+=======
+  code {
+    background-color: @grayDark;
+    border: none;
+
+    color: @grayLighter;
+    font-size: @baseFontSize;
+  }
+
+>>>>>>> master
   pre {
   pre {
     background-color: @grayDarker;
     background-color: @grayDarker;
     padding: (@baseFontSize / 2) @baseFontSize;
     padding: (@baseFontSize / 2) @baseFontSize;
@@ -82,6 +100,7 @@
     margin: (@baseLineHeight / 2) 0px;
     margin: (@baseLineHeight / 2) 0px;
   }
   }
 
 
+<<<<<<< HEAD
   .media-border {
   .media-border {
     box-shadow: 0px 0px 4px @gray;
     box-shadow: 0px 0px 4px @gray;
   	display: inline-block;
   	display: inline-block;
@@ -143,11 +162,14 @@
     }
     }
   }
   }
 
 
+=======
+>>>>>>> master
   // Blocks margins
   // Blocks margins
   pre, blockquote, iframe {
   pre, blockquote, iframe {
     margin-top: @baseLineHeight;
     margin-top: @baseLineHeight;
     margin-bottom: @baseLineHeight;
     margin-bottom: @baseLineHeight;
 
 
+<<<<<<< HEAD
     article{
     article{
       &>:first-child {
       &>:first-child {
         margin-top: 0px;
         margin-top: 0px;
@@ -156,14 +178,29 @@
       &>:last-child {
       &>:last-child {
         margin-bottom: 0px;
         margin-bottom: 0px;
       }
       }
+=======
+    &>:first-child {
+      margin-top: 0px;
+    }
+
+    &>:last-child {
+      margin-bottom: 0px;
+>>>>>>> master
     }
     }
   }
   }
 
 
   // Emoticons
   // Emoticons
   .emoji {
   .emoji {
+<<<<<<< HEAD
     border-radius: 0px;
     border-radius: 0px;
     margin: 0px;
     margin: 0px;
     vertical-align: top;
     vertical-align: top;
+=======
+    background: none;
+    border-radius: 0px;
+    margin: 0px;
+    vertical-align: middle;
+>>>>>>> master
   }
   }
 
 
   h1 {
   h1 {

+ 11 - 0
static/cranefly/css/cranefly/messages.less

@@ -5,9 +5,12 @@
 .messages-list {
 .messages-list {
   .alert-icon {
   .alert-icon {
     float: left;
     float: left;
+<<<<<<< HEAD
 
 
     color: @white !important;
     color: @white !important;
     font-size: @fontSizeLarge;
     font-size: @fontSizeLarge;
+=======
+>>>>>>> master
   }
   }
 
 
   p {
   p {
@@ -28,7 +31,11 @@
   a:active, a:hover {
   a:active, a:hover {
     .opacity(100);
     .opacity(100);
   }
   }
+<<<<<<< HEAD
 
 
+=======
+  
+>>>>>>> master
   .alert-info {
   .alert-info {
     text-shadow: 0px 1px 0px darken(@infoBorder, 10%);
     text-shadow: 0px 1px 0px darken(@infoBorder, 10%);
   }
   }
@@ -42,6 +49,10 @@
   }
   }
 
 
   .alert-error {
   .alert-error {
+<<<<<<< HEAD
     text-shadow: 0px 1px 0px darken(@errorBorder, 10%);
     text-shadow: 0px 1px 0px darken(@errorBorder, 10%);
+=======
+    text-shadow: 0px 1px 0px darken(@errorBorder, 10%);    
+>>>>>>> master
   }
   }
 }
 }

+ 115 - 0
static/cranefly/css/cranefly/navbar.less

@@ -24,7 +24,11 @@
 
 
         span {
         span {
           color: @navbarMottoColor;
           color: @navbarMottoColor;
+<<<<<<< HEAD
         }
         }
+=======
+        } 
+>>>>>>> master
       }
       }
     }
     }
 
 
@@ -40,7 +44,11 @@
         border: 1px solid darken(@navbarBorder, 10%);
         border: 1px solid darken(@navbarBorder, 10%);
         .border-radius(@baseBorderRadius);
         .border-radius(@baseBorderRadius);
         position: absolute;
         position: absolute;
+<<<<<<< HEAD
         z-index: @zindexFixedNavbar;
         z-index: @zindexFixedNavbar;
+=======
+        z-index: 2;
+>>>>>>> master
 
 
         .navbar-search-text {
         .navbar-search-text {
           border: 1px solid darken(@navbarBorder, 10%);
           border: 1px solid darken(@navbarBorder, 10%);
@@ -57,6 +65,7 @@
             margin: 0px;
             margin: 0px;
             width: @navbarSearchWidth;
             width: @navbarSearchWidth;
           }
           }
+<<<<<<< HEAD
 
 
           .icon-search {
           .icon-search {
             float: right;
             float: right;
@@ -66,6 +75,8 @@
             position: relative;
             position: relative;
             bottom: (@baseLineHeight * -1) + @baseFontSize;
             bottom: (@baseLineHeight * -1) + @baseFontSize;
           }
           }
+=======
+>>>>>>> master
         }
         }
 
 
         &:hover, &.open {
         &:hover, &.open {
@@ -122,8 +133,11 @@
 
 
             .btn {
             .btn {
               margin: 0px;
               margin: 0px;
+<<<<<<< HEAD
 
 
               color: @white;
               color: @white;
+=======
+>>>>>>> master
             }
             }
 
 
             a:link, a:visited {
             a:link, a:visited {
@@ -146,12 +160,19 @@
     .navbar-blocks {
     .navbar-blocks {
       margin-left: 6px;
       margin-left: 6px;
 
 
+<<<<<<< HEAD
       &>li {
       &>li {
+=======
+      li {
+        margin-left: 6px;
+
+>>>>>>> master
         form {
         form {
           margin: 0px;
           margin: 0px;
           padding: 0px;
           padding: 0px;
         }
         }
 
 
+<<<<<<< HEAD
         &>a:link, &>a:visited, &>.btn-link {
         &>a:link, &>a:visited, &>.btn-link {
           min-width: 20px;
           min-width: 20px;
 
 
@@ -170,10 +191,31 @@
             color: @white;
             color: @white;
             font-size: @baseFontSize;
             font-size: @baseFontSize;
             text-shadow: 0px -1px 1px darken(@red, 20%);
             text-shadow: 0px -1px 1px darken(@red, 20%);
+=======
+        a:link, a:visited, .btn-link {
+          background-color: lighten(@navbarBackground, 2%);
+          border: 1px solid darken(@navbarBorder, 2%);
+          border-radius: @baseBorderRadius;
+          padding: 5px 8px;
+          margin-top: ((@navbarHeight - @baseLineHeight) / 2) - 6;
+
+          i {
+            .opacity(70);
+          }
+
+          .label {
+            background-color: @red;
+            margin-left: 4px;
+            padding-left: 6px;
+            padding-right: 5px;
+            position: relative;
+            bottom: 1px;
+>>>>>>> master
           }
           }
         }
         }
 
 
         a:hover, a:active, .btn-link:hover, .btn-link:active {
         a:hover, a:active, .btn-link:hover, .btn-link:active {
+<<<<<<< HEAD
         	text-shadow: 0px 0px 3px @white;
         	text-shadow: 0px 0px 3px @white;
         }
         }
 
 
@@ -185,13 +227,49 @@
 						}
 						}
         	}
         	}
 
 
+=======
+          background-color: @linkColor;
+          border-color: darken(@linkColor, 10%);
+
+          &.danger {
+            background-color: @red;
+            border-color: darken(@red, 10%);
+          }
+
+          &.hot {
+            background-color: @orange;
+            border-color: darken(@orange, 10%);
+          }
+
+          &.fresh {
+            background-color: @green;
+            border-color: darken(@green, 10%);
+          }
+
+          i {
+            background-image: url("@{iconWhiteSpritePath}");
+            .opacity(100);
+          }
+
+          .label {
+            background-color: @grayLighter;
+
+            color: @textColor;
+          }
+        }
+
+        &.user-profile {
+>>>>>>> master
           a:link, a:visited, a:hover, a:active {
           a:link, a:visited, a:hover, a:active {
             background: none;
             background: none;
             border: none;
             border: none;
             margin-right: 8px;
             margin-right: 8px;
             margin-top: 5px;
             margin-top: 5px;
 
 
+<<<<<<< HEAD
             color: @grayDarker;
             color: @grayDarker;
+=======
+>>>>>>> master
             font-weight: bold;
             font-weight: bold;
             text-shadow: none;
             text-shadow: none;
 
 
@@ -210,7 +288,11 @@
 
 
     .navbar-compact {
     .navbar-compact {
       display: none;
       display: none;
+<<<<<<< HEAD
 
 
+=======
+      
+>>>>>>> master
       li {
       li {
         &.user-profile {
         &.user-profile {
           &>a {
           &>a {
@@ -233,8 +315,11 @@
                 margin-left: 8px;
                 margin-left: 8px;
                 padding: 0px 4px;
                 padding: 0px 4px;
 
 
+<<<<<<< HEAD
 								font-size: @baseFontSize;
 								font-size: @baseFontSize;
 
 
+=======
+>>>>>>> master
                 .caret {
                 .caret {
                   margin: 0px;
                   margin: 0px;
                   padding: 0px;
                   padding: 0px;
@@ -261,8 +346,14 @@
                 background: @red;
                 background: @red;
                 border-color: @red;
                 border-color: @red;
 
 
+<<<<<<< HEAD
                 color: @white;
                 color: @white;
                 text-shadow: 0px 1px 1px darken(@red, 10%);
                 text-shadow: 0px 1px 1px darken(@red, 10%);
+=======
+                .caret {
+                  border-top-color: @white;
+                }
+>>>>>>> master
               }
               }
             }
             }
           }
           }
@@ -279,7 +370,11 @@
             width: 270px;
             width: 270px;
 
 
             &:before {
             &:before {
+<<<<<<< HEAD
               margin-right: 11px;
               margin-right: 11px;
+=======
+              display: none;
+>>>>>>> master
             }
             }
 
 
             &:after {
             &:after {
@@ -309,6 +404,7 @@
                 color: @textColor;
                 color: @textColor;
                 font-weight: normal;
                 font-weight: normal;
                 text-align: left;
                 text-align: left;
+<<<<<<< HEAD
 
 
                 i {
                 i {
                 	display: inline-block;
                 	display: inline-block;
@@ -316,6 +412,11 @@
                 	width: 16px;
                 	width: 16px;
 
 
                 	text-align: center;
                 	text-align: center;
+=======
+                
+                i {
+                  .opacity(100);
+>>>>>>> master
                 }
                 }
 
 
                 &:link, &:active, &:visited, &:hover {
                 &:link, &:active, &:visited, &:hover {
@@ -329,6 +430,13 @@
                 }
                 }
               }
               }
 
 
+<<<<<<< HEAD
+=======
+              a:link, a:visited {
+                .opacity(80);
+              }
+
+>>>>>>> master
               a:hover {
               a:hover {
                 background-color: @gray;
                 background-color: @gray;
                 .opacity(100);
                 .opacity(100);
@@ -339,11 +447,18 @@
               .btn-link {
               .btn-link {
                 background: none;
                 background: none;
                 border: none;
                 border: none;
+<<<<<<< HEAD
                 .opacity(100);
                 .opacity(100);
+=======
+>>>>>>> master
                 width: 100%;
                 width: 100%;
 
 
                 &:hover, &:active {
                 &:hover, &:active {
                   background: @red;
                   background: @red;
+<<<<<<< HEAD
+=======
+                  .opacity(100);
+>>>>>>> master
 
 
                   color: @white;
                   color: @white;
                   text-shadow: 0px 1px 0px darken(@red, 20%);
                   text-shadow: 0px 1px 0px darken(@red, 20%);

+ 15 - 0
static/cranefly/css/cranefly/pagination.less

@@ -3,7 +3,11 @@
 .pagination {
 .pagination {
   margin: 0px;
   margin: 0px;
   padding: 0px;
   padding: 0px;
+<<<<<<< HEAD
 
 
+=======
+  
+>>>>>>> master
   .count {
   .count {
     margin-right: @baseFontSize * 0.75;
     margin-right: @baseFontSize * 0.75;
     padding: 4px 0px;
     padding: 4px 0px;
@@ -29,10 +33,14 @@
         color: @grayLight;
         color: @grayLight;
 
 
         i {
         i {
+<<<<<<< HEAD
           display: inline-block;
           display: inline-block;
           width: @baseFontSize - 2px;
           width: @baseFontSize - 2px;
 
 
           text-align: center;
           text-align: center;
+=======
+          .opacity(55);
+>>>>>>> master
         }
         }
       }
       }
 
 
@@ -40,6 +48,13 @@
         border: 1px solid @paginationActiveBackground;
         border: 1px solid @paginationActiveBackground;
 
 
         color: @gray;
         color: @gray;
+<<<<<<< HEAD
+=======
+
+        i {
+          .opacity(100);
+        }
+>>>>>>> master
       }
       }
     }
     }
   }
   }

+ 11 - 0
static/cranefly/css/cranefly/profiles.less

@@ -11,7 +11,11 @@
       img {
       img {
         border-radius: @baseBorderRadius;
         border-radius: @baseBorderRadius;
         width: 36px;
         width: 36px;
+<<<<<<< HEAD
         height: 36px;
         height: 36px;
+=======
+        height: 36px; 
+>>>>>>> master
       }
       }
     }
     }
 
 
@@ -54,6 +58,7 @@
     margin: @baseFontSize 0px;
     margin: @baseFontSize 0px;
   }
   }
 
 
+<<<<<<< HEAD
   .stat-header {
   .stat-header {
     border-bottom: 1px solid darken(@bodyBackground, 10%);
     border-bottom: 1px solid darken(@bodyBackground, 10%);
     margin-bottom: @baseFontSize;
     margin-bottom: @baseFontSize;
@@ -89,6 +94,8 @@
     }
     }
   }
   }
 
 
+=======
+>>>>>>> master
   .user-details {
   .user-details {
     .label {
     .label {
       font-size: @baseFontSize;
       font-size: @baseFontSize;
@@ -105,7 +112,11 @@
         img {
         img {
           border-radius: @baseBorderRadius;
           border-radius: @baseBorderRadius;
           width: 36px;
           width: 36px;
+<<<<<<< HEAD
           height: 36px;
           height: 36px;
+=======
+          height: 36px; 
+>>>>>>> master
         }
         }
       }
       }
 
 

+ 4 - 0
static/cranefly/css/cranefly/report.less

@@ -52,6 +52,10 @@
           font-weight: bold !important;
           font-weight: bold !important;
 
 
           i {
           i {
+<<<<<<< HEAD
+=======
+            background-image: url("@{iconWhiteSpritePath}");
+>>>>>>> master
             position: relative;
             position: relative;
             top: 0px;
             top: 0px;
           }
           }

+ 51 - 0
static/cranefly/css/cranefly/reports.less

@@ -2,6 +2,7 @@
 // ------------------------
 // ------------------------
 
 
 .reports-list {
 .reports-list {
+<<<<<<< HEAD
   .report-icon {
   .report-icon {
     padding-right: @fontSizeLarge;
     padding-right: @fontSizeLarge;
     position: relative;
     position: relative;
@@ -67,5 +68,55 @@
         background-color: @grayDark;
         background-color: @grayDark;
       }
       }
     }
     }
+=======
+  .thread-label {
+    overflow: visible;
+
+    .report-label {
+      .border-radius(3px);
+      float: right;
+      padding: 3px 8px;
+      position: relative;
+      right: -32px;
+      bottom: 2px;
+
+      color: @white;
+      font-weight: bold;
+
+      i {
+        background-image: url("@{iconWhiteSpritePath}");
+      }
+
+      &.report-open {
+        background-color: @orange;
+        text-shadow: 0px 1px 0px darken(@orange, 20%);
+      }
+
+      &.report-resolved {
+        background-color: @green;
+        text-shadow: 0px 1px 0px darken(@green, 20%);
+      }
+
+      &.report-bogus {
+        background-color: @gray;
+        text-shadow: 0px 1px 0px darken(@gray, 20%);
+      }
+    }
+  }
+
+  .thread-name {
+    .report-id {
+      color: @grayLight !important;
+    }
+  }
+
+  .thread-name, .thread-details {
+    margin-left: 0px !important;
+  }
+
+  .thread-icon {
+    display: none !important;
+    float: none;
+>>>>>>> master
   }
   }
 }
 }

+ 16 - 0
static/cranefly/css/cranefly/search.less

@@ -31,6 +31,7 @@
 }
 }
 
 
 .search-resume {
 .search-resume {
+<<<<<<< HEAD
 	a:link, a:visited {
 	a:link, a:visited {
 		color: @grayLight;
 		color: @grayLight;
 
 
@@ -65,6 +66,18 @@
 		}
 		}
 	}
 	}
 
 
+=======
+  .muted {
+    color: lighten(@gray, 15%);
+
+    a {
+      color: @textColor;
+    }
+  }
+}
+
+.search-results {
+>>>>>>> master
   .results-list {
   .results-list {
     .result {
     .result {
       border-bottom: 1px solid darken(@bodyBackground, 5%);
       border-bottom: 1px solid darken(@bodyBackground, 5%);
@@ -98,12 +111,15 @@
           a:hover, a:active {
           a:hover, a:active {
             color: @textColor;
             color: @textColor;
           }
           }
+<<<<<<< HEAD
 
 
           a:link, a:active, a:visited, a:hover {
           a:link, a:active, a:visited, a:hover {
 	          strong {
 	          strong {
 	            color: @red;
 	            color: @red;
 	          }
 	          }
           }
           }
+=======
+>>>>>>> master
         }
         }
 
 
         .post-preview {
         .post-preview {

+ 7 - 0
static/cranefly/css/cranefly/signin.less

@@ -14,6 +14,7 @@
   }
   }
 
 
   a:link, a:visited {
   a:link, a:visited {
+<<<<<<< HEAD
     color: @grayLight;
     color: @grayLight;
     font-weight: bold;
     font-weight: bold;
 
 
@@ -28,5 +29,11 @@
   a:hover, a:active {
   a:hover, a:active {
     color: @textColor;
     color: @textColor;
     text-decoration: none;
     text-decoration: none;
+=======
+    .opacity(90);
+
+    color: @textColor;
+    font-weight: bold;
+>>>>>>> master
   }
   }
 }
 }

+ 48 - 0
static/cranefly/css/cranefly/thread.less

@@ -17,6 +17,7 @@
   }
   }
 }
 }
 
 
+<<<<<<< HEAD
 .thread-poll-body {
 .thread-poll-body {
   background-color: @categoryBackground;
   background-color: @categoryBackground;
   border: 1px solid @categoryBorder;
   border: 1px solid @categoryBorder;
@@ -108,6 +109,8 @@
   }
   }
 }
 }
 
 
+=======
+>>>>>>> master
 // Thread body styles
 // Thread body styles
 .thread-body {
 .thread-body {
   .post-wrapper {
   .post-wrapper {
@@ -151,8 +154,13 @@
         &:before {
         &:before {
            border-color: transparent;
            border-color: transparent;
            border-right-color: @postBorder;
            border-right-color: @postBorder;
+<<<<<<< HEAD
            border-width: @fontSizeMini + 2;
            border-width: @fontSizeMini + 2;
            top: @baseFontSize - 1;
            top: @baseFontSize - 1;
+=======
+           border-width: @fontSizeMini + 1;
+           top: @baseFontSize;
+>>>>>>> master
            margin-top: (@baseFontSize * -1) + @baseFontSize - 1px;
            margin-top: (@baseFontSize * -1) + @baseFontSize - 1px;
         }
         }
 
 
@@ -234,6 +242,7 @@
             padding: @baseFontSize;
             padding: @baseFontSize;
           }
           }
 
 
+<<<<<<< HEAD
           .post-attachments {
           .post-attachments {
             margin: 0px @baseFontSize;
             margin: 0px @baseFontSize;
 
 
@@ -308,6 +317,8 @@
             }
             }
           }
           }
 
 
+=======
+>>>>>>> master
           .post-signature {
           .post-signature {
             border-top: 1px dotted darken(@postBackground, 25%);
             border-top: 1px dotted darken(@postBackground, 25%);
             .opacity(60);
             .opacity(60);
@@ -362,7 +373,11 @@
               }
               }
 
 
               &.post-neutral, &.post-like, &.post-hate {
               &.post-neutral, &.post-like, &.post-hate {
+<<<<<<< HEAD
                 margin-left: (@baseFontSize / 4);
                 margin-left: (@baseFontSize / 4);
+=======
+                margin-left: (@baseFontSize / 4); 
+>>>>>>> master
               }
               }
 
 
               &.post-neutral {
               &.post-neutral {
@@ -492,7 +507,11 @@
         }
         }
       }
       }
 
 
+<<<<<<< HEAD
       &.post-muted {
       &.post-muted {
+=======
+      &.post-muted {        
+>>>>>>> master
         .user-avatar {
         .user-avatar {
           width: 50px;
           width: 50px;
           height: 50px;
           height: 50px;
@@ -586,6 +605,7 @@
         }
         }
 
 
         i {
         i {
+<<<<<<< HEAD
           margin-right: 2px;
           margin-right: 2px;
           position: relative;
           position: relative;
           top: 2px;
           top: 2px;
@@ -593,6 +613,9 @@
 
 
           font-size: @fontSizeLarge;
           font-size: @fontSizeLarge;
           text-align: center;
           text-align: center;
+=======
+          .opacity(43);
+>>>>>>> master
         }
         }
 
 
         form {
         form {
@@ -682,8 +705,13 @@
     &:before {
     &:before {
        border-color: transparent;
        border-color: transparent;
        border-right-color: darken(@editorBackground, 10%);
        border-right-color: darken(@editorBackground, 10%);
+<<<<<<< HEAD
        border-width: @fontSizeMini + 2;
        border-width: @fontSizeMini + 2;
        top: @baseFontSize - 1;
        top: @baseFontSize - 1;
+=======
+       border-width: @fontSizeMini + 1;
+       top: @baseFontSize;
+>>>>>>> master
        margin-top: (@baseFontSize * -1) + @baseFontSize - 1px;
        margin-top: (@baseFontSize * -1) + @baseFontSize - 1px;
     }
     }
   }
   }
@@ -720,17 +748,25 @@
         border-radius: @borderRadiusSmall;
         border-radius: @borderRadiusSmall;
         width: 24px;
         width: 24px;
         height: 24px;
         height: 24px;
+<<<<<<< HEAD
         position: relative;
         position: relative;
         bottom: 1px;
         bottom: 1px;
+=======
+>>>>>>> master
       }
       }
 
 
       a:link, a:active, a:visited, a:hover {
       a:link, a:active, a:visited, a:hover {
         margin: 0px 4px;
         margin: 0px 4px;
+<<<<<<< HEAD
         position: relative;
         position: relative;
         top: 2px;
         top: 2px;
 
 
         color: @textColor;
         color: @textColor;
         font-size: @fontSizeLarge;
         font-size: @fontSizeLarge;
+=======
+
+        color: @textColor;
+>>>>>>> master
         font-weight: bold;
         font-weight: bold;
       }
       }
 
 
@@ -744,6 +780,7 @@
         padding: 0px;
         padding: 0px;
 
 
         button {
         button {
+<<<<<<< HEAD
           float: left;
           float: left;
           padding-left: 0px;
           padding-left: 0px;
           padding-right: 0px;
           padding-right: 0px;
@@ -758,6 +795,14 @@
             top: 1px;
             top: 1px;
 
 
             font-size: @fontSizeLarge;
             font-size: @fontSizeLarge;
+=======
+          padding-left: 5px;
+          padding-right: 5px;
+
+          i {
+            position: relative;
+            top: 1px;
+>>>>>>> master
           }
           }
         }
         }
       }
       }
@@ -800,6 +845,7 @@
 
 
       button {
       button {
         float: right;
         float: right;
+<<<<<<< HEAD
         position: relative;
         position: relative;
         top: 2px;
         top: 2px;
         left: 2px;
         left: 2px;
@@ -816,6 +862,8 @@
             color: @textColor;
             color: @textColor;
           }
           }
         }
         }
+=======
+>>>>>>> master
       }
       }
     }
     }
   }
   }

+ 7 - 0
static/cranefly/css/cranefly/usercp.less

@@ -63,6 +63,7 @@
 
 
     ul.unstyled {
     ul.unstyled {
       margin-left: @baseFontSize * -1 + 1px;
       margin-left: @baseFontSize * -1 + 1px;
+<<<<<<< HEAD
 
 
       i {
       i {
       	display: inline-block;
       	display: inline-block;
@@ -70,6 +71,8 @@
 
 
       	text-align: center;
       	text-align: center;
       }
       }
+=======
+>>>>>>> master
     }
     }
   }
   }
 }
 }
@@ -103,7 +106,11 @@
             .box-shadow(0px 0px 3px @linkColor);
             .box-shadow(0px 0px 3px @linkColor);
           }
           }
         }
         }
+<<<<<<< HEAD
       }
       }
+=======
+      } 
+>>>>>>> master
     }
     }
   }
   }
 }
 }

+ 19 - 0
static/cranefly/css/cranefly/watchedthreads.less

@@ -2,6 +2,7 @@
 // -------------------------
 // -------------------------
 
 
 .watched-threads {
 .watched-threads {
+<<<<<<< HEAD
 	margin-top: @fontSizeSmall;
 	margin-top: @fontSizeSmall;
 
 
   .thread-actions {
   .thread-actions {
@@ -12,6 +13,18 @@
     position: relative;
     position: relative;
     top: 7px;
     top: 7px;
     z-index: 2;
     z-index: 2;
+=======
+  .thread-last-reply {
+    border-left: none !important;
+    padding-left: 0px !important;
+  }
+
+  .thread-options {
+    float: right;
+    overflow: auto;
+    position: relative;
+    top: 8px;
+>>>>>>> master
 
 
     form {
     form {
       display: inline-block;
       display: inline-block;
@@ -22,6 +35,7 @@
 
 
       .btn {
       .btn {
         float: right;
         float: right;
+<<<<<<< HEAD
         padding: 4px 10px;
         padding: 4px 10px;
         margin-left: @baseFontSize + 2px;
         margin-left: @baseFontSize + 2px;
 
 
@@ -33,6 +47,11 @@
         	font-size: @fontSizeLarge;
         	font-size: @fontSizeLarge;
         	text-align: center;
         	text-align: center;
         }
         }
+=======
+        padding: 3px 5px;
+        padding-bottom: 0px;
+        margin-left: @baseFontSize + 2px;
+>>>>>>> master
       }
       }
     }
     }
   }
   }

+ 87 - 0
static/cranefly/js/cranefly.js

@@ -4,12 +4,16 @@ $(function () {
   $('.tooltip-bottom').tooltip({placement: 'bottom', container: 'body'})
   $('.tooltip-bottom').tooltip({placement: 'bottom', container: 'body'})
   $('.tooltip-left').tooltip({placement: 'left', container: 'body'})
   $('.tooltip-left').tooltip({placement: 'left', container: 'body'})
   $('.tooltip-right').tooltip({placement: 'right', container: 'body'})
   $('.tooltip-right').tooltip({placement: 'right', container: 'body'})
+<<<<<<< HEAD
 
 
   $('body').tooltip({placement: 'top', container: 'body', selector: '.tooltip-top'})
   $('body').tooltip({placement: 'top', container: 'body', selector: '.tooltip-top'})
   $('body').tooltip({placement: 'bottom', container: 'body', selector: '.tooltip-bottom'})
   $('body').tooltip({placement: 'bottom', container: 'body', selector: '.tooltip-bottom'})
   $('body').tooltip({placement: 'left', container: 'body', selector: '.tooltip-left'})
   $('body').tooltip({placement: 'left', container: 'body', selector: '.tooltip-left'})
   $('body').tooltip({placement: 'right', container: 'body', selector: '.tooltip-right'})
   $('body').tooltip({placement: 'right', container: 'body', selector: '.tooltip-right'})
 
 
+=======
+  
+>>>>>>> master
   // Register popovers
   // Register popovers
   $('.popover-top').popover({placement: 'top'})
   $('.popover-top').popover({placement: 'top'})
   $('.popover-bottom').popover({placement: 'bottom'})
   $('.popover-bottom').popover({placement: 'bottom'})
@@ -22,15 +26,23 @@ $(function () {
       e.preventDefault();
       e.preventDefault();
     }
     }
   });
   });
+<<<<<<< HEAD
 
 
   // Start all dropdowns
   // Start all dropdowns
   $('.dropdown-toggle').dropdown()
   $('.dropdown-toggle').dropdown()
 
 
+=======
+  
+  // Start all dropdowns
+  $('.dropdown-toggle').dropdown()
+  
+>>>>>>> master
   // Dont hide clickable dropdowns
   // Dont hide clickable dropdowns
   $('.dropdown-clickable').on('click', function (e) {
   $('.dropdown-clickable').on('click', function (e) {
     e.stopPropagation()
     e.stopPropagation()
   });
   });
 
 
+<<<<<<< HEAD
   // Ajax Loader
   // Ajax Loader
   var ajax_loader = $('#ajax-loader');
   var ajax_loader = $('#ajax-loader');
   $("body").on({
   $("body").on({
@@ -42,12 +54,18 @@ $(function () {
     }
     }
   });
   });
 
 
+=======
+>>>>>>> master
   // Fancy user nav activation
   // Fancy user nav activation
   $('#fancy-user-nav').show();
   $('#fancy-user-nav').show();
 
 
   // Search form extension
   // Search form extension
   var nav_search_form = $('#navbar-search');
   var nav_search_form = $('#navbar-search');
+<<<<<<< HEAD
   nav_search_form.click(function() {
   nav_search_form.click(function() {
+=======
+  $('#search-field').hover(function() {
+>>>>>>> master
     nav_search_form.addClass('open');
     nav_search_form.addClass('open');
   });
   });
 
 
@@ -58,7 +76,11 @@ $(function () {
   nav_search_form.click(function(event) {
   nav_search_form.click(function(event) {
     event.stopPropagation();
     event.stopPropagation();
   });
   });
+<<<<<<< HEAD
 
 
+=======
+  
+>>>>>>> master
   // Checkbox Group Master
   // Checkbox Group Master
   $('input.checkbox-master').live('click', function(){
   $('input.checkbox-master').live('click', function(){
     if($(this).is(':checked')){
     if($(this).is(':checked')){
@@ -69,27 +91,43 @@ $(function () {
       $('input.checkbox-member').removeAttr('checked');
       $('input.checkbox-member').removeAttr('checked');
     }
     }
   });
   });
+<<<<<<< HEAD
 
 
+=======
+  
+>>>>>>> master
   // Checkbox Group Member
   // Checkbox Group Member
   $('input.checkbox-member').live('click', function(){
   $('input.checkbox-member').live('click', function(){
     if(!$(this).is(':checked')){
     if(!$(this).is(':checked')){
       $('input.checkbox-master').removeAttr('checked');
       $('input.checkbox-master').removeAttr('checked');
     }
     }
   });
   });
+<<<<<<< HEAD
 
 
+=======
+  
+>>>>>>> master
   // Check Confirmation on links
   // Check Confirmation on links
   $('a.confirm').live('click', function(){
   $('a.confirm').live('click', function(){
     var decision = confirm(jQuery.data(this, 'jsconfirm'));
     var decision = confirm(jQuery.data(this, 'jsconfirm'));
     return decision
     return decision
   });
   });
+<<<<<<< HEAD
 
 
+=======
+  
+>>>>>>> master
   // Check Confirmation on forms
   // Check Confirmation on forms
   $('form.confirm').live('submit', function(){
   $('form.confirm').live('submit', function(){
     data = $(this).data();
     data = $(this).data();
     var decision = confirm(data.jsconfirm);
     var decision = confirm(data.jsconfirm);
     return decision
     return decision
   });
   });
+<<<<<<< HEAD
 
 
+=======
+  
+>>>>>>> master
   // Show go back link?
   // Show go back link?
   if (document.referrer
   if (document.referrer
       && document.referrer.indexOf(location.protocol + "//" + location.host) === 0
       && document.referrer.indexOf(location.protocol + "//" + location.host) === 0
@@ -118,27 +156,50 @@ function EnhancePostsMD() {
     // Automagically turn links into players
     // Automagically turn links into players
     var players = new Array();
     var players = new Array();
     $('.markdown.js-extra').each(function() {
     $('.markdown.js-extra').each(function() {
+<<<<<<< HEAD
       $(this).find('a').each(function() {
       $(this).find('a').each(function() {
         link2player(this, $.trim($(this).text()));
         link2player(this, $.trim($(this).text()));
+=======
+      var post_players = 0;
+      $(this).find('a').each(function() {
+        match = link2player($.trim($(this).text()));
+        if (match && $.inArray(match, players) == -1 && players.length < 16 && post_players < 4) {
+          players.push(match);
+          post_players ++;
+          $(this).replaceWith(match);
+        }
+>>>>>>> master
       });
       });
     });
     });
   });
   });
 }
 }
 
 
 // Turn link to player
 // Turn link to player
+<<<<<<< HEAD
 function link2player(element, link_href) {
 function link2player(element, link_href) {
+=======
+function link2player(link_href) {
+>>>>>>> master
   // Youtube link
   // Youtube link
   var re = /watch\?v=((\w|-)+)/;
   var re = /watch\?v=((\w|-)+)/;
   if (re.test(link_href)) {
   if (re.test(link_href)) {
     media_url = link_href.match(re);
     media_url = link_href.match(re);
+<<<<<<< HEAD
     return youtube_player(element, media_url[1]);
     return youtube_player(element, media_url[1]);
+=======
+    return '<iframe width="480" height="360" src="http://www.youtube.com/embed/' + media_url[1] + '" frameborder="0" allowfullscreen></iframe>';
+>>>>>>> master
   }
   }
 
 
   // Youtube feature=embed
   // Youtube feature=embed
   var re = /watch\?feature=player_embedded&v=((\w|-)+)/;
   var re = /watch\?feature=player_embedded&v=((\w|-)+)/;
   if (re.test(link_href)) {
   if (re.test(link_href)) {
     media_url = link_href.match(re);
     media_url = link_href.match(re);
+<<<<<<< HEAD
     return youtube_player(element, media_url[1]);
     return youtube_player(element, media_url[1]);
+=======
+    return '<iframe width="480" height="360" src="http://www.youtube.com/embed/' + media_url[1] + '" frameborder="0" allowfullscreen></iframe>';
+>>>>>>> master
   }
   }
 
 
   // Youtube embed with start time
   // Youtube embed with start time
@@ -150,6 +211,7 @@ function link2player(element, link_href) {
     media_url[2] = 0;
     media_url[2] = 0;
     if (media_minutes) { media_url[2] += (media_minutes[1] - 0) * 60; }
     if (media_minutes) { media_url[2] += (media_minutes[1] - 0) * 60; }
     if (media_seconds) { media_url[2] += (media_seconds[1] - 0); }
     if (media_seconds) { media_url[2] += (media_seconds[1] - 0); }
+<<<<<<< HEAD
     return youtube_player(element, media_url[1], media_url[2]);
     return youtube_player(element, media_url[1], media_url[2]);
   }
   }
 
 
@@ -158,19 +220,34 @@ function link2player(element, link_href) {
   if (re.test(link_href)) {
   if (re.test(link_href)) {
     media_url = link_href.match(re);
     media_url = link_href.match(re);
     return youtube_player(element, media_url[1]);
     return youtube_player(element, media_url[1]);
+=======
+    return '<iframe width="480" height="360" src="http://www.youtube.com/embed/' + media_url[1] + '?start=' + media_url[2] + '" frameborder="0" allowfullscreen></iframe>';
+  }
+  
+  // Youtube embed
+  var re = /youtu.be\/((\w|-)+)/;
+  if (re.test(link_href)) {
+    media_url = link_href.match(re);
+    return '<iframe width="480" height="360" src="http://www.youtube.com/embed/' + media_url[1] + '" frameborder="0" allowfullscreen></iframe>';
+>>>>>>> master
   }
   }
 
 
   // Vimeo link
   // Vimeo link
   var re = /vimeo.com\/([0-9]+)/;
   var re = /vimeo.com\/([0-9]+)/;
   if (re.test(link_href)) {
   if (re.test(link_href)) {
     media_url = link_href.match(re);
     media_url = link_href.match(re);
+<<<<<<< HEAD
     return $(element).replaceWith('<iframe src="http://player.vimeo.com/video/' + media_url[1] + '?color=CF402E" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>');
     return $(element).replaceWith('<iframe src="http://player.vimeo.com/video/' + media_url[1] + '?color=CF402E" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>');
+=======
+    return '<iframe src="http://player.vimeo.com/video/' + media_url[1] + '?color=CF402E" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>';
+>>>>>>> master
   }
   }
 
 
   // No link
   // No link
   return false;
   return false;
 }
 }
 
 
+<<<<<<< HEAD
 // Youtube player
 // Youtube player
 function youtube_player(element, movie_id, startfrom) {
 function youtube_player(element, movie_id, startfrom) {
   if (typeof startfrom != 'undefined') {
   if (typeof startfrom != 'undefined') {
@@ -282,6 +359,8 @@ $(function() {
   });
   });
 });
 });
 
 
+=======
+>>>>>>> master
 // Ajax: Post votes
 // Ajax: Post votes
 $(function() {
 $(function() {
   $('.post-rating-actions').each(function() {
   $('.post-rating-actions').each(function() {
@@ -296,7 +375,11 @@ $(function() {
           $(action_parent).find('.post-score-total').addClass('post-score-good');
           $(action_parent).find('.post-score-total').addClass('post-score-good');
         } else if (data.score_total < 0) {
         } else if (data.score_total < 0) {
           $(action_parent).find('.post-score-total').addClass('post-score-bad');
           $(action_parent).find('.post-score-total').addClass('post-score-bad');
+<<<<<<< HEAD
         }
         }
+=======
+        } 
+>>>>>>> master
         if (data.score_upvotes > 0) {
         if (data.score_upvotes > 0) {
           $(action_parent).find('.post-score-upvotes').addClass('post-score-good');
           $(action_parent).find('.post-score-upvotes').addClass('post-score-good');
         }
         }
@@ -334,7 +417,11 @@ $(function() {
     var button = $(this).find('button');
     var button = $(this).find('button');
     $(this).submit(function() {
     $(this).submit(function() {
       var form = this;
       var form = this;
+<<<<<<< HEAD
       $.post(form.action, {'_csrf_token': csrf_token}, "json").done(function(data, textStatus, jqXHR) {
       $.post(form.action, {'_csrf_token': csrf_token}, "json").done(function(data, textStatus, jqXHR) {
+=======
+      $.post(form.action, {'_csrf_token': csrf_token}, "json").done(function(data, textStatus, jqXHR) {        
+>>>>>>> master
         $(button).text(l_post_reported);
         $(button).text(l_post_reported);
         $(button).tooltip('destroy');
         $(button).tooltip('destroy');
         $(button).attr("title", data.message);
         $(button).attr("title", data.message);

+ 120 - 0
static/cranefly/js/editor.js

@@ -1,5 +1,9 @@
 // Basic editor functions
 // Basic editor functions
+<<<<<<< HEAD
 function storeCaret(ftext) {
 function storeCaret(ftext) {
+=======
+function storeCaret(ftext) {    
+>>>>>>> master
   if (ftext.createTextRange) {
   if (ftext.createTextRange) {
     ftext.caretPos = document.selection.createRange().duplicate();
     ftext.caretPos = document.selection.createRange().duplicate();
   }
   }
@@ -86,6 +90,7 @@ function extractor(query) {
 
 
 // Small and nice editor functionality
 // Small and nice editor functionality
 $(function() {
 $(function() {
+<<<<<<< HEAD
   function textarea(ev) {
   function textarea(ev) {
     return $(ev).parents('.editor-editable').find('textarea');
     return $(ev).parents('.editor-editable').find('textarea');
   }
   }
@@ -201,5 +206,120 @@ $(function() {
   $('.editor-insert-attachment').click(function() {
   $('.editor-insert-attachment').click(function() {
     var insertion_code = $(this).data('attachment-md');
     var insertion_code = $(this).data('attachment-md');
     makeReplace(textareaId(this), insertion_code);
     makeReplace(textareaId(this), insertion_code);
+=======
+  $('.editor-tools').fadeIn(600);
+  $('.editor').each(function() {
+    // Get textarea stuff
+    var textarea = $(this).find('textarea');
+    var textarea_id = $(textarea).attr('id');
+    
+    // Do we have emojis?
+    if (1==2 && ed_emojis.length > 1) {
+      var mode = 0;
+      var open = -1;
+
+      $(textarea).focusout(function() {
+        mode = 0;
+        open = -1;
+      });
+
+      $(textarea).keyup(function() {
+        text = $(textarea).val();
+        cursor = getSelection(textarea_id).start;
+        if (cursor > 0) {
+          // Read typed character and previous character
+          input = text.substring(cursor - 1, cursor);
+          if (cursor > 1) {
+            pre = text.substring(cursor - 2, cursor - 1);
+          } else {
+            pre = '';
+          }
+
+          // Act accordingly to current mode
+          if (mode == 0) {
+            if (input == ':' && !pre.match(/^[A-Za-z0-9]+$/i)) {
+              // Test passed, mode 1 engaged!
+              mode = 1;
+              open = cursor;
+            }
+          } else if (mode == 1) {
+            // Inside emoji mode, we are helping user enter emoji input
+            if (cursor > open && !input.match(/^(\+|\-|[_A-Za-z0-9])+$/i)) {
+              // Emoji fail
+              mode = 0;
+            }
+          }
+        }
+      });
+    }
+
+    // Handle buttons
+    $('.editor-bold').click(function() {
+      makeWrap(textarea_id, '**', '**');
+      return false;
+    });
+    
+    $('.editor-emphasis').click(function() {
+      makeWrap(textarea_id, '*', '*');
+      return false;
+    });
+    
+    $('.editor-link').click(function() {
+      var selection = $.trim(getSelectionText(textarea_id));
+      if (is_url(selection)) {
+        var link_url = $.trim(prompt(ed_lang_enter_link_url, selection));
+        selection = false;
+      } else {
+        var link_url = $.trim(prompt(ed_lang_enter_link_url));
+      }
+
+      if (is_url(link_url)) {
+        if (selection) {
+          var link_label = $.trim(prompt(ed_lang_enter_link_label, selection));
+        } else {
+          var link_label = $.trim(prompt(ed_lang_enter_link_label));
+        }
+
+        if (link_label.length > 0) {
+          makeReplace(textarea_id, '[' + link_label + '](' + link_url + ')');
+        } else {
+          makeReplace(textarea_id, '<' + link_url + '>');
+        }
+      }
+
+      return false;
+    });
+    
+    $('.editor-image').click(function() {
+      var selection = $.trim(getSelectionText(textarea_id));
+      if (is_url(selection)) {
+        var image_url = $.trim(prompt(ed_lang_enter_image_url, selection));
+        selection = false;
+      } else {
+        var image_url = $.trim(prompt(ed_lang_enter_image_url));
+      }
+
+      if (is_url(image_url)) {
+        if (selection) {
+          var image_label = $.trim(prompt(ed_lang_enter_image_label, selection));
+        } else {
+          var image_label = $.trim(prompt(ed_lang_enter_image_label));
+        }
+
+        if (image_label.length > 0) {
+          makeReplace(textarea_id, '![' + image_label + '](' + image_url + ')');
+        } else {
+          makeReplace(textarea_id, '!(' + image_url + ')');
+        }
+      }
+
+      return false;
+    });
+    
+    $('.editor-hr').click(function() {
+      makeReplace(textarea_id, '\r\n\r\n- - - - -\r\n\r\n');
+      return false;
+    });
+>>>>>>> master
   });
   });
 });
 });