Package not found. Please check the package name and try again.

ultimate-base 0.2.4 → 0.3.0.alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. data/.gitignore +4 -1
  2. data/.rvmrc +0 -1
  3. data/.rvmrc.example +0 -1
  4. data/Gemfile +6 -0
  5. data/Gemfile.lock +113 -1
  6. data/app/assets/javascripts/ultimate/backbone/base.js.coffee +14 -2
  7. data/app/assets/javascripts/ultimate/backbone/extra/jquery-plugin-adapter.js.coffee +1 -1
  8. data/app/assets/javascripts/ultimate/backbone/model.js.coffee +6 -0
  9. data/app/assets/javascripts/ultimate/backbone/view.js.coffee +5 -4
  10. data/app/assets/javascripts/ultimate/backbone/views/slider.js.coffee +4 -1
  11. data/app/assets/javascripts/ultimate/helpers/asset_tag.js.coffee +71 -54
  12. data/app/assets/javascripts/ultimate/helpers/base.js.coffee +3 -0
  13. data/app/assets/javascripts/ultimate/helpers/decor.js.coffee +19 -14
  14. data/app/assets/javascripts/ultimate/helpers/number.js.coffee +600 -0
  15. data/app/assets/javascripts/ultimate/helpers/record_tag.js.coffee +66 -0
  16. data/app/assets/javascripts/ultimate/helpers/tag.js.coffee +77 -0
  17. data/app/assets/javascripts/ultimate/helpers/url.js.coffee +49 -0
  18. data/app/assets/javascripts/ultimate/helpers.js.coffee +39 -66
  19. data/app/assets/javascripts/ultimate/{devise.js.coffee → improves/devise.js.coffee} +0 -0
  20. data/app/assets/javascripts/ultimate/improves/i18n-lite.js.coffee +18 -12
  21. data/app/assets/javascripts/ultimate/improves/magic-radios.js.coffee +2 -0
  22. data/app/assets/javascripts/ultimate/improves/typed-fields.js.coffee +13 -14
  23. data/app/assets/javascripts/ultimate/{base.js.coffee → jquery.base.js.coffee} +24 -37
  24. data/app/assets/javascripts/ultimate/{experimental/_inflections → underscore}/underscore.inflection.js +19 -18
  25. data/app/assets/javascripts/ultimate/underscore/underscore.outcasts.js.coffee +123 -0
  26. data/app/assets/javascripts/ultimate/underscore/underscore.string.js +16 -6
  27. data/config/routes.rb +2 -0
  28. data/lib/{ultimate-base → ultimate/base}/engine.rb +1 -0
  29. data/lib/{ultimate-base → ultimate/base}/version.rb +1 -1
  30. data/lib/ultimate/base.rb +10 -0
  31. data/lib/{ultimate-base → ultimate}/extensions/directive_processor.rb +0 -0
  32. data/lib/{ultimate-base → ultimate}/extensions/sass_script_functions.rb +0 -0
  33. data/scripts/rails +8 -0
  34. data/test/dummy/Rakefile +7 -0
  35. data/test/dummy/_emfile +18 -0
  36. data/{app/assets/javascripts/ultimate/helpers/forms.js.coffee → test/dummy/app/assets/images/.gitkeep} +0 -0
  37. data/test/dummy/app/assets/javascripts/application.js +3 -0
  38. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  39. data/test/dummy/app/assets/stylesheets/global/forms.css.scss +65 -0
  40. data/test/dummy/app/assets/stylesheets/global/layout/footer.scss +18 -0
  41. data/test/dummy/app/assets/stylesheets/global/layout/header.scss +13 -0
  42. data/test/dummy/app/assets/stylesheets/global/layout/main-menu.scss +68 -0
  43. data/test/dummy/app/assets/stylesheets/global/layout.css.scss +46 -0
  44. data/test/dummy/app/assets/stylesheets/global/reserved.css.scss +79 -0
  45. data/test/dummy/app/assets/stylesheets/global/reset.css.scss +85 -0
  46. data/test/dummy/app/assets/stylesheets/global/structures.css.scss +9 -0
  47. data/test/dummy/app/assets/stylesheets/import/base.scss +34 -0
  48. data/test/dummy/app/assets/stylesheets/plugins/qunit.css.scss +3 -0
  49. data/test/dummy/app/controllers/application_controller.rb +4 -0
  50. data/test/dummy/app/controllers/main_controller.rb +8 -0
  51. data/test/dummy/app/helpers/application_helper.rb +2 -0
  52. data/test/dummy/app/mailers/.gitkeep +0 -0
  53. data/test/dummy/app/models/.gitkeep +0 -0
  54. data/test/dummy/app/views/application/_footer.html.haml +3 -0
  55. data/test/dummy/app/views/application/_header.html.haml +4 -0
  56. data/test/dummy/app/views/application/_main_menu.html.haml +11 -0
  57. data/test/dummy/app/views/layouts/application.html.haml +24 -0
  58. data/test/dummy/app/views/main/index.html.haml +13 -0
  59. data/test/dummy/app/views/main/qunit.html.haml +7 -0
  60. data/test/dummy/config/application.rb +59 -0
  61. data/test/dummy/config/boot.rb +10 -0
  62. data/test/dummy/config/database.yml +25 -0
  63. data/test/dummy/config/environment.rb +5 -0
  64. data/test/dummy/config/environments/development.rb +40 -0
  65. data/test/dummy/config/environments/production.rb +67 -0
  66. data/test/dummy/config/environments/test.rb +37 -0
  67. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  68. data/test/dummy/config/initializers/inflections.rb +15 -0
  69. data/test/dummy/config/initializers/mime_types.rb +5 -0
  70. data/test/dummy/config/initializers/qunit-rails.rb +1 -0
  71. data/test/dummy/config/initializers/secret_token.rb +7 -0
  72. data/test/dummy/config/initializers/session_store.rb +8 -0
  73. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  74. data/test/dummy/config/locales/en.yml +5 -0
  75. data/test/dummy/config/routes.rb +63 -0
  76. data/test/dummy/config.ru +4 -0
  77. data/test/dummy/log/.gitkeep +0 -0
  78. data/test/dummy/public/404.html +26 -0
  79. data/test/dummy/public/422.html +26 -0
  80. data/test/dummy/public/500.html +25 -0
  81. data/test/dummy/public/favicon.ico +0 -0
  82. data/test/dummy/script/rails +6 -0
  83. data/test/javascripts/all_tests.js.coffee +13 -0
  84. data/test/javascripts/test_helper.js.coffee +3 -0
  85. data/test/javascripts/tests/base_test.js.coffee +42 -0
  86. data/test/javascripts/tests/helpers/asset_tag_test.js.coffee +51 -0
  87. data/test/javascripts/tests/helpers/number_test.js.coffee +250 -0
  88. data/test/javascripts/tests/helpers/record_tag_test.js.coffee +56 -0
  89. data/test/javascripts/tests/helpers/tag_test.js.coffee +33 -0
  90. data/test/javascripts/tests/helpers/url_test.js.coffee +28 -0
  91. data/test/javascripts/tests/helpers_test.js.coffee +47 -0
  92. data/test/javascripts/tests/improves/i18n-lite_test.js.coffee +25 -0
  93. data/test/javascripts/tests/underscore/underscore.outcasts.test.js.coffee +38 -0
  94. data/test/stylesheets/test_helper.css +4 -0
  95. data/ultimate-base.gemspec +4 -4
  96. metadata +116 -24
  97. data/app/assets/javascripts/ultimate/bus.js.coffee +0 -57
  98. data/app/assets/javascripts/ultimate/experimental/_inflections/dzone.inflections.js +0 -154
  99. data/app/assets/javascripts/ultimate/helpers/array.js.coffee +0 -63
  100. data/app/assets/javascripts/ultimate/helpers/tags.js.coffee +0 -73
  101. data/app/assets/javascripts/ultimate/widgets/dock.js.coffee +0 -70
  102. data/app/assets/javascripts/ultimate/widgets/gear.js.coffee +0 -84
  103. data/app/assets/javascripts/ultimate/widgets/jquery-ext.js.coffee +0 -104
  104. data/app/assets/javascripts/ultimate/widgets/jquery.adapter.js.coffee +0 -62
  105. data/app/assets/javascripts/ultimate/widgets/widget.js.coffee +0 -115
  106. data/lib/ultimate-base.rb +0 -10
