_core.scss 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506
  1. @mixin fade-in {
  2. opacity: 0; /* make things invisible upon start */
  3. @include animation-name(fadein);
  4. @include animation-fill-mode(forwards);
  5. @include animation-duration(0.75s);
  6. @include animation-timing-function(ease);
  7. }
  8. body.reset {
  9. margin: 0;
  10. }
  11. @font-face {
  12. font-family: 'Converse-js';
  13. src: url($font-path + 'icomoon.eot?wvi0ht');
  14. src: url($font-path + 'icomoon.eot?wvi0ht#iefix') format('embedded-opentype'),
  15. url($font-path + 'icomoon.ttf?wvi0ht') format('truetype'),
  16. url($font-path + 'icomoon.woff?wvi0ht') format('woff'),
  17. url($font-path + 'icomoon.svg?wvi0ht#icomoon') format('svg');
  18. font-weight: normal;
  19. font-style: normal;
  20. }
  21. .icon-conversejs {
  22. padding-right: 0.2em;
  23. font-family: 'Converse-js';
  24. speak: none;
  25. font-style: normal;
  26. font-weight: normal;
  27. font-variant: normal;
  28. text-transform: none;
  29. line-height: 1;
  30. /* Better Font Rendering =========== */
  31. -webkit-font-smoothing: antialiased;
  32. -moz-osx-font-smoothing: grayscale;
  33. }
  34. .icon-conversejs:before {
  35. content: "\e600";
  36. }
  37. #conversejs {
  38. padding-left: env(safe-area-inset-left);
  39. padding-right: env(safe-area-inset-right);
  40. color: $text-color;
  41. font-family: "Helvetica", "Arial", sans-serif;
  42. font-size: $font-size;
  43. direction: ltr;
  44. display: block;
  45. z-index: 1031; // One more than bootstrap navbar
  46. .converse-chatboxes {
  47. z-index: 1031; // One more than bootstrap navbar
  48. position: fixed;
  49. bottom: 0;
  50. height: auto;
  51. right: 0;
  52. }
  53. ::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  54. color: $subdued-color;
  55. }
  56. ::-moz-placeholder { /* Firefox 19+ */
  57. color: $subdued-color;
  58. }
  59. :-ms-input-placeholder { /* IE 10+ */
  60. color: $subdued-color;
  61. }
  62. :-moz-placeholder { /* Firefox 18- */
  63. color: $subdued-color;
  64. }
  65. ::placeholder {
  66. color: $subdued-color;
  67. }
  68. .form-control {
  69. &::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  70. color: $subdued-color;
  71. }
  72. &::-moz-placeholder { /* Firefox 19+ */
  73. color: $subdued-color;
  74. }
  75. &:-ms-input-placeholder { /* IE 10+ */
  76. color: $subdued-color;
  77. }
  78. &:-moz-placeholder { /* Firefox 18- */
  79. color: $subdued-color;
  80. }
  81. &::placeholder {
  82. color: $subdued-color;
  83. }
  84. }
  85. ::selection {
  86. background-color: $highlight-color;
  87. }
  88. ::-moz-selection {
  89. background-color: $highlight-color;
  90. }
  91. @media screen and (max-width: $mobile-portrait-length) {
  92. margin: 0;
  93. right: 10px;
  94. left: 10px;
  95. bottom: 5px;
  96. }
  97. @media screen and (max-height: $mobile-landscape-height) {
  98. margin: 0;
  99. right: 10px;
  100. left: 10px;
  101. bottom: 5px;
  102. }
  103. ul li { height: auto; }
  104. div, span, h1, h2, h3, h4, h5, h6, p, blockquote,
  105. pre, a, em, img, strong, dl, dt, dd, ol, ul, li,
  106. fieldset, form, legend, table, caption, tbody,
  107. tfoot, thead, tr, th, td, article, aside, canvas, details,
  108. embed, figure, figcaption, footer, header, hgroup, menu,
  109. nav, output, ruby, section, summary, time, mark, audio, video {
  110. margin: 0;
  111. padding: 0;
  112. border: 0;
  113. font: inherit;
  114. vertical-align: baseline;
  115. }
  116. textarea,
  117. input[type=submit], input[type=button],
  118. input[type=text], input[type=password],
  119. button {
  120. font-size: $font-size;
  121. padding: 0.25em;
  122. min-height: 0;
  123. }
  124. strong {
  125. font-weight: 700;
  126. }
  127. ol, ul {
  128. list-style: none;
  129. }
  130. li {
  131. height: 10px;
  132. }
  133. ul, ol, dl {
  134. font: inherit;
  135. margin: 0;
  136. }
  137. a, a:visited, a:hover, a:not([href]):not([tabindex]) {
  138. text-decoration: none;
  139. color: $link-color;
  140. text-shadow: none;
  141. &.fa {
  142. color: $subdued-color;
  143. &:hover {
  144. color: $gray-color;
  145. }
  146. }
  147. }
  148. canvas {
  149. background: $text-color;
  150. border-radius: $chatbox-border-radius;
  151. }
  152. .fa {
  153. color: $subdued-color;
  154. }
  155. .fa:hover {
  156. color: $gray-color;
  157. }
  158. .modal {
  159. background-color: rgba(0, 0, 0, 0.4);
  160. }
  161. .selected {
  162. color: $link-color !important;
  163. }
  164. .circle {
  165. border-radius: 50%;
  166. }
  167. .sidebar {
  168. display: none;
  169. width: 50px;
  170. height: 100vh;
  171. padding: 1rem 0;
  172. background-color: $controlbox-head-color;
  173. color: white;
  174. text-align: center;
  175. .chatbox-btn {
  176. float: none;
  177. margin: 0;
  178. font-size: 1.35em;
  179. &.fa-vcard {
  180. margin-top: 1em;
  181. }
  182. }
  183. .bottom {
  184. position: absolute;
  185. bottom: 1em;
  186. }
  187. }
  188. .badge {
  189. line-height: 1;
  190. font-weight: normal;
  191. font-size: 90%;
  192. }
  193. .fa {
  194. font: normal normal normal 14px/1 ConverseFontAwesome;
  195. display: inline-block;
  196. font-size: inherit;
  197. text-rendering: auto;
  198. -webkit-font-smoothing: antialiased;
  199. -moz-osx-font-smoothing: grayscale;
  200. }
  201. .list-container {
  202. text-align: left;
  203. margin: 0.3em 0;
  204. }
  205. .btn.btn-primary {
  206. color: #fff;
  207. }
  208. .no-text-select {
  209. -webkit-touch-callout: none;
  210. @include user-select(none);
  211. }
  212. @keyframes colorchange-chatmessage {
  213. 0% {background-color: rgba(141, 216, 174, 1);}
  214. 25% {background-color: rgba(141, 216, 174, 0.75);}
  215. 50% {background-color: rgba(141, 216, 174, 0.5);}
  216. 75% {background-color: rgba(141, 216, 174, 0.25);}
  217. 100% {background-color: transparent;}
  218. }
  219. @-webkit-keyframes colorchange-chatmessage {
  220. 0% {background-color: rgba(141, 216, 174, 1);}
  221. 25% {background-color: rgba(141, 216, 174, 0.75);}
  222. 50% {background-color: rgba(141, 216, 174, 0.5);}
  223. 75% {background-color: rgba(141, 216, 174, 0.25);}
  224. 100% {background-color: transparent;}
  225. }
  226. @keyframes colorchange-chatmessage-muc {
  227. 0% {background-color: rgba(255, 181, 162, 1);}
  228. 25% {background-color: rgba(255, 181, 162, 0.75);}
  229. 50% {background-color: rgba(255, 181, 162, 0.5);}
  230. 75% {background-color: rgba(255, 181, 162, 0.25);}
  231. 100% {background-color: transparent;}
  232. }
  233. @-webkit-keyframes colorchange-chatmessage-muc {
  234. 0% {background-color: rgba(255, 181, 162, 1);}
  235. 25% {background-color: rgba(255, 181, 162, 0.75);}
  236. 50% {background-color: rgba(255, 181, 162, 0.5);}
  237. 75% {background-color: rgba(255, 181, 162, 0.25);}
  238. 100% {background-color: transparent;}
  239. }
  240. @keyframes fadein {
  241. 0% { opacity: 0 }
  242. 100% { opacity: 1 }
  243. }
  244. @-webkit-keyframes fadein {
  245. 0% { opacity: 0 }
  246. 100% { opacity: 1 }
  247. }
  248. .fade {
  249. opacity: 0;
  250. transition: opacity 0.20s linear;
  251. }
  252. .fade-in {
  253. @include fade-in;
  254. }
  255. .visible {
  256. opacity:0; /* make things invisible upon start */
  257. @include animation-name(fadein);
  258. @include animation-fill-mode(forwards);
  259. @include animation-duration(500ms);
  260. @include animation-timing-function(ease);
  261. }
  262. .hidden {
  263. opacity: 0 !important;
  264. display: none !important;
  265. }
  266. .collapsed {
  267. height: 0 !important;
  268. overflow: hidden !important;
  269. padding: 0 !important;
  270. }
  271. .locked {
  272. padding-right: 22px;
  273. }
  274. @include keyframes(spin) {
  275. from {
  276. @include transform(rotate(0deg));
  277. }
  278. to {
  279. @include transform(rotate(359deg));
  280. }
  281. }
  282. .spinner {
  283. @include animation(spin 2s infinite, linear);
  284. display: block;
  285. text-align: center;
  286. margin: 2em;
  287. font-size: 24px;
  288. }
  289. .left {
  290. float: left;
  291. }
  292. .right {
  293. float: right;
  294. }
  295. .centered {
  296. text-align: center;
  297. display: block;
  298. margin: auto;
  299. }
  300. .hor_centered {
  301. text-align: center;
  302. display: block;
  303. margin: 0 auto;
  304. clear: both;
  305. }
  306. .error {
  307. color: $error-color;
  308. }
  309. .info {
  310. color: $info-color;
  311. }
  312. .reg-feedback {
  313. font-size: 85%;
  314. margin-bottom: 1em;
  315. }
  316. .reg-feedback,
  317. #converse-login .conn-feedback {
  318. display: block;
  319. text-align: center;
  320. width: 100%;
  321. }
  322. .avatar {
  323. border-radius: 25%;
  324. }
  325. .activated {
  326. display: block !important;
  327. }
  328. .button-primary {
  329. color: white;
  330. background-color: $primary-color;
  331. }
  332. .button-secondary {
  333. color: white;
  334. background-color: $secondary-color;
  335. }
  336. .button-cancel {
  337. color: white;
  338. background-color: $text-color;
  339. }
  340. form {
  341. .clear-input {
  342. position: absolute;
  343. right: 0.2em;
  344. cursor: pointer;
  345. font-size: 0.75rem;
  346. }
  347. &.converse-form {
  348. background: white;
  349. padding: 1em;
  350. legend {
  351. color: $text-color;
  352. font-size: 125%;
  353. margin-bottom: 1.5em;
  354. }
  355. input[type=checkbox] {
  356. display: block;
  357. }
  358. select,
  359. input[type=password],
  360. input[type=number],
  361. input[type=text] {
  362. min-width: 50%;
  363. }
  364. input[type=text],
  365. input[type=password],
  366. input[type=number],
  367. input[type=button],
  368. input[type=submit] {
  369. padding: 0.5em;
  370. }
  371. input[type=button],
  372. input[type=submit] {
  373. padding-left: 1em;
  374. padding-right: 1em;
  375. margin: 0.5em 0;
  376. border: none;
  377. }
  378. input.error {
  379. border: 1px solid $error-color;
  380. color: $text-color;
  381. }
  382. .text-muted {
  383. color: $subdued-color !important;
  384. font-size: 85%;
  385. padding-top: 0.5em;
  386. a {
  387. color: lighten($link-color, 10%);
  388. }
  389. &.error {
  390. color: $error-color;
  391. }
  392. }
  393. }
  394. &.converse-centered-form {
  395. text-align: center;
  396. width: 100%;
  397. }
  398. }
  399. .chat-textarea-chatbox-selected {
  400. border: 1px solid #578308;
  401. margin: 0;
  402. }
  403. .chat-textarea-chatroom-selected {
  404. border: 2px solid $link-color;
  405. margin: 0;
  406. }
  407. }
  408. @media screen and (max-width: 575px) {
  409. body {
  410. .brand-heading {
  411. font-size: 3.75em;
  412. }
  413. }
  414. #conversejs {
  415. .chatbox {
  416. .chat-body {
  417. border-radius: $chatbox-border-radius;
  418. }
  419. }
  420. .flyout {
  421. border-radius: $chatbox-border-radius;
  422. }
  423. }
  424. }
  425. @media screen and (min-width: 576px) {
  426. #conversejs .offset-sm-2 {
  427. margin-left: 16.666667%;
  428. }
  429. }
  430. @media screen and (min-width: 768px) {
  431. #conversejs .offset-md-2 {
  432. margin-left: 16.666667%;
  433. }
  434. #conversejs .offset-md-3 {
  435. margin-left: 25%;
  436. }
  437. }
  438. @media screen and (min-width: 992px) {
  439. #conversejs .offset-lg-2 {
  440. margin-left: 16.666667%;
  441. }
  442. #conversejs .offset-lg-3 {
  443. margin-left: 25%;
  444. }
  445. }
  446. @media screen and (min-width: 1200px) {
  447. #conversejs .offset-xl-2 {
  448. margin-left: 16.666667%;
  449. }
  450. }
  451. @media screen and (max-height: 450px) {
  452. #conversejs {
  453. left: 0;
  454. }
  455. }