ultimate-base 0.2.4 → 0.3.0.alpha
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -1
- data/.rvmrc +0 -1
- data/.rvmrc.example +0 -1
- data/Gemfile +6 -0
- data/Gemfile.lock +113 -1
- data/app/assets/javascripts/ultimate/backbone/base.js.coffee +14 -2
- data/app/assets/javascripts/ultimate/backbone/extra/jquery-plugin-adapter.js.coffee +1 -1
- data/app/assets/javascripts/ultimate/backbone/model.js.coffee +6 -0
- data/app/assets/javascripts/ultimate/backbone/view.js.coffee +5 -4
- data/app/assets/javascripts/ultimate/backbone/views/slider.js.coffee +4 -1
- data/app/assets/javascripts/ultimate/helpers/asset_tag.js.coffee +71 -54
- data/app/assets/javascripts/ultimate/helpers/base.js.coffee +3 -0
- data/app/assets/javascripts/ultimate/helpers/decor.js.coffee +19 -14
- data/app/assets/javascripts/ultimate/helpers/number.js.coffee +600 -0
- data/app/assets/javascripts/ultimate/helpers/record_tag.js.coffee +66 -0
- data/app/assets/javascripts/ultimate/helpers/tag.js.coffee +77 -0
- data/app/assets/javascripts/ultimate/helpers/url.js.coffee +49 -0
- data/app/assets/javascripts/ultimate/helpers.js.coffee +39 -66
- data/app/assets/javascripts/ultimate/{devise.js.coffee → improves/devise.js.coffee} +0 -0
- data/app/assets/javascripts/ultimate/improves/i18n-lite.js.coffee +18 -12
- data/app/assets/javascripts/ultimate/improves/magic-radios.js.coffee +2 -0
- data/app/assets/javascripts/ultimate/improves/typed-fields.js.coffee +13 -14
- data/app/assets/javascripts/ultimate/{base.js.coffee → jquery.base.js.coffee} +24 -37
- data/app/assets/javascripts/ultimate/{experimental/_inflections → underscore}/underscore.inflection.js +19 -18
- data/app/assets/javascripts/ultimate/underscore/underscore.outcasts.js.coffee +123 -0
- data/app/assets/javascripts/ultimate/underscore/underscore.string.js +16 -6
- data/config/routes.rb +2 -0
- data/lib/{ultimate-base → ultimate/base}/engine.rb +1 -0
- data/lib/{ultimate-base → ultimate/base}/version.rb +1 -1
- data/lib/ultimate/base.rb +10 -0
- data/lib/{ultimate-base → ultimate}/extensions/directive_processor.rb +0 -0
- data/lib/{ultimate-base → ultimate}/extensions/sass_script_functions.rb +0 -0
- data/scripts/rails +8 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/_emfile +18 -0
- data/{app/assets/javascripts/ultimate/helpers/forms.js.coffee → test/dummy/app/assets/images/.gitkeep} +0 -0
- data/test/dummy/app/assets/javascripts/application.js +3 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/assets/stylesheets/global/forms.css.scss +65 -0
- data/test/dummy/app/assets/stylesheets/global/layout/footer.scss +18 -0
- data/test/dummy/app/assets/stylesheets/global/layout/header.scss +13 -0
- data/test/dummy/app/assets/stylesheets/global/layout/main-menu.scss +68 -0
- data/test/dummy/app/assets/stylesheets/global/layout.css.scss +46 -0
- data/test/dummy/app/assets/stylesheets/global/reserved.css.scss +79 -0
- data/test/dummy/app/assets/stylesheets/global/reset.css.scss +85 -0
- data/test/dummy/app/assets/stylesheets/global/structures.css.scss +9 -0
- data/test/dummy/app/assets/stylesheets/import/base.scss +34 -0
- data/test/dummy/app/assets/stylesheets/plugins/qunit.css.scss +3 -0
- data/test/dummy/app/controllers/application_controller.rb +4 -0
- data/test/dummy/app/controllers/main_controller.rb +8 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/mailers/.gitkeep +0 -0
- data/test/dummy/app/models/.gitkeep +0 -0
- data/test/dummy/app/views/application/_footer.html.haml +3 -0
- data/test/dummy/app/views/application/_header.html.haml +4 -0
- data/test/dummy/app/views/application/_main_menu.html.haml +11 -0
- data/test/dummy/app/views/layouts/application.html.haml +24 -0
- data/test/dummy/app/views/main/index.html.haml +13 -0
- data/test/dummy/app/views/main/qunit.html.haml +7 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +40 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/qunit-rails.rb +1 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +63 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/log/.gitkeep +0 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/javascripts/all_tests.js.coffee +13 -0
- data/test/javascripts/test_helper.js.coffee +3 -0
- data/test/javascripts/tests/base_test.js.coffee +42 -0
- data/test/javascripts/tests/helpers/asset_tag_test.js.coffee +51 -0
- data/test/javascripts/tests/helpers/number_test.js.coffee +250 -0
- data/test/javascripts/tests/helpers/record_tag_test.js.coffee +56 -0
- data/test/javascripts/tests/helpers/tag_test.js.coffee +33 -0
- data/test/javascripts/tests/helpers/url_test.js.coffee +28 -0
- data/test/javascripts/tests/helpers_test.js.coffee +47 -0
- data/test/javascripts/tests/improves/i18n-lite_test.js.coffee +25 -0
- data/test/javascripts/tests/underscore/underscore.outcasts.test.js.coffee +38 -0
- data/test/stylesheets/test_helper.css +4 -0
- data/ultimate-base.gemspec +4 -4
- metadata +116 -24
- data/app/assets/javascripts/ultimate/bus.js.coffee +0 -57
- data/app/assets/javascripts/ultimate/experimental/_inflections/dzone.inflections.js +0 -154
- data/app/assets/javascripts/ultimate/helpers/array.js.coffee +0 -63
- data/app/assets/javascripts/ultimate/helpers/tags.js.coffee +0 -73
- data/app/assets/javascripts/ultimate/widgets/dock.js.coffee +0 -70
- data/app/assets/javascripts/ultimate/widgets/gear.js.coffee +0 -84
- data/app/assets/javascripts/ultimate/widgets/jquery-ext.js.coffee +0 -104
- data/app/assets/javascripts/ultimate/widgets/jquery.adapter.js.coffee +0 -62
- data/app/assets/javascripts/ultimate/widgets/widget.js.coffee +0 -115
- 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, ' ', (group) -> cout group
|
81
|
+
[1, 2]
|
82
|
+
[3, " "]
|
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
|
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
|
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
File without changes
|
File without changes
|
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'
|
data/test/dummy/Rakefile
ADDED
@@ -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
|
data/test/dummy/_emfile
ADDED
@@ -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"
|
File without changes
|
@@ -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,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,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;
|