@@ -0,0 +1,123 @@
1
+ ###
2
+ Underscore.outcasts
3
+ (c) 2012 Dmitry Karpunin <koderfunk aet gmail dot com>
4
+ Underscore.outcasts is freely distributable under the terms of the MIT license.
5
+ Documentation: https://github.com/KODerFunk/underscore.outcasts
6
+ Some code is borrowed from outcasts pull requests to Underscore.
7
+ Version '0.1.1'
8
+ ###
9
+
10
+ 'use strict'
11
+
12
+
13
+
14
+ # Defining underscore.outcasts
15
+
16
+ UnderscoreOutcasts =
17
+
18
+ VERSION: '0.1.1'
19
+
20
+ delete: (object, key) ->
21
+ value = object[key]
22
+ delete object[key]
23
+ value
24
+
25
+ blockGiven: (args) ->
26
+ block = _.last(args)
27
+ if _.isFunction(block) then block else null
28
+
29
+ sortHash: (hash, byValue = false) ->
30
+ _.sortBy(_.map(hash, (value, key) -> [key, value]), (pair) -> pair[if byValue then 1 else 0])
31
+
32
+ regexpValidKey: /^[\w\-]+$/
33
+
34
+ invert: (object) ->
35
+ result = {}
36
+ for key, value of object
37
+ if _.isArray(value)
38
+ for newKey in value when UnderscoreOutcasts.regexpValidKey.test(newKey)
39
+ result[newKey] = key
40
+ else if UnderscoreOutcasts.regexpValidKey.test(value)
41
+ if _.has(result, value)
42
+ if _.isArray(result[value])
43
+ result[value].push key
44
+ else
45
+ result[value] = [result[value], key]
46
+ else
47
+ result[value] = key
48
+ result
49
+
50
+
51
+ ###
52
+ Split array into slices of <number> elements.
53
+ Map result by iterator if last given.
54
+
55
+ >>> eachSlice [1..10], 3, (a) -> cout a
56
+ [1, 2, 3]
57
+ [4, 5, 6]
58
+ [7, 8, 9]
59
+ [10]
60
+ ###
61
+ eachSlice: (array, number) ->
62
+ size = array.length
63
+ index = 0
64
+ slices = []
65
+ while index < size
66
+ nextIndex = index + number
67
+ slices.push array.slice(index, nextIndex)
68
+ index = nextIndex
69
+ if block = @blockGiven(arguments) then _.map(slices, block) else slices
70
+
71
+ ###
72
+ Splits or iterates over the array in groups of size +number+,
73
+ padding any remaining slots with +fill_with+ unless it is +false+.
74
+
75
+ >>> inGroupsOf [1..7], 3, (group) -> cout group
76
+ [1, 2, 3]
77
+ [4, 5, 6]
78
+ [7, null, null]
79
+
80
+ >>> inGroupsOf [1..3], 2, '&nbsp;', (group) -> cout group
81
+ [1, 2]
82
+ [3, "&nbsp;"]
83
+
84
+ >>> inGroupsOf [1..3], 2, false, (group) -> cout group
85
+ [1, 2]
86
+ [3]
87
+ ###
88
+ inGroupsOf: (array, number, fillWith = null) ->
89
+ return array if number < 1
90
+ unless fillWith is false
91
+ # size % number gives how many extra we have;
92
+ # subtracting from number gives how many to add;
93
+ # modulo number ensures we don't add group of just fill.
94
+ padding = (number - array.length % number) % number
95
+ if padding
96
+ fillWith = null if _.isFunction(fillWith)
97
+ array = array.slice()
98
+ array.push(fillWith) while padding-- > 0
99
+ @eachSlice array, number, @blockGiven(arguments)
100
+
101
+ exports: ->
102
+ result = {}
103
+ for prop of @
104
+ continue if not @hasOwnProperty(prop) or prop.match(/^(?:include|contains|reverse)$/)
105
+ result[prop] = @[prop]
106
+ result
107
+
108
+
109
+
110
+ # CommonJS module is defined
111
+ if exports?
112
+ if module?.exports
113
+ # Export module
114
+ module.exports = UnderscoreOutcasts
115
+ exports.UnderscoreOutcasts = UnderscoreOutcasts
116
+ else if define?.amd
117
+ # Register as a named module with AMD.
118
+ define 'underscore.outcasts', [], -> UnderscoreOutcasts
119
+ else
120
+ # Integrate with Underscore.js if defined
121
+ # or create our own underscore object.
122
+ @_ ||= {}
123
+ @_.outcasts = @_.out = UnderscoreOutcasts
@@ -28,11 +28,13 @@
28
28
 
