bubcloud
Version:
A responsive theme for Forumotion
1,021 lines (848 loc) • 18.2 kB
text/less
@import "slices/variables.less";
@import (reference) "slices/mixins.less";
@import (less) "node_modules/hint.css/hint.css";
.transition() {
transition: all 200ms ease-in-out;
}
/* stylelint-disable selector-no-universal */
*,
*:after,
*:before {
box-sizing: border-box;
}
/* stylelint-enable selector-no-universal */
html {
height: 100%;
min-height: 100%;
margin: 0;
background: @secondaryColor;
}
body {
margin: 0;
line-height: @lineHeight;
font: @weightNormal @sizeBase/@lineHeight @fontBase;
color: @secondaryColor;
background: @wrapperColor;
&.chatbox {
.transition();
visibility: hidden;
overflow: hidden;
height: 100%;
margin: 0;
background: @secondaryBg;
opacity: 0;
&.active {
visibility: visible;
opacity: 1;
}
}
> p.center {
strong {
&:extend(.msg-row.alert > div);
.show();
margin: 0;
background: @error;
}
> a {
&:extend(.btn all);
display: block;
border-radius: 0;
text-align: center;
}
}
> .borderwrap {
.floated();
padding: 1em;
.maintitle {
.floated();
text-transform: uppercase;
color: @lightSecondaryColor;
h3 {
margin: 0;
padding: 1em 0;
font-weight: @weightLight;
line-height: 120%;
}
}
.box-content {
.floated();
.box();
.triangle-up(left, 20px, 10px);
> div:hover p.left a {
margin-left: 1em;
color: @progress;
}
.right a {
&:extend(.btn all);
margin-top: -6px;
}
}
}
}
.left {
float: left;
clear: left;
}
.right {
float: right;
clear: right;
}
.clearfix:after {
.show();
visibility: hidden;
height: 0;
clear: both;
font-size: 0;
content: " ";
}
a {
.transition();
outline: none;
text-decoration: none;
color: @primaryColor;
&:focus,
&:hover {
color: @darkPrimaryColor;
}
}
#chatbox_header {
position: absolute;
right: 0;
bottom: 0;
left: 0;
height: 40px;
padding: 0 5px;
line-height: 40px;
color: transparent;
background: @wrapperColor;
}
.chatbox-title {
float: left;
margin: 0;
}
#sound_control,
#fullscreen,
#chatbox_option_co,
#chatbox_option_disco,
#chatbox_option_with_archives a,
#chatbox_option_without_archives a,
.chat-title {
.show();
.radius();
width: 30px;
height: 30px;
float: left;
margin: 5px;
font-size: 0;
background: url("//i68.servimg.com/u/f68/19/38/83/61/chat6110.png") no-repeat center center @wrapperColor;
cursor: pointer;
&:focus,
&:hover {
background-color: @secondaryBg;
}
}
#chatbox_option_with_archives a {
background-image: url("//i68.servimg.com/u/f68/19/38/83/61/archiv10.png");
}
#chatbox_option_without_archives a {
background-image: url("//i68.servimg.com/u/f68/19/38/83/61/three110.png");
}
#chatbox_option_co {
background-image: url("//i68.servimg.com/u/f68/19/38/83/61/power110.png");
}
#chatbox_option_disco {
background-image: url("//i68.servimg.com/u/f68/19/38/83/61/out10.png");
}
#sound_control {
background-image: url("//i97.servimg.com/u/f97/19/51/54/34/volume12.png");
&.disable {
background-image: url("//i97.servimg.com/u/f97/19/51/54/34/volume11.png");
}
}
#fullscreen {
background-image: url("//i97.servimg.com/u/f97/19/51/54/34/expand10.png");
&.active {
background-image: url("//i97.servimg.com/u/f97/19/51/54/34/center10.png");
}
}
.chatbox-options {
&:extend(#chatbox_members > ul);
float: right;
font-size: 0;
li {
float: left;
}
}
#chatbox_members {
.transition();
position: absolute;
top: 40px;
bottom: 40px;
left: -200px;
z-index: 20;
overflow: auto;
width: 200px;
padding: 0 5px;
border-right: 1px solid @wrapperColor;
background: @secondaryBg;
transform: none;
> ul {
.noList();
margin: 0;
padding-left: 0;
}
}
.member-title {
.radius();
.centered();
margin: 5px 0;
padding: 5px;
text-transform: uppercase;
background: @primaryBg;
}
.away-users,
.online-users {
> li > span {
margin: 5px 0;
.show();
}
}
.chatbox-user-username {
cursor: pointer;
padding: 3px 0;
}
#chatbox {
.transition();
position: absolute;
top: 40px;
right: 0;
bottom: 40px;
left: 0;
overflow: auto;
padding: 0 5px;
background: @secondaryBg;
transform: none;
> p {
.hide();
}
}
#chatbox_footer {
position: absolute;
top: 0;
right: 0;
left: 0;
height: 40px ;
#help-button,
#submit_button,
.fontbutton {
.hide() !important;
}
.right {
float: none;
}
}
.msg-row {
position: relative;
margin: 1em 0;
&.alert {
> div {
width: auto;
margin: 1px -5px;
padding: 3px 12px;
font-size: 12px;
font-weight: bold;
text-align: center;
color: #fff;
}
.ban-act,
.other-act,
.unmod-act {
background: @error;
}
.disconnect-act,
.kick-act,
.timeout-act {
background: @warning;
}
.away-act,
.me-act {
background: @progress;
}
.connect-act,
.mod-act,
.unban-act {
background: @success;
}
.clear-act {
background: @info;
}
}
}
.msg-day {
margin-bottom: -1em;
border-top: 1px dashed @wrapperColor;
text-align: center;
color: @lightSecondaryColor;
span {
position: relative;
top: -.75em;
padding: .2em 1em;
font-size: 12px;
background: @secondaryBg;
}
}
.msg-wrap {
position: relative;
margin-left: 40px;
}
.msg-act {
position: relative;
max-width: 70%;
float: left;
clear: both;
margin: 1px 0 ;
padding: 6px 12px;
border-radius: 4px 1.3em 1.3em 4px;
white-space: pre-wrap;
word-break: break-word;
word-wrap: break-word;
background: @wrapperColor;
&:first-child {
border-top-left-radius: 1.3em;
}
&:last-child {
border-bottom-left-radius: 1.3em;
}
&:before {
.transition();
content: attr(data-time);
position: absolute;
top: 0;
right: -60px;
z-index: 10;
visibility: hidden;
padding: 2px 4px;
border-radius: 3px;
white-space: pre;
font-family: @fontCode;
font-size: 11px;
color: @lightSecondaryColor;
opacity: 0;
}
&:hover:before {
visibility: visible;
opacity: 1;
}
&.no-text {
padding: 0;
background: none ;
}
a {
font-weight: @weightBold;
&:focus,
&:hover {
text-decoration: underline;
}
}
embed,
iframe,
img {
max-width: 100%;
}
img {
vertical-align: middle;
}
font,
span {
font-size: @sizeBase ;
color: @secondaryColor ;
}
strong {
font-weight: @weightNormal;
}
strike,
u {
text-decoration: none;
}
i {
font-style: normal;
}
dd,
dl {
.inline();
margin: 0;
}
dt {
.hide();
}
code {
font-family: inherit;
}
}
.msg-avatar {
position: absolute;
top: 3px;
left: 0;
cursor: pointer;
&-circle {
.circle();
overflow: hidden;
width: 30px;
height: 30px;
}
&:before {
&:extend(.msg-act:before);
content: attr(data-name);
top: -16px;
right: auto;
left: 0;
}
&:after {
.border();
.circle();
content: "";
position: absolute;
right: 0;
bottom: 0;
width: 10px;
height: 10px;
background: @dividerColor;
}
&.online:after {
background: @success;
}
&.away:after {
background: @progress;
}
&.offline:after {
content: none;
}
&:hover:before {
&:extend(.msg-act:hover:before);
}
img {
width: 100%;
}
}
.msg-me {
.msg-avatar {
.hide();
}
.msg-wrap {
margin-right: 0;
margin-left: 0;
}
.msg-act {
float: right;
border-radius: 1.3em 4px 4px 1.3em;
background: @primaryColor;
&:first-child {
border-top-right-radius: 1.3em;
}
&:last-child {
border-bottom-right-radius: 1.3em;
}
&:before {
right: auto;
left: -60px;
}
a {
color: @wrapperColor;
&:hover {
color: @textPrimaryColor;
}
}
> span {
color: @textPrimaryColor ;
}
}
}
#message {
.input();
position: absolute;
top: 0;
right: 0;
left: 0;
width: 100% ;
height: 40px ;
margin: 0 ;
padding: 0 75px 0 1em;
font-weight: @weightNormal ;
font-style: normal ;
line-height: 40px;
text-decoration: none ;
color: @secondaryColor ;
background: @primaryBg;
&:focus {
background: @secondaryBg;
box-shadow: 0 2px 5px rgba(0,0,0,.26);
}
}
#chatbox_contextmenu {
.radius();
z-index: 30;
background: @secondaryBg;
}
.cb-menu-title {
margin: 0;
padding: 5px 8px;
border-bottom: 1px solid @wrapperColor;
}
.cb-menu-close {
.circle();
.centered();
.transition();
top: 5px ;
right: 8px ;
width: 20px;
height: 20px;
line-height: 17px;
color: @error ;
background: @secondaryBg;
&:focus,
&:hover {
color: @textPrimaryColor ;
background: @error;
}
}
.cb-menu-item {
margin: 0;
a {
.show();
margin: 5px 0;
padding: 4px 8px;
color: @lightSecondaryColor;
&:focus,
&:hover {
color: @darkSecondaryColor;
background: @wrapperColor;
}
}
}
.pun {
width: 100% ;
background: @primaryBg;
table {
tr {
&.main-head {
color: @textPrimaryColor;
background: @lightSecondaryColor;
}
&:nth-child(2n) {
background: @wrapperColor;
}
}
td,
th {
.border();
padding: 7px 10px;
}
}
}
#buzz_wrap {
right: 10px;
}
#emoji_list {
overflow: auto;
width: 246px;
height: 160px;
padding: 0 5px 0 0;
.emoji {
.radius();
box-sizing: content-box;
overflow: hidden;
width: 16px;
height: 16px;
padding: 6px;
text-indent: -99px;
cursor: pointer;
&:hover {
background: @wrapperColor;
}
}
}
@keyframes shake {
2% {
transform: translate(-1.5px, -1.5px) rotate(.5deg);
}
4% {
transform: translate(-1.5px, -.5px) rotate(1.5deg);
}
6% {
transform: translate(2.5px, .5px) rotate(1.5deg);
}
8% {
transform: translate(2.5px, 1.5px) rotate(.5deg);
}
10% {
transform: translate(1.5px, -.5px) rotate(.5deg);
}
12% {
transform: translate(1.5px, .5px) rotate(1.5deg);
}
14% {
transform: translate(1.5px, -1.5px) rotate(-.5deg);
}
16% {
transform: translate(-.5px, .5px) rotate(.5deg);
}
18% {
transform: translate(-.5px, -1.5px) rotate(1.5deg);
}
20% {
transform: translate(2.5px, 1.5px) rotate(1.5deg);
}
22% {
transform: translate(-1.5px, -.5px) rotate(1.5deg);
}
24% {
transform: translate(2.5px, -.5px) rotate(-.5deg);
}
26% {
transform: translate(-1.5px, .5px) rotate(.5deg);
}
28% {
transform: translate(2.5px, .5px) rotate(.5deg);
}
30% {
transform: translate(2.5px, 2.5px) rotate(1.5deg);
}
32% {
transform: translate(-1.5px, .5px) rotate(.5deg);
}
34% {
transform: translate(1.5px, 1.5px) rotate(-.5deg);
}
36% {
transform: translate(-1.5px, -.5px) rotate(.5deg);
}
38% {
transform: translate(1.5px, 1.5px) rotate(.5deg);
}
40% {
transform: translate(1.5px, 2.5px) rotate(.5deg);
}
42% {
transform: translate(1.5px, -.5px) rotate(-.5deg);
}
44% {
transform: translate(2.5px, -1.5px) rotate(-.5deg);
}
46% {
transform: translate(2.5px, .5px) rotate(-.5deg);
}
48% {
transform: translate(-.5px, .5px) rotate(-.5deg);
}
50% {
transform: translate(-.5px, 1.5px) rotate(.5deg);
}
52% {
transform: translate(1.5px, .5px) rotate(.5deg);
}
54% {
transform: translate(-1.5px, -.5px) rotate(.5deg);
}
56% {
transform: translate(.5px, 2.5px) rotate(1.5deg);
}
58% {
transform: translate(.5px, 1.5px) rotate(.5deg);
}
60% {
transform: translate(2.5px, .5px) rotate(1.5deg);
}
62% {
transform: translate(1.5px, 1.5px) rotate(1.5deg);
}
64% {
transform: translate(-.5px, -.5px) rotate(-.5deg);
}
66% {
transform: translate(-1.5px, .5px) rotate(-.5deg);
}
68% {
transform: translate(2.5px, -.5px) rotate(.5deg);
}
70% {
transform: translate(2.5px, 2.5px) rotate(.5deg);
}
72% {
transform: translate(-1.5px, 2.5px) rotate(1.5deg);
}
74% {
transform: translate(1.5px, -.5px) rotate(1.5deg);
}
76% {
transform: translate(-.5px, -.5px) rotate(1.5deg);
}
78% {
transform: translate(1.5px, 1.5px) rotate(-.5deg);
}
80% {
transform: translate(1.5px, -.5px) rotate(-.5deg);
}
82% {
transform: translate(-.5px, 2.5px) rotate(-.5deg);
}
84% {
transform: translate(.5px, -1.5px) rotate(-.5deg);
}
86% {
transform: translate(-.5px, .5px) rotate(-.5deg);
}
88% {
transform: translate(1.5px, 2.5px) rotate(-.5deg);
}
90% {
transform: translate(-1.5px, .5px) rotate(1.5deg);
}
92% {
transform: translate(2.5px, .5px) rotate(1.5deg);
}
94% {
transform: translate(-.5px, 1.5px) rotate(1.5deg);
}
96% {
transform: translate(-1.5px, -1.5px) rotate(.5deg);
}
98% {
transform: translate(2.5px, 2.5px) rotate(.5deg);
}
0%,
100% {
transform: translate(0, 0) rotate(0);
}
}
.chatbox-buzz {
animation: shake 120ms ease-in-out infinite;
}
#media {
position: absolute;
right: 0;
bottom: 40px;
left: 0;
height: 50%;
iframe {
width: 100%;
height: 100%;
}
}
.toggleUsersList {
.chat-title {
background-image: url("//i84.servimg.com/u/f84/19/38/83/61/users-10.png");
}
#chatbox,
#chatbox_members {
transform: translateX(200px);
}
}
.toggleMediaList {
.chat-title {
background-image: url("//i68.servimg.com/u/f68/19/38/83/61/delete10.png");
}
#chatbox,
#chatbox_members {
bottom: 50%;
margin-bottom: 40px;
}
}
#has_new_message {
.transition();
position: absolute;
top: 40px;
left: 50%;
visibility: hidden;
width: 140px;
height: 30px;
margin-left: -70px;
padding: 0 10px;
border-radius: 0 0 4px 4px;
font-size: 12px;
line-height: 30px;
color: #fff;
opacity: 0;
background: @darkSecondaryColor url("//i97.servimg.com/u/f97/19/51/54/34/level-10.png") 117px center no-repeat;
cursor: pointer;
&.active {
visibility: visible;
opacity: .7;
}
&:hover {
opacity: 1;
}
}
.cb-bubcloud-btn {
.transition();
filter:grayscale(70%);
}
.cb-bubcloud {
&-options {
position: absolute;
top: 10px;
right: 45px;
&-list {
.wrapper();
.triangle-up(right, 12px, 6px);
position: absolute;
top: 12px;
right: -9px;
z-index: 20;
visibility: hidden;
padding: 5px;
opacity: 0;
}
&.active,
&:hover {
.cb-bubcloud-btn {
transform: scale(1.4);
filter:none;
cursor: pointer;
}
}
&.disable .cb-bubcloud-btn {
opacity: .3;
filter:grayscale(100%) ;
transform: scale(1) ;
cursor: not-allowed;
}
}
}
.cb-bubcloud-media {
.show();
width: 160px;
height: 90px;
text-align: center;
background-repeat: no-repeat;
background-size: cover;
img {
.transition();
margin-top: 15px;
opacity: .7;
filter:grayscale(100%);
}
&:hover img {
opacity: 1;
filter:none;
}
}
.cb-bubcloud-image {
display: inline-block;
overflow: hidden;
max-width: 160px;
max-height: 160px;
vertical-align: middle;
}
#connectOverlay {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 10;
padding-top: 10%;
text-align: center;
color: @secondaryBg;
background: @info;
cursor: pointer;
}