Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
SRCT
photos
Commits
5d33cbfa
Commit
5d33cbfa
authored
Aug 16, 2014
by
Tobias Reich
Browse files
Build #203
parent
1172f3b5
Changes
3
Hide whitespace changes
Inline
Side-by-side
assets/min/main.css
View file @
5d33cbfa
a
,
abbr
,
acronym
,
address
,
applet
,
article
,
aside
,
audio
,
b
,
big
,
blockquote
,
body
,
canvas
,
caption
,
center
,
cite
,
code
,
dd
,
del
,
details
,
dfn
,
div
,
dl
,
dt
,
em
,
embed
,
fieldset
,
figcaption
,
figure
,
footer
,
form
,
h1
,
h2
,
h3
,
h4
,
h5
,
h6
,
header
,
hgroup
,
html
,
i
,
iframe
,
img
,
ins
,
kbd
,
label
,
legend
,
li
,
mark
,
menu
,
nav
,
object
,
ol
,
output
,
p
,
pre
,
q
,
ruby
,
s
,
samp
,
section
,
small
,
span
,
strike
,
strong
,
sub
,
summary
,
sup
,
table
,
tbody
,
td
,
tfoot
,
th
,
thead
,
time
,
tr
,
tt
,
u
,
ul
,
var
,
video
{
margin
:
0
;
padding
:
0
;
border
:
0
;
font
:
inherit
;
vertical-align
:
baseline
}
article
,
aside
,
details
,
figcaption
,
figure
,
footer
,
header
,
hgroup
,
menu
,
nav
,
section
{
display
:
block
}
body
{
line-height
:
1
}
ol
,
ul
{
list-style
:
none
}
blockquote
,
q
{
quotes
:
none
}
blockquote
:after
,
blockquote
:before
,
q
:after
,
q
:before
{
content
:
''
;
content
:
none
}
table
{
border-collapse
:
collapse
;
border-spacing
:
0
}
.fadeIn
{
-webkit-animation-name
:
fadeIn
;
animation-name
:
fadeIn
;
-webkit-animation-duration
:
.3s
;
animation-duration
:
.3s
;
-webkit-animation-fill-mode
:
forwards
;
animation-fill-mode
:
forwards
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
);
animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
)}
.fadeOut
{
-webkit-animation-name
:
fadeOut
;
animation-name
:
fadeOut
;
-webkit-animation-duration
:
.3s
;
animation-duration
:
.3s
;
-webkit-animation-fill-mode
:
forwards
;
animation-fill-mode
:
forwards
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
);
animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
)}
.contentZoomIn
{
-webkit-animation-name
:
zoomIn
;
animation-name
:
zoomIn
;
-webkit-animation-duration
:
.2s
;
animation-duration
:
.2s
;
-webkit-animation-fill-mode
:
forwards
;
animation-fill-mode
:
forwards
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1
);
animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1
)}
.contentZoomOut
{
-webkit-animation-name
:
zoomOut
;
animation-name
:
zoomOut
;
-webkit-animation-duration
:
.2s
;
animation-duration
:
.2s
;
-webkit-animation-fill-mode
:
forwards
;
animation-fill-mode
:
forwards
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1
);
animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1
)}
@-webkit-keyframes
moveUp
{
0
%
{
-webkit-transform
:
translateY
(
100px
);
transform
:
translateY
(
100px
);
opacity
:
0
}
100
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
);
opacity
:
1
}}
@keyframes
moveUp
{
0
%
{
-webkit-transform
:
translateY
(
100px
);
transform
:
translateY
(
100px
);
opacity
:
0
}
100
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
);
opacity
:
1
}}
@-webkit-keyframes
fadeIn
{
0
%
{
opacity
:
0
}
100
%
{
opacity
:
1
}}
@keyframes
fadeIn
{
0
%
{
opacity
:
0
}
100
%
{
opacity
:
1
}}
@-webkit-keyframes
fadeOut
{
0
%
{
opacity
:
1
}
100
%
{
opacity
:
0
}}
@keyframes
fadeOut
{
0
%
{
opacity
:
1
}
100
%
{
opacity
:
0
}}
@-webkit-keyframes
moveBackground
{
0
%
{
background-position-x
:
0
}
100
%
{
background-position-x
:
-100px
}}
@keyframes
moveBackground
{
0
%
{
background-position-x
:
0
}
100
%
{
background-position-x
:
-100px
}}
@-webkit-keyframes
zoomIn
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
.8
);
transform
:
scale
(
.8
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
@keyframes
zoomIn
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
.8
);
transform
:
scale
(
.8
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
@-webkit-keyframes
zoomOut
{
0
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}
100
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
.8
);
transform
:
scale
(
.8
)}}
@keyframes
zoomOut
{
0
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}
100
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
.8
);
transform
:
scale
(
.8
)}}
@-webkit-keyframes
popIn
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0
);
transform
:
scale
(
0
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
@keyframes
popIn
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0
);
transform
:
scale
(
0
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
@-webkit-keyframes
pulse
{
0
%
{
opacity
:
1
}
50
%
{
opacity
:
.3
}
100
%
{
opacity
:
1
}}
@keyframes
pulse
{
0
%
{
opacity
:
1
}
50
%
{
opacity
:
.3
}
100
%
{
opacity
:
1
}}
#content
::before
{
content
:
""
;
position
:
absolute
;
left
:
0
;
width
:
100%
;
height
:
20px
;
background
:
-webkit-linear-gradient
(
top
,
#262626
,
#222
);
background
:
linear-gradient
(
to
bottom
,
#262626
,
#222
);
border-top
:
1px
solid
#333
}
#content
.view
::before
{
display
:
none
}
#content
{
position
:
absolute
;
padding
:
50px
0
33px
;
width
:
100%
;
min-height
:
-webkit-calc
(
100%
-
90px
);
min-height
:
calc
(
100%
-
90px
);
-webkit-overflow-scrolling
:
touch
}
.photo
{
float
:
left
;
display
:
inline-block
;
width
:
206px
;
height
:
206px
;
margin
:
30px
0
0
30px
;
cursor
:
pointer
}
.photo
img
{
position
:
absolute
;
width
:
200px
;
height
:
200px
;
background-color
:
#222
;
border-radius
:
2px
;
border
:
2px
solid
#ccc
}
.photo.active
img
,
.photo
:hover
img
{
box-shadow
:
0
0
5px
#005ecc
}
.photo
:active
{
-webkit-transition-duration
:
.1s
;
transition-duration
:
.1s
;
-webkit-transform
:
scale
(
.98
);
-ms-transform
:
scale
(
.98
);
transform
:
scale
(
.98
)}
.album
{
float
:
left
;
display
:
inline-block
;
width
:
204px
;
height
:
204px
;
margin
:
30px
0
0
30px
;
cursor
:
pointer
}
.album
img
:first-child
,
.album
img
:nth-child
(
2
)
{
-webkit-transform
:
rotate
(
0deg
)
translateY
(
0px
)
translateX
(
0px
);
-ms-transform
:
rotate
(
0deg
)
translateY
(
0px
)
translateX
(
0px
);
transform
:
rotate
(
0deg
)
translateY
(
0px
)
translateX
(
0px
);
opacity
:
0
}
.album
:hover
img
:first-child
{
-webkit-transform
:
rotate
(
-2deg
)
translateY
(
10px
)
translateX
(
-12px
);
-ms-transform
:
rotate
(
-2deg
)
translateY
(
10px
)
translateX
(
-12px
);
transform
:
rotate
(
-2deg
)
translateY
(
10px
)
translateX
(
-12px
);
opacity
:
1
}
.album
:hover
img
:nth-child
(
2
)
{
-webkit-transform
:
rotate
(
5deg
)
translateY
(
-8px
)
translateX
(
12px
);
-ms-transform
:
rotate
(
5deg
)
translateY
(
-8px
)
translateX
(
12px
);
transform
:
rotate
(
5deg
)
translateY
(
-8px
)
translateX
(
12px
);
opacity
:
1
}
.album
img
{
position
:
absolute
;
width
:
200px
;
height
:
200px
;
background-color
:
#222
;
border-radius
:
2px
;
border
:
2px
solid
#ccc
}
.album.active
img
,
.album
:hover
img
{
box-shadow
:
0
0
5px
#005ecc
}
.album
.overlay
,
.photo
.overlay
{
position
:
absolute
;
width
:
200px
;
height
:
200px
;
margin
:
2px
}
.album
.overlay
{
background
:
-webkit-linear-gradient
(
top
,
rgba
(
0
,
0
,
0
,
0
)
0
,
rgba
(
0
,
0
,
0
,
0
)
20%
,
rgba
(
0
,
0
,
0
,
.9
)
100%
);
background
:
linear-gradient
(
to
bottom
,
rgba
(
0
,
0
,
0
,
0
)
0
,
rgba
(
0
,
0
,
0
,
0
)
20%
,
rgba
(
0
,
0
,
0
,
.9
)
100%
)}
.photo
.overlay
{
background
:
-webkit-linear-gradient
(
top
,
rgba
(
0
,
0
,
0
,
0
)
0
,
rgba
(
0
,
0
,
0
,
0
)
60%
,
rgba
(
0
,
0
,
0
,
.5
)
80%
,
rgba
(
0
,
0
,
0
,
.9
)
100%
);
background
:
linear-gradient
(
to
bottom
,
rgba
(
0
,
0
,
0
,
0
)
0
,
rgba
(
0
,
0
,
0
,
0
)
60%
,
rgba
(
0
,
0
,
0
,
.5
)
80%
,
rgba
(
0
,
0
,
0
,
.9
)
100%
);
opacity
:
0
}
.photo.active
.overlay
,
.photo
:hover
.overlay
{
opacity
:
1
}
.album
.overlay
h1
,
.photo
.overlay
h1
{
min-height
:
19px
;
width
:
185px
;
margin
:
153px
0
3px
15px
;
color
:
#fff
;
font-size
:
16px
;
font-weight
:
700
;
overflow
:
hidden
}
.album
.overlay
a
,
.photo
.overlay
a
{
font-size
:
11px
;
color
:
#aaa
}
.album
.overlay
a
{
margin-left
:
15px
}
.photo
.overlay
a
{
margin
:
155px
0
5px
15px
}
.photo
.overlay
a
span
{
margin
:
0
5px
0
0
}
.album
.badge
,
.photo
.badge
{
position
:
absolute
;
margin-top
:
-1px
;
margin-left
:
12px
;
padding
:
12px
7px
3px
;
box-shadow
:
0
0
3px
rgba
(
0
,
0
,
0
,
.8
);
border-radius
:
0
0
3px
3px
;
border
:
1px
solid
#fff
;
border-top
:
none
;
color
:
#fff
;
font-size
:
24px
;
text-shadow
:
0
1px
0
rgba
(
0
,
0
,
0
,
.4
);
opacity
:
.9
}
.album
.badge.icon-star
,
.photo
.badge.icon-star
{
padding
:
12px
8px
3px
}
.album
.badge.icon-share
,
.photo
.badge.icon-share
{
padding
:
12px
6px
3px
8px
}
.album
.badge.icon-time
,
.photo
.badge.icon-time
{
padding
:
12px
8px
3px
9px
}
.album
.badge
::after
,
.photo
.badge
::after
{
content
:
""
;
position
:
absolute
;
margin-top
:
-12px
;
margin-left
:
-26px
;
width
:
38px
;
height
:
5px
;
background
:
-webkit-linear-gradient
(
top
,
rgba
(
0
,
0
,
0
,
1
)
0
,
rgba
(
0
,
0
,
0
,
0
)
100%
);
background
:
linear-gradient
(
to
bottom
,
rgba
(
0
,
0
,
0
,
1
)
0
,
rgba
(
0
,
0
,
0
,
0
)
100%
);
opacity
:
.4
}
.album
.badge.icon-star
::after
,
.photo
.badge.icon-star
::after
{
margin-left
:
-29px
}
.album
.badge.icon-share
::after
,
.photo
.badge.icon-share
::after
{
margin-left
:
-31px
}
.album
.badge.icon-time
::after
,
.photo
.badge.icon-time
::after
{
margin-left
:
-29px
}
.album
.badge.icon-reorder
::after
{
margin-left
:
-30px
}
.album
.badge
:nth-child
(
2
n
),
.photo
.badge
:nth-child
(
2
n
)
{
margin-left
:
57px
}
.album
.badge.red
,
.photo
.badge.red
{
background
:
-webkit-linear-gradient
(
top
,
#d64b4b
0
,
#ab2c2c
100%
);
background
:
linear-gradient
(
to
bottom
,
#d64b4b
0
,
#ab2c2c
100%
)}
.album
.badge.blue
,
.photo
.badge.blue
{
background
:
-webkit-linear-gradient
(
top
,
#347cd6
0
,
#2945ab
100%
);
background
:
linear-gradient
(
to
bottom
,
#347cd6
0
,
#2945ab
100%
)}
.divider
{
float
:
left
;
width
:
100%
;
margin-top
:
50px
;
opacity
:
0
;
border-top
:
1px
solid
#2E2E2E
;
box-shadow
:
0
-1px
0
#151515
}
.divider
:first-child
{
margin-top
:
0
;
border-top
:
none
}
.divider
h1
{
float
:
left
;
margin
:
20px
0
0
30px
;
color
:
#fff
;
font-size
:
14px
;
font-weight
:
700
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.8
)}
.no_content
{
position
:
absolute
;
top
:
50%
;
left
:
50%
;
height
:
160px
;
width
:
180px
;
margin-top
:
-80px
;
margin-left
:
-90px
;
padding-top
:
20px
;
color
:
rgba
(
20
,
20
,
20
,
1
);
text-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
.05
);
text-align
:
center
}
.no_content
.icon
{
font-size
:
120px
}
.no_content
p
{
font-size
:
18px
}
.contextmenu_bg
{
position
:
fixed
;
height
:
100%
;
width
:
100%
;
z-index
:
1000
}
.contextmenu
{
position
:
fixed
;
top
:
0
;
left
:
0
;
padding
:
5px
0
6px
;
background
:
-webkit-linear-gradient
(
top
,
#444
0
,
#2f2f2f
100%
);
background
:
linear-gradient
(
to
bottom
,
#444
0
,
#2f2f2f
100%
);
border
:
1px
solid
rgba
(
0
,
0
,
0
,
.5
);
border-bottom
:
1px
solid
rgba
(
0
,
0
,
0
,
.7
);
border-radius
:
5px
;
box-shadow
:
0
3px
4px
rgba
(
0
,
0
,
0
,
.25
),
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.1
);
opacity
:
0
;
z-index
:
1001
;
-webkit-transition
:
none
;
transition
:
none
}
.contextmenu
tr
{
font-size
:
14px
;
color
:
#eee
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.2
);
cursor
:
pointer
}
.contextmenu
tr
:hover
{
background
:
-webkit-linear-gradient
(
top
,
#6a84f2
,
#4967F0
);
background
:
linear-gradient
(
to
bottom
,
#6a84f2
,
#4967F0
)}
.contextmenu
tr
.no_hover
:hover
{
cursor
:
inherit
;
background-color
:
inherit
;
background-image
:
none
}
.contextmenu
tr
.separator
{
float
:
left
;
height
:
1px
;
width
:
100%
;
background-color
:
#1f1f1f
;
border-bottom
:
1px
solid
#4c4c4c
;
margin
:
5px
0
;
cursor
:
inherit
}
.contextmenu
tr
.separator
:hover
{
background-color
:
#222
;
background-image
:
none
}
.contextmenu
tr
td
{
padding
:
7px
30px
6px
12px
;
white-space
:
nowrap
;
-webkit-transition
:
none
;
transition
:
none
}
.contextmenu
tr
:hover
td
{
color
:
#fff
;
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.05
);
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.2
)}
.contextmenu
tr
.no_hover
:hover
td
{
box-shadow
:
none
}
.contextmenu
tr
a
{
float
:
left
;
width
:
10px
;
margin-right
:
10px
;
text-align
:
center
}
.contextmenu
#link
{
float
:
right
;
width
:
140px
;
margin
:
-1px
-18px
-2px
-1px
;
padding
:
5px
7px
6px
;
background-color
:
#444
;
color
:
#fff
;
border
:
none
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,
.5
);
box-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
.08
);
outline
:
0
;
border-radius
:
5px
}
.contextmenu
tr
a
#link_icon
{
padding-top
:
4px
}
@font-face
{
font-family
:
FontAwesome
;
src
:
url(../font/fontawesome-webfont.eot)
;
src
:
url(../font/fontawesome-webfont.eot?#iefix)
format
(
'eot'
),
url(../font/fontawesome-webfont.woff)
format
(
'woff'
),
url(../font/fontawesome-webfont.ttf)
format
(
'truetype'
),
url(../font/fontawesome-webfont.svg#FontAwesome)
format
(
'svg'
);
font-weight
:
400
;
font-style
:
normal
}
[
class
*=
" icon-"
]
:before
,[
class
^=
icon-
]
:before
{
font-family
:
FontAwesome
;
font-weight
:
400
;
font-style
:
normal
;
display
:
inline-block
;
text-decoration
:
inherit
}
a
[
class
*=
" icon-"
],
a
[
class
^=
icon-
]
{
display
:
inline-block
;
text-decoration
:
inherit
}
.icon-large
:before
{
vertical-align
:
top
;
font-size
:
1.3333333333333333em
}
.btn
[
class
*=
" icon-"
],
.btn
[
class
^=
icon-
]
{
line-height
:
.9em
}
li
[
class
*=
" icon-"
],
li
[
class
^=
icon-
]
{
display
:
inline-block
;
width
:
1.25em
;
text-align
:
center
}
li
.icon-large
[
class
*=
" icon-"
],
li
.icon-large
[
class
^=
icon-
]
{
width
:
1.875em
}
li
[
class
*=
" icon-"
],
li
[
class
^=
icon-
]
{
margin-left
:
0
;
list-style-type
:
none
}
li
[
class
*=
" icon-"
]
:before
,
li
[
class
^=
icon-
]
:before
{
text-indent
:
-2em
;
text-align
:
center
}
li
[
class
*=
" icon-"
]
.icon-large
:before
,
li
[
class
^=
icon-
]
.icon-large
:before
{
text-indent
:
-1.3333333333333333em
}
.icon-glass
:before
{
content
:
"\f000"
}
.icon-music
:before
{
content
:
"\f001"
}
.icon-search
:before
{
content
:
"\f002"
}
.icon-envelope
:before
{
content
:
"\f003"
}
.icon-heart
:before
{
content
:
"\f004"
}
.icon-star
:before
{
content
:
"\f005"
}
.icon-star-empty
:before
{
content
:
"\f006"
}
.icon-user
:before
{
content
:
"\f007"
}
.icon-film
:before
{
content
:
"\f008"
}
.icon-th-large
:before
{
content
:
"\f009"
}
.icon-th
:before
{
content
:
"\f00a"
}
.icon-th-list
:before
{
content
:
"\f00b"
}
.icon-ok
:before
{
content
:
"\f00c"
}
.icon-remove
:before
{
content
:
"\f00d"
}
.icon-zoom-in
:before
{
content
:
"\f00e"
}
.icon-zoom-out
:before
{
content
:
"\f010"
}
.icon-off
:before
{
content
:
"\f011"
}
.icon-signal
:before
{
content
:
"\f012"
}
.icon-cog
:before
{
content
:
"\f013"
}
.icon-trash
:before
{
content
:
"\f014"
}
.icon-home
:before
{
content
:
"\f015"
}
.icon-file
:before
{
content
:
"\f016"
}
.icon-time
:before
{
content
:
"\f017"
}
.icon-road
:before
{
content
:
"\f018"
}
.icon-download-alt
:before
{
content
:
"\f019"
}
.icon-download
:before
{
content
:
"\f01a"
}
.icon-upload
:before
{
content
:
"\f01b"
}
.icon-inbox
:before
{
content
:
"\f01c"
}
.icon-play-circle
:before
{
content
:
"\f01d"
}
.icon-repeat
:before
{
content
:
"\f01e"
}
.icon-refresh
:before
{
content
:
"\f021"
}
.icon-list-alt
:before
{
content
:
"\f022"
}
.icon-lock
:before
{
content
:
"\f023"
}
.icon-flag
:before
{
content
:
"\f024"
}
.icon-headphones
:before
{
content
:
"\f025"
}
.icon-volume-off
:before
{
content
:
"\f026"
}
.icon-volume-down
:before
{
content
:
"\f027"
}
.icon-volume-up
:before
{
content
:
"\f028"
}
.icon-qrcode
:before
{
content
:
"\f029"
}
.icon-barcode
:before
{
content
:
"\f02a"
}
.icon-tag
:before
{
content
:
"\f02b"
}
.icon-tags
:before
{
content
:
"\f02c"
}
.icon-book
:before
{
content
:
"\f02d"
}
.icon-bookmark
:before
{
content
:
"\f02e"
}
.icon-print
:before
{
content
:
"\f02f"
}
.icon-camera
:before
{
content
:
"\f030"
}
.icon-font
:before
{
content
:
"\f031"
}
.icon-bold
:before
{
content
:
"\f032"
}
.icon-italic
:before
{
content
:
"\f033"
}
.icon-text-height
:before
{
content
:
"\f034"
}
.icon-text-width
:before
{
content
:
"\f035"
}
.icon-align-left
:before
{
content
:
"\f036"
}
.icon-align-center
:before
{
content
:
"\f037"
}
.icon-align-right
:before
{
content
:
"\f038"
}
.icon-align-justify
:before
{
content
:
"\f039"
}
.icon-list
:before
{
content
:
"\f03a"
}
.icon-indent-left
:before
{
content
:
"\f03b"
}
.icon-indent-right
:before
{
content
:
"\f03c"
}
.icon-facetime-video
:before
{
content
:
"\f03d"
}
.icon-picture
:before
{
content
:
"\f03e"
}
.icon-pencil
:before
{
content
:
"\f040"
}
.icon-map-marker
:before
{
content
:
"\f041"
}
.icon-adjust
:before
{
content
:
"\f042"
}
.icon-tint
:before
{
content
:
"\f043"
}
.icon-edit
:before
{
content
:
"\f044"
}
.icon-share
:before
{
content
:
"\f045"
}
.icon-check
:before
{
content
:
"\f046"
}
.icon-move
:before
{
content
:
"\f047"
}
.icon-step-backward
:before
{
content
:
"\f048"
}
.icon-fast-backward
:before
{
content
:
"\f049"
}
.icon-backward
:before
{
content
:
"\f04a"
}
.icon-play
:before
{
content
:
"\f04b"
}
.icon-pause
:before
{
content
:
"\f04c"
}
.icon-stop
:before
{
content
:
"\f04d"
}
.icon-forward
:before
{
content
:
"\f04e"
}
.icon-fast-forward
:before
{
content
:
"\f050"
}
.icon-step-forward
:before
{
content
:
"\f051"
}
.icon-eject
:before
{
content
:
"\f052"
}
.icon-chevron-left
:before
{
content
:
"\f053"
}
.icon-chevron-right
:before
{
content
:
"\f054"
}
.icon-plus-sign
:before
{
content
:
"\f055"
}
.icon-minus-sign
:before
{
content
:
"\f056"
}
.icon-remove-sign
:before
{
content
:
"\f057"
}
.icon-ok-sign
:before
{
content
:
"\f058"
}
.icon-question-sign
:before
{
content
:
"\f059"
}
.icon-info-sign
:before
{
content
:
"\f05a"
}
.icon-screenshot
:before
{
content
:
"\f05b"
}
.icon-remove-circle
:before
{
content
:
"\f05c"
}
.icon-ok-circle
:before
{
content
:
"\f05d"
}
.icon-ban-circle
:before
{
content
:
"\f05e"
}
.icon-arrow-left
:before
{
content
:
"\f060"
}
.icon-arrow-right
:before
{
content
:
"\f061"
}
.icon-arrow-up
:before
{
content
:
"\f062"
}
.icon-arrow-down
:before
{
content
:
"\f063"
}
.icon-share-alt
:before
{
content
:
"\f064"
}
.icon-resize-full
:before
{
content
:
"\f065"
}
.icon-resize-small
:before
{
content
:
"\f066"
}
.icon-plus
:before
{
content
:
"\f067"
}
.icon-minus
:before
{
content
:
"\f068"
}
.icon-asterisk
:before
{
content
:
"\f069"
}
.icon-exclamation-sign
:before
{
content
:
"\f06a"
}
.icon-gift
:before
{
content
:
"\f06b"
}
.icon-leaf
:before
{
content
:
"\f06c"
}
.icon-fire
:before
{
content
:
"\f06d"
}
.icon-eye-open
:before
{
content
:
"\f06e"
}
.icon-eye-close
:before
{
content
:
"\f070"
}
.icon-warning-sign
:before
{
content
:
"\f071"
}
.icon-plane
:before
{
content
:
"\f072"
}
.icon-calendar
:before
{
content
:
"\f073"
}
.icon-random
:before
{
content
:
"\f074"
}
.icon-comment
:before
{
content
:
"\f075"
}
.icon-magnet
:before
{
content
:
"\f076"
}
.icon-chevron-up
:before
{
content
:
"\f077"
}
.icon-chevron-down
:before
{
content
:
"\f078"
}
.icon-retweet
:before
{
content
:
"\f079"
}
.icon-shopping-cart
:before
{
content
:
"\f07a"
}
.icon-folder-close
:before
{
content
:
"\f07b"
}
.icon-folder-open
:before
{
content
:
"\f07c"
}
.icon-resize-vertical
:before
{
content
:
"\f07d"
}
.icon-resize-horizontal
:before
{
content
:
"\f07e"
}
.icon-bar-chart
:before
{
content
:
"\f080"
}
.icon-twitter-sign
:before
{
content
:
"\f081"
}
.icon-facebook-sign
:before
{
content
:
"\f082"
}
.icon-camera-retro
:before
{
content
:
"\f083"
}
.icon-key
:before
{
content
:
"\f084"
}
.icon-cogs
:before
{
content
:
"\f085"
}
.icon-comments
:before
{
content
:
"\f086"
}
.icon-thumbs-up
:before
{
content
:
"\f087"
}
.icon-thumbs-down
:before
{
content
:
"\f088"
}
.icon-star-half
:before
{
content
:
"\f089"
}
.icon-heart-empty
:before
{
content
:
"\f08a"
}
.icon-signout
:before
{
content
:
"\f08b"
}
.icon-linkedin-sign
:before
{
content
:
"\f08c"
}
.icon-pushpin
:before
{
content
:
"\f08d"
}
.icon-external-link
:before
{
content
:
"\f08e"
}
.icon-signin
:before
{
content
:
"\f090"
}
.icon-trophy
:before
{
content
:
"\f091"
}
.icon-github-sign
:before
{
content
:
"\f092"
}
.icon-upload-alt
:before
{
content
:
"\f093"
}
.icon-lemon
:before
{
content
:
"\f094"
}
.icon-phone
:before
{
content
:
"\f095"
}
.icon-check-empty
:before
{
content
:
"\f096"
}
.icon-bookmark-empty
:before
{
content
:
"\f097"
}
.icon-phone-sign
:before
{
content
:
"\f098"
}
.icon-twitter
:before
{
content
:
"\f099"
}
.icon-facebook
:before
{
content
:
"\f09a"
}
.icon-github
:before
{
content
:
"\f09b"
}
.icon-unlock
:before
{
content
:
"\f09c"
}
.icon-credit-card
:before
{
content
:
"\f09d"
}
.icon-rss
:before
{
content
:
"\f09e"
}
.icon-hdd
:before
{
content
:
"\f0a0"
}
.icon-bullhorn
:before
{
content
:
"\f0a1"
}
.icon-bell
:before
{
content
:
"\f0a2"
}
.icon-certificate
:before
{
content
:
"\f0a3"
}
.icon-hand-right
:before
{
content
:
"\f0a4"
}
.icon-hand-left
:before
{
content
:
"\f0a5"
}
.icon-hand-up
:before
{
content
:
"\f0a6"
}
.icon-hand-down
:before
{
content
:
"\f0a7"
}
.icon-circle-arrow-left
:before
{
content
:
"\f0a8"
}
.icon-circle-arrow-right
:before
{
content
:
"\f0a9"
}
.icon-circle-arrow-up
:before
{
content
:
"\f0aa"
}
.icon-circle-arrow-down
:before
{
content
:
"\f0ab"
}
.icon-globe
:before
{
content
:
"\f0ac"
}
.icon-wrench
:before
{
content
:
"\f0ad"
}
.icon-tasks
:before
{
content
:
"\f0ae"
}
.icon-filter
:before
{
content
:
"\f0b0"
}
.icon-briefcase
:before
{
content
:
"\f0b1"
}
.icon-fullscreen
:before
{
content
:
"\f0b2"
}
.icon-group
:before
{
content
:
"\f0c0"
}
.icon-link
:before
{
content
:
"\f0c1"
}
.icon-cloud
:before
{
content
:
"\f0c2"
}
.icon-beaker
:before
{
content
:
"\f0c3"
}
.icon-cut
:before
{
content
:
"\f0c4"
}
.icon-copy
:before
{
content
:
"\f0c5"
}
.icon-paper-clip
:before
{
content
:
"\f0c6"
}
.icon-save
:before
{
content
:
"\f0c7"
}
.icon-sign-blank
:before
{
content
:
"\f0c8"
}
.icon-reorder
:before
{
content
:
"\f0c9"
}
.icon-list-ul
:before
{
content
:
"\f0ca"
}
.icon-list-ol
:before
{
content
:
"\f0cb"
}
.icon-strikethrough
:before
{
content
:
"\f0cc"
}
.icon-underline
:before
{
content
:
"\f0cd"
}
.icon-table
:before
{
content
:
"\f0ce"
}
.icon-magic
:before
{
content
:
"\f0d0"
}
.icon-truck
:before
{
content
:
"\f0d1"
}
.icon-pinterest
:before
{
content
:
"\f0d2"
}
.icon-pinterest-sign
:before
{
content
:
"\f0d3"
}
.icon-google-plus-sign
:before
{
content
:
"\f0d4"
}
.icon-google-plus
:before
{
content
:
"\f0d5"
}
.icon-money
:before
{
content
:
"\f0d6"
}
.icon-caret-down
:before
{
content
:
"\f0d7"
}
.icon-caret-up
:before
{
content
:
"\f0d8"
}
.icon-caret-left
:before
{
content
:
"\f0d9"
}
.icon-caret-right
:before
{
content
:
"\f0da"
}
.icon-columns
:before
{
content
:
"\f0db"
}
.icon-sort
:before
{
content
:
"\f0dc"
}
.icon-sort-down
:before
{
content
:
"\f0dd"
}
.icon-sort-up
:before
{
content
:
"\f0de"
}
.icon-envelope-alt
:before
{
content
:
"\f0e0"
}
.icon-linkedin
:before
{
content
:
"\f0e1"
}
.icon-undo
:before
{
content
:
"\f0e2"
}
.icon-legal
:before
{
content
:
"\f0e3"
}
.icon-dashboard
:before
{
content
:
"\f0e4"
}
.icon-comment-alt
:before
{
content
:
"\f0e5"
}
.icon-comments-alt
:before
{
content
:
"\f0e6"
}
.icon-bolt
:before
{
content
:
"\f0e7"
}
.icon-sitemap
:before
{
content
:
"\f0e8"
}
.icon-umbrella
:before
{
content
:
"\f0e9"
}
.icon-paste
:before
{
content
:
"\f0ea"
}
.icon-user-md
:before
{
content
:
"\f200"
}
header
{
position
:
fixed
;
height
:
49px
;
width
:
100%
;
background
:
-webkit-linear-gradient
(
top
,
#3E3E3E
,
#282828
);
background
:
linear-gradient
(
to
bottom
,
#3E3E3E
,
#282828
);
border-bottom
:
1px
solid
#161616
;
z-index
:
1
;
-webkit-transition
:
-webkit-transform
.3s
ease-out
;
transition
:
transform
.3s
ease-out
}
header
.hidden
{
-webkit-transform
:
translateY
(
-60px
);
-ms-transform
:
translateY
(
-60px
);
transform
:
translateY
(
-60px
)}
header
.loading
{
-webkit-transform
:
translateY
(
2px
);
-ms-transform
:
translateY
(
2px
);
transform
:
translateY
(
2px
)}
header
.error
{
-webkit-transform
:
translateY
(
40px
);
-ms-transform
:
translateY
(
40px
);
transform
:
translateY
(
40px
)}
header
.view.error
{
background-color
:
rgba
(
10
,
10
,
10
,
.99
)}
header
.view
{
background
:
0
0
;
border-bottom
:
none
}
header
.view
#title
,
header
.view
.button
,
header
.view
.tools
{
text-shadow
:
none
!important
}
header
#title
{
position
:
absolute
;
margin
:
0
30%
;
width
:
40%
;
padding
:
15px
0
;
color
:
#fff
;
font-size
:
16px
;
font-weight
:
700
;
text-align
:
center
;
text-shadow
:
0
-1px
0
#222
}
header
#title
.editable
{
cursor
:
pointer
}
header
.button
{
color
:
#888
;
font-family
:
FontAwesome
;
font-size
:
21px
;
font-weight
:
700
;
text-decoration
:
none
!important
;
cursor
:
pointer
;
text-shadow
:
0
-1px
0
#222
}
header
.button.left
{
float
:
left
;
position
:
absolute
;
padding
:
16px
10px
8px
18px
}
header
.button.right
{
float
:
right
;
position
:
relative
;
padding
:
16px
19px
13px
11px
}
header
.button
:hover
{
color
:
#fff
}
header
#button_signin
,
header
#tools_album
,
header
#tools_albums
,
header
#tools_photo
{
display
:
none
}
header
.button_divider
{
float
:
right
;
position
:
relative
;
width
:
14px
;
height
:
50px
}
header
#search
{
float
:
right
;
width
:
80px
;
margin
:
12px
12px
0
0
;
padding
:
5px
12px
6px
;
background-color
:
#383838
;
color
:
#fff
;
border
:
none
;
border
:
1px
solid
#131313
;
box-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
.1
);
outline
:
0
;
border-radius
:
50px
;
opacity
:
.6
;
-webkit-transition
:
opacity
.3s
ease-out
,
-webkit-transform
.3s
ease-out
,
box-shadow
.3s
,
width
.2s
ease-out
;
transition
:
opacity
.3s
ease-out
,
transform
.3s
ease-out
,
box-shadow
.3s
,
width
.2s
ease-out
}
header
#search
:focus
{
width
:
140px
}
header
#search
:focus
~
#clearSearch
{
opacity
:
1
}
header
#clearSearch
{
position
:
absolute
;
top
:
15px
;
right
:
81px
;
padding
:
0
;
font-size
:
20px
;
opacity
:
0
;
-webkit-transition
:
opacity
.2s
ease-out
;
transition
:
opacity
.2s
ease-out
}
header
#clearSearch
:hover
{
opacity
:
1
}
header
.tools
:first-of-type
{
margin-right
:
6px
}
header
.tools
{
float
:
right
;
padding
:
14px
8px
;
color
:
#888
;
font-size
:
21px
;
text-shadow
:
0
-1px
0
#222
;
cursor
:
pointer
}
header
.tools
:hover
a
{
color
:
#fff
}
header
.tools
.icon-star
{
color
:
#f0ef77
}
header
.tools
.icon-share.active
{
color
:
#ff9737
}
header
#hostedwith
{
float
:
right
;
padding
:
5px
10px
;
margin
:
13px
9px
;
color
:
#888
;
font-size
:
13px
;
text-shadow
:
0
-1px
0
#222
;
display
:
none
;
cursor
:
pointer
}
header
#hostedwith
:hover
{
background-color
:
rgba
(
0
,
0
,
0
,
.2
);
border-radius
:
100px
}
#imageview
{
position
:
fixed
;
display
:
none
;
width
:
100%
;
min-height
:
100%
;
background-color
:
rgba
(
10
,
10
,
10
,
.98
);
-webkit-transition
:
background-color
.3s
;
transition
:
background-color
.3s
}
#imageview
.view
{
background-color
:
inherit
}
#imageview
.full
{
background-color
:
rgba
(
0
,
0
,
0
,
1
)}
#imageview
#image
{
position
:
absolute
;
top
:
60px
;
right
:
30px
;
bottom
:
30px
;
left
:
30px
;
background-repeat
:
no-repeat
;
background-position
:
50%
50%
;
background-size
:
contain
;
-webkit-transition
:
top
.3s
,
right
.3s
,
bottom
.3s
,
left
.3s
,
margin-top
.3s
,
opacity
.2s
,
-webkit-transform
.3s
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
);
transition
:
top
.3s
,
right
.3s
,
bottom
.3s
,
left
.3s
,
margin-top
.3s
,
opacity
.2s
,
transform
.3s
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
);
-webkit-animation-name
:
zoomIn
;
animation-name
:
zoomIn
;
-webkit-animation-duration
:
.3s
;
animation-duration
:
.3s
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
);
animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
)}
#imageview
#image
.small
{
top
:
50%
;
right
:
auto
;
bottom
:
auto
;
left
:
50%
}
#imageview
#image
.full
{
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
}
#imageview
.arrow_wrapper
{
position
:
fixed
;
width
:
20%
;
height
:
-webkit-calc
(
100%
-
60px
);
height
:
calc
(
100%
-
60px
);
top
:
60px
;
z-index
:
1
}
#imageview
.arrow_wrapper.previous
{
left
:
0
}
#imageview
.arrow_wrapper.next
{
right
:
0
}
#imageview
.arrow_wrapper
a
{
position
:
fixed
;
top
:
50%
;
margin-top
:
-10px
;
color
:
#fff
;
font-size
:
50px
;
text-shadow
:
0
1px
2px
#000
;
cursor
:
pointer
;
opacity
:
0
;
z-index
:
2
;
-webkit-transition
:
opacity
.2s
;
transition
:
opacity
.2s
}
#imageview
.arrow_wrapper
:hover
a
{
opacity
:
.2
}
#imageview
.arrow_wrapper
a
#previous
{
left
:
20px
}
#imageview
.arrow_wrapper
a
#next
{
right
:
20px
}
#infobox_overlay
{
z-index
:
3
;
position
:
fixed
;
width
:
100%
;
height
:
100%
;
top
:
0
;
left
:
0
;
background-color
:
rgba
(
0
,
0
,
0
,
.8
)}
#infobox
{
z-index
:
4
;
position
:
fixed
;
right
:
0
;
width
:
350px
;
height
:
100%
;
background-color
:
rgba
(
20
,
20
,
20
,
.98
);
box-shadow
:
-1px
0
2px
rgba
(
0
,
0
,
0
,
.8
);
display
:
none
;
-webkit-transform
:
translateX
(
370px
);
-ms-transform
:
translateX
(
370px
);
transform
:
translateX
(
370px
);
-webkit-transition
:
-webkit-transform
.3s
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
);
transition
:
transform
.3s
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
)}
#infobox
.active
{
-webkit-transform
:
translateX
(
50px
);
-ms-transform
:
translateX
(
50px
);
transform
:
translateX
(
50px
)}
#infobox
.wrapper
{
float
:
left
;
height
:
100%
;
width
:
300px
;
overflow
:
scroll
;
-webkit-overflow-scrolling
:
touch
}
#infobox
.edit
{
display
:
inline
;
margin-left
:
3px
;
width
:
20px
;
height
:
5px
;
cursor
:
pointer
}
#infobox
.bumper
{
float
:
left
;
width
:
100%
;
height
:
50px
}
#infobox
.header
{
float
:
left
;
height
:
49px
;
width
:
100%
;
background-image
:
-webkit-linear-gradient
(
top
,
#2A2A2A
,
#131313
);
background-image
:
linear-gradient
(
to
bottom
,
#2A2A2A
,
#131313
);
border-bottom
:
1px
solid
#000
}
#infobox
.header
h1
{
position
:
absolute
;
margin
:
15px
30%
15px
-webkit-calc
(
30%
-
25px
);
margin
:
15px
30%
15px
calc
(
30%
-
25px
);
width
:
40%
;
color
:
#fff
;
font-size
:
16px
;
font-weight
:
700
;
text-align
:
center
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.8
)}
#infobox
.header
a
{
float
:
right
;
padding
:
15px
65px
15px
15px
;
color
:
#fff
;
font-size
:
20px
;
font-weight
:
700
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.8
);
opacity
:
.5
;
cursor
:
pointer
}
#infobox
.header
a
:hover
{
opacity
:
1
}
#infobox
.separator
{
float
:
left
;
width
:
100%
;
border-top
:
1px
solid
rgba
(
255
,
255
,
255
,
.04
);
box-shadow
:
0
-1px
0
#000
}
#infobox
.separator
h1
{
margin
:
20px
0
5px
20px
;
color
:
#fff
;
font-size
:
14px
;
font-weight
:
700
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.8
)}
#infobox
table
{
float
:
left
;
margin
:
10px
0
15px
20px
}
#infobox
table
tr
td
{
padding
:
5px
0
;
color
:
#fff
;
font-size
:
14px
;
line-height
:
19px
;
-webkit-user-select
:
text
;
-moz-user-select
:
text
;
-ms-user-select
:
text
;
user-select
:
text
}
#infobox
table
tr
td
:first-child
{
width
:
110px
}
#infobox
table
tr
td
:last-child
{
padding-right
:
10px
}
#infobox
#tags
{
width
:
-webkit-calc
(
100%
-
40px
);
width
:
calc
(
100%
-
40px
);
margin
:
16px
20px
12px
;
color
:
#fff
;
display
:
inline-block
}
#infobox
#tags
.empty
{
font-size
:
14px
;
margin-bottom
:
8px
}
#infobox
#tags
.edit
{
display
:
inline-block
}
#infobox
#tags
.empty
.edit
{
display
:
inline
}
#infobox
.tag
{
float
:
left
;
padding
:
4px
7px
;
margin
:
0
6px
8px
0
;
background-color
:
rgba
(
0
,
0
,
0
,
.5
);
border
:
2px
solid
rgba
(
255
,
255
,
255
,
.3
);
border-radius
:
100px
;
font-size
:
12px
;
-webkit-transition
:
border
.3s
;
transition
:
border
.3s
}
#infobox
.tag
:hover
{
border
:
2px
solid
#aaa
}
#infobox
.tag
span
{
float
:
right
;
width
:
0
;
padding
:
0
;
margin
:
0
0
-2px
;
color
:
red
;
font-size
:
11px
;
cursor
:
pointer
;
overflow
:
hidden
;
-webkit-transform
:
scale
(
0
);
-ms-transform
:
scale
(
0
);
transform
:
scale
(
0
);
-webkit-transition
:
width
.3s
,
margin
.3s
,
-webkit-transform
.3s
;
transition
:
width
.3s
,
margin
.3s
,
transform
.3s
}
#infobox
.tag
:hover
span
{
width
:
10px
;
margin
:
0
0
-2px
6px
;
-webkit-transform
:
scale
(
1
);
-ms-transform
:
scale
(
1
);
transform
:
scale
(
1
)}
#loading
{
position
:
fixed
;
width
:
100%
;
height
:
3px
;
background-size
:
100px
3px
;
background-repeat
:
repeat-x
;
border-bottom
:
1px
solid
rgba
(
0
,
0
,
0
,
.3
);
display
:
none
;
-webkit-animation-name
:
moveBackground
;
animation-name
:
moveBackground
;
-webkit-animation-duration
:
.3s
;
animation-duration
:
.3s
;
-webkit-animation-iteration-count
:
infinite
;
animation-iteration-count
:
infinite
;
-webkit-animation-timing-function
:
linear
;
animation-timing-function
:
linear
}
#loading
.loading
{
background-image
:
-webkit-linear-gradient
(
left
,
#153674
0
,
#153674
47%
,
#2651AE
53%
,
#2651AE
100%
);
background-image
:
linear-gradient
(
to
right
,
#153674
0
,
#153674
47%
,
#2651AE
53%
,
#2651AE
100%
);
z-index
:
2
}
#loading
.error
{
background-color
:
#2f0d0e
;
background-image
:
-webkit-linear-gradient
(
left
,
#451317
0
,
#451317
47%
,
#AA3039
53%
,
#AA3039
100%
);
background-image
:
linear-gradient
(
to
right
,
#451317
0
,
#451317
47%
,
#AA3039
53%
,
#AA3039
100%
);
z-index
:
1
}
#loading
h1
{
margin
:
13px
13px
0
;
color
:
#ddd
;
font-size
:
14px
;
font-weight
:
700
;
text-shadow
:
0
1px
0
#000
;
text-transform
:
capitalize
}
#loading
h1
span
{
margin-left
:
10px
;
font-weight
:
400
;
text-transform
:
none
}
@media
only
screen
and
(
max-width
:
900px
){
#title
{
margin
:
0
20%
!important
;
width
:
40%
!important
}
#title
.view
{
margin
:
0
20%
!important
;
width
:
60%
!important
}
#title
span
{
display
:
none
!important
}}
@media
only
screen
and
(
max-width
:
640px
){
#title
{
display
:
none
!important
}
#title
.view
{
display
:
block
!important
;
width
:
70%
!important
;
margin
:
0
20%
0
10%
!important
}
#button_archive
,
#button_move
{
display
:
none
!important
}
.center
{
top
:
0
!important
;
left
:
0
!important
}
.album
,
.photo
{
margin
:
40px
0
0
50px
!important
}
#imageview
.arrow_wrapper
{
display
:
none
!important
}
.message
{
position
:
fixed
!important
;
width
:
100%
!important
;
height
:
100%
!important
;
margin
:
1px
0
0
!important
;
border-radius
:
0
!important
;
-webkit-animation
:
moveUp
.3s
!important
;
animation
:
moveUp
.3s
!important
}
.upload_message
{
margin-top
:
0
!important
;
margin-left
:
0
!important
;
width
:
100%
!important
}}
.message_overlay
{
position
:
fixed
;
width
:
100%
;
height
:
100%
;
top
:
0
;
left
:
0
;
background-color
:
rgba
(
0
,
0
,
0
,
.85
);
z-index
:
1000
}
.message
{
position
:
absolute
;
display
:
inline-block
;
width
:
500px
;
margin-left
:
-250px
;
margin-top
:
-95px
;
background-color
:
#444
;
background-image
:
-webkit-linear-gradient
(
top
,
#4b4b4b
,
#2d2d2d
);
background-image
:
linear-gradient
(
to
bottom
,
#4b4b4b
,
#2d2d2d
);
border-radius
:
5px
;
box-shadow
:
0
0
5px
#000
,
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.08
);
-webkit-animation-name
:
moveUp
;
animation-name
:
moveUp
;
-webkit-animation-duration
:
.3s
;
animation-duration
:
.3s
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
);
animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
)}
.message
h1
{
float
:
left
;
width
:
100%
;
padding
:
12px
0
;
color
:
#fff
;
font-size
:
16px
;
font-weight
:
700
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.3
);
text-align
:
center
}
.message
.close
{
position
:
absolute
;
top
:
0
;
right
:
0
;
padding
:
12px
14px
6px
7px
;
color
:
#aaa
;
font-size
:
20px
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.3
);
cursor
:
pointer
}
.message
.close
:hover
{
color
:
#fff
}
.message
p
{
float
:
left
;
width
:
90%
;
margin-top
:
1px
;
padding
:
12px
5%
15px
;
color
:
#eee
;
font-size
:
14px
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.3
);
line-height
:
20px
}
.message
p
b
{
font-weight
:
700
;
color
:
#fff
}
.message
p
a
{
color
:
#eee
;
text-decoration
:
none
;
border-bottom
:
1px
dashed
#888
}
.message
.button
{
float
:
right
;
margin
:
15px
15px
15px
0
;
padding
:
7px
10px
8px
;
color
:
#ccc
;
font-size
:
14px
;
font-weight
:
700
;
text-align
:
center
;
text-shadow
:
0
-1px
0
#222
;
border-radius
:
5px
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,
.4
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.08
),
0
1px
0
rgba
(
255
,
255
,
255
,
.05
);
cursor
:
pointer
}
.message
.button
:first-of-type
{
margin
:
15px
5%
18px
0
!important
}
.message
.button.active
{
color
:
#fff
;
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.08
),
0
1px
0
rgba
(
255
,
255
,
255
,
.1
),
0
0
4px
#005ecc
}
.message
.button
:hover
{
background-image
:
-webkit-linear-gradient
(
top
,
#3c3c3c
,
#393939
);
background-image
:
linear-gradient
(
to
bottom
,
#3c3c3c
,
#393939
)}
.message
.button.pressed
,
.message
.button
:active
{
background-color
:
#393939
;
background-image
:
-webkit-linear-gradient
(
top
,
#393939
,
#3c3c3c
);
background-image
:
linear-gradient
(
to
bottom
,
#393939
,
#3c3c3c
)}
.sign_in
{
float
:
left
;
width
:
100%
;
margin-top
:
1px
;
padding
:
5px
0
;
color
:
#eee
;
font-size
:
14px
;
text-shadow
:
0
-1px
0
#222
;
line-height
:
20px
}
.sign_in
input
{
float
:
left
;
width
:
88%
;
padding
:
7px
1%
9px
;
margin
:
0
5%
;
background-color
:
transparent
;
color
:
#fff
;
text-shadow
:
0
-1px
0
#222
;
border
:
none
;
border-bottom
:
1px
solid
#222
;
box-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
.1
);
border-radius
:
0
;
outline
:
0
}
.sign_in
input
:first-of-type
{
margin-bottom
:
10px
}
.sign_in
input
.error
:focus
{
box-shadow
:
0
1px
0
rgba
(
204
,
0
,
7
,
.6
)}
.message
#version
{
display
:
inline-block
;
margin-top
:
23px
;
margin-left
:
5%
;
color
:
#888
;
text-shadow
:
0
-1px
0
#111
}
.message
#version
span
{
display
:
none
}
.message
#version
span
a
{
color
:
#888
}
.message
input
.text
{
float
:
left
;
width
:
-webkit-calc
(
100%
-
10px
);
width
:
calc
(
100%
-
10px
);
padding
:
17px
5px
9px
;
margin-top
:
10px
;
background-color
:
transparent
;
color
:
#fff
;
text-shadow
:
0
-1px
0
#222
;
border
:
none
;
box-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
.1
);
border-bottom
:
1px
solid
#222
;
border-radius
:
0
;
outline
:
0
}
.message
input
.less
{
margin-bottom
:
-10px
}
.message
input
.more
{
margin-bottom
:
30px
}
.message
.copylink
{
margin-bottom
:
20px
}
.message
.choice
{
float
:
left
;
margin
:
12px
5%
;
width
:
90%
;
color
:
#fff
}
.message
.choice
input
{
float
:
left
}
.message
.choice
h2
{
float
:
left
;
margin
:
1px
0
0
8px
;
color
:
#fff
;
font-size
:
14px
;
font-weight
:
700
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.3
)}
.message
.choice
p
{
margin-top
:
2px
;
padding
:
0
5%
0
25px
;
color
:
#aaa
;
font-size
:
13px
}
.message
.choice
p
input
{
width
:
100%
;
padding
:
10px
1px
9px
;
margin-top
:
10px
}
body
,
html
{
min-height
:
100%
}
body
{
background-color
:
#222
;
font-family
:
'Helvetica Neue'
,
Helvetica
,
Arial
,
sans-serif
;
font-size
:
12px
;
-webkit-font-smoothing
:
antialiased
;
-moz-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
;
font-smoothing
:
antialiased
}
body
.view
{
background-color
:
#0f0f0f
}
.center
{
position
:
absolute
;
left
:
50%
;
top
:
50%
}
*
{
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
-webkit-transition
:
color
.3s
,
opacity
.3s
ease-out
,
-webkit-transform
.3s
ease-out
,
box-shadow
.3s
;
transition
:
color
.3s
,
opacity
.3s
ease-out
,
transform
.3s
ease-out
,
box-shadow
.3s
}
input
{
-webkit-user-select
:
text
!important
;
-moz-user-select
:
text
!important
;
-ms-user-select
:
text
!important
;
user-select
:
text
!important
}
#multiselect
{
position
:
absolute
;
background-color
:
rgba
(
0
,
94
,
204
,
.3
);
border
:
1px
solid
rgba
(
0
,
94
,
204
,
1
);
border-radius
:
3px
;
z-index
:
3
}
.tipsy
{
padding
:
4px
;
font-size
:
12px
;
position
:
absolute
;
z-index
:
100000
;
-webkit-animation-name
:
fadeIn
;
animation-name
:
fadeIn
;
-webkit-animation-duration
:
.3s
;
animation-duration
:
.3s
}
.tipsy-inner
{
padding
:
8px
10px
7px
;
color
:
#fff
;
max-width
:
200px
;
text-align
:
center
;
background
:
rgba
(
0
,
0
,
0
,
.8
);
border-radius
:
25px
}
.tipsy-arrow
{
position
:
absolute
;
width
:
0
;
height
:
0
;
line-height
:
0
;
border
:
5px
dashed
rgba
(
0
,
0
,
0
,
.8
)}
.tipsy-arrow-n
{
border-bottom-color
:
rgba
(
0
,
0
,
0
,
.8
)}
.tipsy-arrow-s
{
border-top-color
:
rgba
(
0
,
0
,
0
,
.8
)}
.tipsy-arrow-e
{
border-left-color
:
rgba
(
0
,
0
,
0
,
.8
)}
.tipsy-arrow-w
{
border-right-color
:
rgba
(
0
,
0
,
0
,
.8
)}
.tipsy-n
.tipsy-arrow
{
top
:
0
;
left
:
50%
;
margin-left
:
-5px
;
border-bottom-style
:
solid
;
border-top
:
none
;
border-left-color
:
transparent
;
border-right-color
:
transparent
}
.tipsy-nw
.tipsy-arrow
{
top
:
0
;
left
:
10px
;
border-bottom-style
:
solid
;
border-top
:
none
;
border-left-color
:
transparent
;
border-right-color
:
transparent
}
.tipsy-ne
.tipsy-arrow
{
top
:
0
;
right
:
10px
;
border-bottom-style
:
solid
;
border-top
:
none
;
border-left-color
:
transparent
;
border-right-color
:
transparent
}
.tipsy-s
.tipsy-arrow
{
bottom
:
0
;
left
:
50%
;
margin-left
:
-5px
;
border-top-style
:
solid
;
border-bottom
:
none
;
border-left-color
:
transparent
;
border-right-color
:
transparent
}
.tipsy-sw
.tipsy-arrow
{
bottom
:
0
;
left
:
10px
;
border-top-style
:
solid
;
border-bottom
:
none
;
border-left-color
:
transparent
;
border-right-color
:
transparent
}
.tipsy-se
.tipsy-arrow
{
bottom
:
0
;
right
:
10px
;
border-top-style
:
solid
;
border-bottom
:
none
;
border-left-color
:
transparent
;
border-right-color
:
transparent
}
.tipsy-e
.tipsy-arrow
{
right
:
0
;
top
:
50%
;
margin-top
:
-5px
;
border-left-style
:
solid
;
border-right
:
none
;
border-top-color
:
transparent
;
border-bottom-color
:
transparent
}
.tipsy-w
.tipsy-arrow
{
left
:
0
;
top
:
50%
;
margin-top
:
-5px
;
border-right-style
:
solid
;
border-left
:
none
;
border-top-color
:
transparent
;
border-bottom-color
:
transparent
}
#upload
{
display
:
none
}
.upload_overlay
{
position
:
fixed
;
width
:
100%
;
height
:
100%
;
top
:
0
;
left
:
0
;
background-color
:
rgba
(
0
,
0
,
0
,
.85
);
z-index
:
1000
}
.upload_message
{
position
:
absolute
;
display
:
inline-block
;
width
:
450px
;
margin-left
:
-225px
;
margin-top
:
-170px
;
background-image
:
-webkit-linear-gradient
(
top
,
#4b4b4b
,
#2d2d2d
);
background-image
:
linear-gradient
(
to
bottom
,
#4b4b4b
,
#2d2d2d
);
border-radius
:
5px
;
box-shadow
:
0
0
5px
#000
,
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.08
),
inset
1px
0
0
rgba
(
255
,
255
,
255
,
.03
),
inset
-1px
0
0
rgba
(
255
,
255
,
255
,
.03
);
-webkit-animation-name
:
moveUp
;
animation-name
:
moveUp
;
-webkit-animation-duration
:
.3s
;
animation-duration
:
.3s
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
);
animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
)}
.upload_message
h1
{
float
:
left
;
width
:
100%
;
padding
:
12px
0
;
color
:
#fff
;
font-size
:
16px
;
font-weight
:
700
;
text-shadow
:
0
-1px
0
#222
;
text-align
:
center
}
.upload_message
.close
{
position
:
absolute
;
top
:
0
;
right
:
0
;
padding
:
11px
14px
6px
7px
;
color
:
#aaa
;
font-size
:
20px
;
text-shadow
:
0
-1px
0
#222
;
cursor
:
pointer
}
.upload_message
.close
:hover
{
color
:
#fff
}
.upload_message
.rows
{
float
:
left
;
margin
:
3px
8px
8px
;
width
:
-webkit-calc
(
100%
-
16px
);
width
:
calc
(
100%
-
16px
);
height
:
300px
;
background-color
:
rgba
(
0
,
0
,
0
,
.5
);
overflow
:
hidden
;
overflow-y
:
scroll
;
border-radius
:
3px
;
box-shadow
:
inset
0
0
3px
rgba
(
0
,
0
,
0
,
.8
)}
.upload_message
.rows
.row
{
float
:
left
;
display
:
inline-block
;
padding
:
8px
0
;
width
:
100%
;
background-color
:
rgba
(
255
,
255
,
255
,
.02
)}
.upload_message
.rows
.row
:nth-child
(
2
n
)
{
background-color
:
transparent
}
.upload_message
.rows
.row
a
.name
{
float
:
left
;
padding
:
5px
10px
;
width
:
-webkit-calc
(
70%
-
20px
);
width
:
calc
(
70%
-
20px
);
color
:
#fff
;
font-size
:
14px
;
white-space
:
nowrap
;
overflow
:
hidden
}
.upload_message
.rows
.row
a
.status
{
float
:
left
;
padding
:
5px
10px
;
width
:
-webkit-calc
(
30%
-
20px
);
width
:
calc
(
30%
-
20px
);
color
:
rgba
(
255
,
255
,
255
,
.5
);
font-size
:
14px
;
text-align
:
right
;
-webkit-animation-name
:
pulse
;
animation-name
:
pulse
;
-webkit-animation-duration
:
2s
;
animation-duration
:
2s
;
-webkit-animation-timing-function
:
ease-in-out
;
animation-timing-function
:
ease-in-out
;
-webkit-animation-iteration-count
:
infinite
;
animation-iteration-count
:
infinite
}
.upload_message
.rows
.row
a
.status.error
,
.upload_message
.rows
.row
a
.status.success
{
-webkit-animation
:
none
;
animation
:
none
}
.upload_message
.rows
.row
a
.status.error
{
color
:
#d51818
}
.upload_message
.rows
.row
a
.status.success
{
color
:
#2ad500
}
.upload_message
.rows
.row
p
.notice
{
display
:
none
;
float
:
left
;
padding
:
2px
10px
5px
;
width
:
-webkit-calc
(
100%
-
20px
);
width
:
calc
(
100%
-
20px
);
color
:
rgba
(
255
,
255
,
255
,
.5
);
font-size
:
12px
;
overflow
:
hidden
;
line-height
:
16px
}
\ No newline at end of file
a
,
abbr
,
acronym
,
address
,
applet
,
article
,
aside
,
audio
,
b
,
big
,
blockquote
,
body
,
canvas
,
caption
,
center
,
cite
,
code
,
dd
,
del
,
details
,
dfn
,
div
,
dl
,
dt
,
em
,
embed
,
fieldset
,
figcaption
,
figure
,
footer
,
form
,
h1
,
h2
,
h3
,
h4
,
h5
,
h6
,
header
,
hgroup
,
html
,
i
,
iframe
,
img
,
ins
,
kbd
,
label
,
legend
,
li
,
mark
,
menu
,
nav
,
object
,
ol
,
output
,
p
,
pre
,
q
,
ruby
,
s
,
samp
,
section
,
small
,
span
,
strike
,
strong
,
sub
,
summary
,
sup
,
table
,
tbody
,
td
,
tfoot
,
th
,
thead
,
time
,
tr
,
tt
,
u
,
ul
,
var
,
video
{
margin
:
0
;
padding
:
0
;
border
:
0
;
font
:
inherit
;
vertical-align
:
baseline
}
article
,
aside
,
details
,
figcaption
,
figure
,
footer
,
header
,
hgroup
,
menu
,
nav
,
section
{
display
:
block
}
body
{
line-height
:
1
}
ol
,
ul
{
list-style
:
none
}
blockquote
,
q
{
quotes
:
none
}
blockquote
:after
,
blockquote
:before
,
q
:after
,
q
:before
{
content
:
''
;
content
:
none
}
table
{
border-collapse
:
collapse
;
border-spacing
:
0
}
.fadeIn
{
-webkit-animation-name
:
fadeIn
;
animation-name
:
fadeIn
;
-webkit-animation-duration
:
.3s
;
animation-duration
:
.3s
;
-webkit-animation-fill-mode
:
forwards
;
animation-fill-mode
:
forwards
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
);
animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
)}
.fadeOut
{
-webkit-animation-name
:
fadeOut
;
animation-name
:
fadeOut
;
-webkit-animation-duration
:
.3s
;
animation-duration
:
.3s
;
-webkit-animation-fill-mode
:
forwards
;
animation-fill-mode
:
forwards
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
);
animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
)}
.contentZoomIn
{
-webkit-animation-name
:
zoomIn
;
animation-name
:
zoomIn
;
-webkit-animation-duration
:
.2s
;
animation-duration
:
.2s
;
-webkit-animation-fill-mode
:
forwards
;
animation-fill-mode
:
forwards
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1
);
animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1
)}
.contentZoomOut
{
-webkit-animation-name
:
zoomOut
;
animation-name
:
zoomOut
;
-webkit-animation-duration
:
.2s
;
animation-duration
:
.2s
;
-webkit-animation-fill-mode
:
forwards
;
animation-fill-mode
:
forwards
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1
);
animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1
)}
@-webkit-keyframes
moveUp
{
0
%
{
-webkit-transform
:
translateY
(
100px
);
transform
:
translateY
(
100px
);
opacity
:
0
}
100
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
);
opacity
:
1
}}
@keyframes
moveUp
{
0
%
{
-webkit-transform
:
translateY
(
100px
);
transform
:
translateY
(
100px
);
opacity
:
0
}
100
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
);
opacity
:
1
}}
@-webkit-keyframes
fadeIn
{
0
%
{
opacity
:
0
}
100
%
{
opacity
:
1
}}
@keyframes
fadeIn
{
0
%
{
opacity
:
0
}
100
%
{
opacity
:
1
}}
@-webkit-keyframes
fadeOut
{
0
%
{
opacity
:
1
}
100
%
{
opacity
:
0
}}
@keyframes
fadeOut
{
0
%
{
opacity
:
1
}
100
%
{
opacity
:
0
}}
@-webkit-keyframes
moveBackground
{
0
%
{
background-position-x
:
0
}
100
%
{
background-position-x
:
-100px
}}
@keyframes
moveBackground
{
0
%
{
background-position-x
:
0
}
100
%
{
background-position-x
:
-100px
}}
@-webkit-keyframes
zoomIn
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
.8
);
transform
:
scale
(
.8
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
@keyframes
zoomIn
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
.8
);
transform
:
scale
(
.8
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
@-webkit-keyframes
zoomOut
{
0
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}
100
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
.8
);
transform
:
scale
(
.8
)}}
@keyframes
zoomOut
{
0
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}
100
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
.8
);
transform
:
scale
(
.8
)}}
@-webkit-keyframes
popIn
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0
);
transform
:
scale
(
0
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
@keyframes
popIn
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0
);
transform
:
scale
(
0
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
@-webkit-keyframes
pulse
{
0
%
{
opacity
:
1
}
50
%
{
opacity
:
.3
}
100
%
{
opacity
:
1
}}
@keyframes
pulse
{
0
%
{
opacity
:
1
}
50
%
{
opacity
:
.3
}
100
%
{
opacity
:
1
}}
#content
::before
{
content
:
""
;
position
:
absolute
;
left
:
0
;
width
:
100%
;
height
:
20px
;
background
:
-webkit-linear-gradient
(
top
,
#262626
,
#222
);
background
:
linear-gradient
(
to
bottom
,
#262626
,
#222
);
border-top
:
1px
solid
#333
}
#content
.view
::before
{
display
:
none
}
#content
{
position
:
absolute
;
padding
:
50px
0
33px
;
width
:
100%
;
min-height
:
-webkit-calc
(
100%
-
90px
);
min-height
:
calc
(
100%
-
90px
);
-webkit-overflow-scrolling
:
touch
}
.photo
{
float
:
left
;
display
:
inline-block
;
width
:
206px
;
height
:
206px
;
margin
:
30px
0
0
30px
;
cursor
:
pointer
}
.photo
img
{
position
:
absolute
;
width
:
200px
;
height
:
200px
;
background-color
:
#222
;
border-radius
:
2px
;
border
:
2px
solid
#ccc
}
.photo.active
img
,
.photo
:hover
img
{
box-shadow
:
0
0
5px
#005ecc
}
.photo
:active
{
-webkit-transition-duration
:
.1s
;
transition-duration
:
.1s
;
-webkit-transform
:
scale
(
.98
);
-ms-transform
:
scale
(
.98
);
transform
:
scale
(
.98
)}
.album
{
float
:
left
;
display
:
inline-block
;
width
:
204px
;
height
:
204px
;
margin
:
30px
0
0
30px
;
cursor
:
pointer
}
.album
img
:first-child
,
.album
img
:nth-child
(
2
)
{
-webkit-transform
:
rotate
(
0deg
)
translateY
(
0px
)
translateX
(
0px
);
-ms-transform
:
rotate
(
0deg
)
translateY
(
0px
)
translateX
(
0px
);
transform
:
rotate
(
0deg
)
translateY
(
0px
)
translateX
(
0px
);
opacity
:
0
}
.album
:hover
img
:first-child
{
-webkit-transform
:
rotate
(
-2deg
)
translateY
(
10px
)
translateX
(
-12px
);
-ms-transform
:
rotate
(
-2deg
)
translateY
(
10px
)
translateX
(
-12px
);
transform
:
rotate
(
-2deg
)
translateY
(
10px
)
translateX
(
-12px
);
opacity
:
1
}
.album
:hover
img
:nth-child
(
2
)
{
-webkit-transform
:
rotate
(
5deg
)
translateY
(
-8px
)
translateX
(
12px
);
-ms-transform
:
rotate
(
5deg
)
translateY
(
-8px
)
translateX
(
12px
);
transform
:
rotate
(
5deg
)
translateY
(
-8px
)
translateX
(
12px
);
opacity
:
1
}
.album
img
{
position
:
absolute
;
width
:
200px
;
height
:
200px
;
background-color
:
#222
;
border-radius
:
2px
;
border
:
2px
solid
#ccc
}
.album.active
img
,
.album
:hover
img
{
box-shadow
:
0
0
5px
#005ecc
}
.album
.overlay
,
.photo
.overlay
{
position
:
absolute
;
width
:
200px
;
height
:
200px
;
margin
:
2px
}
.album
.overlay
{
background
:
-webkit-linear-gradient
(
top
,
rgba
(
0
,
0
,
0
,
0
)
0
,
rgba
(
0
,
0
,
0
,
0
)
20%
,
rgba
(
0
,
0
,
0
,
.9
)
100%
);
background
:
linear-gradient
(
to
bottom
,
rgba
(
0
,
0
,
0
,
0
)
0
,
rgba
(
0
,
0
,
0
,
0
)
20%
,
rgba
(
0
,
0
,
0
,
.9
)
100%
)}
.photo
.overlay
{
background
:
-webkit-linear-gradient
(
top
,
rgba
(
0
,
0
,
0
,
0
)
0
,
rgba
(
0
,
0
,
0
,
0
)
60%
,
rgba
(
0
,
0
,
0
,
.5
)
80%
,
rgba
(
0
,
0
,
0
,
.9
)
100%
);
background
:
linear-gradient
(
to
bottom
,
rgba
(
0
,
0
,
0
,
0
)
0
,
rgba
(
0
,
0
,
0
,
0
)
60%
,
rgba
(
0
,
0
,
0
,
.5
)
80%
,
rgba
(
0
,
0
,
0
,
.9
)
100%
);
opacity
:
0
}
.photo.active
.overlay
,
.photo
:hover
.overlay
{
opacity
:
1
}
.album
.overlay
h1
,
.photo
.overlay
h1
{
min-height
:
19px
;
width
:
185px
;
margin
:
153px
0
3px
15px
;
color
:
#fff
;
font-size
:
16px
;
font-weight
:
700
;
overflow
:
hidden
}
.album
.overlay
a
,
.photo
.overlay
a
{
font-size
:
11px
;
color
:
#aaa
}
.album
.overlay
a
{
margin-left
:
15px
}
.photo
.overlay
a
{
margin
:
155px
0
5px
15px
}
.photo
.overlay
a
span
{
margin
:
0
5px
0
0
}
.album
.badge
,
.photo
.badge
{
position
:
absolute
;
margin-top
:
-1px
;
margin-left
:
12px
;
padding
:
12px
7px
3px
;
box-shadow
:
0
0
3px
rgba
(
0
,
0
,
0
,
.8
);
border-radius
:
0
0
3px
3px
;
border
:
1px
solid
#fff
;
border-top
:
none
;
color
:
#fff
;
font-size
:
24px
;
text-shadow
:
0
1px
0
rgba
(
0
,
0
,
0
,
.4
);
opacity
:
.9
}
.album
.badge.icon-star
,
.photo
.badge.icon-star
{
padding
:
12px
8px
3px
}
.album
.badge.icon-share
,
.photo
.badge.icon-share
{
padding
:
12px
6px
3px
8px
}
.album
.badge.icon-time
,
.photo
.badge.icon-time
{
padding
:
12px
8px
3px
9px
}
.album
.badge
::after
,
.photo
.badge
::after
{
content
:
""
;
position
:
absolute
;
margin-top
:
-12px
;
margin-left
:
-26px
;
width
:
38px
;
height
:
5px
;
background
:
-webkit-linear-gradient
(
top
,
rgba
(
0
,
0
,
0
,
1
)
0
,
rgba
(
0
,
0
,
0
,
0
)
100%
);
background
:
linear-gradient
(
to
bottom
,
rgba
(
0
,
0
,
0
,
1
)
0
,
rgba
(
0
,
0
,
0
,
0
)
100%
);
opacity
:
.4
}
.album
.badge.icon-star
::after
,
.photo
.badge.icon-star
::after
{
margin-left
:
-29px
}
.album
.badge.icon-share
::after
,
.photo
.badge.icon-share
::after
{
margin-left
:
-31px
}
.album
.badge.icon-time
::after
,
.photo
.badge.icon-time
::after
{
margin-left
:
-29px
}
.album
.badge.icon-reorder
::after
{
margin-left
:
-30px
}
.album
.badge
:nth-child
(
2
n
),
.photo
.badge
:nth-child
(
2
n
)
{
margin-left
:
57px
}
.album
.badge.red
,
.photo
.badge.red
{
background
:
-webkit-linear-gradient
(
top
,
#d64b4b
0
,
#ab2c2c
100%
);
background
:
linear-gradient
(
to
bottom
,
#d64b4b
0
,
#ab2c2c
100%
)}
.album
.badge.blue
,
.photo
.badge.blue
{
background
:
-webkit-linear-gradient
(
top
,
#347cd6
0
,
#2945ab
100%
);
background
:
linear-gradient
(
to
bottom
,
#347cd6
0
,
#2945ab
100%
)}
.divider
{
float
:
left
;
width
:
100%
;
margin-top
:
50px
;
opacity
:
0
;
border-top
:
1px
solid
#2E2E2E
;
box-shadow
:
0
-1px
0
#151515
}
.divider
:first-child
{
margin-top
:
0
;
border-top
:
none
}
.divider
h1
{
float
:
left
;
margin
:
20px
0
0
30px
;
color
:
#fff
;
font-size
:
14px
;
font-weight
:
700
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.8
)}
.no_content
{
position
:
absolute
;
top
:
50%
;
left
:
50%
;
height
:
160px
;
width
:
180px
;
margin-top
:
-80px
;
margin-left
:
-90px
;
padding-top
:
20px
;
color
:
rgba
(
20
,
20
,
20
,
1
);
text-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
.05
);
text-align
:
center
}
.no_content
.icon
{
font-size
:
120px
}
.no_content
p
{
font-size
:
18px
}
.contextmenu_bg
{
position
:
fixed
;
height
:
100%
;
width
:
100%
;
z-index
:
1000
}
.contextmenu
{
position
:
fixed
;
top
:
0
;
left
:
0
;
padding
:
5px
0
6px
;
background
:
-webkit-linear-gradient
(
top
,
#444
0
,
#2f2f2f
100%
);
background
:
linear-gradient
(
to
bottom
,
#444
0
,
#2f2f2f
100%
);
border
:
1px
solid
rgba
(
0
,
0
,
0
,
.5
);
border-bottom
:
1px
solid
rgba
(
0
,
0
,
0
,
.7
);
border-radius
:
5px
;
box-shadow
:
0
3px
4px
rgba
(
0
,
0
,
0
,
.25
),
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.1
);
opacity
:
0
;
z-index
:
1001
;
-webkit-transition
:
none
;
transition
:
none
}
.contextmenu
tr
{
font-size
:
14px
;
color
:
#eee
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.2
);
cursor
:
pointer
}
.contextmenu
tr
:hover
{
background
:
-webkit-linear-gradient
(
top
,
#6a84f2
,
#4967F0
);
background
:
linear-gradient
(
to
bottom
,
#6a84f2
,
#4967F0
)}
.contextmenu
tr
.no_hover
:hover
{
cursor
:
inherit
;
background-color
:
inherit
;
background-image
:
none
}
.contextmenu
tr
.separator
{
float
:
left
;
height
:
1px
;
width
:
100%
;
background-color
:
#1f1f1f
;
border-bottom
:
1px
solid
#4c4c4c
;
margin
:
5px
0
;
cursor
:
inherit
}
.contextmenu
tr
.separator
:hover
{
background-color
:
#222
;
background-image
:
none
}
.contextmenu
tr
td
{
padding
:
7px
30px
6px
12px
;
white-space
:
nowrap
;
-webkit-transition
:
none
;
transition
:
none
}
.contextmenu
tr
:hover
td
{
color
:
#fff
;
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.05
);
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.2
)}
.contextmenu
tr
.no_hover
:hover
td
{
box-shadow
:
none
}
.contextmenu
tr
a
{
float
:
left
;
width
:
10px
;
margin-right
:
10px
;
text-align
:
center
}
.contextmenu
#link
{
float
:
right
;
width
:
140px
;
margin
:
-1px
-18px
-2px
-1px
;
padding
:
5px
7px
6px
;
background-color
:
#444
;
color
:
#fff
;
border
:
none
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,
.5
);
box-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
.08
);
outline
:
0
;
border-radius
:
5px
}
.contextmenu
tr
a
#link_icon
{
padding-top
:
4px
}
@font-face
{
font-family
:
FontAwesome
;
src
:
url(../font/fontawesome-webfont.eot)
;
src
:
url(../font/fontawesome-webfont.eot?#iefix)
format
(
'eot'
),
url(../font/fontawesome-webfont.woff)
format
(
'woff'
),
url(../font/fontawesome-webfont.ttf)
format
(
'truetype'
),
url(../font/fontawesome-webfont.svg#FontAwesome)
format
(
'svg'
);
font-weight
:
400
;
font-style
:
normal
}
[
class
*=
" icon-"
]
:before
,[
class
^=
icon-
]
:before
{
font-family
:
FontAwesome
;
font-weight
:
400
;
font-style
:
normal
;
display
:
inline-block
;
text-decoration
:
inherit
}
a
[
class
*=
" icon-"
],
a
[
class
^=
icon-
]
{
display
:
inline-block
;
text-decoration
:
inherit
}
.icon-large
:before
{
vertical-align
:
top
;
font-size
:
1.3333333333333333em
}
.btn
[
class
*=
" icon-"
],
.btn
[
class
^=
icon-
]
{
line-height
:
.9em
}
li
[
class
*=
" icon-"
],
li
[
class
^=
icon-
]
{
display
:
inline-block
;
width
:
1.25em
;
text-align
:
center
}
li
.icon-large
[
class
*=
" icon-"
],
li
.icon-large
[
class
^=
icon-
]
{
width
:
1.875em
}
li
[
class
*=
" icon-"
],
li
[
class
^=
icon-
]
{
margin-left
:
0
;
list-style-type
:
none
}
li
[
class
*=
" icon-"
]
:before
,
li
[
class
^=
icon-
]
:before
{
text-indent
:
-2em
;
text-align
:
center
}
li
[
class
*=
" icon-"
]
.icon-large
:before
,
li
[
class
^=
icon-
]
.icon-large
:before
{
text-indent
:
-1.3333333333333333em
}
.icon-glass
:before
{
content
:
"\f000"
}
.icon-music
:before
{
content
:
"\f001"
}
.icon-search
:before
{
content
:
"\f002"
}
.icon-envelope
:before
{
content
:
"\f003"
}
.icon-heart
:before
{
content
:
"\f004"
}
.icon-star
:before
{
content
:
"\f005"
}
.icon-star-empty
:before
{
content
:
"\f006"
}
.icon-user
:before
{
content
:
"\f007"
}
.icon-film
:before
{
content
:
"\f008"
}
.icon-th-large
:before
{
content
:
"\f009"
}
.icon-th
:before
{
content
:
"\f00a"
}
.icon-th-list
:before
{
content
:
"\f00b"
}
.icon-ok
:before
{
content
:
"\f00c"
}
.icon-remove
:before
{
content
:
"\f00d"
}
.icon-zoom-in
:before
{
content
:
"\f00e"
}
.icon-zoom-out
:before
{
content
:
"\f010"
}
.icon-off
:before
{
content
:
"\f011"
}
.icon-signal
:before
{
content
:
"\f012"
}
.icon-cog
:before
{
content
:
"\f013"
}
.icon-trash
:before
{
content
:
"\f014"
}
.icon-home
:before
{
content
:
"\f015"
}
.icon-file
:before
{
content
:
"\f016"
}
.icon-time
:before
{
content
:
"\f017"
}
.icon-road
:before
{
content
:
"\f018"
}
.icon-download-alt
:before
{
content
:
"\f019"
}
.icon-download
:before
{
content
:
"\f01a"
}
.icon-upload
:before
{
content
:
"\f01b"
}
.icon-inbox
:before
{
content
:
"\f01c"
}
.icon-play-circle
:before
{
content
:
"\f01d"
}
.icon-repeat
:before
{
content
:
"\f01e"
}
.icon-refresh
:before
{
content
:
"\f021"
}
.icon-list-alt
:before
{
content
:
"\f022"
}
.icon-lock
:before
{
content
:
"\f023"
}
.icon-flag
:before
{
content
:
"\f024"
}
.icon-headphones
:before
{
content
:
"\f025"
}
.icon-volume-off
:before
{
content
:
"\f026"
}
.icon-volume-down
:before
{
content
:
"\f027"
}
.icon-volume-up
:before
{
content
:
"\f028"
}
.icon-qrcode
:before
{
content
:
"\f029"
}
.icon-barcode
:before
{
content
:
"\f02a"
}
.icon-tag
:before
{
content
:
"\f02b"
}
.icon-tags
:before
{
content
:
"\f02c"
}
.icon-book
:before
{
content
:
"\f02d"
}
.icon-bookmark
:before
{
content
:
"\f02e"
}
.icon-print
:before
{
content
:
"\f02f"
}
.icon-camera
:before
{
content
:
"\f030"
}
.icon-font
:before
{
content
:
"\f031"
}
.icon-bold
:before
{
content
:
"\f032"
}
.icon-italic
:before
{
content
:
"\f033"
}
.icon-text-height
:before
{
content
:
"\f034"
}
.icon-text-width
:before
{
content
:
"\f035"
}
.icon-align-left
:before
{
content
:
"\f036"
}
.icon-align-center
:before
{
content
:
"\f037"
}
.icon-align-right
:before
{
content
:
"\f038"
}
.icon-align-justify
:before
{
content
:
"\f039"
}
.icon-list
:before
{
content
:
"\f03a"
}
.icon-indent-left
:before
{
content
:
"\f03b"
}
.icon-indent-right
:before
{
content
:
"\f03c"
}
.icon-facetime-video
:before
{
content
:
"\f03d"
}
.icon-picture
:before
{
content
:
"\f03e"
}
.icon-pencil
:before
{
content
:
"\f040"
}
.icon-map-marker
:before
{
content
:
"\f041"
}
.icon-adjust
:before
{
content
:
"\f042"
}
.icon-tint
:before
{
content
:
"\f043"
}
.icon-edit
:before
{
content
:
"\f044"
}
.icon-share
:before
{
content
:
"\f045"
}
.icon-check
:before
{
content
:
"\f046"
}
.icon-move
:before
{
content
:
"\f047"
}
.icon-step-backward
:before
{
content
:
"\f048"
}
.icon-fast-backward
:before
{
content
:
"\f049"
}
.icon-backward
:before
{
content
:
"\f04a"
}
.icon-play
:before
{
content
:
"\f04b"
}
.icon-pause
:before
{
content
:
"\f04c"
}
.icon-stop
:before
{
content
:
"\f04d"
}
.icon-forward
:before
{
content
:
"\f04e"
}
.icon-fast-forward
:before
{
content
:
"\f050"
}
.icon-step-forward
:before
{
content
:
"\f051"
}
.icon-eject
:before
{
content
:
"\f052"
}
.icon-chevron-left
:before
{
content
:
"\f053"
}
.icon-chevron-right
:before
{
content
:
"\f054"
}
.icon-plus-sign
:before
{
content
:
"\f055"
}
.icon-minus-sign
:before
{
content
:
"\f056"
}
.icon-remove-sign
:before
{
content
:
"\f057"
}
.icon-ok-sign
:before
{
content
:
"\f058"
}
.icon-question-sign
:before
{
content
:
"\f059"
}
.icon-info-sign
:before
{
content
:
"\f05a"
}
.icon-screenshot
:before
{
content
:
"\f05b"
}
.icon-remove-circle
:before
{
content
:
"\f05c"
}
.icon-ok-circle
:before
{
content
:
"\f05d"
}
.icon-ban-circle
:before
{
content
:
"\f05e"
}
.icon-arrow-left
:before
{
content
:
"\f060"
}
.icon-arrow-right
:before
{
content
:
"\f061"
}
.icon-arrow-up
:before
{
content
:
"\f062"
}
.icon-arrow-down
:before
{
content
:
"\f063"
}
.icon-share-alt
:before
{
content
:
"\f064"
}
.icon-resize-full
:before
{
content
:
"\f065"
}
.icon-resize-small
:before
{
content
:
"\f066"
}
.icon-plus
:before
{
content
:
"\f067"
}
.icon-minus
:before
{
content
:
"\f068"
}
.icon-asterisk
:before
{
content
:
"\f069"
}
.icon-exclamation-sign
:before
{
content
:
"\f06a"
}
.icon-gift
:before
{
content
:
"\f06b"
}
.icon-leaf
:before
{
content
:
"\f06c"
}
.icon-fire
:before
{
content
:
"\f06d"
}
.icon-eye-open
:before
{
content
:
"\f06e"
}
.icon-eye-close
:before
{
content
:
"\f070"
}
.icon-warning-sign
:before
{
content
:
"\f071"
}
.icon-plane
:before
{
content
:
"\f072"
}
.icon-calendar
:before
{
content
:
"\f073"
}
.icon-random
:before
{
content
:
"\f074"
}
.icon-comment
:before
{
content
:
"\f075"
}
.icon-magnet
:before
{
content
:
"\f076"
}
.icon-chevron-up
:before
{
content
:
"\f077"
}
.icon-chevron-down
:before
{
content
:
"\f078"
}
.icon-retweet
:before
{
content
:
"\f079"
}
.icon-shopping-cart
:before
{
content
:
"\f07a"
}
.icon-folder-close
:before
{
content
:
"\f07b"
}
.icon-folder-open
:before
{
content
:
"\f07c"
}
.icon-resize-vertical
:before
{
content
:
"\f07d"
}
.icon-resize-horizontal
:before
{
content
:
"\f07e"
}
.icon-bar-chart
:before
{
content
:
"\f080"
}
.icon-twitter-sign
:before
{
content
:
"\f081"
}
.icon-facebook-sign
:before
{
content
:
"\f082"
}
.icon-camera-retro
:before
{
content
:
"\f083"
}
.icon-key
:before
{
content
:
"\f084"
}
.icon-cogs
:before
{
content
:
"\f085"
}
.icon-comments
:before
{
content
:
"\f086"
}
.icon-thumbs-up
:before
{
content
:
"\f087"
}
.icon-thumbs-down
:before
{
content
:
"\f088"
}
.icon-star-half
:before
{
content
:
"\f089"
}
.icon-heart-empty
:before
{
content
:
"\f08a"
}
.icon-signout
:before
{
content
:
"\f08b"
}
.icon-linkedin-sign
:before
{
content
:
"\f08c"
}
.icon-pushpin
:before
{
content
:
"\f08d"
}
.icon-external-link
:before
{
content
:
"\f08e"
}
.icon-signin
:before
{
content
:
"\f090"
}
.icon-trophy
:before
{
content
:
"\f091"
}
.icon-github-sign
:before
{
content
:
"\f092"
}
.icon-upload-alt
:before
{
content
:
"\f093"
}
.icon-lemon
:before
{
content
:
"\f094"
}
.icon-phone
:before
{
content
:
"\f095"
}
.icon-check-empty
:before
{
content
:
"\f096"
}
.icon-bookmark-empty
:before
{
content
:
"\f097"
}
.icon-phone-sign
:before
{
content
:
"\f098"
}
.icon-twitter
:before
{
content
:
"\f099"
}
.icon-facebook
:before
{
content
:
"\f09a"
}
.icon-github
:before
{
content
:
"\f09b"
}
.icon-unlock
:before
{
content
:
"\f09c"
}
.icon-credit-card
:before
{
content
:
"\f09d"
}
.icon-rss
:before
{
content
:
"\f09e"
}
.icon-hdd
:before
{
content
:
"\f0a0"
}
.icon-bullhorn
:before
{
content
:
"\f0a1"
}
.icon-bell
:before
{
content
:
"\f0a2"
}
.icon-certificate
:before
{
content
:
"\f0a3"
}
.icon-hand-right
:before
{
content
:
"\f0a4"
}
.icon-hand-left
:before
{
content
:
"\f0a5"
}
.icon-hand-up
:before
{
content
:
"\f0a6"
}
.icon-hand-down
:before
{
content
:
"\f0a7"
}
.icon-circle-arrow-left
:before
{
content
:
"\f0a8"
}
.icon-circle-arrow-right
:before
{
content
:
"\f0a9"
}
.icon-circle-arrow-up
:before
{
content
:
"\f0aa"
}
.icon-circle-arrow-down
:before
{
content
:
"\f0ab"
}
.icon-globe
:before
{
content
:
"\f0ac"
}
.icon-wrench
:before
{
content
:
"\f0ad"
}
.icon-tasks
:before
{
content
:
"\f0ae"
}
.icon-filter
:before
{
content
:
"\f0b0"
}
.icon-briefcase
:before
{
content
:
"\f0b1"
}
.icon-fullscreen
:before
{
content
:
"\f0b2"
}
.icon-group
:before
{
content
:
"\f0c0"
}
.icon-link
:before
{
content
:
"\f0c1"
}
.icon-cloud
:before
{
content
:
"\f0c2"
}
.icon-beaker
:before
{
content
:
"\f0c3"
}
.icon-cut
:before
{
content
:
"\f0c4"
}
.icon-copy
:before
{
content
:
"\f0c5"
}
.icon-paper-clip
:before
{
content
:
"\f0c6"
}
.icon-save
:before
{
content
:
"\f0c7"
}
.icon-sign-blank
:before
{
content
:
"\f0c8"
}
.icon-reorder
:before
{
content
:
"\f0c9"
}
.icon-list-ul
:before
{
content
:
"\f0ca"
}
.icon-list-ol
:before
{
content
:
"\f0cb"
}
.icon-strikethrough
:before
{
content
:
"\f0cc"
}
.icon-underline
:before
{
content
:
"\f0cd"
}
.icon-table
:before
{
content
:
"\f0ce"
}
.icon-magic
:before
{
content
:
"\f0d0"
}
.icon-truck
:before
{
content
:
"\f0d1"
}
.icon-pinterest
:before
{
content
:
"\f0d2"
}
.icon-pinterest-sign
:before
{
content
:
"\f0d3"
}
.icon-google-plus-sign
:before
{
content
:
"\f0d4"
}
.icon-google-plus
:before
{
content
:
"\f0d5"
}
.icon-money
:before
{
content
:
"\f0d6"
}
.icon-caret-down
:before
{
content
:
"\f0d7"
}
.icon-caret-up
:before
{
content
:
"\f0d8"
}
.icon-caret-left
:before
{
content
:
"\f0d9"
}
.icon-caret-right
:before
{
content
:
"\f0da"
}
.icon-columns
:before
{
content
:
"\f0db"
}
.icon-sort
:before
{
content
:
"\f0dc"
}
.icon-sort-down
:before
{
content
:
"\f0dd"
}
.icon-sort-up
:before
{
content
:
"\f0de"
}
.icon-envelope-alt
:before
{
content
:
"\f0e0"
}
.icon-linkedin
:before
{
content
:
"\f0e1"
}
.icon-undo
:before
{
content
:
"\f0e2"
}
.icon-legal
:before
{
content
:
"\f0e3"
}
.icon-dashboard
:before
{
content
:
"\f0e4"
}
.icon-comment-alt
:before
{
content
:
"\f0e5"
}
.icon-comments-alt
:before
{
content
:
"\f0e6"
}
.icon-bolt
:before
{
content
:
"\f0e7"
}
.icon-sitemap
:before
{
content
:
"\f0e8"
}
.icon-umbrella
:before
{
content
:
"\f0e9"
}
.icon-paste
:before
{
content
:
"\f0ea"
}
.icon-user-md
:before
{
content
:
"\f200"
}
header
{
position
:
fixed
;
height
:
49px
;
width
:
100%
;
background
:
-webkit-linear-gradient
(
top
,
#3E3E3E
,
#282828
);
background
:
linear-gradient
(
to
bottom
,
#3E3E3E
,
#282828
);
border-bottom
:
1px
solid
#161616
;
z-index
:
1
;
-webkit-transition
:
-webkit-transform
.3s
ease-out
;
transition
:
transform
.3s
ease-out
}
header
.hidden
{
-webkit-transform
:
translateY
(
-60px
);
-ms-transform
:
translateY
(
-60px
);
transform
:
translateY
(
-60px
)}
header
.loading
{
-webkit-transform
:
translateY
(
2px
);
-ms-transform
:
translateY
(
2px
);
transform
:
translateY
(
2px
)}
header
.error
{
-webkit-transform
:
translateY
(
40px
);
-ms-transform
:
translateY
(
40px
);
transform
:
translateY
(
40px
)}
header
.view.error
{
background-color
:
rgba
(
10
,
10
,
10
,
.99
)}
header
.view
{
background
:
0
0
;
border-bottom
:
none
}
header
.view
#title
,
header
.view
.button
,
header
.view
.tools
{
text-shadow
:
none
!important
}
header
#title
{
position
:
absolute
;
margin
:
0
30%
;
width
:
40%
;
padding
:
15px
0
;
color
:
#fff
;
font-size
:
16px
;
font-weight
:
700
;
text-align
:
center
;
text-shadow
:
0
-1px
0
#222
}
header
#title
.editable
{
cursor
:
pointer
}
header
.button
{
color
:
#888
;
font-family
:
FontAwesome
;
font-size
:
21px
;
font-weight
:
700
;
text-decoration
:
none
!important
;
cursor
:
pointer
;
text-shadow
:
0
-1px
0
#222
}
header
.button.left
{
float
:
left
;
position
:
absolute
;
padding
:
16px
10px
8px
18px
}
header
.button.right
{
float
:
right
;
position
:
relative
;
padding
:
16px
19px
13px
11px
}
header
.button
:hover
{
color
:
#fff
}
header
#button_signin
,
header
#tools_album
,
header
#tools_albums
,
header
#tools_photo
{
display
:
none
}
header
.button_divider
{
float
:
right
;
position
:
relative
;
width
:
14px
;
height
:
50px
}
header
#search
{
float
:
right
;
width
:
80px
;
margin
:
12px
12px
0
0
;
padding
:
5px
12px
6px
;
background-color
:
#383838
;
color
:
#fff
;
border
:
none
;
border
:
1px
solid
#131313
;
box-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
.1
);
outline
:
0
;
border-radius
:
50px
;
opacity
:
.6
;
-webkit-transition
:
opacity
.3s
ease-out
,
-webkit-transform
.3s
ease-out
,
box-shadow
.3s
,
width
.2s
ease-out
;
transition
:
opacity
.3s
ease-out
,
transform
.3s
ease-out
,
box-shadow
.3s
,
width
.2s
ease-out
}
header
#search
:focus
{
width
:
140px
}
header
#search
:focus
~
#clearSearch
{
opacity
:
1
}
header
#clearSearch
{
position
:
absolute
;
top
:
15px
;
right
:
81px
;
padding
:
0
;
font-size
:
20px
;
opacity
:
0
;
-webkit-transition
:
opacity
.2s
ease-out
;
transition
:
opacity
.2s
ease-out
}
header
#clearSearch
:hover
{
opacity
:
1
}
header
.tools
:first-of-type
{
margin-right
:
6px
}
header
.tools
{
float
:
right
;
padding
:
14px
8px
;
color
:
#888
;
font-size
:
21px
;
text-shadow
:
0
-1px
0
#222
;
cursor
:
pointer
}
header
.tools
:hover
a
{
color
:
#fff
}
header
.tools
.icon-star
{
color
:
#f0ef77
}
header
.tools
.icon-share.active
{
color
:
#ff9737
}
header
#hostedwith
{
float
:
right
;
padding
:
5px
10px
;
margin
:
13px
9px
;
color
:
#888
;
font-size
:
13px
;
text-shadow
:
0
-1px
0
#222
;
display
:
none
;
cursor
:
pointer
}
header
#hostedwith
:hover
{
background-color
:
rgba
(
0
,
0
,
0
,
.2
);
border-radius
:
100px
}
#imageview
{
position
:
fixed
;
display
:
none
;
width
:
100%
;
min-height
:
100%
;
background-color
:
rgba
(
10
,
10
,
10
,
.98
);
-webkit-transition
:
background-color
.3s
;
transition
:
background-color
.3s
}
#imageview
.view
{
background-color
:
inherit
}
#imageview
.full
{
background-color
:
rgba
(
0
,
0
,
0
,
1
)}
#imageview
#image
{
position
:
absolute
;
top
:
60px
;
right
:
30px
;
bottom
:
30px
;
left
:
30px
;
background-repeat
:
no-repeat
;
background-position
:
50%
50%
;
background-size
:
contain
;
-webkit-transition
:
top
.3s
,
right
.3s
,
bottom
.3s
,
left
.3s
,
margin-top
.3s
,
opacity
.2s
,
-webkit-transform
.3s
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
);
transition
:
top
.3s
,
right
.3s
,
bottom
.3s
,
left
.3s
,
margin-top
.3s
,
opacity
.2s
,
transform
.3s
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
);
-webkit-animation-name
:
zoomIn
;
animation-name
:
zoomIn
;
-webkit-animation-duration
:
.3s
;
animation-duration
:
.3s
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
);
animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
)}
#imageview
#image
.small
{
top
:
50%
;
right
:
auto
;
bottom
:
auto
;
left
:
50%
}
#imageview
#image
.full
{
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
}
#imageview
.arrow_wrapper
{
position
:
fixed
;
width
:
20%
;
height
:
-webkit-calc
(
100%
-
60px
);
height
:
calc
(
100%
-
60px
);
top
:
60px
;
z-index
:
1
}
#imageview
.arrow_wrapper.previous
{
left
:
0
}
#imageview
.arrow_wrapper.next
{
right
:
0
}
#imageview
.arrow_wrapper
a
{
position
:
fixed
;
top
:
50%
;
margin-top
:
-10px
;
color
:
#fff
;
font-size
:
50px
;
text-shadow
:
0
1px
2px
#000
;
cursor
:
pointer
;
opacity
:
0
;
z-index
:
2
;
-webkit-transition
:
opacity
.2s
;
transition
:
opacity
.2s
}
#imageview
.arrow_wrapper
:hover
a
{
opacity
:
.2
}
#imageview
.arrow_wrapper
a
#previous
{
left
:
20px
}
#imageview
.arrow_wrapper
a
#next
{
right
:
20px
}
#infobox_overlay
{
z-index
:
3
;
position
:
fixed
;
width
:
100%
;
height
:
100%
;
top
:
0
;
left
:
0
;
background-color
:
rgba
(
0
,
0
,
0
,
.8
)}
#infobox
{
z-index
:
4
;
position
:
fixed
;
right
:
0
;
width
:
350px
;
height
:
100%
;
background-color
:
rgba
(
20
,
20
,
20
,
.98
);
box-shadow
:
-1px
0
2px
rgba
(
0
,
0
,
0
,
.8
);
display
:
none
;
-webkit-transform
:
translateX
(
370px
);
-ms-transform
:
translateX
(
370px
);
transform
:
translateX
(
370px
);
-webkit-transition
:
-webkit-transform
.3s
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
);
transition
:
transform
.3s
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
)}
#infobox
.active
{
-webkit-transform
:
translateX
(
50px
);
-ms-transform
:
translateX
(
50px
);
transform
:
translateX
(
50px
)}
#infobox
.wrapper
{
float
:
left
;
height
:
100%
;
width
:
300px
;
overflow
:
scroll
;
-webkit-overflow-scrolling
:
touch
}
#infobox
.edit
{
display
:
inline
;
margin-left
:
3px
;
width
:
20px
;
height
:
5px
;
cursor
:
pointer
}
#infobox
.bumper
{
float
:
left
;
width
:
100%
;
height
:
50px
}
#infobox
.header
{
float
:
left
;
height
:
49px
;
width
:
100%
;
background-image
:
-webkit-linear-gradient
(
top
,
#2A2A2A
,
#131313
);
background-image
:
linear-gradient
(
to
bottom
,
#2A2A2A
,
#131313
);
border-bottom
:
1px
solid
#000
}
#infobox
.header
h1
{
position
:
absolute
;
margin
:
15px
30%
15px
-webkit-calc
(
30%
-
25px
);
margin
:
15px
30%
15px
calc
(
30%
-
25px
);
width
:
40%
;
color
:
#fff
;
font-size
:
16px
;
font-weight
:
700
;
text-align
:
center
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.8
)}
#infobox
.header
a
{
float
:
right
;
padding
:
15px
65px
15px
15px
;
color
:
#fff
;
font-size
:
20px
;
font-weight
:
700
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.8
);
opacity
:
.5
;
cursor
:
pointer
}
#infobox
.header
a
:hover
{
opacity
:
1
}
#infobox
.separator
{
float
:
left
;
width
:
100%
;
border-top
:
1px
solid
rgba
(
255
,
255
,
255
,
.04
);
box-shadow
:
0
-1px
0
#000
}
#infobox
.separator
h1
{
margin
:
20px
0
5px
20px
;
color
:
#fff
;
font-size
:
14px
;
font-weight
:
700
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.8
)}
#infobox
table
{
float
:
left
;
margin
:
10px
0
15px
20px
}
#infobox
table
tr
td
{
padding
:
5px
0
;
color
:
#fff
;
font-size
:
14px
;
line-height
:
19px
;
-webkit-user-select
:
text
;
-moz-user-select
:
text
;
-ms-user-select
:
text
;
user-select
:
text
}
#infobox
table
tr
td
:first-child
{
width
:
110px
}
#infobox
table
tr
td
:last-child
{
padding-right
:
10px
}
#infobox
#tags
{
width
:
-webkit-calc
(
100%
-
40px
);
width
:
calc
(
100%
-
40px
);
margin
:
16px
20px
12px
;
color
:
#fff
;
display
:
inline-block
}
#infobox
#tags
.empty
{
font-size
:
14px
;
margin-bottom
:
8px
}
#infobox
#tags
.edit
{
display
:
inline-block
}
#infobox
#tags
.empty
.edit
{
display
:
inline
}
#infobox
.tag
{
float
:
left
;
padding
:
4px
7px
;
margin
:
0
6px
8px
0
;
background-color
:
rgba
(
0
,
0
,
0
,
.5
);
border
:
2px
solid
rgba
(
255
,
255
,
255
,
.3
);
border-radius
:
100px
;
font-size
:
12px
;
-webkit-transition
:
border
.3s
;
transition
:
border
.3s
}
#infobox
.tag
:hover
{
border
:
2px
solid
#aaa
}
#infobox
.tag
span
{
float
:
right
;
width
:
0
;
padding
:
0
;
margin
:
0
0
-2px
;
color
:
red
;
font-size
:
11px
;
cursor
:
pointer
;
overflow
:
hidden
;
-webkit-transform
:
scale
(
0
);
-ms-transform
:
scale
(
0
);
transform
:
scale
(
0
);
-webkit-transition
:
width
.3s
,
margin
.3s
,
-webkit-transform
.3s
;
transition
:
width
.3s
,
margin
.3s
,
transform
.3s
}
#infobox
.tag
:hover
span
{
width
:
10px
;
margin
:
0
0
-2px
6px
;
-webkit-transform
:
scale
(
1
);
-ms-transform
:
scale
(
1
);
transform
:
scale
(
1
)}
#loading
{
position
:
fixed
;
width
:
100%
;
height
:
3px
;
background-size
:
100px
3px
;
background-repeat
:
repeat-x
;
border-bottom
:
1px
solid
rgba
(
0
,
0
,
0
,
.3
);
display
:
none
;
-webkit-animation-name
:
moveBackground
;
animation-name
:
moveBackground
;
-webkit-animation-duration
:
.3s
;
animation-duration
:
.3s
;
-webkit-animation-iteration-count
:
infinite
;
animation-iteration-count
:
infinite
;
-webkit-animation-timing-function
:
linear
;
animation-timing-function
:
linear
}
#loading
.loading
{
background-image
:
-webkit-linear-gradient
(
left
,
#153674
0
,
#153674
47%
,
#2651AE
53%
,
#2651AE
100%
);
background-image
:
linear-gradient
(
to
right
,
#153674
0
,
#153674
47%
,
#2651AE
53%
,
#2651AE
100%
);
z-index
:
2
}
#loading
.error
{
background-color
:
#2f0d0e
;
background-image
:
-webkit-linear-gradient
(
left
,
#451317
0
,
#451317
47%
,
#AA3039
53%
,
#AA3039
100%
);
background-image
:
linear-gradient
(
to
right
,
#451317
0
,
#451317
47%
,
#AA3039
53%
,
#AA3039
100%
);
z-index
:
1
}
#loading
h1
{
margin
:
13px
13px
0
;
color
:
#ddd
;
font-size
:
14px
;
font-weight
:
700
;
text-shadow
:
0
1px
0
#000
;
text-transform
:
capitalize
}
#loading
h1
span
{
margin-left
:
10px
;
font-weight
:
400
;
text-transform
:
none
}
@media
only
screen
and
(
max-width
:
900px
){
#title
{
margin
:
0
20%
!important
;
width
:
40%
!important
}
#title
.view
{
margin
:
0
20%
!important
;
width
:
60%
!important
}
#title
span
{
display
:
none
!important
}}
@media
only
screen
and
(
max-width
:
640px
){
#title
{
display
:
none
!important
}
#title
.view
{
display
:
block
!important
;
width
:
70%
!important
;
margin
:
0
20%
0
10%
!important
}
#button_archive
,
#button_move
{
display
:
none
!important
}
.center
{
top
:
0
!important
;
left
:
0
!important
}
.album
,
.photo
{
margin
:
40px
0
0
50px
!important
}
#imageview
.arrow_wrapper
{
display
:
none
!important
}
.message
{
position
:
fixed
!important
;
width
:
100%
!important
;
height
:
100%
!important
;
margin
:
1px
0
0
!important
;
border-radius
:
0
!important
;
-webkit-animation
:
moveUp
.3s
!important
;
animation
:
moveUp
.3s
!important
}
.upload_message
{
margin-top
:
0
!important
;
margin-left
:
0
!important
;
width
:
100%
!important
}}
.message_overlay
{
position
:
fixed
;
width
:
100%
;
height
:
100%
;
top
:
0
;
left
:
0
;
background-color
:
rgba
(
0
,
0
,
0
,
.85
);
z-index
:
1000
}
.message
{
position
:
absolute
;
display
:
inline-block
;
width
:
500px
;
margin-left
:
-250px
;
margin-top
:
-95px
;
background-color
:
#444
;
background-image
:
-webkit-linear-gradient
(
top
,
#4b4b4b
,
#2d2d2d
);
background-image
:
linear-gradient
(
to
bottom
,
#4b4b4b
,
#2d2d2d
);
border-radius
:
5px
;
box-shadow
:
0
0
5px
#000
,
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.08
);
-webkit-animation-name
:
moveUp
;
animation-name
:
moveUp
;
-webkit-animation-duration
:
.3s
;
animation-duration
:
.3s
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
);
animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
)}
.message
h1
{
float
:
left
;
width
:
100%
;
padding
:
12px
0
;
color
:
#fff
;
font-size
:
16px
;
font-weight
:
700
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.3
);
text-align
:
center
}
.message
.close
{
position
:
absolute
;
top
:
0
;
right
:
0
;
padding
:
12px
14px
6px
7px
;
color
:
#aaa
;
font-size
:
20px
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.3
);
cursor
:
pointer
}
.message
.close
:hover
{
color
:
#fff
}
.message
p
{
float
:
left
;
width
:
90%
;
margin-top
:
1px
;
padding
:
12px
5%
15px
;
color
:
#eee
;
font-size
:
14px
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.3
);
line-height
:
20px
}
.message
p
b
{
font-weight
:
700
;
color
:
#fff
}
.message
p
a
{
color
:
#eee
;
text-decoration
:
none
;
border-bottom
:
1px
dashed
#888
}
.message
.button
{
float
:
right
;
margin
:
15px
15px
15px
0
;
padding
:
7px
10px
8px
;
color
:
#ccc
;
font-size
:
14px
;
font-weight
:
700
;
text-align
:
center
;
text-shadow
:
0
-1px
0
#222
;
border-radius
:
5px
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,
.4
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.08
),
0
1px
0
rgba
(
255
,
255
,
255
,
.05
);
cursor
:
pointer
}
.message
.button
:first-of-type
{
margin
:
15px
5%
18px
0
!important
}
.message
.button.active
{
color
:
#fff
;
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.08
),
0
1px
0
rgba
(
255
,
255
,
255
,
.1
),
0
0
4px
#005ecc
}
.message
.button
:hover
{
background-image
:
-webkit-linear-gradient
(
top
,
#3c3c3c
,
#393939
);
background-image
:
linear-gradient
(
to
bottom
,
#3c3c3c
,
#393939
)}
.message
.button.pressed
,
.message
.button
:active
{
background-color
:
#393939
;
background-image
:
-webkit-linear-gradient
(
top
,
#393939
,
#3c3c3c
);
background-image
:
linear-gradient
(
to
bottom
,
#393939
,
#3c3c3c
)}
.sign_in
{
float
:
left
;
width
:
100%
;
margin-top
:
1px
;
padding
:
5px
0
;
color
:
#eee
;
font-size
:
14px
;
text-shadow
:
0
-1px
0
#222
;
line-height
:
20px
}
.sign_in
input
{
float
:
left
;
width
:
88%
;
padding
:
7px
1%
9px
;
margin
:
0
5%
;
background-color
:
transparent
;
color
:
#fff
;
text-shadow
:
0
-1px
0
#222
;
border
:
none
;
border-bottom
:
1px
solid
#222
;
box-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
.1
);
border-radius
:
0
;
outline
:
0
}
.sign_in
input
:first-of-type
{
margin-bottom
:
10px
}
.sign_in
input
.error
:focus
{
box-shadow
:
0
1px
0
rgba
(
204
,
0
,
7
,
.6
)}
.message
#version
{
display
:
inline-block
;
margin-top
:
23px
;
margin-left
:
5%
;
color
:
#888
;
text-shadow
:
0
-1px
0
#111
}
.message
#version
span
{
display
:
none
}
.message
#version
span
a
{
color
:
#888
}
.message
input
.text
{
float
:
left
;
width
:
-webkit-calc
(
100%
-
10px
);
width
:
calc
(
100%
-
10px
);
padding
:
17px
5px
9px
;
margin-top
:
10px
;
background-color
:
transparent
;
color
:
#fff
;
text-shadow
:
0
-1px
0
#222
;
border
:
none
;
box-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
.1
);
border-bottom
:
1px
solid
#222
;
border-radius
:
0
;
outline
:
0
}
.message
input
.less
{
margin-bottom
:
-10px
}
.message
input
.more
{
margin-bottom
:
30px
}
.message
.copylink
{
margin-bottom
:
20px
}
.message
.choice
{
float
:
left
;
margin
:
12px
5%
;
width
:
90%
;
color
:
#fff
}
.message
.choice
input
{
float
:
left
}
.message
.choice
h2
{
float
:
left
;
margin
:
1px
0
0
8px
;
color
:
#fff
;
font-size
:
14px
;
font-weight
:
700
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.3
)}
.message
.choice
p
{
margin-top
:
2px
;
padding
:
0
5%
0
25px
;
color
:
#aaa
;
font-size
:
13px
}
.message
.choice
p
input
{
width
:
100%
;
padding
:
10px
1px
9px
;
margin-top
:
10px
}
body
,
html
{
min-height
:
100%
}
body
{
background-color
:
#222
;
font-family
:
'Helvetica Neue'
,
Helvetica
,
Arial
,
sans-serif
;
font-size
:
12px
;
-webkit-font-smoothing
:
antialiased
;
-moz-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
;
font-smoothing
:
antialiased
}
body
.view
{
background-color
:
#0f0f0f
}
.center
{
position
:
absolute
;
left
:
50%
;
top
:
50%
}
*
{
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
-webkit-transition
:
color
.3s
,
opacity
.3s
ease-out
,
-webkit-transform
.3s
ease-out
,
box-shadow
.3s
;
transition
:
color
.3s
,
opacity
.3s
ease-out
,
transform
.3s
ease-out
,
box-shadow
.3s
}
input
{
-webkit-user-select
:
text
!important
;
-moz-user-select
:
text
!important
;
-ms-user-select
:
text
!important
;
user-select
:
text
!important
}
#multiselect
{
position
:
absolute
;
background-color
:
rgba
(
0
,
94
,
204
,
.3
);
border
:
1px
solid
rgba
(
0
,
94
,
204
,
1
);
border-radius
:
3px
;
z-index
:
3
}
.tipsy
{
padding
:
4px
;
font-size
:
12px
;
position
:
absolute
;
z-index
:
100000
;
-webkit-animation-name
:
fadeIn
;
animation-name
:
fadeIn
;
-webkit-animation-duration
:
.3s
;
animation-duration
:
.3s
}
.tipsy-inner
{
padding
:
8px
10px
7px
;
color
:
#fff
;
max-width
:
200px
;
text-align
:
center
;
background
:
rgba
(
0
,
0
,
0
,
.8
);
border-radius
:
25px
}
.tipsy-arrow
{
position
:
absolute
;
width
:
0
;
height
:
0
;
line-height
:
0
;
border
:
5px
dashed
rgba
(
0
,
0
,
0
,
.8
)}
.tipsy-arrow-n
{
border-bottom-color
:
rgba
(
0
,
0
,
0
,
.8
)}
.tipsy-arrow-s
{
border-top-color
:
rgba
(
0
,
0
,
0
,
.8
)}
.tipsy-arrow-e
{
border-left-color
:
rgba
(
0
,
0
,
0
,
.8
)}
.tipsy-arrow-w
{
border-right-color
:
rgba
(
0
,
0
,
0
,
.8
)}
.tipsy-n
.tipsy-arrow
{
top
:
0
;
left
:
50%
;
margin-left
:
-5px
;
border-bottom-style
:
solid
;
border-top
:
none
;
border-left-color
:
transparent
;
border-right-color
:
transparent
}
.tipsy-nw
.tipsy-arrow
{
top
:
0
;
left
:
10px
;
border-bottom-style
:
solid
;
border-top
:
none
;
border-left-color
:
transparent
;
border-right-color
:
transparent
}
.tipsy-ne
.tipsy-arrow
{
top
:
0
;
right
:
10px
;
border-bottom-style
:
solid
;
border-top
:
none
;
border-left-color
:
transparent
;
border-right-color
:
transparent
}
.tipsy-s
.tipsy-arrow
{
bottom
:
0
;
left
:
50%
;
margin-left
:
-5px
;
border-top-style
:
solid
;
border-bottom
:
none
;
border-left-color
:
transparent
;
border-right-color
:
transparent
}
.tipsy-sw
.tipsy-arrow
{
bottom
:
0
;
left
:
10px
;
border-top-style
:
solid
;
border-bottom
:
none
;
border-left-color
:
transparent
;
border-right-color
:
transparent
}
.tipsy-se
.tipsy-arrow
{
bottom
:
0
;
right
:
10px
;
border-top-style
:
solid
;
border-bottom
:
none
;
border-left-color
:
transparent
;
border-right-color
:
transparent
}
.tipsy-e
.tipsy-arrow
{
right
:
0
;
top
:
50%
;
margin-top
:
-5px
;
border-left-style
:
solid
;
border-right
:
none
;
border-top-color
:
transparent
;
border-bottom-color
:
transparent
}
.tipsy-w
.tipsy-arrow
{
left
:
0
;
top
:
50%
;
margin-top
:
-5px
;
border-right-style
:
solid
;
border-left
:
none
;
border-top-color
:
transparent
;
border-bottom-color
:
transparent
}
#upload
{
display
:
none
}
.upload_overlay
{
position
:
fixed
;
width
:
100%
;
height
:
100%
;
top
:
0
;
left
:
0
;
background-color
:
rgba
(
0
,
0
,
0
,
.85
);
z-index
:
1000
}
.upload_message
{
position
:
absolute
;
display
:
inline-block
;
width
:
450px
;
margin-left
:
-225px
;
margin-top
:
-170px
;
background-image
:
-webkit-linear-gradient
(
top
,
#4b4b4b
,
#2d2d2d
);
background-image
:
linear-gradient
(
to
bottom
,
#4b4b4b
,
#2d2d2d
);
border-radius
:
5px
;
box-shadow
:
0
0
5px
#000
,
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.08
),
inset
1px
0
0
rgba
(
255
,
255
,
255
,
.03
),
inset
-1px
0
0
rgba
(
255
,
255
,
255
,
.03
);
-webkit-animation-name
:
moveUp
;
animation-name
:
moveUp
;
-webkit-animation-duration
:
.3s
;
animation-duration
:
.3s
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
);
animation-timing-function
:
cubic-bezier
(
0.51
,
.92
,
.24
,
1.15
)}
.upload_message
h1
{
float
:
left
;
width
:
100%
;
padding
:
12px
0
;
color
:
#fff
;
font-size
:
16px
;
font-weight
:
700
;
text-shadow
:
0
-1px
0
#222
;
text-align
:
center
}
.upload_message
.close
{
display
:
none
;
position
:
absolute
;
top
:
0
;
right
:
0
;
padding
:
11px
14px
6px
7px
;
color
:
#aaa
;
font-size
:
20px
;
text-shadow
:
0
-1px
0
#222
;
cursor
:
pointer
}
.upload_message
.close
:hover
{
color
:
#fff
}
.upload_message
.rows
{
float
:
left
;
margin
:
3px
8px
8px
;
width
:
-webkit-calc
(
100%
-
16px
);
width
:
calc
(
100%
-
16px
);
height
:
300px
;
background-color
:
rgba
(
0
,
0
,
0
,
.5
);
overflow
:
hidden
;
overflow-y
:
scroll
;
border-radius
:
3px
;
box-shadow
:
inset
0
0
3px
rgba
(
0
,
0
,
0
,
.8
)}
.upload_message
.rows
.row
{
float
:
left
;
display
:
inline-block
;
padding
:
8px
0
;
width
:
100%
;
background-color
:
rgba
(
255
,
255
,
255
,
.02
)}
.upload_message
.rows
.row
:nth-child
(
2
n
)
{
background-color
:
transparent
}
.upload_message
.rows
.row
a
.name
{
float
:
left
;
padding
:
5px
10px
;
width
:
-webkit-calc
(
70%
-
20px
);
width
:
calc
(
70%
-
20px
);
color
:
#fff
;
font-size
:
14px
;
white-space
:
nowrap
;
overflow
:
hidden
}
.upload_message
.rows
.row
a
.status
{
float
:
left
;
padding
:
5px
10px
;
width
:
-webkit-calc
(
30%
-
20px
);
width
:
calc
(
30%
-
20px
);
color
:
rgba
(
255
,
255
,
255
,
.5
);
font-size
:
14px
;
text-align
:
right
;
-webkit-animation-name
:
pulse
;
animation-name
:
pulse
;
-webkit-animation-duration
:
2s
;
animation-duration
:
2s
;
-webkit-animation-timing-function
:
ease-in-out
;
animation-timing-function
:
ease-in-out
;
-webkit-animation-iteration-count
:
infinite
;
animation-iteration-count
:
infinite
}
.upload_message
.rows
.row
a
.status.error
,
.upload_message
.rows
.row
a
.status.success
{
-webkit-animation
:
none
;
animation
:
none
}
.upload_message
.rows
.row
a
.status.error
{
color
:
#d51818
}
.upload_message
.rows
.row
a
.status.success
{
color
:
#2ad500
}
.upload_message
.rows
.row
p
.notice
{
display
:
none
;
float
:
left
;
padding
:
2px
10px
5px
;
width
:
-webkit-calc
(
100%
-
20px
);
width
:
calc
(
100%
-
20px
);
color
:
rgba
(
255
,
255
,
255
,
.5
);
font-size
:
12px
;
overflow
:
hidden
;
line-height
:
16px
}
\ No newline at end of file
assets/min/main.js
View file @
5d33cbfa
This source diff could not be displayed because it is too large. You can
view the blob
instead.
assets/min/view.js
View file @
5d33cbfa
function
mobileBrowser
(){
return
/Android|webOS|iPhone|iPad|iPod|BlackBerry/i
.
test
(
navigator
.
userAgent
)?
!
0
:
!
1
}
function
gup
(
e
){
e
=
e
.
replace
(
/
[\[]
/
,
"
\\
[
"
).
replace
(
/
[\]]
/
,
"
\\
]
"
);
var
t
=
"
[
\\
?&]
"
+
e
+
"
=([^&#]*)
"
,
n
=
new
RegExp
(
t
),
i
=
n
.
exec
(
window
.
location
.
href
);
return
null
===
i
?
""
:
i
[
1
]}
function
key
(
e
){
code
=
e
.
keyCode
?
e
.
keyCode
:
e
.
which
,
27
===
code
&&
visibleInfobox
()
&&
(
hideInfobox
(),
e
.
preventDefault
())}
function
visibleInfobox
(){
return
parseInt
(
infobox
.
css
(
"
right
"
).
replace
(
"
px
"
,
""
))
<
0
?
!
1
:
!
0
}
function
isPhotoSmall
(
e
){
return
size
=
[[
"
width
"
,
!
1
],[
"
height
"
,
!
1
]],
e
.
width
<
$
(
window
).
width
()
-
60
&&
(
size
.
width
=!
0
),
e
.
height
<
$
(
window
).
height
()
-
100
&&
(
size
.
height
=!
0
),
size
.
width
&&
size
.
height
?
!
0
:
!
1
}
function
showInfobox
(){
$
(
"
body
"
).
append
(
"
<div id='infobox_overlay' class='fadeIn'></div>
"
),
infobox
.
addClass
(
"
active
"
)}
function
hideInfobox
(){
$
(
"
#infobox_overlay
"
).
removeClass
(
"
fadeIn
"
).
addClass
(
"
fadeOut
"
),
setTimeout
(
function
(){
$
(
"
#infobox_overlay
"
).
remove
()},
300
),
infobox
.
removeClass
(
"
active
"
)}
function
loadPhotoInfo
(
e
){
params
=
"
function=getPhoto&photoID=
"
+
e
+
"
&albumID=0&password=''
"
,
$
.
ajax
({
type
:
"
POST
"
,
url
:
api_path
,
data
:
params
,
dataType
:
"
json
"
,
success
:
function
(
t
){
t
.
title
||
(
t
.
title
=
"
Untitled
"
),
document
.
title
=
"
Lychee -
"
+
t
.
title
,
headerTitle
.
html
(
t
.
title
),
imageview
.
attr
(
"
data-id
"
,
e
),
imageview
.
html
(
isPhotoSmall
(
t
)?
"
<div id='image' class='small' style='background-image: url(
"
+
t
.
url
+
"
); width:
"
+
t
.
width
+
"
px; height:
"
+
t
.
height
+
"
px; margin-top: -
"
+
parseInt
(
t
.
height
/
2
-
20
)
+
"
px; margin-left: -
"
+
t
.
width
/
2
+
"
px;'></div>
"
:
"
<div id='image' style='background-image: url(
"
+
t
.
url
+
"
);'></div>
"
),
imageview
.
removeClass
(
"
fadeOut
"
).
addClass
(
"
fadeIn
"
).
show
(),
infobox
.
html
(
build
.
infoboxPhoto
(
t
,
!
0
)).
show
()},
error
:
ajaxError
})}
function
ajaxError
(
e
,
t
,
n
){
console
.
log
(
e
),
console
.
log
(
t
),
console
.
log
(
n
)}
!
function
(
e
,
t
){
"
object
"
==
typeof
module
&&
"
object
"
==
typeof
module
.
exports
?
module
.
exports
=
e
.
document
?
t
(
e
,
!
0
):
function
(
e
){
if
(
!
e
.
document
)
throw
new
Error
(
"
jQuery requires a window with a document
"
);
return
t
(
e
)}:
t
(
e
)}(
"
undefined
"
!=
typeof
window
?
window
:
this
,
function
(
e
,
t
){
function
n
(
e
){
var
t
=
e
.
length
,
n
=
Z
.
type
(
e
);
return
"
function
"
===
n
||
Z
.
isWindow
(
e
)?
!
1
:
1
===
e
.
nodeType
&&
t
?
!
0
:
"
array
"
===
n
||
0
===
t
||
"
number
"
==
typeof
t
&&
t
>
0
&&
t
-
1
in
e
}
function
i
(
e
,
t
,
n
){
if
(
Z
.
isFunction
(
t
))
return
Z
.
grep
(
e
,
function
(
e
,
i
){
return
!!
t
.
call
(
e
,
i
,
e
)
!==
n
});
if
(
t
.
nodeType
)
return
Z
.
grep
(
e
,
function
(
e
){
return
e
===
t
!==
n
});
if
(
"
string
"
==
typeof
t
){
if
(
st
.
test
(
t
))
return
Z
.
filter
(
t
,
e
,
n
);
t
=
Z
.
filter
(
t
,
e
)}
return
Z
.
grep
(
e
,
function
(
e
){
return
U
.
call
(
t
,
e
)
>=
0
!==
n
})}
function
r
(
e
,
t
){
for
(;(
e
=
e
[
t
])
&&
1
!==
e
.
nodeType
;);
return
e
}
function
o
(
e
){
var
t
=
ht
[
e
]
=
{};
return
Z
.
each
(
e
.
match
(
pt
)
||
[],
function
(
e
,
n
){
t
[
n
]
=!
0
}),
t
}
function
a
(){
Q
.
removeEventListener
(
"
DOMContentLoaded
"
,
a
,
!
1
),
e
.
removeEventListener
(
"
load
"
,
a
,
!
1
),
Z
.
ready
()}
function
s
(){
Object
.
defineProperty
(
this
.
cache
=
{},
0
,{
get
:
function
(){
return
{}}}),
this
.
expando
=
Z
.
expando
+
Math
.
random
()}
function
u
(
e
,
t
,
n
){
var
i
;
if
(
void
0
===
n
&&
1
===
e
.
nodeType
)
if
(
i
=
"
data-
"
+
t
.
replace
(
xt
,
"
-$1
"
).
toLowerCase
(),
n
=
e
.
getAttribute
(
i
),
"
string
"
==
typeof
n
){
try
{
n
=
"
true
"
===
n
?
!
0
:
"
false
"
===
n
?
!
1
:
"
null
"
===
n
?
null
:
+
n
+
""
===
n
?
+
n
:
bt
.
test
(
n
)?
Z
.
parseJSON
(
n
):
n
}
catch
(
r
){}
yt
.
set
(
e
,
t
,
n
)}
else
n
=
void
0
;
return
n
}
function
l
(){
return
!
0
}
function
c
(){
return
!
1
}
function
f
(){
try
{
return
Q
.
activeElement
}
catch
(
e
){}}
function
d
(
e
,
t
){
return
Z
.
nodeName
(
e
,
"
table
"
)
&&
Z
.
nodeName
(
11
!==
t
.
nodeType
?
t
:
t
.
firstChild
,
"
tr
"
)?
e
.
getElementsByTagName
(
"
tbody
"
)[
0
]
||
e
.
appendChild
(
e
.
ownerDocument
.
createElement
(
"
tbody
"
)):
e
}
function
p
(
e
){
return
e
.
type
=
(
null
!==
e
.
getAttribute
(
"
type
"
))
+
"
/
"
+
e
.
type
,
e
}
function
h
(
e
){
var
t
=
Mt
.
exec
(
e
.
type
);
return
t
?
e
.
type
=
t
[
1
]:
e
.
removeAttribute
(
"
type
"
),
e
}
function
g
(
e
,
t
){
for
(
var
n
=
0
,
i
=
e
.
length
;
i
>
n
;
n
++
)
mt
.
set
(
e
[
n
],
"
globalEval
"
,
!
t
||
mt
.
get
(
t
[
n
],
"
globalEval
"
))}
function
v
(
e
,
t
){
var
n
,
i
,
r
,
o
,
a
,
s
,
u
,
l
;
if
(
1
===
t
.
nodeType
){
if
(
mt
.
hasData
(
e
)
&&
(
o
=
mt
.
access
(
e
),
a
=
mt
.
set
(
t
,
o
),
l
=
o
.
events
)){
delete
a
.
handle
,
a
.
events
=
{};
for
(
r
in
l
)
for
(
n
=
0
,
i
=
l
[
r
].
length
;
i
>
n
;
n
++
)
Z
.
event
.
add
(
t
,
r
,
l
[
r
][
n
])}
yt
.
hasData
(
e
)
&&
(
s
=
yt
.
access
(
e
),
u
=
Z
.
extend
({},
s
),
yt
.
set
(
t
,
u
))}}
function
m
(
e
,
t
){
var
n
=
e
.
getElementsByTagName
?
e
.
getElementsByTagName
(
t
||
"
*
"
):
e
.
querySelectorAll
?
e
.
querySelectorAll
(
t
||
"
*
"
):[];
return
void
0
===
t
||
t
&&
Z
.
nodeName
(
e
,
t
)?
Z
.
merge
([
e
],
n
):
n
}
function
y
(
e
,
t
){
var
n
=
t
.
nodeName
.
toLowerCase
();
"
input
"
===
n
&&
Ct
.
test
(
e
.
type
)?
t
.
checked
=
e
.
checked
:(
"
input
"
===
n
||
"
textarea
"
===
n
)
&&
(
t
.
defaultValue
=
e
.
defaultValue
)}
function
b
(
t
,
n
){
var
i
,
r
=
Z
(
n
.
createElement
(
t
)).
appendTo
(
n
.
body
),
o
=
e
.
getDefaultComputedStyle
&&
(
i
=
e
.
getDefaultComputedStyle
(
r
[
0
]))?
i
.
display
:
Z
.
css
(
r
[
0
],
"
display
"
);
return
r
.
detach
(),
o
}
function
x
(
e
){
var
t
=
Q
,
n
=
Rt
[
e
];
return
n
||
(
n
=
b
(
e
,
t
),
"
none
"
!==
n
&&
n
||
(
Ft
=
(
Ft
||
Z
(
"
<iframe frameborder='0' width='0' height='0'/>
"
)).
appendTo
(
t
.
documentElement
),
t
=
Ft
[
0
].
contentDocument
,
t
.
write
(),
t
.
close
(),
n
=
b
(
e
,
t
),
Ft
.
detach
()),
Rt
[
e
]
=
n
),
n
}
function
w
(
e
,
t
,
n
){
var
i
,
r
,
o
,
a
,
s
=
e
.
style
;
return
n
=
n
||
Bt
(
e
),
n
&&
(
a
=
n
.
getPropertyValue
(
t
)
||
n
[
t
]),
n
&&
(
""
!==
a
||
Z
.
contains
(
e
.
ownerDocument
,
e
)
||
(
a
=
Z
.
style
(
e
,
t
)),
Wt
.
test
(
a
)
&&
_t
.
test
(
t
)
&&
(
i
=
s
.
width
,
r
=
s
.
minWidth
,
o
=
s
.
maxWidth
,
s
.
minWidth
=
s
.
maxWidth
=
s
.
width
=
a
,
a
=
n
.
width
,
s
.
width
=
i
,
s
.
minWidth
=
r
,
s
.
maxWidth
=
o
)),
void
0
!==
a
?
a
+
""
:
a
}
function
T
(
e
,
t
){
return
{
get
:
function
(){
return
e
()?
void
delete
this
.
get
:(
this
.
get
=
t
).
apply
(
this
,
arguments
)}}}
function
k
(
e
,
t
){
if
(
t
in
e
)
return
t
;
for
(
var
n
=
t
[
0
].
toUpperCase
()
+
t
.
slice
(
1
),
i
=
t
,
r
=
Yt
.
length
;
r
--
;)
if
(
t
=
Yt
[
r
]
+
n
,
t
in
e
)
return
t
;
return
i
}
function
C
(
e
,
t
,
n
){
var
i
=
Xt
.
exec
(
t
);
return
i
?
Math
.
max
(
0
,
i
[
1
]
-
(
n
||
0
))
+
(
i
[
2
]
||
"
px
"
):
t
}
function
S
(
e
,
t
,
n
,
i
,
r
){
for
(
var
o
=
n
===
(
i
?
"
border
"
:
"
content
"
)?
4
:
"
width
"
===
t
?
1
:
0
,
a
=
0
;
4
>
o
;
o
+=
2
)
"
margin
"
===
n
&&
(
a
+=
Z
.
css
(
e
,
n
+
Tt
[
o
],
!
0
,
r
)),
i
?(
"
content
"
===
n
&&
(
a
-=
Z
.
css
(
e
,
"
padding
"
+
Tt
[
o
],
!
0
,
r
)),
"
margin
"
!==
n
&&
(
a
-=
Z
.
css
(
e
,
"
border
"
+
Tt
[
o
]
+
"
Width
"
,
!
0
,
r
))):(
a
+=
Z
.
css
(
e
,
"
padding
"
+
Tt
[
o
],
!
0
,
r
),
"
padding
"
!==
n
&&
(
a
+=
Z
.
css
(
e
,
"
border
"
+
Tt
[
o
]
+
"
Width
"
,
!
0
,
r
)));
return
a
}
function
N
(
e
,
t
,
n
){
var
i
=!
0
,
r
=
"
width
"
===
t
?
e
.
offsetWidth
:
e
.
offsetHeight
,
o
=
Bt
(
e
),
a
=
"
border-box
"
===
Z
.
css
(
e
,
"
boxSizing
"
,
!
1
,
o
);
if
(
0
>=
r
||
null
==
r
){
if
(
r
=
w
(
e
,
t
,
o
),(
0
>
r
||
null
==
r
)
&&
(
r
=
e
.
style
[
t
]),
Wt
.
test
(
r
))
return
r
;
i
=
a
&&
(
G
.
boxSizingReliable
()
||
r
===
e
.
style
[
t
]),
r
=
parseFloat
(
r
)
||
0
}
return
r
+
S
(
e
,
t
,
n
||
(
a
?
"
border
"
:
"
content
"
),
i
,
o
)
+
"
px
"
}
function
E
(
e
,
t
){
for
(
var
n
,
i
,
r
,
o
=
[],
a
=
0
,
s
=
e
.
length
;
s
>
a
;
a
++
)
i
=
e
[
a
],
i
.
style
&&
(
o
[
a
]
=
mt
.
get
(
i
,
"
olddisplay
"
),
n
=
i
.
style
.
display
,
t
?(
o
[
a
]
||
"
none
"
!==
n
||
(
i
.
style
.
display
=
""
),
""
===
i
.
style
.
display
&&
kt
(
i
)
&&
(
o
[
a
]
=
mt
.
access
(
i
,
"
olddisplay
"
,
x
(
i
.
nodeName
)))):(
r
=
kt
(
i
),
"
none
"
===
n
&&
r
||
mt
.
set
(
i
,
"
olddisplay
"
,
r
?
n
:
Z
.
css
(
i
,
"
display
"
))));
for
(
a
=
0
;
s
>
a
;
a
++
)
i
=
e
[
a
],
i
.
style
&&
(
t
&&
"
none
"
!==
i
.
style
.
display
&&
""
!==
i
.
style
.
display
||
(
i
.
style
.
display
=
t
?
o
[
a
]
||
""
:
"
none
"
));
return
e
}
function
A
(
e
,
t
,
n
,
i
,
r
){
return
new
A
.
prototype
.
init
(
e
,
t
,
n
,
i
,
r
)}
function
D
(){
return
setTimeout
(
function
(){
Gt
=
void
0
}),
Gt
=
Z
.
now
()}
function
j
(
e
,
t
){
var
n
,
i
=
0
,
r
=
{
height
:
e
};
for
(
t
=
t
?
1
:
0
;
4
>
i
;
i
+=
2
-
t
)
n
=
Tt
[
i
],
r
[
"
margin
"
+
n
]
=
r
[
"
padding
"
+
n
]
=
e
;
return
t
&&
(
r
.
opacity
=
r
.
width
=
e
),
r
}
function
L
(
e
,
t
,
n
){
for
(
var
i
,
r
=
(
nn
[
t
]
||
[]).
concat
(
nn
[
"
*
"
]),
o
=
0
,
a
=
r
.
length
;
a
>
o
;
o
++
)
if
(
i
=
r
[
o
].
call
(
n
,
t
,
e
))
return
i
}
function
q
(
e
,
t
,
n
){
var
i
,
r
,
o
,
a
,
s
,
u
,
l
,
c
,
f
=
this
,
d
=
{},
p
=
e
.
style
,
h
=
e
.
nodeType
&&
kt
(
e
),
g
=
mt
.
get
(
e
,
"
fxshow
"
);
n
.
queue
||
(
s
=
Z
.
_queueHooks
(
e
,
"
fx
"
),
null
==
s
.
unqueued
&&
(
s
.
unqueued
=
0
,
u
=
s
.
empty
.
fire
,
s
.
empty
.
fire
=
function
(){
s
.
unqueued
||
u
()}),
s
.
unqueued
++
,
f
.
always
(
function
(){
f
.
always
(
function
(){
s
.
unqueued
--
,
Z
.
queue
(
e
,
"
fx
"
).
length
||
s
.
empty
.
fire
()})})),
1
===
e
.
nodeType
&&
(
"
height
"
in
t
||
"
width
"
in
t
)
&&
(
n
.
overflow
=
[
p
.
overflow
,
p
.
overflowX
,
p
.
overflowY
],
l
=
Z
.
css
(
e
,
"
display
"
),
c
=
"
none
"
===
l
?
mt
.
get
(
e
,
"
olddisplay
"
)
||
x
(
e
.
nodeName
):
l
,
"
inline
"
===
c
&&
"
none
"
===
Z
.
css
(
e
,
"
float
"
)
&&
(
p
.
display
=
"
inline-block
"
)),
n
.
overflow
&&
(
p
.
overflow
=
"
hidden
"
,
f
.
always
(
function
(){
p
.
overflow
=
n
.
overflow
[
0
],
p
.
overflowX
=
n
.
overflow
[
1
],
p
.
overflowY
=
n
.
overflow
[
2
]}));
for
(
i
in
t
)
if
(
r
=
t
[
i
],
Jt
.
exec
(
r
)){
if
(
delete
t
[
i
],
o
=
o
||
"
toggle
"
===
r
,
r
===
(
h
?
"
hide
"
:
"
show
"
)){
if
(
"
show
"
!==
r
||!
g
||
void
0
===
g
[
i
])
continue
;
h
=!
0
}
d
[
i
]
=
g
&&
g
[
i
]
||
Z
.
style
(
e
,
i
)}
else
l
=
void
0
;
if
(
Z
.
isEmptyObject
(
d
))
"
inline
"
===
(
"
none
"
===
l
?
x
(
e
.
nodeName
):
l
)
&&
(
p
.
display
=
l
);
else
{
g
?
"
hidden
"
in
g
&&
(
h
=
g
.
hidden
):
g
=
mt
.
access
(
e
,
"
fxshow
"
,{}),
o
&&
(
g
.
hidden
=!
h
),
h
?
Z
(
e
).
show
():
f
.
done
(
function
(){
Z
(
e
).
hide
()}),
f
.
done
(
function
(){
var
t
;
mt
.
remove
(
e
,
"
fxshow
"
);
for
(
t
in
d
)
Z
.
style
(
e
,
t
,
d
[
t
])});
for
(
i
in
d
)
a
=
L
(
h
?
g
[
i
]:
0
,
i
,
f
),
i
in
g
||
(
g
[
i
]
=
a
.
start
,
h
&&
(
a
.
end
=
a
.
start
,
a
.
start
=
"
width
"
===
i
||
"
height
"
===
i
?
1
:
0
))}}
function
O
(
e
,
t
){
var
n
,
i
,
r
,
o
,
a
;
for
(
n
in
e
)
if
(
i
=
Z
.
camelCase
(
n
),
r
=
t
[
i
],
o
=
e
[
n
],
Z
.
isArray
(
o
)
&&
(
r
=
o
[
1
],
o
=
e
[
n
]
=
o
[
0
]),
n
!==
i
&&
(
e
[
i
]
=
o
,
delete
e
[
n
]),
a
=
Z
.
cssHooks
[
i
],
a
&&
"
expand
"
in
a
){
o
=
a
.
expand
(
o
),
delete
e
[
i
];
for
(
n
in
o
)
n
in
e
||
(
e
[
n
]
=
o
[
n
],
t
[
n
]
=
r
)}
else
t
[
i
]
=
r
}
function
P
(
e
,
t
,
n
){
var
i
,
r
,
o
=
0
,
a
=
tn
.
length
,
s
=
Z
.
Deferred
().
always
(
function
(){
delete
u
.
elem
}),
u
=
function
(){
if
(
r
)
return
!
1
;
for
(
var
t
=
Gt
||
D
(),
n
=
Math
.
max
(
0
,
l
.
startTime
+
l
.
duration
-
t
),
i
=
n
/
l
.
duration
||
0
,
o
=
1
-
i
,
a
=
0
,
u
=
l
.
tweens
.
length
;
u
>
a
;
a
++
)
l
.
tweens
[
a
].
run
(
o
);
return
s
.
notifyWith
(
e
,[
l
,
o
,
n
]),
1
>
o
&&
u
?
n
:(
s
.
resolveWith
(
e
,[
l
]),
!
1
)},
l
=
s
.
promise
({
elem
:
e
,
props
:
Z
.
extend
({},
t
),
opts
:
Z
.
extend
(
!
0
,{
specialEasing
:{}},
n
),
originalProperties
:
t
,
originalOptions
:
n
,
startTime
:
Gt
||
D
(),
duration
:
n
.
duration
,
tweens
:[],
createTween
:
function
(
t
,
n
){
var
i
=
Z
.
Tween
(
e
,
l
.
opts
,
t
,
n
,
l
.
opts
.
specialEasing
[
t
]
||
l
.
opts
.
easing
);
return
l
.
tweens
.
push
(
i
),
i
},
stop
:
function
(
t
){
var
n
=
0
,
i
=
t
?
l
.
tweens
.
length
:
0
;
if
(
r
)
return
this
;
for
(
r
=!
0
;
i
>
n
;
n
++
)
l
.
tweens
[
n
].
run
(
1
);
return
t
?
s
.
resolveWith
(
e
,[
l
,
t
]):
s
.
rejectWith
(
e
,[
l
,
t
]),
this
}}),
c
=
l
.
props
;
for
(
O
(
c
,
l
.
opts
.
specialEasing
);
a
>
o
;
o
++
)
if
(
i
=
tn
[
o
].
call
(
l
,
e
,
c
,
l
.
opts
))
return
i
;
return
Z
.
map
(
c
,
L
,
l
),
Z
.
isFunction
(
l
.
opts
.
start
)
&&
l
.
opts
.
start
.
call
(
e
,
l
),
Z
.
fx
.
timer
(
Z
.
extend
(
u
,{
elem
:
e
,
anim
:
l
,
queue
:
l
.
opts
.
queue
})),
l
.
progress
(
l
.
opts
.
progress
).
done
(
l
.
opts
.
done
,
l
.
opts
.
complete
).
fail
(
l
.
opts
.
fail
).
always
(
l
.
opts
.
always
)}
function
H
(
e
){
return
function
(
t
,
n
){
"
string
"
!=
typeof
t
&&
(
n
=
t
,
t
=
"
*
"
);
var
i
,
r
=
0
,
o
=
t
.
toLowerCase
().
match
(
pt
)
||
[];
if
(
Z
.
isFunction
(
n
))
for
(;
i
=
o
[
r
++
];)
"
+
"
===
i
[
0
]?(
i
=
i
.
slice
(
1
)
||
"
*
"
,(
e
[
i
]
=
e
[
i
]
||
[]).
unshift
(
n
)):(
e
[
i
]
=
e
[
i
]
||
[]).
push
(
n
)}}
function
M
(
e
,
t
,
n
,
i
){
function
r
(
s
){
var
u
;
return
o
[
s
]
=!
0
,
Z
.
each
(
e
[
s
]
||
[],
function
(
e
,
s
){
var
l
=
s
(
t
,
n
,
i
);
return
"
string
"
!=
typeof
l
||
a
||
o
[
l
]?
a
?
!
(
u
=
l
):
void
0
:(
t
.
dataTypes
.
unshift
(
l
),
r
(
l
),
!
1
)}),
u
}
var
o
=
{},
a
=
e
===
Tn
;
return
r
(
t
.
dataTypes
[
0
])
||!
o
[
"
*
"
]
&&
r
(
"
*
"
)}
function
$
(
e
,
t
){
var
n
,
i
,
r
=
Z
.
ajaxSettings
.
flatOptions
||
{};
for
(
n
in
t
)
void
0
!==
t
[
n
]
&&
((
r
[
n
]?
e
:
i
||
(
i
=
{}))[
n
]
=
t
[
n
]);
return
i
&&
Z
.
extend
(
!
0
,
e
,
i
),
e
}
function
I
(
e
,
t
,
n
){
for
(
var
i
,
r
,
o
,
a
,
s
=
e
.
contents
,
u
=
e
.
dataTypes
;
"
*
"
===
u
[
0
];)
u
.
shift
(),
void
0
===
i
&&
(
i
=
e
.
mimeType
||
t
.
getResponseHeader
(
"
Content-Type
"
));
if
(
i
)
for
(
r
in
s
)
if
(
s
[
r
]
&&
s
[
r
].
test
(
i
)){
u
.
unshift
(
r
);
break
}
if
(
u
[
0
]
in
n
)
o
=
u
[
0
];
else
{
for
(
r
in
n
){
if
(
!
u
[
0
]
||
e
.
converters
[
r
+
"
"
+
u
[
0
]]){
o
=
r
;
break
}
a
||
(
a
=
r
)}
o
=
o
||
a
}
return
o
?(
o
!==
u
[
0
]
&&
u
.
unshift
(
o
),
n
[
o
]):
void
0
}
function
F
(
e
,
t
,
n
,
i
){
var
r
,
o
,
a
,
s
,
u
,
l
=
{},
c
=
e
.
dataTypes
.
slice
();
if
(
c
[
1
])
for
(
a
in
e
.
converters
)
l
[
a
.
toLowerCase
()]
=
e
.
converters
[
a
];
for
(
o
=
c
.
shift
();
o
;)
if
(
e
.
responseFields
[
o
]
&&
(
n
[
e
.
responseFields
[
o
]]
=
t
),
!
u
&&
i
&&
e
.
dataFilter
&&
(
t
=
e
.
dataFilter
(
t
,
e
.
dataType
)),
u
=
o
,
o
=
c
.
shift
())
if
(
"
*
"
===
o
)
o
=
u
;
else
if
(
"
*
"
!==
u
&&
u
!==
o
){
if
(
a
=
l
[
u
+
"
"
+
o
]
||
l
[
"
*
"
+
o
],
!
a
)
for
(
r
in
l
)
if
(
s
=
r
.
split
(
"
"
),
s
[
1
]
===
o
&&
(
a
=
l
[
u
+
"
"
+
s
[
0
]]
||
l
[
"
*
"
+
s
[
0
]])){
a
===!
0
?
a
=
l
[
r
]:
l
[
r
]
!==!
0
&&
(
o
=
s
[
0
],
c
.
unshift
(
s
[
1
]));
break
}
if
(
a
!==!
0
)
if
(
a
&&
e
[
"
throws
"
])
t
=
a
(
t
);
else
try
{
t
=
a
(
t
)}
catch
(
f
){
return
{
state
:
"
parsererror
"
,
error
:
a
?
f
:
"
No conversion from
"
+
u
+
"
to
"
+
o
}}}
return
{
state
:
"
success
"
,
data
:
t
}}
function
R
(
e
,
t
,
n
,
i
){
var
r
;
if
(
Z
.
isArray
(
t
))
Z
.
each
(
t
,
function
(
t
,
r
){
n
||
Nn
.
test
(
e
)?
i
(
e
,
r
):
R
(
e
+
"
[
"
+
(
"
object
"
==
typeof
r
?
t
:
""
)
+
"
]
"
,
r
,
n
,
i
)});
else
if
(
n
||
"
object
"
!==
Z
.
type
(
t
))
i
(
e
,
t
);
else
for
(
r
in
t
)
R
(
e
+
"
[
"
+
r
+
"
]
"
,
t
[
r
],
n
,
i
)}
function
_
(
e
){
return
Z
.
isWindow
(
e
)?
e
:
9
===
e
.
nodeType
&&
e
.
defaultView
}
var
W
=
[],
B
=
W
.
slice
,
z
=
W
.
concat
,
X
=
W
.
push
,
U
=
W
.
indexOf
,
V
=
{},
K
=
V
.
toString
,
Y
=
V
.
hasOwnProperty
,
G
=
{},
Q
=
e
.
document
,
J
=
"
2.1.1
"
,
Z
=
function
(
e
,
t
){
return
new
Z
.
fn
.
init
(
e
,
t
)},
et
=
/^
[\s\u
FEFF
\x
A0
]
+|
[\s\u
FEFF
\x
A0
]
+$/g
,
tt
=
/^-ms-/
,
nt
=
/-
([\d
a-z
])
/gi
,
it
=
function
(
e
,
t
){
return
t
.
toUpperCase
()};
Z
.
fn
=
Z
.
prototype
=
{
jquery
:
J
,
constructor
:
Z
,
selector
:
""
,
length
:
0
,
toArray
:
function
(){
return
B
.
call
(
this
)},
get
:
function
(
e
){
return
null
!=
e
?
0
>
e
?
this
[
e
+
this
.
length
]:
this
[
e
]:
B
.
call
(
this
)},
pushStack
:
function
(
e
){
var
t
=
Z
.
merge
(
this
.
constructor
(),
e
);
return
t
.
prevObject
=
this
,
t
.
context
=
this
.
context
,
t
},
each
:
function
(
e
,
t
){
return
Z
.
each
(
this
,
e
,
t
)},
map
:
function
(
e
){
return
this
.
pushStack
(
Z
.
map
(
this
,
function
(
t
,
n
){
return
e
.
call
(
t
,
n
,
t
)}))},
slice
:
function
(){
return
this
.
pushStack
(
B
.
apply
(
this
,
arguments
))},
first
:
function
(){
return
this
.
eq
(
0
)},
last
:
function
(){
return
this
.
eq
(
-
1
)},
eq
:
function
(
e
){
var
t
=
this
.
length
,
n
=+
e
+
(
0
>
e
?
t
:
0
);
return
this
.
pushStack
(
n
>=
0
&&
t
>
n
?[
this
[
n
]]:[])},
end
:
function
(){
return
this
.
prevObject
||
this
.
constructor
(
null
)},
push
:
X
,
sort
:
W
.
sort
,
splice
:
W
.
splice
},
Z
.
extend
=
Z
.
fn
.
extend
=
function
(){
var
e
,
t
,
n
,
i
,
r
,
o
,
a
=
arguments
[
0
]
||
{},
s
=
1
,
u
=
arguments
.
length
,
l
=!
1
;
for
(
"
boolean
"
==
typeof
a
&&
(
l
=
a
,
a
=
arguments
[
s
]
||
{},
s
++
),
"
object
"
==
typeof
a
||
Z
.
isFunction
(
a
)
||
(
a
=
{}),
s
===
u
&&
(
a
=
this
,
s
--
);
u
>
s
;
s
++
)
if
(
null
!=
(
e
=
arguments
[
s
]))
for
(
t
in
e
)
n
=
a
[
t
],
i
=
e
[
t
],
a
!==
i
&&
(
l
&&
i
&&
(
Z
.
isPlainObject
(
i
)
||
(
r
=
Z
.
isArray
(
i
)))?(
r
?(
r
=!
1
,
o
=
n
&&
Z
.
isArray
(
n
)?
n
:[]):
o
=
n
&&
Z
.
isPlainObject
(
n
)?
n
:{},
a
[
t
]
=
Z
.
extend
(
l
,
o
,
i
)):
void
0
!==
i
&&
(
a
[
t
]
=
i
));
return
a
},
Z
.
extend
({
expando
:
"
jQuery
"
+
(
J
+
Math
.
random
()).
replace
(
/
\D
/g
,
""
),
isReady
:
!
0
,
error
:
function
(
e
){
throw
new
Error
(
e
)},
noop
:
function
(){},
isFunction
:
function
(
e
){
return
"
function
"
===
Z
.
type
(
e
)},
isArray
:
Array
.
isArray
,
isWindow
:
function
(
e
){
return
null
!=
e
&&
e
===
e
.
window
},
isNumeric
:
function
(
e
){
return
!
Z
.
isArray
(
e
)
&&
e
-
parseFloat
(
e
)
>=
0
},
isPlainObject
:
function
(
e
){
return
"
object
"
!==
Z
.
type
(
e
)
||
e
.
nodeType
||
Z
.
isWindow
(
e
)?
!
1
:
e
.
constructor
&&!
Y
.
call
(
e
.
constructor
.
prototype
,
"
isPrototypeOf
"
)?
!
1
:
!
0
},
isEmptyObject
:
function
(
e
){
var
t
;
for
(
t
in
e
)
return
!
1
;
return
!
0
},
type
:
function
(
e
){
return
null
==
e
?
e
+
""
:
"
object
"
==
typeof
e
||
"
function
"
==
typeof
e
?
V
[
K
.
call
(
e
)]
||
"
object
"
:
typeof
e
},
globalEval
:
function
(
e
){
var
t
,
n
=
eval
;
e
=
Z
.
trim
(
e
),
e
&&
(
1
===
e
.
indexOf
(
"
use strict
"
)?(
t
=
Q
.
createElement
(
"
script
"
),
t
.
text
=
e
,
Q
.
head
.
appendChild
(
t
).
parentNode
.
removeChild
(
t
)):
n
(
e
))},
camelCase
:
function
(
e
){
return
e
.
replace
(
tt
,
"
ms-
"
).
replace
(
nt
,
it
)},
nodeName
:
function
(
e
,
t
){
return
e
.
nodeName
&&
e
.
nodeName
.
toLowerCase
()
===
t
.
toLowerCase
()},
each
:
function
(
e
,
t
,
i
){
var
r
,
o
=
0
,
a
=
e
.
length
,
s
=
n
(
e
);
if
(
i
){
if
(
s
)
for
(;
a
>
o
&&
(
r
=
t
.
apply
(
e
[
o
],
i
),
r
!==!
1
);
o
++
);
else
for
(
o
in
e
)
if
(
r
=
t
.
apply
(
e
[
o
],
i
),
r
===!
1
)
break
}
else
if
(
s
)
for
(;
a
>
o
&&
(
r
=
t
.
call
(
e
[
o
],
o
,
e
[
o
]),
r
!==!
1
);
o
++
);
else
for
(
o
in
e
)
if
(
r
=
t
.
call
(
e
[
o
],
o
,
e
[
o
]),
r
===!
1
)
break
;
return
e
},
trim
:
function
(
e
){
return
null
==
e
?
""
:(
e
+
""
).
replace
(
et
,
""
)},
makeArray
:
function
(
e
,
t
){
var
i
=
t
||
[];
return
null
!=
e
&&
(
n
(
Object
(
e
))?
Z
.
merge
(
i
,
"
string
"
==
typeof
e
?[
e
]:
e
):
X
.
call
(
i
,
e
)),
i
},
inArray
:
function
(
e
,
t
,
n
){
return
null
==
t
?
-
1
:
U
.
call
(
t
,
e
,
n
)},
merge
:
function
(
e
,
t
){
for
(
var
n
=+
t
.
length
,
i
=
0
,
r
=
e
.
length
;
n
>
i
;
i
++
)
e
[
r
++
]
=
t
[
i
];
return
e
.
length
=
r
,
e
},
grep
:
function
(
e
,
t
,
n
){
for
(
var
i
,
r
=
[],
o
=
0
,
a
=
e
.
length
,
s
=!
n
;
a
>
o
;
o
++
)
i
=!
t
(
e
[
o
],
o
),
i
!==
s
&&
r
.
push
(
e
[
o
]);
return
r
},
map
:
function
(
e
,
t
,
i
){
var
r
,
o
=
0
,
a
=
e
.
length
,
s
=
n
(
e
),
u
=
[];
if
(
s
)
for
(;
a
>
o
;
o
++
)
r
=
t
(
e
[
o
],
o
,
i
),
null
!=
r
&&
u
.
push
(
r
);
else
for
(
o
in
e
)
r
=
t
(
e
[
o
],
o
,
i
),
null
!=
r
&&
u
.
push
(
r
);
return
z
.
apply
([],
u
)},
guid
:
1
,
proxy
:
function
(
e
,
t
){
var
n
,
i
,
r
;
return
"
string
"
==
typeof
t
&&
(
n
=
e
[
t
],
t
=
e
,
e
=
n
),
Z
.
isFunction
(
e
)?(
i
=
B
.
call
(
arguments
,
2
),
r
=
function
(){
return
e
.
apply
(
t
||
this
,
i
.
concat
(
B
.
call
(
arguments
)))},
r
.
guid
=
e
.
guid
=
e
.
guid
||
Z
.
guid
++
,
r
):
void
0
},
now
:
Date
.
now
,
support
:
G
}),
Z
.
each
(
"
Boolean Number String Function Array Date RegExp Object Error
"
.
split
(
"
"
),
function
(
e
,
t
){
V
[
"
[object
"
+
t
+
"
]
"
]
=
t
.
toLowerCase
()});
var
rt
=
function
(
e
){
function
t
(
e
,
t
,
n
,
i
){
var
r
,
o
,
a
,
s
,
u
,
l
,
f
,
p
,
h
,
g
;
if
((
t
?
t
.
ownerDocument
||
t
:
R
)
!==
q
&&
L
(
t
),
t
=
t
||
q
,
n
=
n
||
[],
!
e
||
"
string
"
!=
typeof
e
)
return
n
;
if
(
1
!==
(
s
=
t
.
nodeType
)
&&
9
!==
s
)
return
[];
if
(
P
&&!
i
){
if
(
r
=
yt
.
exec
(
e
))
if
(
a
=
r
[
1
]){
if
(
9
===
s
){
if
(
o
=
t
.
getElementById
(
a
),
!
o
||!
o
.
parentNode
)
return
n
;
if
(
o
.
id
===
a
)
return
n
.
push
(
o
),
n
}
else
if
(
t
.
ownerDocument
&&
(
o
=
t
.
ownerDocument
.
getElementById
(
a
))
&&
I
(
t
,
o
)
&&
o
.
id
===
a
)
return
n
.
push
(
o
),
n
}
else
{
if
(
r
[
2
])
return
Z
.
apply
(
n
,
t
.
getElementsByTagName
(
e
)),
n
;
if
((
a
=
r
[
3
])
&&
w
.
getElementsByClassName
&&
t
.
getElementsByClassName
)
return
Z
.
apply
(
n
,
t
.
getElementsByClassName
(
a
)),
n
}
if
(
w
.
qsa
&&
(
!
H
||!
H
.
test
(
e
))){
if
(
p
=
f
=
F
,
h
=
t
,
g
=
9
===
s
&&
e
,
1
===
s
&&
"
object
"
!==
t
.
nodeName
.
toLowerCase
()){
for
(
l
=
S
(
e
),(
f
=
t
.
getAttribute
(
"
id
"
))?
p
=
f
.
replace
(
xt
,
"
\\
$&
"
):
t
.
setAttribute
(
"
id
"
,
p
),
p
=
"
[id='
"
+
p
+
"
']
"
,
u
=
l
.
length
;
u
--
;)
l
[
u
]
=
p
+
d
(
l
[
u
]);
h
=
bt
.
test
(
e
)
&&
c
(
t
.
parentNode
)
||
t
,
g
=
l
.
join
(
"
,
"
)}
if
(
g
)
try
{
return
Z
.
apply
(
n
,
h
.
querySelectorAll
(
g
)),
n
}
catch
(
v
){}
finally
{
f
||
t
.
removeAttribute
(
"
id
"
)}}}
return
E
(
e
.
replace
(
ut
,
"
$1
"
),
t
,
n
,
i
)}
function
n
(){
function
e
(
n
,
i
){
return
t
.
push
(
n
+
"
"
)
>
T
.
cacheLength
&&
delete
e
[
t
.
shift
()],
e
[
n
+
"
"
]
=
i
}
var
t
=
[];
return
e
}
function
i
(
e
){
return
e
[
F
]
=!
0
,
e
}
function
r
(
e
){
var
t
=
q
.
createElement
(
"
div
"
);
try
{
return
!!
e
(
t
)}
catch
(
n
){
return
!
1
}
finally
{
t
.
parentNode
&&
t
.
parentNode
.
removeChild
(
t
),
t
=
null
}}
function
o
(
e
,
t
){
for
(
var
n
=
e
.
split
(
"
|
"
),
i
=
e
.
length
;
i
--
;)
T
.
attrHandle
[
n
[
i
]]
=
t
}
function
a
(
e
,
t
){
var
n
=
t
&&
e
,
i
=
n
&&
1
===
e
.
nodeType
&&
1
===
t
.
nodeType
&&
(
~
t
.
sourceIndex
||
K
)
-
(
~
e
.
sourceIndex
||
K
);
if
(
i
)
return
i
;
if
(
n
)
for
(;
n
=
n
.
nextSibling
;)
if
(
n
===
t
)
return
-
1
;
return
e
?
1
:
-
1
}
function
s
(
e
){
return
function
(
t
){
var
n
=
t
.
nodeName
.
toLowerCase
();
return
"
input
"
===
n
&&
t
.
type
===
e
}}
function
u
(
e
){
return
function
(
t
){
var
n
=
t
.
nodeName
.
toLowerCase
();
return
(
"
input
"
===
n
||
"
button
"
===
n
)
&&
t
.
type
===
e
}}
function
l
(
e
){
return
i
(
function
(
t
){
return
t
=+
t
,
i
(
function
(
n
,
i
){
for
(
var
r
,
o
=
e
([],
n
.
length
,
t
),
a
=
o
.
length
;
a
--
;)
n
[
r
=
o
[
a
]]
&&
(
n
[
r
]
=!
(
i
[
r
]
=
n
[
r
]))})})}
function
c
(
e
){
return
e
&&
typeof
e
.
getElementsByTagName
!==
V
&&
e
}
function
f
(){}
function
d
(
e
){
for
(
var
t
=
0
,
n
=
e
.
length
,
i
=
""
;
n
>
t
;
t
++
)
i
+=
e
[
t
].
value
;
return
i
}
function
p
(
e
,
t
,
n
){
var
i
=
t
.
dir
,
r
=
n
&&
"
parentNode
"
===
i
,
o
=
W
++
;
return
t
.
first
?
function
(
t
,
n
,
o
){
for
(;
t
=
t
[
i
];)
if
(
1
===
t
.
nodeType
||
r
)
return
e
(
t
,
n
,
o
)}:
function
(
t
,
n
,
a
){
var
s
,
u
,
l
=
[
_
,
o
];
if
(
a
){
for
(;
t
=
t
[
i
];)
if
((
1
===
t
.
nodeType
||
r
)
&&
e
(
t
,
n
,
a
))
return
!
0
}
else
for
(;
t
=
t
[
i
];)
if
(
1
===
t
.
nodeType
||
r
){
if
(
u
=
t
[
F
]
||
(
t
[
F
]
=
{}),(
s
=
u
[
i
])
&&
s
[
0
]
===
_
&&
s
[
1
]
===
o
)
return
l
[
2
]
=
s
[
2
];
if
(
u
[
i
]
=
l
,
l
[
2
]
=
e
(
t
,
n
,
a
))
return
!
0
}}}
function
h
(
e
){
return
e
.
length
>
1
?
function
(
t
,
n
,
i
){
for
(
var
r
=
e
.
length
;
r
--
;)
if
(
!
e
[
r
](
t
,
n
,
i
))
return
!
1
;
return
!
0
}:
e
[
0
]}
function
g
(
e
,
n
,
i
){
for
(
var
r
=
0
,
o
=
n
.
length
;
o
>
r
;
r
++
)
t
(
e
,
n
[
r
],
i
);
return
i
}
function
v
(
e
,
t
,
n
,
i
,
r
){
for
(
var
o
,
a
=
[],
s
=
0
,
u
=
e
.
length
,
l
=
null
!=
t
;
u
>
s
;
s
++
)(
o
=
e
[
s
])
&&
(
!
n
||
n
(
o
,
i
,
r
))
&&
(
a
.
push
(
o
),
l
&&
t
.
push
(
s
));
return
a
}
function
m
(
e
,
t
,
n
,
r
,
o
,
a
){
return
r
&&!
r
[
F
]
&&
(
r
=
m
(
r
)),
o
&&!
o
[
F
]
&&
(
o
=
m
(
o
,
a
)),
i
(
function
(
i
,
a
,
s
,
u
){
var
l
,
c
,
f
,
d
=
[],
p
=
[],
h
=
a
.
length
,
m
=
i
||
g
(
t
||
"
*
"
,
s
.
nodeType
?[
s
]:
s
,[]),
y
=!
e
||!
i
&&
t
?
m
:
v
(
m
,
d
,
e
,
s
,
u
),
b
=
n
?
o
||
(
i
?
e
:
h
||
r
)?[]:
a
:
y
;
if
(
n
&&
n
(
y
,
b
,
s
,
u
),
r
)
for
(
l
=
v
(
b
,
p
),
r
(
l
,[],
s
,
u
),
c
=
l
.
length
;
c
--
;)(
f
=
l
[
c
])
&&
(
b
[
p
[
c
]]
=!
(
y
[
p
[
c
]]
=
f
));
if
(
i
){
if
(
o
||
e
){
if
(
o
){
for
(
l
=
[],
c
=
b
.
length
;
c
--
;)(
f
=
b
[
c
])
&&
l
.
push
(
y
[
c
]
=
f
);
o
(
null
,
b
=
[],
l
,
u
)}
for
(
c
=
b
.
length
;
c
--
;)(
f
=
b
[
c
])
&&
(
l
=
o
?
tt
.
call
(
i
,
f
):
d
[
c
])
>-
1
&&
(
i
[
l
]
=!
(
a
[
l
]
=
f
))}}
else
b
=
v
(
b
===
a
?
b
.
splice
(
h
,
b
.
length
):
b
),
o
?
o
(
null
,
a
,
b
,
u
):
Z
.
apply
(
a
,
b
)})}
function
y
(
e
){
for
(
var
t
,
n
,
i
,
r
=
e
.
length
,
o
=
T
.
relative
[
e
[
0
].
type
],
a
=
o
||
T
.
relative
[
"
"
],
s
=
o
?
1
:
0
,
u
=
p
(
function
(
e
){
return
e
===
t
},
a
,
!
0
),
l
=
p
(
function
(
e
){
return
tt
.
call
(
t
,
e
)
>-
1
},
a
,
!
0
),
c
=
[
function
(
e
,
n
,
i
){
return
!
o
&&
(
i
||
n
!==
A
)
||
((
t
=
n
).
nodeType
?
u
(
e
,
n
,
i
):
l
(
e
,
n
,
i
))}];
r
>
s
;
s
++
)
if
(
n
=
T
.
relative
[
e
[
s
].
type
])
c
=
[
p
(
h
(
c
),
n
)];
else
{
if
(
n
=
T
.
filter
[
e
[
s
].
type
].
apply
(
null
,
e
[
s
].
matches
),
n
[
F
]){
for
(
i
=++
s
;
r
>
i
&&!
T
.
relative
[
e
[
i
].
type
];
i
++
);
return
m
(
s
>
1
&&
h
(
c
),
s
>
1
&&
d
(
e
.
slice
(
0
,
s
-
1
).
concat
({
value
:
"
"
===
e
[
s
-
2
].
type
?
"
*
"
:
""
})).
replace
(
ut
,
"
$1
"
),
n
,
i
>
s
&&
y
(
e
.
slice
(
s
,
i
)),
r
>
i
&&
y
(
e
=
e
.
slice
(
i
)),
r
>
i
&&
d
(
e
))}
c
.
push
(
n
)}
return
h
(
c
)}
function
b
(
e
,
n
){
var
r
=
n
.
length
>
0
,
o
=
e
.
length
>
0
,
a
=
function
(
i
,
a
,
s
,
u
,
l
){
var
c
,
f
,
d
,
p
=
0
,
h
=
"
0
"
,
g
=
i
&&
[],
m
=
[],
y
=
A
,
b
=
i
||
o
&&
T
.
find
.
TAG
(
"
*
"
,
l
),
x
=
_
+=
null
==
y
?
1
:
Math
.
random
()
||
.
1
,
w
=
b
.
length
;
for
(
l
&&
(
A
=
a
!==
q
&&
a
);
h
!==
w
&&
null
!=
(
c
=
b
[
h
]);
h
++
){
if
(
o
&&
c
){
for
(
f
=
0
;
d
=
e
[
f
++
];)
if
(
d
(
c
,
a
,
s
)){
u
.
push
(
c
);
break
}
l
&&
(
_
=
x
)}
r
&&
((
c
=!
d
&&
c
)
&&
p
--
,
i
&&
g
.
push
(
c
))}
if
(
p
+=
h
,
r
&&
h
!==
p
){
for
(
f
=
0
;
d
=
n
[
f
++
];)
d
(
g
,
m
,
a
,
s
);
if
(
i
){
if
(
p
>
0
)
for
(;
h
--
;)
g
[
h
]
||
m
[
h
]
||
(
m
[
h
]
=
Q
.
call
(
u
));
m
=
v
(
m
)}
Z
.
apply
(
u
,
m
),
l
&&!
i
&&
m
.
length
>
0
&&
p
+
n
.
length
>
1
&&
t
.
uniqueSort
(
u
)}
return
l
&&
(
_
=
x
,
A
=
y
),
g
};
return
r
?
i
(
a
):
a
}
var
x
,
w
,
T
,
k
,
C
,
S
,
N
,
E
,
A
,
D
,
j
,
L
,
q
,
O
,
P
,
H
,
M
,
$
,
I
,
F
=
"
sizzle
"
+-
new
Date
,
R
=
e
.
document
,
_
=
0
,
W
=
0
,
B
=
n
(),
z
=
n
(),
X
=
n
(),
U
=
function
(
e
,
t
){
return
e
===
t
&&
(
j
=!
0
),
0
},
V
=
"
undefined
"
,
K
=
1
<<
31
,
Y
=
{}.
hasOwnProperty
,
G
=
[],
Q
=
G
.
pop
,
J
=
G
.
push
,
Z
=
G
.
push
,
et
=
G
.
slice
,
tt
=
G
.
indexOf
||
function
(
e
){
for
(
var
t
=
0
,
n
=
this
.
length
;
n
>
t
;
t
++
)
if
(
this
[
t
]
===
e
)
return
t
;
return
-
1
},
nt
=
"
checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped
"
,
it
=
"
[
\\
x20
\\
t
\\
r
\\
n
\\
f]
"
,
rt
=
"
(?:
\\\\
.|[
\\
w-]|[^
\\
x00-
\\
xa0])+
"
,
ot
=
rt
.
replace
(
"
w
"
,
"
w#
"
),
at
=
"
\\
[
"
+
it
+
"
*(
"
+
rt
+
"
)(?:
"
+
it
+
"
*([*^$|!~]?=)
"
+
it
+
"
*(?:'((?:
\\\\
.|[^
\\\\
'])*)'|
\"
((?:
\\\\
.|[^
\\\\\"
])*)
\"
|(
"
+
ot
+
"
))|)
"
+
it
+
"
*
\\
]
"
,
st
=
"
:(
"
+
rt
+
"
)(?:
\\
((('((?:
\\\\
.|[^
\\\\
'])*)'|
\"
((?:
\\\\
.|[^
\\\\\"
])*)
\"
)|((?:
\\\\
.|[^
\\\\
()[
\\
]]|
"
+
at
+
"
)*)|.*)
\\
)|)
"
,
ut
=
new
RegExp
(
"
^
"
+
it
+
"
+|((?:^|[^
\\\\
])(?:
\\\\
.)*)
"
+
it
+
"
+$
"
,
"
g
"
),
lt
=
new
RegExp
(
"
^
"
+
it
+
"
*,
"
+
it
+
"
*
"
),
ct
=
new
RegExp
(
"
^
"
+
it
+
"
*([>+~]|
"
+
it
+
"
)
"
+
it
+
"
*
"
),
ft
=
new
RegExp
(
"
=
"
+
it
+
"
*([^
\\
]'
\"
]*?)
"
+
it
+
"
*
\\
]
"
,
"
g
"
),
dt
=
new
RegExp
(
st
),
pt
=
new
RegExp
(
"
^
"
+
ot
+
"
$
"
),
ht
=
{
ID
:
new
RegExp
(
"
^#(
"
+
rt
+
"
)
"
),
CLASS
:
new
RegExp
(
"
^
\\
.(
"
+
rt
+
"
)
"
),
TAG
:
new
RegExp
(
"
^(
"
+
rt
.
replace
(
"
w
"
,
"
w*
"
)
+
"
)
"
),
ATTR
:
new
RegExp
(
"
^
"
+
at
),
PSEUDO
:
new
RegExp
(
"
^
"
+
st
),
CHILD
:
new
RegExp
(
"
^:(only|first|last|nth|nth-last)-(child|of-type)(?:
\\
(
"
+
it
+
"
*(even|odd|(([+-]|)(
\\
d*)n|)
"
+
it
+
"
*(?:([+-]|)
"
+
it
+
"
*(
\\
d+)|))
"
+
it
+
"
*
\\
)|)
"
,
"
i
"
),
bool
:
new
RegExp
(
"
^(?:
"
+
nt
+
"
)$
"
,
"
i
"
),
needsContext
:
new
RegExp
(
"
^
"
+
it
+
"
*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:
\\
(
"
+
it
+
"
*((?:-
\\
d)?
\\
d*)
"
+
it
+
"
*
\\
)|)(?=[^-]|$)
"
,
"
i
"
)},
gt
=
/^
(?:
input|select|textarea|button
)
$/i
,
vt
=
/^h
\d
$/i
,
mt
=
/^
[^
{
]
+
\{\s
*
\[
native
\w
/
,
yt
=
/^
(?:
#
([\w
-
]
+
)
|
(\w
+
)
|
\.([\w
-
]
+
))
$/
,
bt
=
/
[
+~
]
/
,
xt
=
/'|
\\
/g
,
wt
=
new
RegExp
(
"
\\\\
([
\\
da-f]{1,6}
"
+
it
+
"
?|(
"
+
it
+
"
)|.)
"
,
"
ig
"
),
Tt
=
function
(
e
,
t
,
n
){
var
i
=
"
0x
"
+
t
-
65536
;
return
i
!==
i
||
n
?
t
:
0
>
i
?
String
.
fromCharCode
(
i
+
65536
):
String
.
fromCharCode
(
i
>>
10
|
55296
,
1023
&
i
|
56320
)};
try
{
Z
.
apply
(
G
=
et
.
call
(
R
.
childNodes
),
R
.
childNodes
),
G
[
R
.
childNodes
.
length
].
nodeType
}
catch
(
kt
){
Z
=
{
apply
:
G
.
length
?
function
(
e
,
t
){
J
.
apply
(
e
,
et
.
call
(
t
))}:
function
(
e
,
t
){
for
(
var
n
=
e
.
length
,
i
=
0
;
e
[
n
++
]
=
t
[
i
++
];);
e
.
length
=
n
-
1
}}}
w
=
t
.
support
=
{},
C
=
t
.
isXML
=
function
(
e
){
var
t
=
e
&&
(
e
.
ownerDocument
||
e
).
documentElement
;
return
t
?
"
HTML
"
!==
t
.
nodeName
:
!
1
},
L
=
t
.
setDocument
=
function
(
e
){
var
t
,
n
=
e
?
e
.
ownerDocument
||
e
:
R
,
i
=
n
.
defaultView
;
return
n
!==
q
&&
9
===
n
.
nodeType
&&
n
.
documentElement
?(
q
=
n
,
O
=
n
.
documentElement
,
P
=!
C
(
n
),
i
&&
i
!==
i
.
top
&&
(
i
.
addEventListener
?
i
.
addEventListener
(
"
unload
"
,
function
(){
L
()},
!
1
):
i
.
attachEvent
&&
i
.
attachEvent
(
"
onunload
"
,
function
(){
L
()})),
w
.
attributes
=
r
(
function
(
e
){
return
e
.
className
=
"
i
"
,
!
e
.
getAttribute
(
"
className
"
)}),
w
.
getElementsByTagName
=
r
(
function
(
e
){
return
e
.
appendChild
(
n
.
createComment
(
""
)),
!
e
.
getElementsByTagName
(
"
*
"
).
length
}),
w
.
getElementsByClassName
=
mt
.
test
(
n
.
getElementsByClassName
)
&&
r
(
function
(
e
){
return
e
.
innerHTML
=
"
<div class='a'></div><div class='a i'></div>
"
,
e
.
firstChild
.
className
=
"
i
"
,
2
===
e
.
getElementsByClassName
(
"
i
"
).
length
}),
w
.
getById
=
r
(
function
(
e
){
return
O
.
appendChild
(
e
).
id
=
F
,
!
n
.
getElementsByName
||!
n
.
getElementsByName
(
F
).
length
}),
w
.
getById
?(
T
.
find
.
ID
=
function
(
e
,
t
){
if
(
typeof
t
.
getElementById
!==
V
&&
P
){
var
n
=
t
.
getElementById
(
e
);
return
n
&&
n
.
parentNode
?[
n
]:[]}},
T
.
filter
.
ID
=
function
(
e
){
var
t
=
e
.
replace
(
wt
,
Tt
);
return
function
(
e
){
return
e
.
getAttribute
(
"
id
"
)
===
t
}}):(
delete
T
.
find
.
ID
,
T
.
filter
.
ID
=
function
(
e
){
var
t
=
e
.
replace
(
wt
,
Tt
);
return
function
(
e
){
var
n
=
typeof
e
.
getAttributeNode
!==
V
&&
e
.
getAttributeNode
(
"
id
"
);
return
n
&&
n
.
value
===
t
}}),
T
.
find
.
TAG
=
w
.
getElementsByTagName
?
function
(
e
,
t
){
return
typeof
t
.
getElementsByTagName
!==
V
?
t
.
getElementsByTagName
(
e
):
void
0
}:
function
(
e
,
t
){
var
n
,
i
=
[],
r
=
0
,
o
=
t
.
getElementsByTagName
(
e
);
if
(
"
*
"
===
e
){
for
(;
n
=
o
[
r
++
];)
1
===
n
.
nodeType
&&
i
.
push
(
n
);
return
i
}
return
o
},
T
.
find
.
CLASS
=
w
.
getElementsByClassName
&&
function
(
e
,
t
){
return
typeof
t
.
getElementsByClassName
!==
V
&&
P
?
t
.
getElementsByClassName
(
e
):
void
0
},
M
=
[],
H
=
[],(
w
.
qsa
=
mt
.
test
(
n
.
querySelectorAll
))
&&
(
r
(
function
(
e
){
e
.
innerHTML
=
"
<select msallowclip=''><option selected=''></option></select>
"
,
e
.
querySelectorAll
(
"
[msallowclip^='']
"
).
length
&&
H
.
push
(
"
[*^$]=
"
+
it
+
"
*(?:''|
\"\"
)
"
),
e
.
querySelectorAll
(
"
[selected]
"
).
length
||
H
.
push
(
"
\\
[
"
+
it
+
"
*(?:value|
"
+
nt
+
"
)
"
),
e
.
querySelectorAll
(
"
:checked
"
).
length
||
H
.
push
(
"
:checked
"
)}),
r
(
function
(
e
){
var
t
=
n
.
createElement
(
"
input
"
);
t
.
setAttribute
(
"
type
"
,
"
hidden
"
),
e
.
appendChild
(
t
).
setAttribute
(
"
name
"
,
"
D
"
),
e
.
querySelectorAll
(
"
[name=d]
"
).
length
&&
H
.
push
(
"
name
"
+
it
+
"
*[*^$|!~]?=
"
),
e
.
querySelectorAll
(
"
:enabled
"
).
length
||
H
.
push
(
"
:enabled
"
,
"
:disabled
"
),
e
.
querySelectorAll
(
"
*,:x
"
),
H
.
push
(
"
,.*:
"
)})),(
w
.
matchesSelector
=
mt
.
test
(
$
=
O
.
matches
||
O
.
webkitMatchesSelector
||
O
.
mozMatchesSelector
||
O
.
oMatchesSelector
||
O
.
msMatchesSelector
))
&&
r
(
function
(
e
){
w
.
disconnectedMatch
=
$
.
call
(
e
,
"
div
"
),
$
.
call
(
e
,
"
[s!='']:x
"
),
M
.
push
(
"
!=
"
,
st
)}),
H
=
H
.
length
&&
new
RegExp
(
H
.
join
(
"
|
"
)),
M
=
M
.
length
&&
new
RegExp
(
M
.
join
(
"
|
"
)),
t
=
mt
.
test
(
O
.
compareDocumentPosition
),
I
=
t
||
mt
.
test
(
O
.
contains
)?
function
(
e
,
t
){
var
n
=
9
===
e
.
nodeType
?
e
.
documentElement
:
e
,
i
=
t
&&
t
.
parentNode
;
return
e
===
i
||!
(
!
i
||
1
!==
i
.
nodeType
||!
(
n
.
contains
?
n
.
contains
(
i
):
e
.
compareDocumentPosition
&&
16
&
e
.
compareDocumentPosition
(
i
)))}:
function
(
e
,
t
){
if
(
t
)
for
(;
t
=
t
.
parentNode
;)
if
(
t
===
e
)
return
!
0
;
return
!
1
},
U
=
t
?
function
(
e
,
t
){
if
(
e
===
t
)
return
j
=!
0
,
0
;
var
i
=!
e
.
compareDocumentPosition
-!
t
.
compareDocumentPosition
;
return
i
?
i
:(
i
=
(
e
.
ownerDocument
||
e
)
===
(
t
.
ownerDocument
||
t
)?
e
.
compareDocumentPosition
(
t
):
1
,
1
&
i
||!
w
.
sortDetached
&&
t
.
compareDocumentPosition
(
e
)
===
i
?
e
===
n
||
e
.
ownerDocument
===
R
&&
I
(
R
,
e
)?
-
1
:
t
===
n
||
t
.
ownerDocument
===
R
&&
I
(
R
,
t
)?
1
:
D
?
tt
.
call
(
D
,
e
)
-
tt
.
call
(
D
,
t
):
0
:
4
&
i
?
-
1
:
1
)}:
function
(
e
,
t
){
if
(
e
===
t
)
return
j
=!
0
,
0
;
var
i
,
r
=
0
,
o
=
e
.
parentNode
,
s
=
t
.
parentNode
,
u
=
[
e
],
l
=
[
t
];
if
(
!
o
||!
s
)
return
e
===
n
?
-
1
:
t
===
n
?
1
:
o
?
-
1
:
s
?
1
:
D
?
tt
.
call
(
D
,
e
)
-
tt
.
call
(
D
,
t
):
0
;
if
(
o
===
s
)
return
a
(
e
,
t
);
for
(
i
=
e
;
i
=
i
.
parentNode
;)
u
.
unshift
(
i
);
for
(
i
=
t
;
i
=
i
.
parentNode
;)
l
.
unshift
(
i
);
for
(;
u
[
r
]
===
l
[
r
];)
r
++
;
return
r
?
a
(
u
[
r
],
l
[
r
]):
u
[
r
]
===
R
?
-
1
:
l
[
r
]
===
R
?
1
:
0
},
n
):
q
},
t
.
matches
=
function
(
e
,
n
){
return
t
(
e
,
null
,
null
,
n
)},
t
.
matchesSelector
=
function
(
e
,
n
){
if
((
e
.
ownerDocument
||
e
)
!==
q
&&
L
(
e
),
n
=
n
.
replace
(
ft
,
"
='$1']
"
),
!
(
!
w
.
matchesSelector
||!
P
||
M
&&
M
.
test
(
n
)
||
H
&&
H
.
test
(
n
)))
try
{
var
i
=
$
.
call
(
e
,
n
);
if
(
i
||
w
.
disconnectedMatch
||
e
.
document
&&
11
!==
e
.
document
.
nodeType
)
return
i
}
catch
(
r
){}
return
t
(
n
,
q
,
null
,[
e
]).
length
>
0
},
t
.
contains
=
function
(
e
,
t
){
return
(
e
.
ownerDocument
||
e
)
!==
q
&&
L
(
e
),
I
(
e
,
t
)},
t
.
attr
=
function
(
e
,
t
){(
e
.
ownerDocument
||
e
)
!==
q
&&
L
(
e
);
var
n
=
T
.
attrHandle
[
t
.
toLowerCase
()],
i
=
n
&&
Y
.
call
(
T
.
attrHandle
,
t
.
toLowerCase
())?
n
(
e
,
t
,
!
P
):
void
0
;
return
void
0
!==
i
?
i
:
w
.
attributes
||!
P
?
e
.
getAttribute
(
t
):(
i
=
e
.
getAttributeNode
(
t
))
&&
i
.
specified
?
i
.
value
:
null
},
t
.
error
=
function
(
e
){
throw
new
Error
(
"
Syntax error, unrecognized expression:
"
+
e
)},
t
.
uniqueSort
=
function
(
e
){
var
t
,
n
=
[],
i
=
0
,
r
=
0
;
if
(
j
=!
w
.
detectDuplicates
,
D
=!
w
.
sortStable
&&
e
.
slice
(
0
),
e
.
sort
(
U
),
j
){
for
(;
t
=
e
[
r
++
];)
t
===
e
[
r
]
&&
(
i
=
n
.
push
(
r
));
for
(;
i
--
;)
e
.
splice
(
n
[
i
],
1
)}
return
D
=
null
,
e
},
k
=
t
.
getText
=
function
(
e
){
var
t
,
n
=
""
,
i
=
0
,
r
=
e
.
nodeType
;
if
(
r
){
if
(
1
===
r
||
9
===
r
||
11
===
r
){
if
(
"
string
"
==
typeof
e
.
textContent
)
return
e
.
textContent
;
for
(
e
=
e
.
firstChild
;
e
;
e
=
e
.
nextSibling
)
n
+=
k
(
e
)}
else
if
(
3
===
r
||
4
===
r
)
return
e
.
nodeValue
}
else
for
(;
t
=
e
[
i
++
];)
n
+=
k
(
t
);
return
n
},
T
=
t
.
selectors
=
{
cacheLength
:
50
,
createPseudo
:
i
,
match
:
ht
,
attrHandle
:{},
find
:{},
relative
:{
"
>
"
:{
dir
:
"
parentNode
"
,
first
:
!
0
},
"
"
:{
dir
:
"
parentNode
"
},
"
+
"
:{
dir
:
"
previousSibling
"
,
first
:
!
0
},
"
~
"
:{
dir
:
"
previousSibling
"
}},
preFilter
:{
ATTR
:
function
(
e
){
return
e
[
1
]
=
e
[
1
].
replace
(
wt
,
Tt
),
e
[
3
]
=
(
e
[
3
]
||
e
[
4
]
||
e
[
5
]
||
""
).
replace
(
wt
,
Tt
),
"
~=
"
===
e
[
2
]
&&
(
e
[
3
]
=
"
"
+
e
[
3
]
+
"
"
),
e
.
slice
(
0
,
4
)},
CHILD
:
function
(
e
){
return
e
[
1
]
=
e
[
1
].
toLowerCase
(),
"
nth
"
===
e
[
1
].
slice
(
0
,
3
)?(
e
[
3
]
||
t
.
error
(
e
[
0
]),
e
[
4
]
=+
(
e
[
4
]?
e
[
5
]
+
(
e
[
6
]
||
1
):
2
*
(
"
even
"
===
e
[
3
]
||
"
odd
"
===
e
[
3
])),
e
[
5
]
=+
(
e
[
7
]
+
e
[
8
]
||
"
odd
"
===
e
[
3
])):
e
[
3
]
&&
t
.
error
(
e
[
0
]),
e
},
PSEUDO
:
function
(
e
){
var
t
,
n
=!
e
[
6
]
&&
e
[
2
];
return
ht
.
CHILD
.
test
(
e
[
0
])?
null
:(
e
[
3
]?
e
[
2
]
=
e
[
4
]
||
e
[
5
]
||
""
:
n
&&
dt
.
test
(
n
)
&&
(
t
=
S
(
n
,
!
0
))
&&
(
t
=
n
.
indexOf
(
"
)
"
,
n
.
length
-
t
)
-
n
.
length
)
&&
(
e
[
0
]
=
e
[
0
].
slice
(
0
,
t
),
e
[
2
]
=
n
.
slice
(
0
,
t
)),
e
.
slice
(
0
,
3
))}},
filter
:{
TAG
:
function
(
e
){
var
t
=
e
.
replace
(
wt
,
Tt
).
toLowerCase
();
return
"
*
"
===
e
?
function
(){
return
!
0
}:
function
(
e
){
return
e
.
nodeName
&&
e
.
nodeName
.
toLowerCase
()
===
t
}},
CLASS
:
function
(
e
){
var
t
=
B
[
e
+
"
"
];
return
t
||
(
t
=
new
RegExp
(
"
(^|
"
+
it
+
"
)
"
+
e
+
"
(
"
+
it
+
"
|$)
"
))
&&
B
(
e
,
function
(
e
){
return
t
.
test
(
"
string
"
==
typeof
e
.
className
&&
e
.
className
||
typeof
e
.
getAttribute
!==
V
&&
e
.
getAttribute
(
"
class
"
)
||
""
)})},
ATTR
:
function
(
e
,
n
,
i
){
return
function
(
r
){
var
o
=
t
.
attr
(
r
,
e
);
return
null
==
o
?
"
!=
"
===
n
:
n
?(
o
+=
""
,
"
=
"
===
n
?
o
===
i
:
"
!=
"
===
n
?
o
!==
i
:
"
^=
"
===
n
?
i
&&
0
===
o
.
indexOf
(
i
):
"
*=
"
===
n
?
i
&&
o
.
indexOf
(
i
)
>-
1
:
"
$=
"
===
n
?
i
&&
o
.
slice
(
-
i
.
length
)
===
i
:
"
~=
"
===
n
?(
"
"
+
o
+
"
"
).
indexOf
(
i
)
>-
1
:
"
|=
"
===
n
?
o
===
i
||
o
.
slice
(
0
,
i
.
length
+
1
)
===
i
+
"
-
"
:
!
1
):
!
0
}},
CHILD
:
function
(
e
,
t
,
n
,
i
,
r
){
var
o
=
"
nth
"
!==
e
.
slice
(
0
,
3
),
a
=
"
last
"
!==
e
.
slice
(
-
4
),
s
=
"
of-type
"
===
t
;
return
1
===
i
&&
0
===
r
?
function
(
e
){
return
!!
e
.
parentNode
}:
function
(
t
,
n
,
u
){
var
l
,
c
,
f
,
d
,
p
,
h
,
g
=
o
!==
a
?
"
nextSibling
"
:
"
previousSibling
"
,
v
=
t
.
parentNode
,
m
=
s
&&
t
.
nodeName
.
toLowerCase
(),
y
=!
u
&&!
s
;
if
(
v
){
if
(
o
){
for
(;
g
;){
for
(
f
=
t
;
f
=
f
[
g
];)
if
(
s
?
f
.
nodeName
.
toLowerCase
()
===
m
:
1
===
f
.
nodeType
)
return
!
1
;
h
=
g
=
"
only
"
===
e
&&!
h
&&
"
nextSibling
"
}
return
!
0
}
if
(
h
=
[
a
?
v
.
firstChild
:
v
.
lastChild
],
a
&&
y
){
for
(
c
=
v
[
F
]
||
(
v
[
F
]
=
{}),
l
=
c
[
e
]
||
[],
p
=
l
[
0
]
===
_
&&
l
[
1
],
d
=
l
[
0
]
===
_
&&
l
[
2
],
f
=
p
&&
v
.
childNodes
[
p
];
f
=++
p
&&
f
&&
f
[
g
]
||
(
d
=
p
=
0
)
||
h
.
pop
();)
if
(
1
===
f
.
nodeType
&&++
d
&&
f
===
t
){
c
[
e
]
=
[
_
,
p
,
d
];
break
}}
else
if
(
y
&&
(
l
=
(
t
[
F
]
||
(
t
[
F
]
=
{}))[
e
])
&&
l
[
0
]
===
_
)
d
=
l
[
1
];
else
for
(;(
f
=++
p
&&
f
&&
f
[
g
]
||
(
d
=
p
=
0
)
||
h
.
pop
())
&&
((
s
?
f
.
nodeName
.
toLowerCase
()
!==
m
:
1
!==
f
.
nodeType
)
||!++
d
||
(
y
&&
((
f
[
F
]
||
(
f
[
F
]
=
{}))[
e
]
=
[
_
,
d
]),
f
!==
t
)););
return
d
-=
r
,
d
===
i
||
d
%
i
===
0
&&
d
/
i
>=
0
}}},
PSEUDO
:
function
(
e
,
n
){
var
r
,
o
=
T
.
pseudos
[
e
]
||
T
.
setFilters
[
e
.
toLowerCase
()]
||
t
.
error
(
"
unsupported pseudo:
"
+
e
);
return
o
[
F
]?
o
(
n
):
o
.
length
>
1
?(
r
=
[
e
,
e
,
""
,
n
],
T
.
setFilters
.
hasOwnProperty
(
e
.
toLowerCase
())?
i
(
function
(
e
,
t
){
for
(
var
i
,
r
=
o
(
e
,
n
),
a
=
r
.
length
;
a
--
;)
i
=
tt
.
call
(
e
,
r
[
a
]),
e
[
i
]
=!
(
t
[
i
]
=
r
[
a
])}):
function
(
e
){
return
o
(
e
,
0
,
r
)}):
o
}},
pseudos
:{
not
:
i
(
function
(
e
){
var
t
=
[],
n
=
[],
r
=
N
(
e
.
replace
(
ut
,
"
$1
"
));
return
r
[
F
]?
i
(
function
(
e
,
t
,
n
,
i
){
for
(
var
o
,
a
=
r
(
e
,
null
,
i
,[]),
s
=
e
.
length
;
s
--
;)(
o
=
a
[
s
])
&&
(
e
[
s
]
=!
(
t
[
s
]
=
o
))}):
function
(
e
,
i
,
o
){
return
t
[
0
]
=
e
,
r
(
t
,
null
,
o
,
n
),
!
n
.
pop
()}}),
has
:
i
(
function
(
e
){
return
function
(
n
){
return
t
(
e
,
n
).
length
>
0
}}),
contains
:
i
(
function
(
e
){
return
function
(
t
){
return
(
t
.
textContent
||
t
.
innerText
||
k
(
t
)).
indexOf
(
e
)
>-
1
}}),
lang
:
i
(
function
(
e
){
return
pt
.
test
(
e
||
""
)
||
t
.
error
(
"
unsupported lang:
"
+
e
),
e
=
e
.
replace
(
wt
,
Tt
).
toLowerCase
(),
function
(
t
){
var
n
;
do
if
(
n
=
P
?
t
.
lang
:
t
.
getAttribute
(
"
xml:lang
"
)
||
t
.
getAttribute
(
"
lang
"
))
return
n
=
n
.
toLowerCase
(),
n
===
e
||
0
===
n
.
indexOf
(
e
+
"
-
"
);
while
((
t
=
t
.
parentNode
)
&&
1
===
t
.
nodeType
);
return
!
1
}}),
target
:
function
(
t
){
var
n
=
e
.
location
&&
e
.
location
.
hash
;
return
n
&&
n
.
slice
(
1
)
===
t
.
id
},
root
:
function
(
e
){
return
e
===
O
},
focus
:
function
(
e
){
return
e
===
q
.
activeElement
&&
(
!
q
.
hasFocus
||
q
.
hasFocus
())
&&!!
(
e
.
type
||
e
.
href
||~
e
.
tabIndex
)},
enabled
:
function
(
e
){
return
e
.
disabled
===!
1
},
disabled
:
function
(
e
){
return
e
.
disabled
===!
0
},
checked
:
function
(
e
){
var
t
=
e
.
nodeName
.
toLowerCase
();
return
"
input
"
===
t
&&!!
e
.
checked
||
"
option
"
===
t
&&!!
e
.
selected
},
selected
:
function
(
e
){
return
e
.
parentNode
&&
e
.
parentNode
.
selectedIndex
,
e
.
selected
===!
0
},
empty
:
function
(
e
){
for
(
e
=
e
.
firstChild
;
e
;
e
=
e
.
nextSibling
)
if
(
e
.
nodeType
<
6
)
return
!
1
;
return
!
0
},
parent
:
function
(
e
){
return
!
T
.
pseudos
.
empty
(
e
)},
header
:
function
(
e
){
return
vt
.
test
(
e
.
nodeName
)},
input
:
function
(
e
){
return
gt
.
test
(
e
.
nodeName
)},
button
:
function
(
e
){
var
t
=
e
.
nodeName
.
toLowerCase
();
return
"
input
"
===
t
&&
"
button
"
===
e
.
type
||
"
button
"
===
t
},
text
:
function
(
e
){
var
t
;
return
"
input
"
===
e
.
nodeName
.
toLowerCase
()
&&
"
text
"
===
e
.
type
&&
(
null
==
(
t
=
e
.
getAttribute
(
"
type
"
))
||
"
text
"
===
t
.
toLowerCase
())},
first
:
l
(
function
(){
return
[
0
]}),
last
:
l
(
function
(
e
,
t
){
return
[
t
-
1
]}),
eq
:
l
(
function
(
e
,
t
,
n
){
return
[
0
>
n
?
n
+
t
:
n
]}),
even
:
l
(
function
(
e
,
t
){
for
(
var
n
=
0
;
t
>
n
;
n
+=
2
)
e
.
push
(
n
);
return
e
}),
odd
:
l
(
function
(
e
,
t
){
for
(
var
n
=
1
;
t
>
n
;
n
+=
2
)
e
.
push
(
n
);
return
e
}),
lt
:
l
(
function
(
e
,
t
,
n
){
for
(
var
i
=
0
>
n
?
n
+
t
:
n
;
--
i
>=
0
;)
e
.
push
(
i
);
return
e
}),
gt
:
l
(
function
(
e
,
t
,
n
){
for
(
var
i
=
0
>
n
?
n
+
t
:
n
;
++
i
<
t
;)
e
.
push
(
i
);
return
e
})}},
T
.
pseudos
.
nth
=
T
.
pseudos
.
eq
;
for
(
x
in
{
radio
:
!
0
,
checkbox
:
!
0
,
file
:
!
0
,
password
:
!
0
,
image
:
!
0
})
T
.
pseudos
[
x
]
=
s
(
x
);
for
(
x
in
{
submit
:
!
0
,
reset
:
!
0
})
T
.
pseudos
[
x
]
=
u
(
x
);
return
f
.
prototype
=
T
.
filters
=
T
.
pseudos
,
T
.
setFilters
=
new
f
,
S
=
t
.
tokenize
=
function
(
e
,
n
){
var
i
,
r
,
o
,
a
,
s
,
u
,
l
,
c
=
z
[
e
+
"
"
];
if
(
c
)
return
n
?
0
:
c
.
slice
(
0
);
for
(
s
=
e
,
u
=
[],
l
=
T
.
preFilter
;
s
;){(
!
i
||
(
r
=
lt
.
exec
(
s
)))
&&
(
r
&&
(
s
=
s
.
slice
(
r
[
0
].
length
)
||
s
),
u
.
push
(
o
=
[])),
i
=!
1
,(
r
=
ct
.
exec
(
s
))
&&
(
i
=
r
.
shift
(),
o
.
push
({
value
:
i
,
type
:
r
[
0
].
replace
(
ut
,
"
"
)}),
s
=
s
.
slice
(
i
.
length
));
for
(
a
in
T
.
filter
)
!
(
r
=
ht
[
a
].
exec
(
s
))
||
l
[
a
]
&&!
(
r
=
l
[
a
](
r
))
||
(
i
=
r
.
shift
(),
o
.
push
({
value
:
i
,
type
:
a
,
matches
:
r
}),
s
=
s
.
slice
(
i
.
length
));
if
(
!
i
)
break
}
return
n
?
s
.
length
:
s
?
t
.
error
(
e
):
z
(
e
,
u
).
slice
(
0
)},
N
=
t
.
compile
=
function
(
e
,
t
){
var
n
,
i
=
[],
r
=
[],
o
=
X
[
e
+
"
"
];
if
(
!
o
){
for
(
t
||
(
t
=
S
(
e
)),
n
=
t
.
length
;
n
--
;)
o
=
y
(
t
[
n
]),
o
[
F
]?
i
.
push
(
o
):
r
.
push
(
o
);
o
=
X
(
e
,
b
(
r
,
i
)),
o
.
selector
=
e
}
return
o
},
E
=
t
.
select
=
function
(
e
,
t
,
n
,
i
){
var
r
,
o
,
a
,
s
,
u
,
l
=
"
function
"
==
typeof
e
&&
e
,
f
=!
i
&&
S
(
e
=
l
.
selector
||
e
);
if
(
n
=
n
||
[],
1
===
f
.
length
){
if
(
o
=
f
[
0
]
=
f
[
0
].
slice
(
0
),
o
.
length
>
2
&&
"
ID
"
===
(
a
=
o
[
0
]).
type
&&
w
.
getById
&&
9
===
t
.
nodeType
&&
P
&&
T
.
relative
[
o
[
1
].
type
]){
if
(
t
=
(
T
.
find
.
ID
(
a
.
matches
[
0
].
replace
(
wt
,
Tt
),
t
)
||
[])[
0
],
!
t
)
return
n
;
l
&&
(
t
=
t
.
parentNode
),
e
=
e
.
slice
(
o
.
shift
().
value
.
length
)}
for
(
r
=
ht
.
needsContext
.
test
(
e
)?
0
:
o
.
length
;
r
--&&
(
a
=
o
[
r
],
!
T
.
relative
[
s
=
a
.
type
]);)
if
((
u
=
T
.
find
[
s
])
&&
(
i
=
u
(
a
.
matches
[
0
].
replace
(
wt
,
Tt
),
bt
.
test
(
o
[
0
].
type
)
&&
c
(
t
.
parentNode
)
||
t
))){
if
(
o
.
splice
(
r
,
1
),
e
=
i
.
length
&&
d
(
o
),
!
e
)
return
Z
.
apply
(
n
,
i
),
n
;
break
}}
return
(
l
||
N
(
e
,
f
))(
i
,
t
,
!
P
,
n
,
bt
.
test
(
e
)
&&
c
(
t
.
parentNode
)
||
t
),
n
},
w
.
sortStable
=
F
.
split
(
""
).
sort
(
U
).
join
(
""
)
===
F
,
w
.
detectDuplicates
=!!
j
,
L
(),
w
.
sortDetached
=
r
(
function
(
e
){
return
1
&
e
.
compareDocumentPosition
(
q
.
createElement
(
"
div
"
))}),
r
(
function
(
e
){
return
e
.
innerHTML
=
"
<a href='#'></a>
"
,
"
#
"
===
e
.
firstChild
.
getAttribute
(
"
href
"
)})
||
o
(
"
type|href|height|width
"
,
function
(
e
,
t
,
n
){
return
n
?
void
0
:
e
.
getAttribute
(
t
,
"
type
"
===
t
.
toLowerCase
()?
1
:
2
)}),
w
.
attributes
&&
r
(
function
(
e
){
return
e
.
innerHTML
=
"
<input/>
"
,
e
.
firstChild
.
setAttribute
(
"
value
"
,
""
),
""
===
e
.
firstChild
.
getAttribute
(
"
value
"
)})
||
o
(
"
value
"
,
function
(
e
,
t
,
n
){
return
n
||
"
input
"
!==
e
.
nodeName
.
toLowerCase
()?
void
0
:
e
.
defaultValue
}),
r
(
function
(
e
){
return
null
==
e
.
getAttribute
(
"
disabled
"
)})
||
o
(
nt
,
function
(
e
,
t
,
n
){
var
i
;
return
n
?
void
0
:
e
[
t
]
===!
0
?
t
.
toLowerCase
():(
i
=
e
.
getAttributeNode
(
t
))
&&
i
.
specified
?
i
.
value
:
null
}),
t
}(
e
);
Z
.
find
=
rt
,
Z
.
expr
=
rt
.
selectors
,
Z
.
expr
[
"
:
"
]
=
Z
.
expr
.
pseudos
,
Z
.
unique
=
rt
.
uniqueSort
,
Z
.
text
=
rt
.
getText
,
Z
.
isXMLDoc
=
rt
.
isXML
,
Z
.
contains
=
rt
.
contains
;
var
ot
=
Z
.
expr
.
match
.
needsContext
,
at
=
/^<
(\w
+
)\s
*
\/?
>
(?:
<
\/\1
>|
)
$/
,
st
=
/^.
[^
:#
\[\.
,
]
*$/
;
Z
.
filter
=
function
(
e
,
t
,
n
){
var
i
=
t
[
0
];
return
n
&&
(
e
=
"
:not(
"
+
e
+
"
)
"
),
1
===
t
.
length
&&
1
===
i
.
nodeType
?
Z
.
find
.
matchesSelector
(
i
,
e
)?[
i
]:[]:
Z
.
find
.
matches
(
e
,
Z
.
grep
(
t
,
function
(
e
){
return
1
===
e
.
nodeType
}))},
Z
.
fn
.
extend
({
find
:
function
(
e
){
var
t
,
n
=
this
.
length
,
i
=
[],
r
=
this
;
if
(
"
string
"
!=
typeof
e
)
return
this
.
pushStack
(
Z
(
e
).
filter
(
function
(){
for
(
t
=
0
;
n
>
t
;
t
++
)
if
(
Z
.
contains
(
r
[
t
],
this
))
return
!
0
}));
for
(
t
=
0
;
n
>
t
;
t
++
)
Z
.
find
(
e
,
r
[
t
],
i
);
return
i
=
this
.
pushStack
(
n
>
1
?
Z
.
unique
(
i
):
i
),
i
.
selector
=
this
.
selector
?
this
.
selector
+
"
"
+
e
:
e
,
i
},
filter
:
function
(
e
){
return
this
.
pushStack
(
i
(
this
,
e
||
[],
!
1
))},
not
:
function
(
e
){
return
this
.
pushStack
(
i
(
this
,
e
||
[],
!
0
))},
is
:
function
(
e
){
return
!!
i
(
this
,
"
string
"
==
typeof
e
&&
ot
.
test
(
e
)?
Z
(
e
):
e
||
[],
!
1
).
length
}});
var
ut
,
lt
=
/^
(?:\s
*
(
<
[\w\W]
+>
)[^
>
]
*|#
([\w
-
]
*
))
$/
,
ct
=
Z
.
fn
.
init
=
function
(
e
,
t
){
var
n
,
i
;
if
(
!
e
)
return
this
;
if
(
"
string
"
==
typeof
e
){
if
(
n
=
"
<
"
===
e
[
0
]
&&
"
>
"
===
e
[
e
.
length
-
1
]
&&
e
.
length
>=
3
?[
null
,
e
,
null
]:
lt
.
exec
(
e
),
!
n
||!
n
[
1
]
&&
t
)
return
!
t
||
t
.
jquery
?(
t
||
ut
).
find
(
e
):
this
.
constructor
(
t
).
find
(
e
);
if
(
n
[
1
]){
if
(
t
=
t
instanceof
Z
?
t
[
0
]:
t
,
Z
.
merge
(
this
,
Z
.
parseHTML
(
n
[
1
],
t
&&
t
.
nodeType
?
t
.
ownerDocument
||
t
:
Q
,
!
0
)),
at
.
test
(
n
[
1
])
&&
Z
.
isPlainObject
(
t
))
for
(
n
in
t
)
Z
.
isFunction
(
this
[
n
])?
this
[
n
](
t
[
n
]):
this
.
attr
(
n
,
t
[
n
]);
return
this
}
return
i
=
Q
.
getElementById
(
n
[
2
]),
i
&&
i
.
parentNode
&&
(
this
.
length
=
1
,
this
[
0
]
=
i
),
this
.
context
=
Q
,
this
.
selector
=
e
,
this
}
return
e
.
nodeType
?(
this
.
context
=
this
[
0
]
=
e
,
this
.
length
=
1
,
this
):
Z
.
isFunction
(
e
)?
"
undefined
"
!=
typeof
ut
.
ready
?
ut
.
ready
(
e
):
e
(
Z
):(
void
0
!==
e
.
selector
&&
(
this
.
selector
=
e
.
selector
,
this
.
context
=
e
.
context
),
Z
.
makeArray
(
e
,
this
))};
ct
.
prototype
=
Z
.
fn
,
ut
=
Z
(
Q
);
var
ft
=
/^
(?:
parents|prev
(?:
Until|All
))
/
,
dt
=
{
children
:
!
0
,
contents
:
!
0
,
next
:
!
0
,
prev
:
!
0
};
Z
.
extend
({
dir
:
function
(
e
,
t
,
n
){
for
(
var
i
=
[],
r
=
void
0
!==
n
;(
e
=
e
[
t
])
&&
9
!==
e
.
nodeType
;)
if
(
1
===
e
.
nodeType
){
if
(
r
&&
Z
(
e
).
is
(
n
))
break
;
i
.
push
(
e
)}
return
i
},
sibling
:
function
(
e
,
t
){
for
(
var
n
=
[];
e
;
e
=
e
.
nextSibling
)
1
===
e
.
nodeType
&&
e
!==
t
&&
n
.
push
(
e
);
return
n
}}),
Z
.
fn
.
extend
({
has
:
function
(
e
){
var
t
=
Z
(
e
,
this
),
n
=
t
.
length
;
return
this
.
filter
(
function
(){
for
(
var
e
=
0
;
n
>
e
;
e
++
)
if
(
Z
.
contains
(
this
,
t
[
e
]))
return
!
0
})},
closest
:
function
(
e
,
t
){
for
(
var
n
,
i
=
0
,
r
=
this
.
length
,
o
=
[],
a
=
ot
.
test
(
e
)
||
"
string
"
!=
typeof
e
?
Z
(
e
,
t
||
this
.
context
):
0
;
r
>
i
;
i
++
)
for
(
n
=
this
[
i
];
n
&&
n
!==
t
;
n
=
n
.
parentNode
)
if
(
n
.
nodeType
<
11
&&
(
a
?
a
.
index
(
n
)
>-
1
:
1
===
n
.
nodeType
&&
Z
.
find
.
matchesSelector
(
n
,
e
))){
o
.
push
(
n
);
break
}
return
this
.
pushStack
(
o
.
length
>
1
?
Z
.
unique
(
o
):
o
)},
index
:
function
(
e
){
return
e
?
"
string
"
==
typeof
e
?
U
.
call
(
Z
(
e
),
this
[
0
]):
U
.
call
(
this
,
e
.
jquery
?
e
[
0
]:
e
):
this
[
0
]
&&
this
[
0
].
parentNode
?
this
.
first
().
prevAll
().
length
:
-
1
},
add
:
function
(
e
,
t
){
return
this
.
pushStack
(
Z
.
unique
(
Z
.
merge
(
this
.
get
(),
Z
(
e
,
t
))))},
addBack
:
function
(
e
){
return
this
.
add
(
null
==
e
?
this
.
prevObject
:
this
.
prevObject
.
filter
(
e
))}}),
Z
.
each
({
parent
:
function
(
e
){
var
t
=
e
.
parentNode
;
return
t
&&
11
!==
t
.
nodeType
?
t
:
null
},
parents
:
function
(
e
){
return
Z
.
dir
(
e
,
"
parentNode
"
)},
parentsUntil
:
function
(
e
,
t
,
n
){
return
Z
.
dir
(
e
,
"
parentNode
"
,
n
)},
next
:
function
(
e
){
return
r
(
e
,
"
nextSibling
"
)},
prev
:
function
(
e
){
return
r
(
e
,
"
previousSibling
"
)},
nextAll
:
function
(
e
){
return
Z
.
dir
(
e
,
"
nextSibling
"
)},
prevAll
:
function
(
e
){
return
Z
.
dir
(
e
,
"
previousSibling
"
)},
nextUntil
:
function
(
e
,
t
,
n
){
return
Z
.
dir
(
e
,
"
nextSibling
"
,
n
)},
prevUntil
:
function
(
e
,
t
,
n
){
return
Z
.
dir
(
e
,
"
previousSibling
"
,
n
)},
siblings
:
function
(
e
){
return
Z
.
sibling
((
e
.
parentNode
||
{}).
firstChild
,
e
)},
children
:
function
(
e
){
return
Z
.
sibling
(
e
.
firstChild
)},
contents
:
function
(
e
){
return
e
.
contentDocument
||
Z
.
merge
([],
e
.
childNodes
)}},
function
(
e
,
t
){
Z
.
fn
[
e
]
=
function
(
n
,
i
){
var
r
=
Z
.
map
(
this
,
t
,
n
);
return
"
Until
"
!==
e
.
slice
(
-
5
)
&&
(
i
=
n
),
i
&&
"
string
"
==
typeof
i
&&
(
r
=
Z
.
filter
(
i
,
r
)),
this
.
length
>
1
&&
(
dt
[
e
]
||
Z
.
unique
(
r
),
ft
.
test
(
e
)
&&
r
.
reverse
()),
this
.
pushStack
(
r
)}});
var
pt
=
/
\S
+/g
,
ht
=
{};
Z
.
Callbacks
=
function
(
e
){
e
=
"
string
"
==
typeof
e
?
ht
[
e
]
||
o
(
e
):
Z
.
extend
({},
e
);
var
t
,
n
,
i
,
r
,
a
,
s
,
u
=
[],
l
=!
e
.
once
&&
[],
c
=
function
(
o
){
for
(
t
=
e
.
memory
&&
o
,
n
=!
0
,
s
=
r
||
0
,
r
=
0
,
a
=
u
.
length
,
i
=!
0
;
u
&&
a
>
s
;
s
++
)
if
(
u
[
s
].
apply
(
o
[
0
],
o
[
1
])
===!
1
&&
e
.
stopOnFalse
){
t
=!
1
;
break
}
i
=!
1
,
u
&&
(
l
?
l
.
length
&&
c
(
l
.
shift
()):
t
?
u
=
[]:
f
.
disable
())},
f
=
{
add
:
function
(){
if
(
u
){
var
n
=
u
.
length
;
!
function
o
(
t
){
Z
.
each
(
t
,
function
(
t
,
n
){
var
i
=
Z
.
type
(
n
);
"
function
"
===
i
?
e
.
unique
&&
f
.
has
(
n
)
||
u
.
push
(
n
):
n
&&
n
.
length
&&
"
string
"
!==
i
&&
o
(
n
)})}(
arguments
),
i
?
a
=
u
.
length
:
t
&&
(
r
=
n
,
c
(
t
))}
return
this
},
remove
:
function
(){
return
u
&&
Z
.
each
(
arguments
,
function
(
e
,
t
){
for
(
var
n
;(
n
=
Z
.
inArray
(
t
,
u
,
n
))
>-
1
;)
u
.
splice
(
n
,
1
),
i
&&
(
a
>=
n
&&
a
--
,
s
>=
n
&&
s
--
)}),
this
},
has
:
function
(
e
){
return
e
?
Z
.
inArray
(
e
,
u
)
>-
1
:
!
(
!
u
||!
u
.
length
)},
empty
:
function
(){
return
u
=
[],
a
=
0
,
this
},
disable
:
function
(){
return
u
=
l
=
t
=
void
0
,
this
},
disabled
:
function
(){
return
!
u
},
lock
:
function
(){
return
l
=
void
0
,
t
||
f
.
disable
(),
this
},
locked
:
function
(){
return
!
l
},
fireWith
:
function
(
e
,
t
){
return
!
u
||
n
&&!
l
||
(
t
=
t
||
[],
t
=
[
e
,
t
.
slice
?
t
.
slice
():
t
],
i
?
l
.
push
(
t
):
c
(
t
)),
this
},
fire
:
function
(){
return
f
.
fireWith
(
this
,
arguments
),
this
},
fired
:
function
(){
return
!!
n
}};
return
f
},
Z
.
extend
({
Deferred
:
function
(
e
){
var
t
=
[[
"
resolve
"
,
"
done
"
,
Z
.
Callbacks
(
"
once memory
"
),
"
resolved
"
],[
"
reject
"
,
"
fail
"
,
Z
.
Callbacks
(
"
once memory
"
),
"
rejected
"
],[
"
notify
"
,
"
progress
"
,
Z
.
Callbacks
(
"
memory
"
)]],
n
=
"
pending
"
,
i
=
{
state
:
function
(){
return
n
},
always
:
function
(){
return
r
.
done
(
arguments
).
fail
(
arguments
),
this
},
then
:
function
(){
var
e
=
arguments
;
return
Z
.
Deferred
(
function
(
n
){
Z
.
each
(
t
,
function
(
t
,
o
){
var
a
=
Z
.
isFunction
(
e
[
t
])
&&
e
[
t
];
r
[
o
[
1
]](
function
(){
var
e
=
a
&&
a
.
apply
(
this
,
arguments
);
e
&&
Z
.
isFunction
(
e
.
promise
)?
e
.
promise
().
done
(
n
.
resolve
).
fail
(
n
.
reject
).
progress
(
n
.
notify
):
n
[
o
[
0
]
+
"
With
"
](
this
===
i
?
n
.
promise
():
this
,
a
?[
e
]:
arguments
)})}),
e
=
null
}).
promise
()},
promise
:
function
(
e
){
return
null
!=
e
?
Z
.
extend
(
e
,
i
):
i
}},
r
=
{};
return
i
.
pipe
=
i
.
then
,
Z
.
each
(
t
,
function
(
e
,
o
){
var
a
=
o
[
2
],
s
=
o
[
3
];
i
[
o
[
1
]]
=
a
.
add
,
s
&&
a
.
add
(
function
(){
n
=
s
},
t
[
1
^
e
][
2
].
disable
,
t
[
2
][
2
].
lock
),
r
[
o
[
0
]]
=
function
(){
return
r
[
o
[
0
]
+
"
With
"
](
this
===
r
?
i
:
this
,
arguments
),
this
},
r
[
o
[
0
]
+
"
With
"
]
=
a
.
fireWith
}),
i
.
promise
(
r
),
e
&&
e
.
call
(
r
,
r
),
r
},
when
:
function
(
e
){
var
t
,
n
,
i
,
r
=
0
,
o
=
B
.
call
(
arguments
),
a
=
o
.
length
,
s
=
1
!==
a
||
e
&&
Z
.
isFunction
(
e
.
promise
)?
a
:
0
,
u
=
1
===
s
?
e
:
Z
.
Deferred
(),
l
=
function
(
e
,
n
,
i
){
return
function
(
r
){
n
[
e
]
=
this
,
i
[
e
]
=
arguments
.
length
>
1
?
B
.
call
(
arguments
):
r
,
i
===
t
?
u
.
notifyWith
(
n
,
i
):
--
s
||
u
.
resolveWith
(
n
,
i
)}};
if
(
a
>
1
)
for
(
t
=
new
Array
(
a
),
n
=
new
Array
(
a
),
i
=
new
Array
(
a
);
a
>
r
;
r
++
)
o
[
r
]
&&
Z
.
isFunction
(
o
[
r
].
promise
)?
o
[
r
].
promise
().
done
(
l
(
r
,
i
,
o
)).
fail
(
u
.
reject
).
progress
(
l
(
r
,
n
,
t
)):
--
s
;
return
s
||
u
.
resolveWith
(
i
,
o
),
u
.
promise
()}});
var
gt
;
Z
.
fn
.
ready
=
function
(
e
){
return
Z
.
ready
.
promise
().
done
(
e
),
this
},
Z
.
extend
({
isReady
:
!
1
,
readyWait
:
1
,
holdReady
:
function
(
e
){
e
?
Z
.
readyWait
++
:
Z
.
ready
(
!
0
)},
ready
:
function
(
e
){(
e
===!
0
?
--
Z
.
readyWait
:
Z
.
isReady
)
||
(
Z
.
isReady
=!
0
,
e
!==!
0
&&--
Z
.
readyWait
>
0
||
(
gt
.
resolveWith
(
Q
,[
Z
]),
Z
.
fn
.
triggerHandler
&&
(
Z
(
Q
).
triggerHandler
(
"
ready
"
),
Z
(
Q
).
off
(
"
ready
"
))))}}),
Z
.
ready
.
promise
=
function
(
t
){
return
gt
||
(
gt
=
Z
.
Deferred
(),
"
complete
"
===
Q
.
readyState
?
setTimeout
(
Z
.
ready
):(
Q
.
addEventListener
(
"
DOMContentLoaded
"
,
a
,
!
1
),
e
.
addEventListener
(
"
load
"
,
a
,
!
1
))),
gt
.
promise
(
t
)},
Z
.
ready
.
promise
();
var
vt
=
Z
.
access
=
function
(
e
,
t
,
n
,
i
,
r
,
o
,
a
){
var
s
=
0
,
u
=
e
.
length
,
l
=
null
==
n
;
if
(
"
object
"
===
Z
.
type
(
n
)){
r
=!
0
;
for
(
s
in
n
)
Z
.
access
(
e
,
t
,
s
,
n
[
s
],
!
0
,
o
,
a
)}
else
if
(
void
0
!==
i
&&
(
r
=!
0
,
Z
.
isFunction
(
i
)
||
(
a
=!
0
),
l
&&
(
a
?(
t
.
call
(
e
,
i
),
t
=
null
):(
l
=
t
,
t
=
function
(
e
,
t
,
n
){
return
l
.
call
(
Z
(
e
),
n
)})),
t
))
for
(;
u
>
s
;
s
++
)
t
(
e
[
s
],
n
,
a
?
i
:
i
.
call
(
e
[
s
],
s
,
t
(
e
[
s
],
n
)));
return
r
?
e
:
l
?
t
.
call
(
e
):
u
?
t
(
e
[
0
],
n
):
o
};
Z
.
acceptData
=
function
(
e
){
return
1
===
e
.
nodeType
||
9
===
e
.
nodeType
||!+
e
.
nodeType
},
s
.
uid
=
1
,
s
.
accepts
=
Z
.
acceptData
,
s
.
prototype
=
{
key
:
function
(
e
){
if
(
!
s
.
accepts
(
e
))
return
0
;
var
t
=
{},
n
=
e
[
this
.
expando
];
if
(
!
n
){
n
=
s
.
uid
++
;
try
{
t
[
this
.
expando
]
=
{
value
:
n
},
Object
.
defineProperties
(
e
,
t
)}
catch
(
i
){
t
[
this
.
expando
]
=
n
,
Z
.
extend
(
e
,
t
)}}
return
this
.
cache
[
n
]
||
(
this
.
cache
[
n
]
=
{}),
n
},
set
:
function
(
e
,
t
,
n
){
var
i
,
r
=
this
.
key
(
e
),
o
=
this
.
cache
[
r
];
if
(
"
string
"
==
typeof
t
)
o
[
t
]
=
n
;
else
if
(
Z
.
isEmptyObject
(
o
))
Z
.
extend
(
this
.
cache
[
r
],
t
);
else
for
(
i
in
t
)
o
[
i
]
=
t
[
i
];
return
o
},
get
:
function
(
e
,
t
){
var
n
=
this
.
cache
[
this
.
key
(
e
)];
return
void
0
===
t
?
n
:
n
[
t
]},
access
:
function
(
e
,
t
,
n
){
var
i
;
return
void
0
===
t
||
t
&&
"
string
"
==
typeof
t
&&
void
0
===
n
?(
i
=
this
.
get
(
e
,
t
),
void
0
!==
i
?
i
:
this
.
get
(
e
,
Z
.
camelCase
(
t
))):(
this
.
set
(
e
,
t
,
n
),
void
0
!==
n
?
n
:
t
)},
remove
:
function
(
e
,
t
){
var
n
,
i
,
r
,
o
=
this
.
key
(
e
),
a
=
this
.
cache
[
o
];
if
(
void
0
===
t
)
this
.
cache
[
o
]
=
{};
else
{
Z
.
isArray
(
t
)?
i
=
t
.
concat
(
t
.
map
(
Z
.
camelCase
)):(
r
=
Z
.
camelCase
(
t
),
t
in
a
?
i
=
[
t
,
r
]:(
i
=
r
,
i
=
i
in
a
?[
i
]:
i
.
match
(
pt
)
||
[])),
n
=
i
.
length
;
for
(;
n
--
;)
delete
a
[
i