29
29
  var slice = [].slice;
30
30
 
31
- var defaultToWhiteSpace = function(characters){
32
- if (characters != null) {
31
+ var defaultToWhiteSpace = function(characters) {
32
+ if (characters == null)
33
+ return '\\s';
34
+ else if (characters.source)
35
+ return characters.source;
36
+ else
33
37
  return '[' + _s.escapeRegExp(characters) + ']';
34
- }
35
- return '\\s';
36
38
  };
37
39
 
38
40
  var escapeChars = {
@@ -378,7 +380,7 @@
378
380
  },
379
381
 
380
382
  words: function(str, delimiter) {
381
- if (str == null || str == '') return '';
383
+ if (_s.isBlank(str)) return [];
382
384
  return _s.trim(str, delimiter).split(delimiter || /\s+/);
383
385
  },
384
386
 
@@ -473,14 +475,22 @@
473
475
  return ~pos ? str.slice(0, pos) : str;
474
476
  },
475
477
 
476
- toSentence: function(array, separator, lastSeparator) {
478
+ toSentence: function(array, separator, lastSeparator, serial) {
477
479
  separator = separator || ', '
478
480
  lastSeparator = lastSeparator || ' and '
479
481
  var a = array.slice(), lastMember = a.pop();
480
482
 
483
+ if (array.length > 2 && serial) lastSeparator = _s.rtrim(separator) + lastSeparator;
484
+
481
485
  return a.length ? a.join(separator) + lastSeparator + lastMember : lastMember;
482
486
  },
483
487
 
488
+ toSentenceSerial: function() {
489
+ var args = slice.call(arguments);
490
+ args[3] = true;
491
+ return _s.toSentence.apply(_s, args);
492
+ },
493
+
484
494
  slugify: function(str) {
485
495
  if (str == null) return '';
486
496
 
data/config/routes.rb ADDED
@@ -0,0 +1,2 @@
1
+ Ultimate::Base::Engine.routes.draw do
2
+ end
@@ -1,6 +1,7 @@
1
1
  module Ultimate
2
2
  module Base
3
3
  class Engine < ::Rails::Engine
4
+ isolate_namespace Ultimate::Base
4
5
  end
5
6
  end
6
7
  end
@@ -1,5 +1,5 @@
1
1
  module Ultimate
2
2
  module Base
3
- VERSION = "0.2.4"
3
+ VERSION = "0.3.0.alpha"
4
4
  end
5
5
  end
@@ -0,0 +1,10 @@
1
+ require "ultimate/base/version"
2
+ require "ultimate/base/engine"
3
+ require "ultimate/extensions/directive_processor"
4
+ require "ultimate/extensions/sass_script_functions"
5
+
6
+ module Ultimate
7
+ module Base
8
+
9
+ end
10
+ end
data/scripts/rails ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ ENGINE_ROOT = File.expand_path('../..', __FILE__)
5
+ ENGINE_PATH = File.expand_path('../../lib/ultimate-base/engine', __FILE__)
6
+
7
+ require 'rails/all'
8
+ require 'rails/engine/commands'
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env rake
2
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
3
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
4
+
5
+ require File.expand_path('../config/application', __FILE__)
6
+
7
+ Dummy::Application.load_tasks
@@ -0,0 +1,18 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in ultimate-base.gemspec
4
+ gemspec path: "../.."
5
+
6
+ #gem "rails", "~> 3.2.8"
7
+ #gem "sqlite3"
8
+ #
9
+ #group :assets do
10
+ # gem "coffee-rails", "~> 3.2.1"
11
+ # gem "therubyracer"
12
+ #end
13
+
14
+ #gem "sass-rails", "~> 3.2.3"
15
+ #gem "haml"
16
+ #gem "jquery-rails"
17
+ #gem "qunit-rails"
18
+ #gem "quiet_assets"
@@ -0,0 +1,3 @@
1
+ //= require jquery
2
+ //= require jquery_ujs
3
+ //= require_tree .
@@ -0,0 +1,13 @@
1
+ /*
2
+
3
+ = require_self
4
+
5
+ = require global/reset
6
+ = require global/forms
7
+ = require global/reserved
8
+ = require global/layout
9
+ = require global/structures
10
+
11
+ = require_tree ./plugins
12
+
13
+ */
@@ -0,0 +1,65 @@
1
+ @import "import/base";
2
+
3
+ label {
4
+ display: block;
5
+ padding: 0 0 5px 0;
6
+ font-size: 16px;
7
+ cursor: pointer;
8
+ &.small {
9
+ @include inline-block;
10
+ margin-left: 5px;
11
+ font-size: 13px;
12
+ color: #ccc;
13
+ &:first-child {
14
+ margin-left: 0;
15
+ }
16
+ }
17
+ }
18
+
19
+ input {
20
+ position: relative;
21
+ border: 0;
22
+ &::-moz-focus-inner {
23
+ border: 0;
24
+ padding: 0;
25
+ }
26
+ &[type="text"] {
27
+ width: 260px;
28
+ height: 21px;
29
+ }
30
+ &[type="submit"] {
31
+ height: 27px;
32
+ padding: 0 5px;
33
+ @include font_custom(16px);
34
+ color: $c-white;
35
+ background: $c-pink;
36
+ cursor: pointer;
37
+ }
38
+ }
39
+
40
+ input, select {
41
+ outline: 0;
42
+ @include font_base(15px, 21px);
43
+ }
44
+
45
+ input[type="text"], select, textarea {
46
+ border: 0;
47
+ padding: 3px 6px;
48
+ background: #4C4C4C;
49
+ color: $c-white;
50
+ }
51
+
52
+ select {
53
+ width: 88px;
54
+ height: 26px;
55
+ }
56
+
57
+ textarea {
58
+ height: 140px;
59
+ max-width: 360px;
60
+ min-height: 140px;
61
+ min-height: 100px;
62
+ min-width: 260px;
63
+ width: 260px;
64
+ }
65
+
@@ -0,0 +1,18 @@
1
+ > .l-page__footer {
2
+ @include user-select;
3
+ height: $l-page__footer_height;
4
+ line-height: $l-page__footer_height - 2px;
5
+ color: #545454;
6
+ font-size: 12px;
7
+ a {
8
+ color: #545454;
9
+ font-weight: bold;
10
+ &:hover {
11
+ text-decoration: underline;
12
+ }
13
+ }
14
+ .l-page__center {
15
+ width: $l-page_width - 20px * 2;
16
+ margin: 0 auto;
17
+ }
18
+ }
@@ -0,0 +1,13 @@
1
+ > .l-page__header {
2
+ @include user-select;
3
+ height: $l-page__header_height;
4
+ line-height: $l-page__header_height - 2px;
5
+ padding: 0 20px;
6
+
7
+ .logo {
8
+ > .caption {
9
+ @include font_custom(27px);
10
+ }
11
+ }
12
+
13
+ }
@@ -0,0 +1,68 @@
1
+ > ul.l-page__main-menu {
2
+ @include user-select;
3
+ @include inline-block-list;
4
+ @include font_custom(22px);
5
+ padding: 18px 0 35px 15px;
6
+ position: relative;
7
+ z-index: 10;
8
+
9
+ > li {
10
+ padding: 8px 20px;
11
+ text-transform: capitalize;
12
+ > a {
13
+ display: block;
14
+ padding: 0 7px;
15
+ border-bottom: 1px solid #00c9eb;
16
+ &:hover {
17
+ border-bottom-color: $c-sub-menu;
18
+ }
19
+ }
20
+
21
+ &.with-sub-menu {
22
+ @include border-radius(10px 10px 0 0);
23
+ @include pie;
24
+ position: relative;
25
+ > a {
26
+ padding: 0 11px;
27
+ }
28
+ > ul.sub-menu {
29
+ display: none;
30
+ position: absolute;
31
+ left: 0;
32
+ top: 35px;
33
+ background: $c-sub-menu;
34
+ font-size: 18px;
35
+ width: 100%;
36
+ border-radius: 0 0 10px 10px;
37
+ text-align: left;
38
+ padding: 5px 0 10px;
39
+
40
+ > li {
41
+ padding: 0 10px;
42
+ line-height: 24px;
43
+ display: block;
44
+
45
+ > a {
46
+ @include inline-block($vertical-align: baseline);
47
+ border-bottom: 1px dotted $c-sub-menu;
48
+ &:hover {
49
+ border-bottom-color: $c-white;
50
+ }
51
+ }
52
+ }
53
+ }
54
+
55
+ &:hover {
56
+ background: $c-sub-menu asset-data-url("layout/main-menu__item_hover.png") 50% -4px no-repeat;
57
+ > a {
58
+ border-bottom-color: $c-sub-menu;
59
+ }
60
+ > ul.sub-menu {
61
+ display: block;
62
+ }
63
+ }
64
+
65
+ }
66
+ }
67
+
68
+ }
@@ -0,0 +1,46 @@
1
+ @import "import/base";
2
+ //@import "ultimate/flash";
3
+
4
+ $images-path: $layout-images-path;
5
+
6
+ //@include font-face($font-name_custom, "appetite");
7
+
8
+ body {
9
+ @include font_base($font-size_base /*, 1.2*/);
10
+ min-width: $l-page_width;
11
+ margin: 0;
12
+ padding: 0;
13
+ cursor: default;
14
+ background: $c-body;
15
+ color: $c-white;
16
+ }
17
+
18
+ .l-page {
19
+ width: $l-page_width;
20
+ margin: 0 auto;
21
+ overflow: hidden;
22
+
23
+ //.l-page__flashes {
24
+ // @include ultimate-flash($background-alpha: 0.7);
25
+ // @include font_custom;
26
+ //}
27
+
28
+ @import "layout/header";
29
+
30
+ //@import "layout/main-menu";
31
+
32
+ > .l-page__content {
33
+ .l-page__title {
34
+ @include font_custom(23px);
35
+ border-bottom: 1px solid #434343;
36
+ padding: 0;
37
+ height: 35px;
38
+ margin-bottom: 12px;
39
+ }
40
+ }
41
+
42
+ @import "layout/footer";
43
+
44
+ }
45
+
46
+ @include sticky-footer($l-page__footer_height);
@@ -0,0 +1,79 @@
1
+ @import "import/base";
2
+
3
+ .bold {
4
+ font-weight: bold;
5
+ }
6
+
7
+ .italic {
8
+ font-style: italic;
9
+ }
10
+
11
+ .uline {
12
+ text-decoration: underline;
13
+ }
14
+
15
+ .strike {
16
+ text-decoration: line-through;
17
+ }
18
+
19
+ .hidden {
20
+ display: none;
21
+ }
22
+
23
+ .hidden-important {
24
+ display: none !important;
25
+ }
26
+
27
+ .block {
28
+ display: block;
29
+ }
30
+
31
+ .inline-block {
32
+ @include inline-block;
33
+ }
34
+
35
+ .nowrap {
36
+ white-space: nowrap;
37
+ }
38
+
39
+ a.image {
40
+ display: block;
41
+ position: relative;
42
+ text-decoration: none;
43
+ }
44
+
45
+ .no-info, .loading {
46
+ font-style: italic;
47
+ }
48
+
49
+ .float-left {
50
+ float: left;
51
+ }
52
+
53
+ .float-right {
54
+ float: right;
55
+ }
56
+
57
+ .clear {
58
+ clear: both;
59
+ }
60
+
61
+ .clear-left {
62
+ clear: left;
63
+ }
64
+
65
+ .clear-right {
66
+ clear: right;
67
+ }
68
+
69
+ .g-justify {
70
+ @include g-justify;
71
+ }
72
+
73
+ img.middle {
74
+ vertical-align: middle;
75
+ }
76
+
77
+ .text-center {
78
+ text-align: center;
79
+ }
@@ -0,0 +1,85 @@
1
+ @import "../import/base";
2
+
3
+ img {
4
+ border: 0;
5
+ outline: 0;
6
+ vertical-align: bottom;
7
+ }
8
+
9
+ div {
10
+ position: relative;
11
+ }
12
+
13
+ header, nav, aside, section, article, footer {
14
+ display: block;
15
+ position: relative;
16
+ }
17
+
18
+ em, i {
19
+ font-style: normal;
20
+ }
21
+
22
+ h1, h2, h3, h4, h5, h6 {
23
+ margin: 0;
24
+ padding: 5px 0;
25
+ font-weight: normal;
26
+ }
27
+
28
+ //@mixin hx($n, $size, $margin: false) {
29
+ // h#{$n} {
30
+ // font-size: $size;
31
+ // @if $margin {
32
+ // margin: $margin;
33
+ // }
34
+ // }
35
+ //}
36
+ //@include hx(1, 38px);
37
+ //@include hx(2, 36px);
38
+ //@include hx(3, 21px);
39
+ //@include hx(4, 18px);
40
+ //@include hx(5, 14px);
41
+ //@include hx(6, 12px);
42
+
43
+ p {
44
+ margin: 0;
45
+ padding: 5px 0;
46
+ cursor: text;
47
+ }
48
+
49
+ span {
50
+ cursor: default;
51
+ }
52
+
53
+ a {
54
+ color: $c-link;
55
+ outline: none;
56
+ text-decoration: none;
57
+ span {
58
+ cursor: pointer;
59
+ }
60
+ &:hover {
61
+ color: $c-link_hover;
62
+ }
63
+ }
64
+
65
+ ul {
66
+ margin: 0;
67
+ }
68
+
69
+ //li {
70
+ // list-style-type: none;
71
+ //}
72
+
73
+ //table {
74
+ // width: 100%;
75
+ // border-collapse: collapse;
76
+ // tr {
77
+ // > th, > td {
78
+ // padding: 0;
79
+ // vertical-align: top;
80
+ // }
81
+ // > th {
82
+ // font-weight: normal;
83
+ // }
84
+ // }
85
+ //}
@@ -0,0 +1,9 @@
1
+ @import "import/base";
2
+
3
+ .g-date {
4
+ display: block;
5
+ font-size: 11px;
6
+ font-style: italic;
7
+ font-weight: normal;
8
+ color: #acacac;
9
+ }
@@ -0,0 +1,34 @@
1
+ @import "ultimate/mixins/microstructures";
2
+ @import "ultimate/mixins/css3";
3
+ @import "ultimate/mixins/fonts";
4
+
5
+ $layout-images-path: "layout";
6
+
7
+ $font-family_base: Tahoma, Helvetica, sans-serif;
8
+ $font-size_base: 14px;
9
+ $font-name_custom: "Cuprum";
10
+ $font-family_custom: $font-name_custom, "Trebuchet MS", Tahoma, sans-serif;
11
+
12
+ $l-page__header_height: 50px;
13
+ $l-page__footer_height: 60px;
14
+
15
+ $l-page_width: 980px;
16
+
17
+ $news__picture_width: 246px;
18
+ $news__picture_height: 163px;
19
+
20
+ $model__photo_small_width: 80px;
21
+ $model__photo_small_height: 111px;
22
+ $model__photo_middle_width: 230px;
23
+ $model__photo_middle_height: 306px;
24
+ $model__photo_big_width: 325px;
25
+ $model__photo_big_height: 475px;
26
+
27
+ $c-pitch-black: #000000;
28
+ $c-white: #ffffff;
29
+ $c-body: #1f1f1f;
30
+ $c-page: $c-pitch-black;
31
+ $c-link: $c-white;
32
+ $c-link_hover: #9df;
33
+ $c-pink: #FF0F51;
34
+ $c-sub-menu: $c-pink;
@@ -0,0 +1,3 @@
1
+ #qunit-tests li strong span {
2
+ cursor: pointer;
3
+ }