// ==UserScript==
// @name 文档词典统计工具
// @namespace [email protected]
// @version 0.4.1
// @description 将文档整理成词典,并展示。
// @author [email protected]
// @match *://*.*/*
// @match *://*.*.*/*
// @match *://*/*
// @exclude *://*.12gm.com/*
// @exclude *://*.deepseek.com/*
// @exclude *://*.chatgpt.com/*
// @license AGPL License
// @grant GM_download
// @grant GM_openInTab
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_deleteValue
// @grant GM_xmlhttpRequest
// @grant GM_addStyle
// @grant unsafeWindow
// @grant GM_setClipboard
// @grant GM_getResourceURL
// @grant GM_getResourceText
// @grant GM_info
// @grant GM_registerMenuCommand
// @grant GM_cookie
// @require https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js
// ==/UserScript==
(function () {
'use strict';
const base_remote_url = "https://api.12gm.com/";
const module_name = 'dictionary';
const local_tokenname = 'doc_dict_username';
let new_words = [];
let filterwords = [];
const cssUrls = [];
const jsUrls = [];
function init() {
const up_html = getInitHtml();
let wcountPanel = document.querySelector('.wcount-panel');
if (!wcountPanel) {
wcountPanel = createWcountPanel();
}
let shadowHost = wcountPanel.querySelector('#shadow-host');
if (!shadowHost) {
shadowHost = document.createElement('div');
shadowHost.id = 'wcount-shadow-host';
wcountPanel.appendChild(shadowHost);
}
if (!shadowHost.shadowRoot) {
shadowHost.attachShadow({ mode: 'open' });
}
shadowHost.shadowRoot.innerHTML = up_html;
const shadowRoot = shadowHost.shadowRoot;
$(shadowRoot).ready(function () {
$(shadowRoot).find('.button-27').click(function () {
setWordsToTextarea(shadowRoot);
$(shadowRoot).find('#wp').toggle();
});
const { precent, words, unread_words } = getUserWordsCount(``,shadowRoot);
setWordsToTextarea(shadowRoot);
// $(shadowRoot).find('#sortedBtn').click(function () {
// displaySortedWords(shadowRoot);
// });
// $(shadowRoot).find('#categorizedBtn').click(function () {
// displayCategorizedWords(shadowRoot);
// });
});
}
function createWcountPanel() {
const wcountPanel = document.createElement('div');
wcountPanel.classList.add('wcount-panel');
wcountPanel.style.display = 'block';
wcountPanel.style.width = '0px';
wcountPanel.style.height = '0px';
wcountPanel.style.margin = '0px';
wcountPanel.style.padding = '0px';
wcountPanel.style.borderWidth = 'initial';
wcountPanel.style.borderStyle = 'none';
wcountPanel.style.borderColor = 'initial';
wcountPanel.style.borderImage = 'initial';
wcountPanel.style.outline = 'none';
document.body.appendChild(wcountPanel);
return wcountPanel;
}
function displaySortedWords(shadowRoot) {
let tableBody = $(shadowRoot).find('#words_table tbody');
tableBody.empty(); // Clear the table body
new_words.sort(); // Sort words in ascending order
const maxColumns = 20;
let columns = []; // Array to hold multiple columns (each with a max of 20 words)
// Split the words into groups of max 20 words per column
for (let i = 0; i < new_words.length; i += maxColumns) {
columns.push(new_words.slice(i, i + maxColumns));
}
// Create the table rows with words grouped in columns
const numRows = columns[0].length; // Number of rows in the first column (they should all have the same number of rows)
// Loop through the rows
for (let rowIndex = 0; rowIndex < numRows; rowIndex++) {
let rowHtml = '<tr>'; // Start a new row
// Loop through each column
columns.forEach(function (column) {
// Add word for this row in each column
rowHtml += `<td>${column[rowIndex] || ''}</td>`;
});
rowHtml += '</tr>'; // End the row
tableBody.append(rowHtml); // Add the row to the table
}
}
function displayCategorizedWords(shadowRoot) {
let tableBody = $(shadowRoot).find('#words_table tbody');
tableBody.empty(); // Clear the table body
let categorized = {};
// Group words by their first letter
new_words.forEach(function (word) {
let firstLetter = word.charAt(0).toUpperCase();
if (!categorized[firstLetter]) {
categorized[firstLetter] = [];
}
categorized[firstLetter].push(word);
});
// Split each category into multiple columns if the count exceeds 30
let maxColumnWords = 30;
let columns = {}; // Store columns for each category
Object.keys(categorized).forEach(function (letter) {
let words = categorized[letter];
// Create columns for categories with more than maxColumnWords
let columnsForLetter = [];
for (let i = 0; i < words.length; i += maxColumnWords) {
columnsForLetter.push(words.slice(i, i + maxColumnWords));
}
columns[letter] = columnsForLetter; // Store the columns for the letter
});
// Generate table headers (one per column)
let headerRowHtml = '<tr>';
Object.keys(columns).forEach(function (letter) {
headerRowHtml += `<th>${letter}</th>`;
});
headerRowHtml += '</tr>';
tableBody.append(headerRowHtml); // Add headers to the table
// Determine the maximum number of rows based on the number of columns in any category
let maxRows = 0;
Object.keys(columns).forEach(function (letter) {
maxRows = Math.max(maxRows, columns[letter].length);
});
// Create rows, filling in columns for each letter
for (let rowIndex = 0; rowIndex < maxRows; rowIndex++) {
let rowHtml = '<tr>'; // Start a new row
Object.keys(columns).forEach(function (letter) {
// If the column has a word for this row, add it; otherwise, add an empty cell
rowHtml += `<td>${columns[letter][rowIndex] ? columns[letter][rowIndex].join('<br>') : ''}</td>`;
});
rowHtml += '</tr>'; // End the row
tableBody.append(rowHtml); // Add the row to the table
}
}
function setWordsToTextarea(shadowRoot) {
let wordsText = new_words.join('\n');
$(shadowRoot).find('#words_textarea').val(wordsText);
}
function getUserWordsCount(readwords = "",shadowRoot) {
readwords = readwords.split(',');
const words = getDocumentWords();
const unread_words = words.filter(item => !readwords.includes(item));
const precent = ((unread_words.length / words.length) * 100).toFixed(2);
let shadowRootDoc = shadowRoot || document.querySelector('#wcount-shadow-host').shadowRoot;
$(shadowRootDoc).find('#sw').text(words.length);
return { precent, words, unread_words };
}
function getDocumentWords() {
let words = [...(
new Set(
document.documentElement.textContent.split(/[^a-zA-Z]/)
.join(" ").split(/(?<=[a-z])\B(?=[A-Z])/)
.join(" ").split(/\s+/)
)
)];
const isNotWord = /^[a-z]+[A-Z]$/;
for (let word of words) {
if (isNotWord.test(word) || word.length < 3) {
if (!filterwords.includes(word)) {
filterwords.push(word);
}
} else {
if (!new_words.includes(word)) {
new_words.push(word);
}
}
}
return new_words;
}
function splitHtml(html) {
return html.replaceAll(/<.+?>/g, '');
}
function getInitHtml() {
const styleContent = getStyleContent()
let html = `
<style>${styleContent}</style>
<div>
<div class="fixed-bottom-right">
<button class="button-27" >Words : <span id="sw">-</span></button>
<button class="button-85">Unread : <span id="ur">-</span></button>
</div>
<div class="fixed-bottom-right bottom_h60 wp-gd" id="wp" style="display: none;">
<fieldset class="pure-group">
<textarea class="pure-input-2-3 mh600" id="words_textarea" placeholder="Textareas work too"></textarea>
</fieldset>
<div style="display: none;">
<div class="p10">
<button class="button-6" id="sortedBtn">Sorted in order</button>
<button class="button-6" id="categorizedBtn">Categorized by letters</button>
</div>
<table class="pure-table" id="words_table">
<thead>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
<div class="tip" style="background-color: #8b1a02;" id="wtnbbcount" style="display: none;">
<div class="tip-trangle-bottom"></div>
单词添加成功提示:<br/>
<span></span>
</div>
<div class="add_worddivbutton" style="display: none;">
<span class="badge_chat-number"></span>
<a href="javascript:void(0)" data-click="put_group" class="aw pure-button pure-button-primary">
<span>提交本页<br><font class='ac'>-</font><br>个词</span>
</a>
<input type="button" class="tds_app_lb tds_f pure-button" data-click="check_local_user" value="打开菜单">
</div>
<div class="tds_app_l" style="display: none;">
<form class="pure-form pure-form-stacked">
<fieldset>
<legend>A Stacked Form</legend>
<label for="stacked-email">Email</label>
<input id="stacked-email" type="email" placeholder="Email" />
<span class="pure-form-message">This is a required field.</span>
<label for="stacked-password">Password</label>
<input id="stacked-password" type="password" placeholder="Password" />
<label for="stacked-state">State</label>
<select id="stacked-state">
<option>AL</option>
<option>CA</option>
<option>IL</option>
</select>
<label for="stacked-remember" class="pure-checkbox">
<input id="stacked-remember" type="checkbox" /> Remember me
</label>
<button type="submit" class="pure-button pure-button-primary">Sign in</button>
</fieldset>
</form>
</div>
`
return html
}
function getStyleContent() {
return `
html {
line-height: 1.15;
-webkit-text-size-adjust: 100%
}
body {
margin: 0
}
main {
display: block
}
h1 {
font-size: 2em;
margin: .67em 0
}
hr {
box-sizing: content-box;
height: 0;
overflow: visible
}
pre {
font-family: monospace, monospace;
font-size: 1em
}
a {
background-color: transparent
}
abbr[title] {
border-bottom: none;
text-decoration: underline;
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted
}
b,
strong {
font-weight: bolder
}
code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em
}
small {
font-size: 80%
}
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline
}
sub {
bottom: -.25em
}
sup {
top: -.5em
}
img {
border-style: none
}
button,
input,
optgroup,
select,
textarea {
font-family: inherit;
font-size: 100%;
line-height: 1.15;
margin: 0
}
button,
input {
overflow: visible
}
button,
select {
text-transform: none
}
[type=button],
[type=reset],
[type=submit],
button {
-webkit-appearance: button
}
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
border-style: none;
padding: 0
}
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
outline: 1px dotted ButtonText
}
fieldset {
padding: .35em .75em .625em
}
legend {
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal
}
progress {
vertical-align: baseline
}
textarea {
overflow: auto
}
[type=checkbox],
[type=radio] {
box-sizing: border-box;
padding: 0
}
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
height: auto
}
[type=search] {
-webkit-appearance: textfield;
outline-offset: -2px
}
[type=search]::-webkit-search-decoration {
-webkit-appearance: none
}
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit
}
details {
display: block
}
summary {
display: list-item
}
template {
display: none
}
[hidden] {
display: none
}
html {
font-family: sans-serif
}
.hidden,
[hidden] {
display: none !important
}
.pure-img {
max-width: 100%;
height: auto;
display: block
}
.pure-g {
display: flex;
flex-flow: row wrap;
align-content: flex-start
}
.pure-u {
display: inline-block;
vertical-align: top
}
.pure-u-1,
.pure-u-1-1,
.pure-u-1-12,
.pure-u-1-2,
.pure-u-1-24,
.pure-u-1-3,
.pure-u-1-4,
.pure-u-1-5,
.pure-u-1-6,
.pure-u-1-8,
.pure-u-10-24,
.pure-u-11-12,
.pure-u-11-24,
.pure-u-12-24,
.pure-u-13-24,
.pure-u-14-24,
.pure-u-15-24,
.pure-u-16-24,
.pure-u-17-24,
.pure-u-18-24,
.pure-u-19-24,
.pure-u-2-24,
.pure-u-2-3,
.pure-u-2-5,
.pure-u-20-24,
.pure-u-21-24,
.pure-u-22-24,
.pure-u-23-24,
.pure-u-24-24,
.pure-u-3-24,
.pure-u-3-4,
.pure-u-3-5,
.pure-u-3-8,
.pure-u-4-24,
.pure-u-4-5,
.pure-u-5-12,
.pure-u-5-24,
.pure-u-5-5,
.pure-u-5-6,
.pure-u-5-8,
.pure-u-6-24,
.pure-u-7-12,
.pure-u-7-24,
.pure-u-7-8,
.pure-u-8-24,
.pure-u-9-24 {
display: inline-block;
letter-spacing: normal;
word-spacing: normal;
vertical-align: top;
text-rendering: auto
}
.pure-u-1-24 {
width: 4.1667%
}
.pure-u-1-12,
.pure-u-2-24 {
width: 8.3333%
}
.pure-u-1-8,
.pure-u-3-24 {
width: 12.5%
}
.pure-u-1-6,
.pure-u-4-24 {
width: 16.6667%
}
.pure-u-1-5 {
width: 20%
}
.pure-u-5-24 {
width: 20.8333%
}
.pure-u-1-4,
.pure-u-6-24 {
width: 25%
}
.pure-u-7-24 {
width: 29.1667%
}
.pure-u-1-3,
.pure-u-8-24 {
width: 33.3333%
}
.pure-u-3-8,
.pure-u-9-24 {
width: 37.5%
}
.pure-u-2-5 {
width: 40%
}
.pure-u-10-24,
.pure-u-5-12 {
width: 41.6667%
}
.pure-u-11-24 {
width: 45.8333%
}
.pure-u-1-2,
.pure-u-12-24 {
width: 50%
}
.pure-u-13-24 {
width: 54.1667%
}
.pure-u-14-24,
.pure-u-7-12 {
width: 58.3333%
}
.pure-u-3-5 {
width: 60%
}
.pure-u-15-24,
.pure-u-5-8 {
width: 62.5%
}
.pure-u-16-24,
.pure-u-2-3 {
width: 66.6667%
}
.pure-u-17-24 {
width: 70.8333%
}
.pure-u-18-24,
.pure-u-3-4 {
width: 75%
}
.pure-u-19-24 {
width: 79.1667%
}
.pure-u-4-5 {
width: 80%
}
.pure-u-20-24,
.pure-u-5-6 {
width: 83.3333%
}
.pure-u-21-24,
.pure-u-7-8 {
width: 87.5%
}
.pure-u-11-12,
.pure-u-22-24 {
width: 91.6667%
}
.pure-u-23-24 {
width: 95.8333%
}
.pure-u-1,
.pure-u-1-1,
.pure-u-24-24,
.pure-u-5-5 {
width: 100%
}
.pure-button {
display: inline-block;
line-height: normal;
white-space: nowrap;
vertical-align: middle;
text-align: center;
cursor: pointer;
-webkit-user-drag: none;
-webkit-user-select: none;
user-select: none;
box-sizing: border-box
}
.pure-button::-moz-focus-inner {
padding: 0;
border: 0
}
.pure-button-group {
letter-spacing: -.31em;
text-rendering: optimizespeed
}
.opera-only :-o-prefocus,
.pure-button-group {
word-spacing: -0.43em
}
.pure-button-group .pure-button {
letter-spacing: normal;
word-spacing: normal;
vertical-align: top;
text-rendering: auto
}
.pure-button {
font-family: inherit;
font-size: 100%;
padding: .5em 1em;
color: rgba(0, 0, 0, .8);
border: none transparent;
background-color: #e6e6e6;
text-decoration: none;
border-radius: 2px
}
.pure-button-hover,
.pure-button:focus,
.pure-button:hover {
background-image: linear-gradient(transparent, rgba(0, 0, 0, .05) 40%, rgba(0, 0, 0, .1))
}
.pure-button:focus {
outline: 0
}
.pure-button-active,
.pure-button:active {
box-shadow: 0 0 0 1px rgba(0, 0, 0, .15) inset, 0 0 6px rgba(0, 0, 0, .2) inset;
border-color: #000
}
.pure-button-disabled,
.pure-button-disabled:active,
.pure-button-disabled:focus,
.pure-button-disabled:hover,
.pure-button[disabled] {
border: none;
background-image: none;
opacity: .4;
cursor: not-allowed;
box-shadow: none;
pointer-events: none
}
.pure-button-hidden {
display: none
}
.pure-button-primary,
.pure-button-selected,
a.pure-button-primary,
a.pure-button-selected {
background-color: #0078e7;
color: #fff
}
.pure-button-group .pure-button {
margin: 0;
border-radius: 0;
border-right: 1px solid rgba(0, 0, 0, .2)
}
.pure-button-group .pure-button:first-child {
border-top-left-radius: 2px;
border-bottom-left-radius: 2px
}
.pure-button-group .pure-button:last-child {
border-top-right-radius: 2px;
border-bottom-right-radius: 2px;
border-right: none
}
.pure-form input[type=color],
.pure-form input[type=date],
.pure-form input[type=datetime-local],
.pure-form input[type=datetime],
.pure-form input[type=email],
.pure-form input[type=month],
.pure-form input[type=number],
.pure-form input[type=password],
.pure-form input[type=search],
.pure-form input[type=tel],
.pure-form input[type=text],
.pure-form input[type=time],
.pure-form input[type=url],
.pure-form input[type=week],
.pure-form select,
.pure-form textarea {
padding: .5em .6em;
display: inline-block;
border: 1px solid #ccc;
box-shadow: inset 0 1px 3px #ddd;
border-radius: 4px;
vertical-align: middle;
box-sizing: border-box
}
.pure-form input:not([type]) {
padding: .5em .6em;
display: inline-block;
border: 1px solid #ccc;
box-shadow: inset 0 1px 3px #ddd;
border-radius: 4px;
box-sizing: border-box
}
.pure-form input[type=color] {
padding: .2em .5em
}
.pure-form input[type=color]:focus,
.pure-form input[type=date]:focus,
.pure-form input[type=datetime-local]:focus,
.pure-form input[type=datetime]:focus,
.pure-form input[type=email]:focus,
.pure-form input[type=month]:focus,
.pure-form input[type=number]:focus,
.pure-form input[type=password]:focus,
.pure-form input[type=search]:focus,
.pure-form input[type=tel]:focus,
.pure-form input[type=text]:focus,
.pure-form input[type=time]:focus,
.pure-form input[type=url]:focus,
.pure-form input[type=week]:focus,
.pure-form select:focus,
.pure-form textarea:focus {
outline: 0;
border-color: #129fea
}
.pure-form input:not([type]):focus {
outline: 0;
border-color: #129fea
}
.pure-form input[type=checkbox]:focus,
.pure-form input[type=file]:focus,
.pure-form input[type=radio]:focus {
outline: thin solid #129FEA;
outline: 1px auto #129FEA
}
.pure-form .pure-checkbox,
.pure-form .pure-radio {
margin: .5em 0;
display: block
}
.pure-form input[type=color][disabled],
.pure-form input[type=date][disabled],
.pure-form input[type=datetime-local][disabled],
.pure-form input[type=datetime][disabled],
.pure-form input[type=email][disabled],
.pure-form input[type=month][disabled],
.pure-form input[type=number][disabled],
.pure-form input[type=password][disabled],
.pure-form input[type=search][disabled],
.pure-form input[type=tel][disabled],
.pure-form input[type=text][disabled],
.pure-form input[type=time][disabled],
.pure-form input[type=url][disabled],
.pure-form input[type=week][disabled],
.pure-form select[disabled],
.pure-form textarea[disabled] {
cursor: not-allowed;
background-color: #eaeded;
color: #cad2d3
}
.pure-form input:not([type])[disabled] {
cursor: not-allowed;
background-color: #eaeded;
color: #cad2d3
}
.pure-form input[readonly],
.pure-form select[readonly],
.pure-form textarea[readonly] {
background-color: #eee;
color: #777;
border-color: #ccc
}
.pure-form input:focus:invalid,
.pure-form select:focus:invalid,
.pure-form textarea:focus:invalid {
color: #b94a48;
border-color: #e9322d
}
.pure-form input[type=checkbox]:focus:invalid:focus,
.pure-form input[type=file]:focus:invalid:focus,
.pure-form input[type=radio]:focus:invalid:focus {
outline-color: #e9322d
}
.pure-form select {
height: 2.25em;
border: 1px solid #ccc;
background-color: #fff
}
.pure-form select[multiple] {
height: auto
}
.pure-form label {
margin: .5em 0 .2em
}
.pure-form fieldset {
margin: 0;
padding: .35em 0 .75em;
border: 0
}
.pure-form legend {
display: block;
width: 100%;
padding: .3em 0;
margin-bottom: .3em;
color: #333;
border-bottom: 1px solid #e5e5e5
}
.pure-form-stacked input[type=color],
.pure-form-stacked input[type=date],
.pure-form-stacked input[type=datetime-local],
.pure-form-stacked input[type=datetime],
.pure-form-stacked input[type=email],
.pure-form-stacked input[type=file],
.pure-form-stacked input[type=month],
.pure-form-stacked input[type=number],
.pure-form-stacked input[type=password],
.pure-form-stacked input[type=search],
.pure-form-stacked input[type=tel],
.pure-form-stacked input[type=text],
.pure-form-stacked input[type=time],
.pure-form-stacked input[type=url],
.pure-form-stacked input[type=week],
.pure-form-stacked label,
.pure-form-stacked select,
.pure-form-stacked textarea {
display: block;
margin: .25em 0
}
.pure-form-stacked input:not([type]) {
display: block;
margin: .25em 0
}
.pure-form-aligned input,
.pure-form-aligned select,
.pure-form-aligned textarea,
.pure-form-message-inline {
display: inline-block;
vertical-align: middle
}
.pure-form-aligned textarea {
vertical-align: top
}
.pure-form-aligned .pure-control-group {
margin-bottom: .5em
}
.pure-form-aligned .pure-control-group label {
text-align: right;
display: inline-block;
vertical-align: middle;
width: 10em;
margin: 0 1em 0 0
}
.pure-form-aligned .pure-controls {
margin: 1.5em 0 0 11em
}
.pure-form .pure-input-rounded,
.pure-form input.pure-input-rounded {
border-radius: 2em;
padding: .5em 1em
}
.pure-form .pure-group fieldset {
margin-bottom: 10px
}
.pure-form .pure-group input,
.pure-form .pure-group textarea {
display: block;
padding: 10px;
margin: 0 0 -1px;
border-radius: 0;
position: relative;
top: -1px
}
.pure-form .pure-group input:focus,
.pure-form .pure-group textarea:focus {
z-index: 3
}
.pure-form .pure-group input:first-child,
.pure-form .pure-group textarea:first-child {
top: 1px;
border-radius: 4px 4px 0 0;
margin: 0
}
.pure-form .pure-group input:first-child:last-child,
.pure-form .pure-group textarea:first-child:last-child {
top: 1px;
border-radius: 4px;
margin: 0
}
.pure-form .pure-group input:last-child,
.pure-form .pure-group textarea:last-child {
top: -2px;
border-radius: 0 0 4px 4px;
margin: 0
}
.pure-form .pure-group button {
margin: .35em 0
}
.pure-form .pure-input-1 {
width: 100%
}
.pure-form .pure-input-3-4 {
width: 75%
}
.pure-form .pure-input-2-3 {
width: 66%
}
.pure-form .pure-input-1-2 {
width: 50%
}
.pure-form .pure-input-1-3 {
width: 33%
}
.pure-form .pure-input-1-4 {
width: 25%
}
.pure-form-message-inline {
display: inline-block;
padding-left: .3em;
color: #666;
vertical-align: middle;
font-size: .875em
}
.pure-form-message {
display: block;
color: #666;
font-size: .875em
}
@media only screen and (max-width :480px) {
.pure-form button[type=submit] {
margin: .7em 0 0
}
.pure-form input:not([type]),
.pure-form input[type=color],
.pure-form input[type=date],
.pure-form input[type=datetime-local],
.pure-form input[type=datetime],
.pure-form input[type=email],
.pure-form input[type=month],
.pure-form input[type=number],
.pure-form input[type=password],
.pure-form input[type=search],
.pure-form input[type=tel],
.pure-form input[type=text],
.pure-form input[type=time],
.pure-form input[type=url],
.pure-form input[type=week],
.pure-form label {
margin-bottom: .3em;
display: block
}
.pure-group input:not([type]),
.pure-group input[type=color],
.pure-group input[type=date],
.pure-group input[type=datetime-local],
.pure-group input[type=datetime],
.pure-group input[type=email],
.pure-group input[type=month],
.pure-group input[type=number],
.pure-group input[type=password],
.pure-group input[type=search],
.pure-group input[type=tel],
.pure-group input[type=text],
.pure-group input[type=time],
.pure-group input[type=url],
.pure-group input[type=week] {
margin-bottom: 0
}
.pure-form-aligned .pure-control-group label {
margin-bottom: .3em;
text-align: left;
display: block;
width: 100%
}
.pure-form-aligned .pure-controls {
margin: 1.5em 0 0 0
}
.pure-form-message,
.pure-form-message-inline {
display: block;
font-size: .75em;
padding: .2em 0 .8em
}
}
.pure-menu {
box-sizing: border-box
}
.pure-menu-fixed {
position: fixed;
left: 0;
top: 0;
z-index: 3
}
.pure-menu-item,
.pure-menu-list {
position: relative
}
.pure-menu-list {
list-style: none;
margin: 0;
padding: 0
}
.pure-menu-item {
padding: 0;
margin: 0;
height: 100%
}
.pure-menu-heading,
.pure-menu-link {
display: block;
text-decoration: none;
white-space: nowrap
}
.pure-menu-horizontal {
width: 100%;
white-space: nowrap
}
.pure-menu-horizontal .pure-menu-list {
display: inline-block
}
.pure-menu-horizontal .pure-menu-heading,
.pure-menu-horizontal .pure-menu-item,
.pure-menu-horizontal .pure-menu-separator {
display: inline-block;
vertical-align: middle
}
.pure-menu-item .pure-menu-item {
display: block
}
.pure-menu-children {
display: none;
position: absolute;
left: 100%;
top: 0;
margin: 0;
padding: 0;
z-index: 3
}
.pure-menu-horizontal .pure-menu-children {
left: 0;
top: auto;
width: inherit
}
.pure-menu-active>.pure-menu-children,
.pure-menu-allow-hover:hover>.pure-menu-children {
display: block;
position: absolute
}
.pure-menu-has-children>.pure-menu-link:after {
padding-left: .5em;
content: "\\25B8";
font-size: small
}
.pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after {
content: "\\25BE"
}
.pure-menu-scrollable {
overflow-y: scroll;
overflow-x: hidden
}
.pure-menu-scrollable .pure-menu-list {
display: block
}
.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list {
display: inline-block
}
.pure-menu-horizontal.pure-menu-scrollable {
white-space: nowrap;
overflow-y: hidden;
overflow-x: auto;
padding: .5em 0
}
.pure-menu-horizontal .pure-menu-children .pure-menu-separator,
.pure-menu-separator {
background-color: #ccc;
height: 1px;
margin: .3em 0
}
.pure-menu-horizontal .pure-menu-separator {
width: 1px;
height: 1.3em;
margin: 0 .3em
}
.pure-menu-horizontal .pure-menu-children .pure-menu-separator {
display: block;
width: auto
}
.pure-menu-heading {
text-transform: uppercase;
color: #565d64
}
.pure-menu-link {
color: #777
}
.pure-menu-children {
background-color: #fff
}
.pure-menu-heading,
.pure-menu-link {
padding: .5em 1em
}
.pure-menu-disabled {
opacity: .5
}
.pure-menu-disabled .pure-menu-link:hover {
background-color: transparent;
cursor: default
}
.pure-menu-active>.pure-menu-link,
.pure-menu-link:focus,
.pure-menu-link:hover {
background-color: #eee
}
.pure-menu-selected>.pure-menu-link,
.pure-menu-selected>.pure-menu-link:visited {
color: #000
}
.pure-table {
border-collapse: collapse;
border-spacing: 0;
empty-cells: show;
border: 1px solid #cbcbcb
}
.pure-table caption {
color: #000;
font: italic 85%/1 arial, sans-serif;
padding: 1em 0;
text-align: center
}
.pure-table td,
.pure-table th {
border-left: 1px solid #cbcbcb;
border-width: 0 0 0 1px;
font-size: 12px;
margin: 0;
overflow: visible;
padding: 0em 1em
}
.pure-table thead {
background-color: #e0e0e0;
color: #000;
text-align: left;
vertical-align: bottom
}
.pure-table td {
background-color: transparent
}
.pure-table-odd td {
background-color: #f2f2f2
}
.pure-table-striped tr:nth-child(2n-1) td {
background-color: #f2f2f2
}
.pure-table-bordered td {
border-bottom: 1px solid #cbcbcb
}
.pure-table-bordered tbody>tr:last-child>td {
border-bottom-width: 0
}
.pure-table-horizontal td,
.pure-table-horizontal th {
border-width: 0 0 1px 0;
border-bottom: 1px solid #cbcbcb
}
.pure-table-horizontal tbody>tr:last-child>td {
border-bottom-width: 0
}
.fixed-bottom-right {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 9999;
}.fixed-center {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 9999;
}
.button-6 {
align-items: center;
background-color: #FFFFFF;
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: .25rem;
box-shadow: rgba(0, 0, 0, 0.02) 0 1px 3px 0;
box-sizing: border-box;
color: rgba(0, 0, 0, 0.85);
cursor: pointer;
display: inline-flex;
font-family: system-ui,-apple-system,system-ui,"Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 12px;
font-weight: 600;
justify-content: center;
line-height: 1.25;
margin: 0;
padding: 4px 8px;
position: relative;
text-decoration: none;
transition: all 250ms;
user-select: none;
-webkit-user-select: none;
touch-action: manipulation;
vertical-align: baseline;
width: auto;
}
.button-6:active {
background-color: #F0F0F1;
border-color: rgba(0, 0, 0, 0.15);
box-shadow: rgba(0, 0, 0, 0.06) 0 2px 4px;
color: rgba(0, 0, 0, 0.65);
transform: translateY(0);
}
.button-27 {
appearance: none;
background-color: #000000;
border: 2px solid #1A1A1A;
border-radius: 15px;
box-sizing: border-box;
color: #FFFFFF;
cursor: pointer;
display: inline-block;
font-family: Roobert,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
font-size: 12px;
line-height: normal;
margin: 0;
min-width: 0;
outline: none;
padding: 8px 8px;
text-align: center;
text-decoration: none;
transition: all 300ms cubic-bezier(.23, 1, 0.32, 1);
user-select: none;
-webkit-user-select: none;
touch-action: manipulation;
will-change: transform;
}
.button-27:disabled {
pointer-events: none;
}
.button-27:hover {
box-shadow: rgba(0, 0, 0, 0.25) 0 8px 15px;
transform: translateY(-2px);
}
.button-27:active {
box-shadow: none;
transform: translateY(0);
}
.button-85 {
padding: 2px 8px;
border: none;
outline: none;
color: rgb(255, 255, 255);
background: #111;
cursor: pointer;
position: relative;
z-index: 0;
border-radius: 10px;
user-select: none;
-webkit-user-select: none;
touch-action: manipulation;
}
.button-85:before {
content: "";
background: linear-gradient(
45deg,
#ff0000,
#ff7300,
#fffb00,
#48ff00,
#00ffd5,
#002bff,
#7a00ff,
#ff00c8,
#ff0000
);
position: absolute;
top: -2px;
left: -2px;
background-size: 400%;
z-index: -1;
filter: blur(5px);
-webkit-filter: blur(5px);
width: calc(100% + 4px);
height: calc(100% + 4px);
animation: glowing-button-85 20s linear infinite;
transition: opacity 0.3s ease-in-out;
border-radius: 10px;
}
@keyframes glowing-button-85 {
0% {
background-position: 0 0;
}
50% {
background-position: 400% 0;
}
100% {
background-position: 0 0;
}
}
.button-85:after {
z-index: -1;
content: "";
position: absolute;
width: 100%;
height: 100%;
background: #222;
left: 0;
top: 0;
border-radius: 10px;
}
.button-54 {
font-family: "Open Sans", sans-serif;
font-size: 12px;
text-decoration: none;
text-transform: uppercase;
color: #000;
cursor: pointer;
border: 3px solid;
box-shadow: 1px 1px 0px 0px, 2px 2px 0px 0px, 3px 3px 0px 0px, 4px 4px 0px 0px, 5px 5px 0px 0px;
position: relative;
user-select: none;
-webkit-user-select: none;
touch-action: manipulation;
}
.button-54:active {
box-shadow: 0px 0px 0px 0px;
top: 5px;
left: 5px;
}
@media (min-width: 768px) {
.button-54 {
padding: 0.25em 0.75em;
}
}
.wcount-panel {
display: block !important;
width: 0px !important;
height: 0px !important;
margin: 0px !important;
padding: 0px !important;
border-width: initial !important;
border-style: none !important;
border-color: initial !important;
border-image: initial !important;
outline: none !important;
}
.mh300{
min-height:200px;
}
.mh600{
min-height:600px;
}
.wp-gd{
background-image: linear-gradient(to right bottom, #051937, #004d7a, #008793, #00bf72, #a8eb12);
min-height:200px;
min-width:300px;
}
.bottom_h60{
bottom:60px
}
.p10{
padding:10px;
}
`
}
window.addEventListener('load', function () {
init()
}, false);
})();