all repos — Private-Trackers-Spreadsheet @ fc0aa6176caf58c9b790d4b2a1dd675abb9c0549

A spreadsheet providing detailed information about private trackers

refactor: refresh the project
HDVinnie unit3d@protonmail.com
Fri, 25 Jul 2025 13:07:44 -0400
commit

fc0aa6176caf58c9b790d4b2a1dd675abb9c0549

parent

ca4448a92045f3516fa941c80db57ff95ab7888d

9 files changed, 1284 insertions(+), 8500 deletions(-)

jump to
A .github/workflows/update-jackett.yml

@@ -0,0 +1,29 @@

+name: Update Jackett Trackers +on: + schedule: + - cron: '0 0 * * 0' # weekly + workflow_dispatch: +jobs: + update-jackett: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + - name: Install dependencies + run: npm install + - name: Run Jackett fetch script + run: node read.js + - name: Commit and push changes + run: | + git config --global user.name 'github-actions[bot]' + git config --global user.email 'github-actions[bot]@users.noreply.github.com' + git add trackers2.json + git commit -m 'update: Jackett trackers2.json' + git push + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +
M README.mdREADME.md

@@ -1,74 +1,83 @@

-### Information +<div align="center"> +<h1>🏴‍☠️ Private Trackers Spreadsheet</h1> -[Private Trackers Spreadsheet](https://hdvinnie.github.io/Private-Trackers-Spreadsheet/) - This comparative table of torrent trackers originates from discussions on [Reddit](https://www.reddit.com/r/trackers/comments/ehd7oy/new_private_trackers_spreadsheet/). +[![Live Site](https://img.shields.io/badge/🌐_Live_Site-hdvinnie.github.io-e74c3c?style=for-the-badge)](https://hdvinnie.github.io/Private-Trackers-Spreadsheet/) +[![GitHub Stars](https://img.shields.io/github/stars/hdvinnie/Private-Trackers-Spreadsheet?style=for-the-badge&color=ffd700)](https://github.com/hdvinnie/Private-Trackers-Spreadsheet/stargazers) +[![GitHub Forks](https://img.shields.io/github/forks/hdvinnie/Private-Trackers-Spreadsheet?style=for-the-badge&color=3498db)](https://github.com/hdvinnie/Private-Trackers-Spreadsheet/network) -It is based on [GitHub Page](https://pages.github.com) and has the ability to sort and filter data through the use of [jQuery](https://jquery.com) and [DataTables](https://datatables.net). +*A interactive database of private BitTorrent tracker statistics with sorting and filtering capabilities. Built using AlpineJS, HTML5 and CSS3* -If you own a tracker and want to exclude it from this list, please contact us. +</div> -### Contributions +--- -* Fork this repository +## 📖 Overview -Clicking on the `Fork` button on the top of this page. This will create a copy of this repository in your account. +This project provides a user-friendly interface to explore and manage private BitTorrent tracker statistics. It allows users to sort, filter, and search through a wide range of trackers, making it easier to find the right one for their needs. +The UI is built with AlpineJS, ensuring a lightweight and responsive experience. There is a dark and light mode toggle as well as a accent color switcher, allowing users to customize their viewing experience. +The data is stored in a JSON format, making it easy to update and maintain. +The data is sourced from user contributions and regularly updated using Jackett, ensuring that the information remains current and relevant. -* Clone the repository +--- -Go to your GitHub account, open the forked repository, click on the `Clone or download` button and then click the copy to clipboard icon. Open a terminal and run the following git command: +## 🏃‍♂️ Quick Start -`git clone <url_repository>` +### 🌐 **View Online** +Simply visit the [live site](https://hdvinnie.github.io/Private-Trackers-Spreadsheet/) to start exploring tracker data immediately. -* Open a project in IDE or text editor +### 💻 **Local Development** -Recommendations: [IntelliJ IDEA Community](https://www.jetbrains.com/idea/), [Visual Studio Code](https://code.visualstudio.com) or [Sublime Text](https://www.sublimetext.com) +```bash +# Clone the repository +git clone https://github.com/hdvinnie/Private-Trackers-Spreadsheet.git -* Make changes to the file `trackers.json`, for example: +# Navigate to project directory +cd Private-Trackers-Spreadsheet -` -{"Name": "32pages", "Abbreviation": "32P", "Type": "Comics", "Codebase": "Gazelle", "Observatory Grade": "B", "Users": "5,163", "Torrents": "45,544", "Peers": "280,094", "Ratio": "No", "Ratio Diff": "-", "Freeleech": "Yes", "Points": "Yes", "Hit & Run": "No", "Birthdate": "2010", "Join": "Application, Invite, Recruitment", "Join Diff": "-", "Updated": "2021-04-25"}, -` -* Commit the changes and push +# Install dependencies (for Jackett updates) +npm install -`git commit -m "Add <name tracker>"` +# Update Jackett tracker data (optional) +node read.js -`git push` +# Serve locally (any static server) +npx serve . +``` -* Submit your changes for review +--- -If you go to your repository on GitHub, you'll see a `Compare & pull request` button. Click on that button. +### 📝 **How to Contribute** -You will get a notification email once the changes have been merged. +1. **🍴 Fork the Repository** + ```bash + # Click the "Fork" button on GitHub or use: + gh repo fork hdvinnie/Private-Trackers-Spreadsheet + ``` -* Synchronize your branch with this repository +2. **🌿 Create a Feature Branch** + ```bash + git checkout -b feature/your-amazing-feature + ``` -Add the url of my repository to the field `upstream <remote url>`: +3. **✨ Make Your Changes** + - Add new tracker data to `trackers.json` + - Improve the UI/UX + - Fix bugs or enhance features + - Update documentation -`git remote add upstream https://github.com/HDVinnie/Private-Trackers-Spreadsheet.git` -Download the latest changes from my repository. +4. **🚀 Submit a Pull Request** + ```bash + git commit -m "add: amazing new feature" + git push origin feature/your-amazing-feature + ``` -`git fetch upstream` +--- -We are merging a new version of my repository with your master branch. +<div align="center"> -`git rebase upstream/master` +**Made with ❤️ by the private tracker community** -Pushing these changes to your GitHub repository. +*If you find this project useful, please consider giving it a ⭐ star on GitHub!* -`git push origin master` - -* Profit - -Keep track of the project and make new issue, changes. - -### Update from Jackett - -This will read Jackett's tracker definitions from `Jackett/src/Jackett.Common/Definitions` and update `trackers2.json` - -``` -node read.js -``` - -### Contacts - -Email `hdinnovations@protonmail.com` or Reddit `u/-HDVinnie-` +</div>
A assets/css/app.css

@@ -0,0 +1,730 @@

+/* CSS Custom Properties for Theme Switching */ +:root[data-theme="dark"] { + --bg-primary: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%); + --bg-secondary: rgba(15, 15, 15, 0.95); + --bg-tertiary: rgba(255, 255, 255, 0.02); + --bg-quaternary: rgba(20, 20, 20, 0.95); + --text-primary: #ffffff; + --text-secondary: #e0e0e0; + --text-tertiary: #a0a0a0; + --text-muted: rgba(255, 255, 255, 0.5); + --accent-primary: #e74c3c; + --accent-secondary: #3498db; + --accent-tertiary: #95a5a6; + --border-primary: rgba(255, 255, 255, 0.1); + --border-secondary: rgba(255, 255, 255, 0.08); + --border-tertiary: rgba(255, 255, 255, 0.05); + --input-bg: rgba(255, 255, 255, 0.05); + --hover-bg: rgba(231, 76, 60, 0.05); + --gradient-red: linear-gradient(135deg, rgba(231, 76, 60, 0.1) 0%, rgba(231, 76, 60, 0.05) 100%); + --gradient-blue: linear-gradient(135deg, rgba(52, 152, 219, 0.1) 0%, rgba(52, 152, 219, 0.05) 100%); + --gradient-gray: linear-gradient(135deg, rgba(149, 165, 166, 0.1) 0%, rgba(149, 165, 166, 0.05) 100%); + --gradient-header: linear-gradient(135deg, rgba(231, 76, 60, 0.1) 0%, rgba(231, 76, 60, 0.05) 100%); + --scrollbar-track: rgba(255, 255, 255, 0.05); + --scrollbar-thumb: rgba(231, 76, 60, 0.3); +} + +:root[data-theme="light"] { + --bg-primary: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); + --bg-secondary: rgba(255, 255, 255, 0.95); + --bg-tertiary: rgba(255, 255, 255, 0.8); + --bg-quaternary: rgba(255, 255, 255, 0.98); + --text-primary: #212529; + --text-secondary: #495057; + --text-tertiary: #6c757d; + --text-muted: rgba(0, 0, 0, 0.5); + --accent-primary: #dc3545; + --accent-secondary: #007bff; + --accent-tertiary: #6c757d; + --border-primary: rgba(0, 0, 0, 0.1); + --border-secondary: rgba(0, 0, 0, 0.08); + --border-tertiary: rgba(0, 0, 0, 0.05); + --input-bg: rgba(0, 0, 0, 0.05); + --hover-bg: rgba(220, 53, 69, 0.05); + --gradient-red: linear-gradient(135deg, rgba(220, 53, 69, 0.1) 0%, rgba(220, 53, 69, 0.05) 100%); + --gradient-blue: linear-gradient(135deg, rgba(0, 123, 255, 0.1) 0%, rgba(0, 123, 255, 0.05) 100%); + --gradient-gray: linear-gradient(135deg, rgba(108, 117, 125, 0.1) 0%, rgba(108, 117, 125, 0.05) 100%); + --gradient-header: linear-gradient(135deg, rgba(220, 53, 69, 0.1) 0%, rgba(220, 53, 69, 0.05) 100%); + --scrollbar-track: rgba(0, 0, 0, 0.05); + --scrollbar-thumb: rgba(220, 53, 69, 0.3); +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + background: var(--bg-primary); + color: var(--text-secondary); + line-height: 1.6; + min-height: 100vh; +} + +/* Wrapper */ +.tracker-wrapper { + min-height: 100vh; + background: var(--bg-primary); +} + +/* Navigation */ +.tracker-navbar { + background: var(--bg-secondary); + backdrop-filter: blur(10px); + border-bottom: 1px solid var(--border-primary); + padding: 1rem 0; + position: sticky; + top: 0; + z-index: 100; +} + +.tracker-navbar__container { + margin: 0 auto; + padding: 0 2rem; + display: flex; + justify-content: space-between; + align-items: center; +} + +.tracker-navbar__actions { + display: flex; + align-items: center; + gap: 1rem; +} + +.tracker-navbar__title { + font-family: 'Yanone Kaffeesatz', sans-serif; + font-size: 2.5rem; + font-weight: 600; + color: var(--text-primary); +} + +.tracker-navbar__icon { + color: var(--accent-primary); + margin-right: 0.75rem; +} + +.tracker-navbar__links { + list-style: none; + margin: 0; + padding: 0; +} + +.tracker-navbar__dropdown { + position: relative; + cursor: pointer; +} + +.tracker-navbar__dropdown > span { + color: var(--text-primary); + font-weight: 500; + padding: 0.75rem 1.5rem; + border-radius: 8px; + transition: all 0.3s ease; + display: block; +} + +.tracker-navbar__dropdown:hover > span { + background: var(--hover-bg); + color: var(--accent-primary); +} + +.tracker-navbar__dropdown-menu { + position: absolute; + top: 100%; + right: 0; + background: var(--bg-quaternary); + backdrop-filter: blur(15px); + border: 1px solid var(--border-primary); + border-radius: 12px; + min-width: 250px; + opacity: 0; + visibility: hidden; + transform: translateY(-10px); + transition: all 0.3s ease; + box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5); +} + +.tracker-navbar__dropdown:hover .tracker-navbar__dropdown-menu { + opacity: 1; + visibility: visible; + transform: translateY(0); +} + +.tracker-navbar__dropdown-menu li { + list-style: none; +} + +.tracker-navbar__dropdown-menu a { + display: block; + padding: 0.75rem 1.25rem; + color: var(--text-secondary); + text-decoration: none; + transition: all 0.3s ease; + border-radius: 8px; + margin: 0.25rem; +} + +.tracker-navbar__dropdown-menu a:hover { + background: var(--hover-bg); + color: var(--accent-primary); + transform: translateX(5px); +} + +/* Theme Switcher */ +.theme-switcher { + position: relative; + display: flex; + gap: 0.5rem; +} + +.theme-switcher__button { + background: none; + border: 1px solid var(--border-primary); + color: var(--text-primary); + padding: 0.5rem; + border-radius: 8px; + cursor: pointer; + transition: all 0.3s ease; + font-size: 1.1rem; + width: 40px; + height: 40px; + display: flex; + align-items: center; + justify-content: center; +} + +.theme-switcher__button:hover { + background: var(--hover-bg); + border-color: var(--accent-primary); + color: var(--accent-primary); + transform: scale(1.05); +} + +.theme-switcher__button--accent { + color: var(--accent-primary); + border-color: var(--accent-primary); +} + +/* Color Picker */ +.color-picker { + position: absolute; + top: calc(100% + 10px); + right: 0; + background: var(--bg-quaternary); + backdrop-filter: blur(15px); + border: 1px solid var(--border-primary); + border-radius: 12px; + padding: 1rem; + box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5); + z-index: 1000; +} + +.color-picker__grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 0.5rem; +} + +.color-picker__swatch { + width: 32px; + height: 32px; + border-radius: 50%; + border: 2px solid transparent; + cursor: pointer; + transition: all 0.3s ease; + position: relative; +} + +.color-picker__swatch:hover { + transform: scale(1.1); + border-color: var(--text-primary); +} + +.color-picker__swatch--active { + border-color: var(--text-primary); + box-shadow: 0 0 0 2px var(--bg-quaternary), 0 0 0 4px var(--text-primary); +} + +.color-picker__swatch--active::after { + content: '✓'; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + color: white; + font-size: 0.8rem; + font-weight: bold; + text-shadow: 0 0 3px rgba(0, 0, 0, 0.8); +} + +/* Main Content */ +.tracker-main { + width: 100%; + padding: 2rem; +} + +/* Contribute Section - Keep constrained */ +.tracker-contribute { + margin-bottom: 3rem; + max-width: 1400px; + margin-left: auto; + margin-right: auto; +} + +.tracker-contribute__message { + background: var(--gradient-red); + border: 1px solid var(--accent-primary); + border-radius: 12px; + padding: 1.5rem; + text-align: center; + font-size: 1.1rem; + color: var(--text-secondary); +} + +.tracker-contribute__link { + color: var(--accent-primary); + text-decoration: none; + font-weight: 600; + transition: all 0.3s ease; +} + +.tracker-contribute__link:hover { + color: var(--accent-primary); + text-shadow: var(--text-glow); + filter: brightness(1.2); +} + +/* Table Sections - Full width */ +.tracker-table, .tracker-jackett { + margin-bottom: 4rem; + width: 100%; +} + +.tracker-table__controls, .tracker-jackett__controls { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 1.5rem; + gap: 1rem; + flex-wrap: wrap; +} + +.tracker-table__search, .tracker-jackett__search { + flex: 1; + max-width: 400px; + padding: 1rem 1.5rem; + background: var(--input-bg); + border: 1px solid var(--border-primary); + border-radius: 12px; + color: var(--text-primary); + font-size: 1rem; + transition: all 0.3s ease; +} + +.tracker-table__search:focus, .tracker-jackett__search:focus { + outline: none; + border-color: var(--accent-primary); + box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1); + background: var(--input-bg); + filter: brightness(1.2); +} + +.tracker-table__search::placeholder, .tracker-jackett__search::placeholder { + color: var(--text-muted); +} + +.tracker-table__info, .tracker-jackett__info { + color: var(--text-tertiary); + font-size: 0.9rem; + white-space: nowrap; +} + +/* Table Container */ +.tracker-table__container { + background: var(--bg-tertiary); + border: 1px solid var(--border-secondary); + border-radius: 16px; + overflow-x: auto; + overflow-y: visible; + box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); + width: 100%; +} + +.tracker-jackett__container { + background: var(--bg-tertiary); + border: 1px solid var(--border-secondary); + border-radius: 16px; + overflow: hidden; + box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); + width: 100%; +} + +/* Tables */ +.tracker-table__main { + width: 100%; + min-width: 1400px; + border-collapse: collapse; + background: transparent; +} + +.tracker-jackett__table { + width: 100%; + border-collapse: collapse; + background: transparent; +} + +.tracker-table__main th, .tracker-jackett__table th { + background: var(--gradient-header); + color: var(--text-primary); + padding: 1.25rem 1rem; + text-align: left; + font-weight: 600; + font-size: 0.95rem; + text-transform: uppercase; + letter-spacing: 0.5px; + border-bottom: 2px solid var(--accent-primary); + position: sticky; + top: 0; + z-index: 10; +} + +.tracker-table__sortable, .tracker-jackett__sortable { + cursor: pointer; + transition: all 0.3s ease; + user-select: none; +} + +.tracker-table__sortable:hover, .tracker-jackett__sortable:hover { + background: var(--hover-bg); + color: var(--accent-primary); + filter: brightness(1.5); +} + +.tracker-table__sortable i, .tracker-jackett__sortable i { + margin-left: 0.5rem; + opacity: 0.6; + transition: all 0.3s ease; +} + +.tracker-table__sortable:hover i, .tracker-jackett__sortable:hover i { + opacity: 1; + color: var(--accent-primary); +} + +.tracker-table__row, .tracker-jackett__row { + transition: all 0.3s ease; + border-bottom: 1px solid var(--border-tertiary); +} + +.tracker-table__row:hover, .tracker-jackett__row:hover { + background: var(--hover-bg); + transform: scale(1.001); +} + +.tracker-table__cell, .tracker-jackett__cell { + padding: 1rem; + border-bottom: 1px solid var(--border-tertiary); + font-size: 0.9rem; + color: var(--text-secondary); +} + +.tracker-table__cell--name, .tracker-jackett__cell--name { + font-weight: 600; + color: var(--text-primary); +} + +.tracker-jackett__cell--description { + max-width: 300px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* Jackett Section */ +.tracker-jackett__message { + background: var(--gradient-red); + border: 1px solid var(--accent-primary); + border-radius: 12px; + padding: 1.5rem; + text-align: center; + margin-bottom: 2rem; + font-size: 1.1rem; + color: var(--text-secondary); +} + +.tracker-jackett__link { + color: var(--accent-secondary); + text-decoration: none; + font-weight: 600; + transition: all 0.3s ease; +} + +.tracker-jackett__link:hover { + color: var(--accent-secondary); + text-shadow: 0 0 10px rgba(52, 152, 219, 0.5); + filter: brightness(1.2); +} + +/* Privacy Section - Keep constrained */ +.tracker-privacy { + margin-top: 4rem; + max-width: 1400px; + margin-left: auto; + margin-right: auto; +} + +.tracker-privacy__panel { + background: var(--gradient-red); + border: 1px solid var(--accent-primary); + border-radius: 12px; + padding: 2rem; +} + +.tracker-privacy__title { + font-family: 'Yanone Kaffeesatz', sans-serif; + font-size: 1.8rem; + font-weight: 600; + margin-bottom: 1rem; + color: var(--text-primary); +} + +.tracker-privacy__body { + font-size: 1rem; + line-height: 1.6; + color: var(--text-secondary); +} + +.tracker-privacy__body a { + color: var(--accent-tertiary); + text-decoration: none; + font-weight: 600; + transition: all 0.3s ease; +} + +.tracker-privacy__body a:hover { + color: var(--accent-tertiary); + filter: brightness(1.2); +} + +/* AlpineJS Tooltips */ +.alpine-tooltip { + position: fixed; + background: var(--bg-quaternary); + backdrop-filter: blur(10px); + color: var(--text-primary); + padding: 0.75rem 1rem; + border-radius: 8px; + font-size: 0.8rem; + font-weight: 400; + z-index: 9999; + border: 1px solid var(--accent-primary); + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6); + max-width: 280px; + text-align: center; + line-height: 1.4; + pointer-events: none; + font-family: 'Source Sans Pro', sans-serif; +} + +.alpine-tooltip::after { + content: ''; + position: absolute; + top: 100%; + left: 50%; + transform: translateX(-50%); + border: 6px solid transparent; + border-top-color: var(--bg-quaternary); + pointer-events: none; +} + +/* Scrollbar Styling */ +::-webkit-scrollbar { + width: 8px; + height: 8px; +} + +::-webkit-scrollbar-track { + background: var(--scrollbar-track); + border-radius: 4px; +} + +::-webkit-scrollbar-thumb { + background: var(--scrollbar-thumb); + border-radius: 4px; + transition: all 0.3s ease; +} + +::-webkit-scrollbar-thumb:hover { + background: var(--scrollbar-thumb); + filter: brightness(1.5); +} + +/* Loading Animation */ +@keyframes pulse { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.5; } +} + +.loading { + animation: pulse 1.5s ease-in-out infinite; +} + +/* SVG Icons - Replace Font Awesome */ +.icon { + display: inline-block; + width: 1em; + height: 1em; + fill: currentColor; + vertical-align: middle; +} + +.icon-skull-crossbones { + mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M480 208C480 128.5 408.4 64 320 64C231.6 64 160 128.5 160 208C160 255.1 185.1 296.9 224 323.2L224 352C224 369.7 238.3 384 256 384L384 384C401.7 384 416 369.7 416 352L416 323.2C454.9 296.9 480 255.1 480 208zM256 192C273.7 192 288 206.3 288 224C288 241.7 273.7 256 256 256C238.3 256 224 241.7 224 224C224 206.3 238.3 192 256 192zM352 224C352 206.3 366.3 192 384 192C401.7 192 416 206.3 416 224C416 241.7 401.7 256 384 256C366.3 256 352 241.7 352 224zM541.5 403.7C534.7 387.4 516 379.7 499.7 386.5L320 461.3L140.3 386.5C124 379.7 105.3 387.4 98.5 403.7C91.7 420 99.4 438.7 115.7 445.5L236.8 496L115.7 546.5C99.4 553.3 91.7 572 98.5 588.3C105.3 604.6 124 612.3 140.3 605.5L320 530.7L499.7 605.5C516 612.3 534.7 604.6 541.5 588.3C548.3 572 540.6 553.3 524.3 546.5L403.2 496L524.3 445.5C540.6 438.7 548.3 420 541.5 403.7z'/%3E%3C/svg%3E") no-repeat center; + mask-size: contain; + background-color: currentColor; +} + +.icon-palette { + mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z'/%3E%3C/svg%3E") no-repeat center; + mask-size: contain; + background-color: currentColor; +} + +.icon-sun { + mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z'/%3E%3C/svg%3E") no-repeat center; + mask-size: contain; + background-color: currentColor; +} + +.icon-moon { + mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z'/%3E%3C/svg%3E") no-repeat center; + mask-size: contain; + background-color: currentColor; +} + +.icon-sort { + mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z'/%3E%3C/svg%3E") no-repeat center; + mask-size: contain; + background-color: currentColor; +} + +/* Responsive Design */ +@media (max-width: 1200px) { + .tracker-main { + padding: 1.5rem; + } + + .tracker-navbar__container { + padding: 0 1.5rem; + } + + .tracker-table__main { + min-width: 1600px; + } + + .tracker-contribute { + margin-left: 1.5rem; + margin-right: 1.5rem; + max-width: calc(100% - 3rem); + } + + .tracker-privacy { + margin-left: 1.5rem; + margin-right: 1.5rem; + max-width: calc(100% - 3rem); + } +} + +@media (max-width: 768px) { + .tracker-navbar__container { + flex-direction: column; + gap: 1rem; + padding: 0 1rem; + } + + .tracker-navbar__title { + font-size: 2rem; + text-align: center; + } + + .tracker-main { + padding: 1rem; + } + + .tracker-table__controls, .tracker-jackett__controls { + flex-direction: column; + align-items: stretch; + } + + .tracker-table__search, .tracker-jackett__search { + max-width: none; + } + + .tracker-table__container, .tracker-jackett__container { + margin: 0 -1rem; + border-radius: 0; + border-left: none; + border-right: none; + width: calc(100% + 2rem); + } + + .tracker-table__main { + min-width: 1800px; + } + + .tracker-jackett__table { + min-width: auto; + } + + .tracker-table__cell, .tracker-jackett__cell { + padding: 0.75rem 0.5rem; + font-size: 0.85rem; + } + + .tracker-table__main th, .tracker-jackett__table th { + padding: 1rem 0.5rem; + font-size: 0.85rem; + } + + .tracker-jackett__cell--description { + max-width: 200px; + } + + .tracker-contribute { + margin-left: 1rem; + margin-right: 1rem; + max-width: calc(100% - 2rem); + } + + .tracker-privacy { + margin-left: 1rem; + margin-right: 1rem; + max-width: calc(100% - 2rem); + } +} + +@media (max-width: 480px) { + .tracker-navbar__title { + font-size: 1.5rem; + } + + .tracker-contribute__message, .tracker-jackett__message { + padding: 1rem; + font-size: 1rem; + } + + .tracker-privacy__panel { + padding: 1.5rem; + } + + .tracker-privacy__title { + font-size: 1.5rem; + } + + .tracker-table__main { + min-width: 2000px; + } +}
D assets/css/bootstrap.css

@@ -1,6329 +0,0 @@

-/*! - * Bootstrap v3.3.0 (http://getbootstrap.com) - * Copyright 2011-2014 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ - -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ -html { - font-family: sans-serif; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; -} -body { - margin: 0; -} -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} -audio, -canvas, -progress, -video { - display: inline-block; - vertical-align: baseline; -} -audio:not([controls]) { - display: none; - height: 0; -} -[hidden], -template { - display: none; -} -a { - background-color: transparent; -} -a:active, -a:hover { - outline: 0; -} -abbr[title] { - border-bottom: 1px dotted; -} -b, -strong { - font-weight: bold; -} -dfn { - font-style: italic; -} -h1 { - margin: .67em 0; - font-size: 2em; -} -mark { - color: #000; - background: #ff0; -} -small { - font-size: 80%; -} -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} -sup { - top: -.5em; -} -sub { - bottom: -.25em; -} -img { - border: 0; -} -svg:not(:root) { - overflow: hidden; -} -figure { - margin: 1em 40px; -} -hr { - height: 0; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -pre { - overflow: auto; -} -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} -button, -input, -optgroup, -select, -textarea { - margin: 0; - font: inherit; - color: inherit; -} -button { - overflow: visible; -} -button, -select { - text-transform: none; -} -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; -} -button[disabled], -html input[disabled] { - cursor: default; -} -button::-moz-focus-inner, -input::-moz-focus-inner { - padding: 0; - border: 0; -} -input { - line-height: normal; -} -input[type="checkbox"], -input[type="radio"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 0; -} -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} -input[type="search"] { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - -webkit-appearance: textfield; -} -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} -fieldset { - padding: .35em .625em .75em; - margin: 0 2px; - border: 1px solid #c0c0c0; -} -legend { - padding: 0; - border: 0; -} -textarea { - overflow: auto; -} -optgroup { - font-weight: bold; -} -table { - border-spacing: 0; - border-collapse: collapse; -} -td, -th { - padding: 0; -} -@media print { - - *, - *:before, - *:after { - color: #000 !important; - text-shadow: none !important; - background: transparent !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - } - a, - a:visited { - text-decoration: underline; - } - a[href]:after { - content: " (" attr(href) ")"; - } - abbr[title]:after { - content: " (" attr(title) ")"; - } - a[href^="#"]:after, - a[href^="javascript:"]:after { - content: ""; - } - pre, - blockquote { - border: 1px solid #999; - - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - img { - max-width: 100% !important; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - select { - background: #fff !important; - } - .navbar { - display: none; - } - .table td, - .table th { - background-color: #fff !important; - } - .btn > .caret, - .dropup > .btn > .caret { - border-top-color: #000 !important; - } - .label { - border: 1px solid #000; - } - .table { - border-collapse: collapse !important; - } - .table-bordered th, - .table-bordered td { - border: 1px solid #ddd !important; - } -} -@font-face { - font-family: 'Glyphicons Halflings'; - - src: url('../fonts/glyphicons-halflings-regular.eot'); - src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); -} -.glyphicon { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Glyphicons Halflings'; - font-style: normal; - font-weight: normal; - line-height: 1; - - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.glyphicon-asterisk:before { - content: "\2a"; -} -.glyphicon-plus:before { - content: "\2b"; -} -.glyphicon-euro:before, -.glyphicon-eur:before { - content: "\20ac"; -} -.glyphicon-minus:before { - content: "\2212"; -} -.glyphicon-cloud:before { - content: "\2601"; -} -.glyphicon-envelope:before { - content: "\2709"; -} -.glyphicon-pencil:before { - content: "\270f"; -} -.glyphicon-glass:before { - content: "\e001"; -} -.glyphicon-music:before { - content: "\e002"; -} -.glyphicon-search:before { - content: "\e003"; -} -.glyphicon-heart:before { - content: "\e005"; -} -.glyphicon-star:before { - content: "\e006"; -} -.glyphicon-star-empty:before { - content: "\e007"; -} -.glyphicon-user:before { - content: "\e008"; -} -.glyphicon-film:before { - content: "\e009"; -} -.glyphicon-th-large:before { - content: "\e010"; -} -.glyphicon-th:before { - content: "\e011"; -} -.glyphicon-th-list:before { - content: "\e012"; -} -.glyphicon-ok:before { - content: "\e013"; -} -.glyphicon-remove:before { - content: "\e014"; -} -.glyphicon-zoom-in:before { - content: "\e015"; -} -.glyphicon-zoom-out:before { - content: "\e016"; -} -.glyphicon-off:before { - content: "\e017"; -} -.glyphicon-signal:before { - content: "\e018"; -} -.glyphicon-cog:before { - content: "\e019"; -} -.glyphicon-trash:before { - content: "\e020"; -} -.glyphicon-home:before { - content: "\e021"; -} -.glyphicon-file:before { - content: "\e022"; -} -.glyphicon-time:before { - content: "\e023"; -} -.glyphicon-road:before { - content: "\e024"; -} -.glyphicon-download-alt:before { - content: "\e025"; -} -.glyphicon-download:before { - content: "\e026"; -} -.glyphicon-upload:before { - content: "\e027"; -} -.glyphicon-inbox:before { - content: "\e028"; -} -.glyphicon-play-circle:before { - content: "\e029"; -} -.glyphicon-repeat:before { - content: "\e030"; -} -.glyphicon-refresh:before { - content: "\e031"; -} -.glyphicon-list-alt:before { - content: "\e032"; -} -.glyphicon-lock:before { - content: "\e033"; -} -.glyphicon-flag:before { - content: "\e034"; -} -.glyphicon-headphones:before { - content: "\e035"; -} -.glyphicon-volume-off:before { - content: "\e036"; -} -.glyphicon-volume-down:before { - content: "\e037"; -} -.glyphicon-volume-up:before { - content: "\e038"; -} -.glyphicon-qrcode:before { - content: "\e039"; -} -.glyphicon-barcode:before { - content: "\e040"; -} -.glyphicon-tag:before { - content: "\e041"; -} -.glyphicon-tags:before { - content: "\e042"; -} -.glyphicon-book:before { - content: "\e043"; -} -.glyphicon-bookmark:before { - content: "\e044"; -} -.glyphicon-print:before { - content: "\e045"; -} -.glyphicon-camera:before { - content: "\e046"; -} -.glyphicon-font:before { - content: "\e047"; -} -.glyphicon-bold:before { - content: "\e048"; -} -.glyphicon-italic:before { - content: "\e049"; -} -.glyphicon-text-height:before { - content: "\e050"; -} -.glyphicon-text-width:before { - content: "\e051"; -} -.glyphicon-align-left:before { - content: "\e052"; -} -.glyphicon-align-center:before { - content: "\e053"; -} -.glyphicon-align-right:before { - content: "\e054"; -} -.glyphicon-align-justify:before { - content: "\e055"; -} -.glyphicon-list:before { - content: "\e056"; -} -.glyphicon-indent-left:before { - content: "\e057"; -} -.glyphicon-indent-right:before { - content: "\e058"; -} -.glyphicon-facetime-video:before { - content: "\e059"; -} -.glyphicon-picture:before { - content: "\e060"; -} -.glyphicon-map-marker:before { - content: "\e062"; -} -.glyphicon-adjust:before { - content: "\e063"; -} -.glyphicon-tint:before { - content: "\e064"; -} -.glyphicon-edit:before { - content: "\e065"; -} -.glyphicon-share:before { - content: "\e066"; -} -.glyphicon-check:before { - content: "\e067"; -} -.glyphicon-move:before { - content: "\e068"; -} -.glyphicon-step-backward:before { - content: "\e069"; -} -.glyphicon-fast-backward:before { - content: "\e070"; -} -.glyphicon-backward:before { - content: "\e071"; -} -.glyphicon-play:before { - content: "\e072"; -} -.glyphicon-pause:before { - content: "\e073"; -} -.glyphicon-stop:before { - content: "\e074"; -} -.glyphicon-forward:before { - content: "\e075"; -} -.glyphicon-fast-forward:before { - content: "\e076"; -} -.glyphicon-step-forward:before { - content: "\e077"; -} -.glyphicon-eject:before { - content: "\e078"; -} -.glyphicon-chevron-left:before { - content: "\e079"; -} -.glyphicon-chevron-right:before { - content: "\e080"; -} -.glyphicon-plus-sign:before { - content: "\e081"; -} -.glyphicon-minus-sign:before { - content: "\e082"; -} -.glyphicon-remove-sign:before { - content: "\e083"; -} -.glyphicon-ok-sign:before { - content: "\e084"; -} -.glyphicon-question-sign:before { - content: "\e085"; -} -.glyphicon-info-sign:before { - content: "\e086"; -} -.glyphicon-screenshot:before { - content: "\e087"; -} -.glyphicon-remove-circle:before { - content: "\e088"; -} -.glyphicon-ok-circle:before { - content: "\e089"; -} -.glyphicon-ban-circle:before { - content: "\e090"; -} -.glyphicon-arrow-left:before { - content: "\e091"; -} -.glyphicon-arrow-right:before { - content: "\e092"; -} -.glyphicon-arrow-up:before { - content: "\e093"; -} -.glyphicon-arrow-down:before { - content: "\e094"; -} -.glyphicon-share-alt:before { - content: "\e095"; -} -.glyphicon-resize-full:before { - content: "\e096"; -} -.glyphicon-resize-small:before { - content: "\e097"; -} -.glyphicon-exclamation-sign:before { - content: "\e101"; -} -.glyphicon-gift:before { - content: "\e102"; -} -.glyphicon-leaf:before { - content: "\e103"; -} -.glyphicon-fire:before { - content: "\e104"; -} -.glyphicon-eye-open:before { - content: "\e105"; -} -.glyphicon-eye-close:before { - content: "\e106"; -} -.glyphicon-warning-sign:before { - content: "\e107"; -} -.glyphicon-plane:before { - content: "\e108"; -} -.glyphicon-calendar:before { - content: "\e109"; -} -.glyphicon-random:before { - content: "\e110"; -} -.glyphicon-comment:before { - content: "\e111"; -} -.glyphicon-magnet:before { - content: "\e112"; -} -.glyphicon-chevron-up:before { - content: "\e113"; -} -.glyphicon-chevron-down:before { - content: "\e114"; -} -.glyphicon-retweet:before { - content: "\e115"; -} -.glyphicon-shopping-cart:before { - content: "\e116"; -} -.glyphicon-folder-close:before { - content: "\e117"; -} -.glyphicon-folder-open:before { - content: "\e118"; -} -.glyphicon-resize-vertical:before { - content: "\e119"; -} -.glyphicon-resize-horizontal:before { - content: "\e120"; -} -.glyphicon-hdd:before { - content: "\e121"; -} -.glyphicon-bullhorn:before { - content: "\e122"; -} -.glyphicon-bell:before { - content: "\e123"; -} -.glyphicon-certificate:before { - content: "\e124"; -} -.glyphicon-thumbs-up:before { - content: "\e125"; -} -.glyphicon-thumbs-down:before { - content: "\e126"; -} -.glyphicon-hand-right:before { - content: "\e127"; -} -.glyphicon-hand-left:before { - content: "\e128"; -} -.glyphicon-hand-up:before { - content: "\e129"; -} -.glyphicon-hand-down:before { - content: "\e130"; -} -.glyphicon-circle-arrow-right:before { - content: "\e131"; -} -.glyphicon-circle-arrow-left:before { - content: "\e132"; -} -.glyphicon-circle-arrow-up:before { - content: "\e133"; -} -.glyphicon-circle-arrow-down:before { - content: "\e134"; -} -.glyphicon-globe:before { - content: "\e135"; -} -.glyphicon-wrench:before { - content: "\e136"; -} -.glyphicon-tasks:before { - content: "\e137"; -} -.glyphicon-filter:before { - content: "\e138"; -} -.glyphicon-briefcase:before { - content: "\e139"; -} -.glyphicon-fullscreen:before { - content: "\e140"; -} -.glyphicon-dashboard:before { - content: "\e141"; -} -.glyphicon-paperclip:before { - content: "\e142"; -} -.glyphicon-heart-empty:before { - content: "\e143"; -} -.glyphicon-link:before { - content: "\e144"; -} -.glyphicon-phone:before { - content: "\e145"; -} -.glyphicon-pushpin:before { - content: "\e146"; -} -.glyphicon-usd:before { - content: "\e148"; -} -.glyphicon-gbp:before { - content: "\e149"; -} -.glyphicon-sort:before { - content: "\e150"; -} -.glyphicon-sort-by-alphabet:before { - content: "\e151"; -} -.glyphicon-sort-by-alphabet-alt:before { - content: "\e152"; -} -.glyphicon-sort-by-order:before { - content: "\e153"; -} -.glyphicon-sort-by-order-alt:before { - content: "\e154"; -} -.glyphicon-sort-by-attributes:before { - content: "\e155"; -} -.glyphicon-sort-by-attributes-alt:before { - content: "\e156"; -} -.glyphicon-unchecked:before { - content: "\e157"; -} -.glyphicon-expand:before { - content: "\e158"; -} -.glyphicon-collapse-down:before { - content: "\e159"; -} -.glyphicon-collapse-up:before { - content: "\e160"; -} -.glyphicon-log-in:before { - content: "\e161"; -} -.glyphicon-flash:before { - content: "\e162"; -} -.glyphicon-log-out:before { - content: "\e163"; -} -.glyphicon-new-window:before { - content: "\e164"; -} -.glyphicon-record:before { - content: "\e165"; -} -.glyphicon-save:before { - content: "\e166"; -} -.glyphicon-open:before { - content: "\e167"; -} -.glyphicon-saved:before { - content: "\e168"; -} -.glyphicon-import:before { - content: "\e169"; -} -.glyphicon-export:before { - content: "\e170"; -} -.glyphicon-send:before { - content: "\e171"; -} -.glyphicon-floppy-disk:before { - content: "\e172"; -} -.glyphicon-floppy-saved:before { - content: "\e173"; -} -.glyphicon-floppy-remove:before { - content: "\e174"; -} -.glyphicon-floppy-save:before { - content: "\e175"; -} -.glyphicon-floppy-open:before { - content: "\e176"; -} -.glyphicon-credit-card:before { - content: "\e177"; -} -.glyphicon-transfer:before { - content: "\e178"; -} -.glyphicon-cutlery:before { - content: "\e179"; -} -.glyphicon-header:before { - content: "\e180"; -} -.glyphicon-compressed:before { - content: "\e181"; -} -.glyphicon-earphone:before { - content: "\e182"; -} -.glyphicon-phone-alt:before { - content: "\e183"; -} -.glyphicon-tower:before { - content: "\e184"; -} -.glyphicon-stats:before { - content: "\e185"; -} -.glyphicon-sd-video:before { - content: "\e186"; -} -.glyphicon-hd-video:before { - content: "\e187"; -} -.glyphicon-subtitles:before { - content: "\e188"; -} -.glyphicon-sound-stereo:before { - content: "\e189"; -} -.glyphicon-sound-dolby:before { - content: "\e190"; -} -.glyphicon-sound-5-1:before { - content: "\e191"; -} -.glyphicon-sound-6-1:before { - content: "\e192"; -} -.glyphicon-sound-7-1:before { - content: "\e193"; -} -.glyphicon-copyright-mark:before { - content: "\e194"; -} -.glyphicon-registration-mark:before { - content: "\e195"; -} -.glyphicon-cloud-download:before { - content: "\e197"; -} -.glyphicon-cloud-upload:before { - content: "\e198"; -} -.glyphicon-tree-conifer:before { - content: "\e199"; -} -.glyphicon-tree-deciduous:before { - content: "\e200"; -} -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -*:before, -*:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -html { - font-size: 10px; - - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -body { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #333; - background-color: #F5F5F5; -} -input, -button, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} -a { - color: #fff; - text-decoration: none; -} -a:hover, -a:focus { - color: #2a6496; - text-decoration: underline; -} -a:focus { - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -figure { - margin: 0; -} -img { - vertical-align: middle; -} -.img-responsive, -.thumbnail > img, -.thumbnail a > img, -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - display: block; - width: 100% \9; - max-width: 100%; - height: auto; -} -.img-rounded { - border-radius: 6px; -} -.img-thumbnail { - display: inline-block; - width: 100% \9; - max-width: 100%; - height: auto; - padding: 4px; - line-height: 1.42857143; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 4px; - -webkit-transition: all .2s ease-in-out; - -o-transition: all .2s ease-in-out; - transition: all .2s ease-in-out; -} -.img-circle { - border-radius: 50%; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eee; -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} -.sr-only-focusable:active, -.sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto; -} -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: inherit; - font-weight: 500; - line-height: 1.1; - color: inherit; -} -h1 small, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small, -.h1 small, -.h2 small, -.h3 small, -.h4 small, -.h5 small, -.h6 small, -h1 .small, -h2 .small, -h3 .small, -h4 .small, -h5 .small, -h6 .small, -.h1 .small, -.h2 .small, -.h3 .small, -.h4 .small, -.h5 .small, -.h6 .small { - font-weight: normal; - line-height: 1; - color: #777; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 20px; - margin-bottom: 10px; -} -h1 small, -.h1 small, -h2 small, -.h2 small, -h3 small, -.h3 small, -h1 .small, -.h1 .small, -h2 .small, -.h2 .small, -h3 .small, -.h3 .small { - font-size: 65%; -} -h4, -.h4, -h5, -.h5, -h6, -.h6 { - margin-top: 10px; - margin-bottom: 10px; -} -h4 small, -.h4 small, -h5 small, -.h5 small, -h6 small, -.h6 small, -h4 .small, -.h4 .small, -h5 .small, -.h5 .small, -h6 .small, -.h6 .small { - font-size: 75%; -} -h1, -.h1 { - font-size: 36px; -} -h2, -.h2 { - font-size: 30px; -} -h3, -.h3 { - font-size: 24px; -} -h4, -.h4 { - font-size: 18px; -} -h5, -.h5 { - font-size: 14px; -} -h6, -.h6 { - font-size: 12px; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 16px; - font-weight: 300; - line-height: 1.4; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -small, -.small { - font-size: 85%; -} -cite { - font-style: normal; -} -mark, -.mark { - padding: .2em; - background-color: #fcf8e3; -} -.text-left { - text-align: left; -} -.text-right { - text-align: right; -} -.text-center { - text-align: center; -} -.text-justify { - text-align: justify; -} -.text-nowrap { - white-space: nowrap; -} -.text-lowercase { - text-transform: lowercase; -} -.text-uppercase { - text-transform: uppercase; -} -.text-capitalize { - text-transform: capitalize; -} -.text-muted { - color: #777; -} -.text-primary { - color: #393939; -} -a.text-primary:hover { - color: #212121; -} -.text-success { - color: #0FB492; -} -a.text-success:hover { - color: #2b542c; -} -.text-info { - color: #31708f; -} -a.text-info:hover { - color: #245269; -} -.text-warning { - color: #EE7E2A; -} -a.text-warning:hover { - color: #66512c; -} -.text-danger { - color: #E64141; -} -a.text-danger:hover { - color: #843534; -} -.bg-primary { - color: #fff; - background-color: #393939; -} -a.bg-primary:hover { - background-color: #212121; -} -.bg-success { - background-color: #dff0d8; -} -a.bg-success:hover { - background-color: #c1e2b3; -} -.bg-info { - background-color: #d9edf7; -} -a.bg-info:hover { - background-color: #afd9ee; -} -.bg-warning { - background-color: #fcf8e3; -} -a.bg-warning:hover { - background-color: #f7ecb5; -} -.bg-danger { - background-color: #f2dede; -} -a.bg-danger:hover { - background-color: #e4b9b9; -} -.page-header { - margin: 40px 0 20px; - border-bottom: 1px solid #404040; -} -ul, -ol { - margin-top: 0; - margin-bottom: 10px; -} -ul ul, -ol ul, -ul ol, -ol ol { - margin-bottom: 0; -} -.list-unstyled { - padding-left: 0; - list-style: none; -} -.list-inline { - padding-left: 0; - margin-left: -5px; - list-style: none; -} -.list-inline > li { - display: inline-block; - padding-right: 5px; - padding-left: 5px; -} -dl { - margin-top: 0; - margin-bottom: 20px; -} -dt, -dd { - line-height: 1.42857143; -} -dt { - font-weight: bold; -} -dd { - margin-left: 0; -} -@media (min-width: 768px) { - .dl-horizontal dt { - float: left; - width: 160px; - overflow: hidden; - clear: left; - text-align: right; - text-overflow: ellipsis; - white-space: nowrap; - } - .dl-horizontal dd { - margin-left: 180px; - } -} -abbr[title], -abbr[data-original-title] { - cursor: help; - border-bottom: 1px dotted #777; -} -.initialism { - font-size: 90%; - text-transform: uppercase; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 17.5px; - border-left: 5px solid #00AEC8; -} -blockquote p:last-child, -blockquote ul:last-child, -blockquote ol:last-child { - margin-bottom: 0; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #777; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - padding-right: 15px; - padding-left: 0; - text-align: right; - border-right: 5px solid #00AEC8; - border-left: 0; -} -.blockquote-reverse footer:before, -blockquote.pull-right footer:before, -.blockquote-reverse small:before, -blockquote.pull-right small:before, -.blockquote-reverse .small:before, -blockquote.pull-right .small:before { - content: ''; -} -.blockquote-reverse footer:after, -blockquote.pull-right footer:after, -.blockquote-reverse small:after, -blockquote.pull-right small:after, -.blockquote-reverse .small:after, -blockquote.pull-right .small:after { - content: '\00A0 \2014'; -} -blockquote:before, -blockquote:after { - content: ""; -} -address { - margin-bottom: 20px; - font-style: normal; - line-height: 1.42857143; -} -code, -kbd, -pre, -samp { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; -} -code { - padding: 2px 4px; - font-size: 90%; - color: #c7254e; - background-color: #f9f2f4; - border-radius: 4px; -} -kbd { - padding: 2px 4px; - font-size: 90%; - color: #fff; - background-color: #333; - border-radius: 3px; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); -} -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: bold; - -webkit-box-shadow: none; - box-shadow: none; -} -pre { - display: block; - padding: 9.5px; - margin: 0 0 10px; - font-size: 13px; - line-height: 1.42857143; - color: #333; - word-break: break-all; - word-wrap: break-word; - background-color: #f5f5f5; - border: 1px solid #ccc; - border-radius: 4px; -} -pre code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; -} -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} -.container { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} -@media (min-width: 768px) { - .container { - width: 750px; - } -} -@media (min-width: 992px) { - .container { - width: 970px; - } -} -@media (min-width: 1200px) { - .container { - width: 1170px; - } -} -.container-fluid { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} -.row { - margin-right: -15px; - margin-left: -15px; -} -.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { - position: relative; - min-height: 1px; - padding-right: 15px; - padding-left: 15px; -} -.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { - float: left; -} -.col-xs-12 { - width: 100%; -} -.col-xs-11 { - width: 91.66666667%; -} -.col-xs-10 { - width: 83.33333333%; -} -.col-xs-9 { - width: 75%; -} -.col-xs-8 { - width: 66.66666667%; -} -.col-xs-7 { - width: 58.33333333%; -} -.col-xs-6 { - width: 50%; -} -.col-xs-5 { - width: 41.66666667%; -} -.col-xs-4 { - width: 33.33333333%; -} -.col-xs-3 { - width: 25%; -} -.col-xs-2 { - width: 16.66666667%; -} -.col-xs-1 { - width: 8.33333333%; -} -.col-xs-pull-12 { - right: 100%; -} -.col-xs-pull-11 { - right: 91.66666667%; -} -.col-xs-pull-10 { - right: 83.33333333%; -} -.col-xs-pull-9 { - right: 75%; -} -.col-xs-pull-8 { - right: 66.66666667%; -} -.col-xs-pull-7 { - right: 58.33333333%; -} -.col-xs-pull-6 { - right: 50%; -} -.col-xs-pull-5 { - right: 41.66666667%; -} -.col-xs-pull-4 { - right: 33.33333333%; -} -.col-xs-pull-3 { - right: 25%; -} -.col-xs-pull-2 { - right: 16.66666667%; -} -.col-xs-pull-1 { - right: 8.33333333%; -} -.col-xs-pull-0 { - right: auto; -} -.col-xs-push-12 { - left: 100%; -} -.col-xs-push-11 { - left: 91.66666667%; -} -.col-xs-push-10 { - left: 83.33333333%; -} -.col-xs-push-9 { - left: 75%; -} -.col-xs-push-8 { - left: 66.66666667%; -} -.col-xs-push-7 { - left: 58.33333333%; -} -.col-xs-push-6 { - left: 50%; -} -.col-xs-push-5 { - left: 41.66666667%; -} -.col-xs-push-4 { - left: 33.33333333%; -} -.col-xs-push-3 { - left: 25%; -} -.col-xs-push-2 { - left: 16.66666667%; -} -.col-xs-push-1 { - left: 8.33333333%; -} -.col-xs-push-0 { - left: auto; -} -.col-xs-offset-12 { - margin-left: 100%; -} -.col-xs-offset-11 { - margin-left: 91.66666667%; -} -.col-xs-offset-10 { - margin-left: 83.33333333%; -} -.col-xs-offset-9 { - margin-left: 75%; -} -.col-xs-offset-8 { - margin-left: 66.66666667%; -} -.col-xs-offset-7 { - margin-left: 58.33333333%; -} -.col-xs-offset-6 { - margin-left: 50%; -} -.col-xs-offset-5 { - margin-left: 41.66666667%; -} -.col-xs-offset-4 { - margin-left: 33.33333333%; -} -.col-xs-offset-3 { - margin-left: 25%; -} -.col-xs-offset-2 { - margin-left: 16.66666667%; -} -.col-xs-offset-1 { - margin-left: 8.33333333%; -} -.col-xs-offset-0 { - margin-left: 0; -} -@media (min-width: 768px) { - .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { - float: left; - } - .col-sm-12 { - width: 100%; - } - .col-sm-11 { - width: 91.66666667%; - } - .col-sm-10 { - width: 83.33333333%; - } - .col-sm-9 { - width: 75%; - } - .col-sm-8 { - width: 66.66666667%; - } - .col-sm-7 { - width: 58.33333333%; - } - .col-sm-6 { - width: 50%; - } - .col-sm-5 { - width: 41.66666667%; - } - .col-sm-4 { - width: 33.33333333%; - } - .col-sm-3 { - width: 25%; - } - .col-sm-2 { - width: 16.66666667%; - } - .col-sm-1 { - width: 8.33333333%; - } - .col-sm-pull-12 { - right: 100%; - } - .col-sm-pull-11 { - right: 91.66666667%; - } - .col-sm-pull-10 { - right: 83.33333333%; - } - .col-sm-pull-9 { - right: 75%; - } - .col-sm-pull-8 { - right: 66.66666667%; - } - .col-sm-pull-7 { - right: 58.33333333%; - } - .col-sm-pull-6 { - right: 50%; - } - .col-sm-pull-5 { - right: 41.66666667%; - } - .col-sm-pull-4 { - right: 33.33333333%; - } - .col-sm-pull-3 { - right: 25%; - } - .col-sm-pull-2 { - right: 16.66666667%; - } - .col-sm-pull-1 { - right: 8.33333333%; - } - .col-sm-pull-0 { - right: auto; - } - .col-sm-push-12 { - left: 100%; - } - .col-sm-push-11 { - left: 91.66666667%; - } - .col-sm-push-10 { - left: 83.33333333%; - } - .col-sm-push-9 { - left: 75%; - } - .col-sm-push-8 { - left: 66.66666667%; - } - .col-sm-push-7 { - left: 58.33333333%; - } - .col-sm-push-6 { - left: 50%; - } - .col-sm-push-5 { - left: 41.66666667%; - } - .col-sm-push-4 { - left: 33.33333333%; - } - .col-sm-push-3 { - left: 25%; - } - .col-sm-push-2 { - left: 16.66666667%; - } - .col-sm-push-1 { - left: 8.33333333%; - } - .col-sm-push-0 { - left: auto; - } - .col-sm-offset-12 { - margin-left: 100%; - } - .col-sm-offset-11 { - margin-left: 91.66666667%; - } - .col-sm-offset-10 { - margin-left: 83.33333333%; - } - .col-sm-offset-9 { - margin-left: 75%; - } - .col-sm-offset-8 { - margin-left: 66.66666667%; - } - .col-sm-offset-7 { - margin-left: 58.33333333%; - } - .col-sm-offset-6 { - margin-left: 50%; - } - .col-sm-offset-5 { - margin-left: 41.66666667%; - } - .col-sm-offset-4 { - margin-left: 33.33333333%; - } - .col-sm-offset-3 { - margin-left: 25%; - } - .col-sm-offset-2 { - margin-left: 16.66666667%; - } - .col-sm-offset-1 { - margin-left: 8.33333333%; - } - .col-sm-offset-0 { - margin-left: 0; - } -} -@media (min-width: 992px) { - .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { - float: left; - } - .col-md-12 { - width: 100%; - } - .col-md-11 { - width: 91.66666667%; - } - .col-md-10 { - width: 83.33333333%; - } - .col-md-9 { - width: 75%; - } - .col-md-8 { - width: 66.66666667%; - } - .col-md-7 { - width: 58.33333333%; - } - .col-md-6 { - width: 50%; - } - .col-md-5 { - width: 41.66666667%; - } - .col-md-4 { - width: 33.33333333%; - } - .col-md-3 { - width: 25%; - } - .col-md-2 { - width: 16.66666667%; - } - .col-md-1 { - width: 8.33333333%; - } - .col-md-pull-12 { - right: 100%; - } - .col-md-pull-11 { - right: 91.66666667%; - } - .col-md-pull-10 { - right: 83.33333333%; - } - .col-md-pull-9 { - right: 75%; - } - .col-md-pull-8 { - right: 66.66666667%; - } - .col-md-pull-7 { - right: 58.33333333%; - } - .col-md-pull-6 { - right: 50%; - } - .col-md-pull-5 { - right: 41.66666667%; - } - .col-md-pull-4 { - right: 33.33333333%; - } - .col-md-pull-3 { - right: 25%; - } - .col-md-pull-2 { - right: 16.66666667%; - } - .col-md-pull-1 { - right: 8.33333333%; - } - .col-md-pull-0 { - right: auto; - } - .col-md-push-12 { - left: 100%; - } - .col-md-push-11 { - left: 91.66666667%; - } - .col-md-push-10 { - left: 83.33333333%; - } - .col-md-push-9 { - left: 75%; - } - .col-md-push-8 { - left: 66.66666667%; - } - .col-md-push-7 { - left: 58.33333333%; - } - .col-md-push-6 { - left: 50%; - } - .col-md-push-5 { - left: 41.66666667%; - } - .col-md-push-4 { - left: 33.33333333%; - } - .col-md-push-3 { - left: 25%; - } - .col-md-push-2 { - left: 16.66666667%; - } - .col-md-push-1 { - left: 8.33333333%; - } - .col-md-push-0 { - left: auto; - } - .col-md-offset-12 { - margin-left: 100%; - } - .col-md-offset-11 { - margin-left: 91.66666667%; - } - .col-md-offset-10 { - margin-left: 83.33333333%; - } - .col-md-offset-9 { - margin-left: 75%; - } - .col-md-offset-8 { - margin-left: 66.66666667%; - } - .col-md-offset-7 { - margin-left: 58.33333333%; - } - .col-md-offset-6 { - margin-left: 50%; - } - .col-md-offset-5 { - margin-left: 41.66666667%; - } - .col-md-offset-4 { - margin-left: 33.33333333%; - } - .col-md-offset-3 { - margin-left: 25%; - } - .col-md-offset-2 { - margin-left: 16.66666667%; - } - .col-md-offset-1 { - margin-left: 8.33333333%; - } - .col-md-offset-0 { - margin-left: 0; - } -} -@media (min-width: 1200px) { - .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { - float: left; - } - .col-lg-12 { - width: 100%; - } - .col-lg-11 { - width: 91.66666667%; - } - .col-lg-10 { - width: 83.33333333%; - } - .col-lg-9 { - width: 75%; - } - .col-lg-8 { - width: 66.66666667%; - } - .col-lg-7 { - width: 58.33333333%; - } - .col-lg-6 { - width: 50%; - } - .col-lg-5 { - width: 41.66666667%; - } - .col-lg-4 { - width: 33.33333333%; - } - .col-lg-3 { - width: 25%; - } - .col-lg-2 { - width: 16.66666667%; - } - .col-lg-1 { - width: 8.33333333%; - } - .col-lg-pull-12 { - right: 100%; - } - .col-lg-pull-11 { - right: 91.66666667%; - } - .col-lg-pull-10 { - right: 83.33333333%; - } - .col-lg-pull-9 { - right: 75%; - } - .col-lg-pull-8 { - right: 66.66666667%; - } - .col-lg-pull-7 { - right: 58.33333333%; - } - .col-lg-pull-6 { - right: 50%; - } - .col-lg-pull-5 { - right: 41.66666667%; - } - .col-lg-pull-4 { - right: 33.33333333%; - } - .col-lg-pull-3 { - right: 25%; - } - .col-lg-pull-2 { - right: 16.66666667%; - } - .col-lg-pull-1 { - right: 8.33333333%; - } - .col-lg-pull-0 { - right: auto; - } - .col-lg-push-12 { - left: 100%; - } - .col-lg-push-11 { - left: 91.66666667%; - } - .col-lg-push-10 { - left: 83.33333333%; - } - .col-lg-push-9 { - left: 75%; - } - .col-lg-push-8 { - left: 66.66666667%; - } - .col-lg-push-7 { - left: 58.33333333%; - } - .col-lg-push-6 { - left: 50%; - } - .col-lg-push-5 { - left: 41.66666667%; - } - .col-lg-push-4 { - left: 33.33333333%; - } - .col-lg-push-3 { - left: 25%; - } - .col-lg-push-2 { - left: 16.66666667%; - } - .col-lg-push-1 { - left: 8.33333333%; - } - .col-lg-push-0 { - left: auto; - } - .col-lg-offset-12 { - margin-left: 100%; - } - .col-lg-offset-11 { - margin-left: 91.66666667%; - } - .col-lg-offset-10 { - margin-left: 83.33333333%; - } - .col-lg-offset-9 { - margin-left: 75%; - } - .col-lg-offset-8 { - margin-left: 66.66666667%; - } - .col-lg-offset-7 { - margin-left: 58.33333333%; - } - .col-lg-offset-6 { - margin-left: 50%; - } - .col-lg-offset-5 { - margin-left: 41.66666667%; - } - .col-lg-offset-4 { - margin-left: 33.33333333%; - } - .col-lg-offset-3 { - margin-left: 25%; - } - .col-lg-offset-2 { - margin-left: 16.66666667%; - } - .col-lg-offset-1 { - margin-left: 8.33333333%; - } - .col-lg-offset-0 { - margin-left: 0; - } -} -table { - background-color: transparent; -} -caption { - padding-top: 8px; - padding-bottom: 8px; - color: #777; - text-align: left; -} -th { - text-align: left; -} -.table { - width: 100%; - max-width: 100%; - margin-bottom: 20px; -} -.table > thead > tr > th, -.table > tbody > tr > th, -.table > tfoot > tr > th, -.table > thead > tr > td, -.table > tbody > tr > td, -.table > tfoot > tr > td { - padding: 8px; - line-height: 1.42857143; - vertical-align: top; - border-top: 1px solid rgba(255,255,255,0.09); - font-weight:400; -} -.table > thead > tr > th { - vertical-align: bottom; - border-bottom: 1px solid #555; - font-weight:700; - text-transform:uppercase; -} -.table > caption + thead > tr:first-child > th, -.table > colgroup + thead > tr:first-child > th, -.table > thead:first-child > tr:first-child > th, -.table > caption + thead > tr:first-child > td, -.table > colgroup + thead > tr:first-child > td, -.table > thead:first-child > tr:first-child > td { - border-top: 0; -} -.table > tbody + tbody { - border-top: 2px solid #ddd; -} -.table .table { - background-color: #fff; -} -.table-condensed > thead > tr > th, -.table-condensed > tbody > tr > th, -.table-condensed > tfoot > tr > th, -.table-condensed > thead > tr > td, -.table-condensed > tbody > tr > td, -.table-condensed > tfoot > tr > td { - padding: 5px; -} -.table-bordered { - border: 1px solid rgba(255,255,255,0.09); -} -.table-bordered > thead > tr > th, -.table-bordered > tbody > tr > th, -.table-bordered > tfoot > tr > th, -.table-bordered > thead > tr > td, -.table-bordered > tbody > tr > td, -.table-bordered > tfoot > tr > td { - border: 1px solid rgba(255,255,255,0.09); -} -.table-bordered > thead > tr > th, -.table-bordered > thead > tr > td { - border-bottom-width: 2px; -} -.table-striped > tbody > tr:nth-child(odd) > td, -.table-striped > tbody > tr:nth-child(odd) > th { - background-color: rgba(255,255,255,0.09); -} -.table-hover > tbody > tr:hover > td, -.table-hover > tbody > tr:hover > th { - background-color: #292929; -} -table col[class*="col-"] { - position: static; - display: table-column; - float: none; -} -table td[class*="col-"], -table th[class*="col-"] { - position: static; - display: table-cell; - float: none; -} -.table > thead > tr > td.active, -.table > tbody > tr > td.active, -.table > tfoot > tr > td.active, -.table > thead > tr > th.active, -.table > tbody > tr > th.active, -.table > tfoot > tr > th.active, -.table > thead > tr.active > td, -.table > tbody > tr.active > td, -.table > tfoot > tr.active > td, -.table > thead > tr.active > th, -.table > tbody > tr.active > th, -.table > tfoot > tr.active > th { - background-color: #292929; -} -.table-hover > tbody > tr > td.active:hover, -.table-hover > tbody > tr > th.active:hover, -.table-hover > tbody > tr.active:hover > td, -.table-hover > tbody > tr:hover > .active, -.table-hover > tbody > tr.active:hover > th { - background-color: #e8e8e8; -} -.table > thead > tr > td.success, -.table > tbody > tr > td.success, -.table > tfoot > tr > td.success, -.table > thead > tr > th.success, -.table > tbody > tr > th.success, -.table > tfoot > tr > th.success, -.table > thead > tr.success > td, -.table > tbody > tr.success > td, -.table > tfoot > tr.success > td, -.table > thead > tr.success > th, -.table > tbody > tr.success > th, -.table > tfoot > tr.success > th { - background-color: #0FB492; - color:#fff; -} -.table-hover > tbody > tr > td.success:hover, -.table-hover > tbody > tr > th.success:hover, -.table-hover > tbody > tr.success:hover > td, -.table-hover > tbody > tr:hover > .success, -.table-hover > tbody > tr.success:hover > th { - background-color: #0DA283; -} -.table > thead > tr > td.info, -.table > tbody > tr > td.info, -.table > tfoot > tr > td.info, -.table > thead > tr > th.info, -.table > tbody > tr > th.info, -.table > tfoot > tr > th.info, -.table > thead > tr.info > td, -.table > tbody > tr.info > td, -.table > tfoot > tr.info > td, -.table > thead > tr.info > th, -.table > tbody > tr.info > th, -.table > tfoot > tr.info > th { - background-color: #81519C; - color:#fff; -} -.table-hover > tbody > tr > td.info:hover, -.table-hover > tbody > tr > th.info:hover, -.table-hover > tbody > tr.info:hover > td, -.table-hover > tbody > tr:hover > .info, -.table-hover > tbody > tr.info:hover > th { - background-color: #5A1B7E; -} -.table > thead > tr > td.warning, -.table > tbody > tr > td.warning, -.table > tfoot > tr > td.warning, -.table > thead > tr > th.warning, -.table > tbody > tr > th.warning, -.table > tfoot > tr > th.warning, -.table > thead > tr.warning > td, -.table > tbody > tr.warning > td, -.table > tfoot > tr.warning > td, -.table > thead > tr.warning > th, -.table > tbody > tr.warning > th, -.table > tfoot > tr.warning > th { - background-color: #EE7E2A; - color:#fff; -} -.table-hover > tbody > tr > td.warning:hover, -.table-hover > tbody > tr > th.warning:hover, -.table-hover > tbody > tr.warning:hover > td, -.table-hover > tbody > tr:hover > .warning, -.table-hover > tbody > tr.warning:hover > th { - background-color: #EC971F; -} -.table > thead > tr > td.danger, -.table > tbody > tr > td.danger, -.table > tfoot > tr > td.danger, -.table > thead > tr > th.danger, -.table > tbody > tr > th.danger, -.table > tfoot > tr > th.danger, -.table > thead > tr.danger > td, -.table > tbody > tr.danger > td, -.table > tfoot > tr.danger > td, -.table > thead > tr.danger > th, -.table > tbody > tr.danger > th, -.table > tfoot > tr.danger > th { - background-color: #E64141; - color:#fff; -} -.table-hover > tbody > tr > td.danger:hover, -.table-hover > tbody > tr > th.danger:hover, -.table-hover > tbody > tr.danger:hover > td, -.table-hover > tbody > tr:hover > .danger, -.table-hover > tbody > tr.danger:hover > th { - background-color: #C9302C; -} -@media screen and (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-x: auto; - overflow-y: hidden; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; - border: 1px solid #ddd; - } - .table-responsive > .table { - margin-bottom: 0; - } - .table-responsive > .table > thead > tr > th, - .table-responsive > .table > tbody > tr > th, - .table-responsive > .table > tfoot > tr > th, - .table-responsive > .table > thead > tr > td, - .table-responsive > .table > tbody > tr > td, - .table-responsive > .table > tfoot > tr > td { - white-space: nowrap; - } - .table-responsive > .table-bordered { - border: 0; - } - .table-responsive > .table-bordered > thead > tr > th:first-child, - .table-responsive > .table-bordered > tbody > tr > th:first-child, - .table-responsive > .table-bordered > tfoot > tr > th:first-child, - .table-responsive > .table-bordered > thead > tr > td:first-child, - .table-responsive > .table-bordered > tbody > tr > td:first-child, - .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; - } - .table-responsive > .table-bordered > thead > tr > th:last-child, - .table-responsive > .table-bordered > tbody > tr > th:last-child, - .table-responsive > .table-bordered > tfoot > tr > th:last-child, - .table-responsive > .table-bordered > thead > tr > td:last-child, - .table-responsive > .table-bordered > tbody > tr > td:last-child, - .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; - } - .table-responsive > .table-bordered > tbody > tr:last-child > th, - .table-responsive > .table-bordered > tfoot > tr:last-child > th, - .table-responsive > .table-bordered > tbody > tr:last-child > td, - .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; - } -} -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: 20px; - font-size: 21px; - line-height: inherit; - color: #333; - border: 0; - border-bottom: 1px solid #e5e5e5; -} -label { - display: inline-block; - max-width: 100%; - margin-bottom: 5px; - font-weight: 600; -} -input[type="search"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; - line-height: normal; -} -input[type="file"] { - display: block; -} -input[type="range"] { - display: block; - width: 100%; -} -select[multiple], -select[size] { - height: auto; -} -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -output { - display: block; - padding-top: 7px; - font-size: 14px; - line-height: 1.42857143; - color: #555; -} -.form-control { - display: block; - width: 100%; - height: 42px; - padding: 8px 12px; - font-size: 15px; - line-height: 1.42857143; - color: #999999; - background-color: #3e3e3e; - background-image: none; - border: 1px solid #555555; - border-radius: 0px; - -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; - -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; -} -.form-control:focus { - border-color: #999999; - outline: 0; - -} -.form-control::-moz-placeholder { - color: #777; - opacity: 1; -} -.form-control:-ms-input-placeholder { - color: #777; -} -.form-control::-webkit-input-placeholder { - color: #777; -} -.form-control[disabled], -.form-control[readonly], -fieldset[disabled] .form-control { - cursor: not-allowed; - background-color: #3E3E3E; - opacity: 0.5; -} -textarea.form-control { - height: auto; -} -input[type="search"] { - -webkit-appearance: none; -} -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - line-height: 34px; - line-height: 1.42857143 \0; -} -input[type="date"].input-sm, -input[type="time"].input-sm, -input[type="datetime-local"].input-sm, -input[type="month"].input-sm { - line-height: 30px; -} -input[type="date"].input-lg, -input[type="time"].input-lg, -input[type="datetime-local"].input-lg, -input[type="month"].input-lg { - line-height: 46px; -} -_:-ms-fullscreen, -:root input[type="date"], -_:-ms-fullscreen, -:root input[type="time"], -_:-ms-fullscreen, -:root input[type="datetime-local"], -_:-ms-fullscreen, -:root input[type="month"] { - line-height: 1.42857143; -} -_:-ms-fullscreen.input-sm, -:root input[type="date"].input-sm, -_:-ms-fullscreen.input-sm, -:root input[type="time"].input-sm, -_:-ms-fullscreen.input-sm, -:root input[type="datetime-local"].input-sm, -_:-ms-fullscreen.input-sm, -:root input[type="month"].input-sm { - line-height: 1.5; -} -_:-ms-fullscreen.input-lg, -:root input[type="date"].input-lg, -_:-ms-fullscreen.input-lg, -:root input[type="time"].input-lg, -_:-ms-fullscreen.input-lg, -:root input[type="datetime-local"].input-lg, -_:-ms-fullscreen.input-lg, -:root input[type="month"].input-lg { - line-height: 1.33; -} -.form-group { - margin-bottom: 15px; -} -.radio, -.checkbox { - position: relative; - display: block; - min-height: 20px; - margin-top: 10px; - margin-bottom: 10px; -} -.radio label, -.checkbox label { - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - cursor: pointer; -} -.radio input[type="radio"], -.radio-inline input[type="radio"], -.checkbox input[type="checkbox"], -.checkbox-inline input[type="checkbox"] { - position: absolute; - margin-top: 4px \9; - margin-left: -20px; -} -.radio + .radio, -.checkbox + .checkbox { - margin-top: -5px; -} -.radio-inline, -.checkbox-inline { - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - vertical-align: middle; - cursor: pointer; -} -.radio-inline + .radio-inline, -.checkbox-inline + .checkbox-inline { - margin-top: 0; - margin-left: 10px; -} -input[type="radio"][disabled], -input[type="checkbox"][disabled], -input[type="radio"].disabled, -input[type="checkbox"].disabled, -fieldset[disabled] input[type="radio"], -fieldset[disabled] input[type="checkbox"] { - cursor: not-allowed; -} -.radio-inline.disabled, -.checkbox-inline.disabled, -fieldset[disabled] .radio-inline, -fieldset[disabled] .checkbox-inline { - cursor: not-allowed; -} -.radio.disabled label, -.checkbox.disabled label, -fieldset[disabled] .radio label, -fieldset[disabled] .checkbox label { - cursor: not-allowed; -} -.form-control-static { - padding-top: 7px; - padding-bottom: 7px; - margin-bottom: 0; -} -.form-control-static.input-lg, -.form-control-static.input-sm { - padding-right: 0; - padding-left: 0; -} -.input-sm, -.form-horizontal .form-group-sm .form-control { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 0px; -} -select.input-sm { - height: 30px; - line-height: 30px; -} -textarea.input-sm, -select[multiple].input-sm { - height: auto; -} -.input-lg, -.form-horizontal .form-group-lg .form-control { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 0px; -} -select.input-lg { - height: 46px; - line-height: 46px; -} -textarea.input-lg, -select[multiple].input-lg { - height: auto; -} -.has-feedback { - position: relative; -} -.has-feedback .form-control { - padding-right: 42.5px; -} -.form-control-feedback { - position: absolute; - top: 25px; - right: 0; - z-index: 2; - display: block; - width: 34px; - height: 34px; - line-height: 34px; - text-align: center; -} -.input-lg + .form-control-feedback { - width: 46px; - height: 46px; - line-height: 46px; -} -.input-sm + .form-control-feedback { - width: 30px; - height: 30px; - line-height: 30px; -} -.has-success .help-block, -.has-success .control-label, -.has-success .radio, -.has-success .checkbox, -.has-success .radio-inline, -.has-success .checkbox-inline { - color: #0FB492; -} -.has-success .form-control { - border-color: #0FB492; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -} -.has-success .form-control:focus { - border-color: #0DA283; - -} -.has-success .input-group-addon { - color: #0FB492; - background-color: #dff0d8; - border-color: #0FB492; -} -.has-success .form-control-feedback { - color: #0FB492; -} -.has-warning .help-block, -.has-warning .control-label, -.has-warning .radio, -.has-warning .checkbox, -.has-warning .radio-inline, -.has-warning .checkbox-inline { - color: #EE7E2A; -} -.has-warning .form-control { - border-color: #EE7E2A; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -} -.has-warning .form-control:focus { - border-color: #EC971F; -} -.has-warning .input-group-addon { - color: #EE7E2A; - background-color: #fcf8e3; - border-color: #EE7E2A; -} -.has-warning .form-control-feedback { - color: #EE7E2A; -} -.has-error .help-block, -.has-error .control-label, -.has-error .radio, -.has-error .checkbox, -.has-error .radio-inline, -.has-error .checkbox-inline { - color: #E64141; -} -.has-error .form-control { - border-color: #E64141; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -} -.has-error .form-control:focus { - border-color: #C9302C; - -} -.has-error .input-group-addon { - color: #E64141; - background-color: #f2dede; - border-color: #E64141; -} -.has-error .form-control-feedback { - color: #E64141; -} -.has-feedback label.sr-only ~ .form-control-feedback { - top: 0; -} -.help-block { - display: block; - margin-top: 5px; - margin-bottom: 10px; - color: #737373; -} -@media (min-width: 768px) { - .form-inline .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .form-control-static { - display: inline-block; - } - .form-inline .input-group { - display: inline-table; - vertical-align: middle; - } - .form-inline .input-group .input-group-addon, - .form-inline .input-group .input-group-btn, - .form-inline .input-group .form-control { - width: auto; - } - .form-inline .input-group > .form-control { - width: 100%; - } - .form-inline .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio, - .form-inline .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio label, - .form-inline .checkbox label { - padding-left: 0; - } - .form-inline .radio input[type="radio"], - .form-inline .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; - } - .form-inline .has-feedback .form-control-feedback { - top: 0; - } -} -.form-horizontal .radio, -.form-horizontal .checkbox, -.form-horizontal .radio-inline, -.form-horizontal .checkbox-inline { - padding-top: 7px; - margin-top: 0; - margin-bottom: 0; -} -.form-horizontal .radio, -.form-horizontal .checkbox { - min-height: 27px; -} -.form-horizontal .form-group { - margin-right: -15px; - margin-left: -15px; -} -@media (min-width: 768px) { - .form-horizontal .control-label { - padding-top: 7px; - margin-bottom: 0; - text-align: right; - } -} -.form-horizontal .has-feedback .form-control-feedback { - top: 0; - right: 15px; -} -@media (min-width: 768px) { - .form-horizontal .form-group-lg .control-label { - padding-top: 14.3px; - } -} -@media (min-width: 768px) { - .form-horizontal .form-group-sm .control-label { - padding-top: 6px; - } -} -.btn { - display: inline-block; - padding: 11px 18px; - margin-bottom: 0; - font-size: 14px; - font-weight: normal; - line-height: 1.42857143; - text-align: center; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-image: none; - border: none; - border-radius: 0px !important; -} -.btn:focus, -.btn:active:focus, -.btn.active:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.btn:hover, -.btn:focus { - color: #333; - text-decoration: none; -} -.btn:active, -.btn.active { - background-image: none; - outline: 0; - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); -} -.btn.disabled, -.btn[disabled], -fieldset[disabled] .btn { - pointer-events: none; - cursor: not-allowed; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; - opacity: .65; -} -.btn-default { - color: #fff; - background-color: rgba(255,255,255,0.5); - border:none; -} -.btn-default:hover, -.btn-default:focus, -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - color: #fff; - background-color: rgba(255,255,255,0.6); -} -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - background-image: none; -} -.btn-default.disabled, -.btn-default[disabled], -fieldset[disabled] .btn-default, -.btn-default.disabled:hover, -.btn-default[disabled]:hover, -fieldset[disabled] .btn-default:hover, -.btn-default.disabled:focus, -.btn-default[disabled]:focus, -fieldset[disabled] .btn-default:focus, -.btn-default.disabled.focus, -.btn-default[disabled].focus, -fieldset[disabled] .btn-default.focus, -.btn-default.disabled:active, -.btn-default[disabled]:active, -fieldset[disabled] .btn-default:active, -.btn-default.disabled.active, -.btn-default[disabled].active, -fieldset[disabled] .btn-default.active { - background-color: #ccc; - color:#777; -} -.btn-default .badge { - color: #fff; - background-color: #333; -} -.btn-primary { - color: #fff; - background-color: #00AEC8; -} -.btn-primary:hover, -.btn-primary:focus, -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - color: #fff; - background-color: #0096B8; -} -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - background-image: none; -} -.btn-primary.disabled, -.btn-primary[disabled], -fieldset[disabled] .btn-primary, -.btn-primary.disabled:hover, -.btn-primary[disabled]:hover, -fieldset[disabled] .btn-primary:hover, -.btn-primary.disabled:focus, -.btn-primary[disabled]:focus, -fieldset[disabled] .btn-primary:focus, -.btn-primary.disabled.focus, -.btn-primary[disabled].focus, -fieldset[disabled] .btn-primary.focus, -.btn-primary.disabled:active, -.btn-primary[disabled]:active, -fieldset[disabled] .btn-primary:active, -.btn-primary.disabled.active, -.btn-primary[disabled].active, -fieldset[disabled] .btn-primary.active { - background-color: #00AEC8; -} -.btn-primary .badge { - color: #393939; - background-color: #fff; -} -.btn-success { - color: #fff; - background-color: #0FB492; -} -.btn-success:hover, -.btn-success:focus, -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - color: #fff; - background-color: #0DA283; -} -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - background-image: none; -} -.btn-success.disabled, -.btn-success[disabled], -fieldset[disabled] .btn-success, -.btn-success.disabled:hover, -.btn-success[disabled]:hover, -fieldset[disabled] .btn-success:hover, -.btn-success.disabled:focus, -.btn-success[disabled]:focus, -fieldset[disabled] .btn-success:focus, -.btn-success.disabled.focus, -.btn-success[disabled].focus, -fieldset[disabled] .btn-success.focus, -.btn-success.disabled:active, -.btn-success[disabled]:active, -fieldset[disabled] .btn-success:active, -.btn-success.disabled.active, -.btn-success[disabled].active, -fieldset[disabled] .btn-success.active { - background-color: #0FB492; -} -.btn-success .badge { - color: #0FB492; - background-color: #fff; -} -.btn-info { - color: #fff; - background-color: #81519C; -} -.btn-info:hover, -.btn-info:focus, -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - color: #fff; - background-color: #5A1B7E; -} -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - background-image: none; -} -.btn-info.disabled, -.btn-info[disabled], -fieldset[disabled] .btn-info, -.btn-info.disabled:hover, -.btn-info[disabled]:hover, -fieldset[disabled] .btn-info:hover, -.btn-info.disabled:focus, -.btn-info[disabled]:focus, -fieldset[disabled] .btn-info:focus, -.btn-info.disabled.focus, -.btn-info[disabled].focus, -fieldset[disabled] .btn-info.focus, -.btn-info.disabled:active, -.btn-info[disabled]:active, -fieldset[disabled] .btn-info:active, -.btn-info.disabled.active, -.btn-info[disabled].active, -fieldset[disabled] .btn-info.active { - background-color: #81519C; -} -.btn-info .badge { - color: #81519C; - background-color: #fff; -} -.btn-warning { - color: #fff; - background-color: #EE7E2A; -} -.btn-warning:hover, -.btn-warning:focus, -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - color: #fff; - background-color: #E85400; -} -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - background-image: none; -} -.btn-warning.disabled, -.btn-warning[disabled], -fieldset[disabled] .btn-warning, -.btn-warning.disabled:hover, -.btn-warning[disabled]:hover, -fieldset[disabled] .btn-warning:hover, -.btn-warning.disabled:focus, -.btn-warning[disabled]:focus, -fieldset[disabled] .btn-warning:focus, -.btn-warning.disabled.focus, -.btn-warning[disabled].focus, -fieldset[disabled] .btn-warning.focus, -.btn-warning.disabled:active, -.btn-warning[disabled]:active, -fieldset[disabled] .btn-warning:active, -.btn-warning.disabled.active, -.btn-warning[disabled].active, -fieldset[disabled] .btn-warning.active { - background-color: #EE7E2A; -} -.btn-warning .badge { - color: #EE7E2A; - background-color: #fff; -} -.btn-danger { - color: #fff; - background-color: #E64141; -} -.btn-danger:hover, -.btn-danger:focus, -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - color: #fff; - background-color: #c9302c; -} -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - background-image: none; -} -.btn-danger.disabled, -.btn-danger[disabled], -fieldset[disabled] .btn-danger, -.btn-danger.disabled:hover, -.btn-danger[disabled]:hover, -fieldset[disabled] .btn-danger:hover, -.btn-danger.disabled:focus, -.btn-danger[disabled]:focus, -fieldset[disabled] .btn-danger:focus, -.btn-danger.disabled.focus, -.btn-danger[disabled].focus, -fieldset[disabled] .btn-danger.focus, -.btn-danger.disabled:active, -.btn-danger[disabled]:active, -fieldset[disabled] .btn-danger:active, -.btn-danger.disabled.active, -.btn-danger[disabled].active, -fieldset[disabled] .btn-danger.active { - background-color: #E64141; -} -.btn-danger .badge { - color: #E64141; - background-color: #fff; -} -.btn-link { - font-weight: normal; - color: #9b9b9b; - cursor: pointer; - border-radius: 0; -} -.btn-link, -.btn-link:active, -.btn-link[disabled], -fieldset[disabled] .btn-link { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; -} -.btn-link, -.btn-link:hover, -.btn-link:focus, -.btn-link:active { - border-color: transparent; -} -.btn-link:hover, -.btn-link:focus { - color: #2a6496; - text-decoration: underline; - background-color: transparent; -} -.btn-link[disabled]:hover, -fieldset[disabled] .btn-link:hover, -.btn-link[disabled]:focus, -fieldset[disabled] .btn-link:focus { - color: #777; - text-decoration: none; -} -.btn-lg, -.btn-group-lg > .btn { - padding: 12px 22px; - font-size: 17px; - line-height: 1.33; - border-radius: 4px; -} -.btn-sm, -.btn-group-sm > .btn { - padding: 6px 10px; - font-size: 13px; - line-height: 1.5; - border-radius: 4px; -} -.btn-xs, -.btn-group-xs > .btn { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.btn-block { - display: block; - width: 100%; -} -.btn-block + .btn-block { - margin-top: 5px; -} -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; -} -.fade { - opacity: 0; - -webkit-transition: opacity .15s linear; - -o-transition: opacity .15s linear; - transition: opacity .15s linear; -} -.fade.in { - opacity: 1; -} -.collapse { - display: none; -} -.collapse.in { - display: block; -} -tr.collapse.in { - display: table-row; -} -tbody.collapse.in { - display: table-row-group; -} -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition-timing-function: ease; - -o-transition-timing-function: ease; - transition-timing-function: ease; - -webkit-transition-duration: .35s; - -o-transition-duration: .35s; - transition-duration: .35s; - -webkit-transition-property: height, visibility; - -o-transition-property: height, visibility; - transition-property: height, visibility; -} -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: 4px solid; - border-right: 4px solid transparent; - border-left: 4px solid transparent; -} -.dropdown { - position: relative; -} -.dropdown-toggle:focus { - outline: 0; -} -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; - font-size: 14px; - text-align: left; - list-style: none; - background-color: #313131; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .15); - border-radius: 0px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); - box-shadow: 0 6px 12px rgba(0, 0, 0, .175); -} -.dropdown-menu.pull-right { - right: 0; - left: auto; -} -.dropdown-menu .divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #404040; -} -.dropdown-menu > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: 1.42857143; - color: #9b9b9b; - white-space: nowrap; -} -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus { - color: #fff; - text-decoration: none; - background-color: #4D4D4D; -} -.dropdown-menu > .active > a, -.dropdown-menu > .active > a:hover, -.dropdown-menu > .active > a:focus { - color: #fff; - text-decoration: none; - background-color: #393939; - outline: 0; -} -.dropdown-menu > .disabled > a, -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - color: #777; -} -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - text-decoration: none; - cursor: not-allowed; - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); -} -.open > .dropdown-menu { - display: block; -} -.open > a { - outline: 0; -} -.dropdown-menu-right { - right: 0; - left: auto; -} -.dropdown-menu-left { - right: auto; - left: 0; -} -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: 12px; - line-height: 1.42857143; - color: #777; - white-space: nowrap; -} -.dropdown-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 990; -} -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} -.dropup .caret, -.navbar-fixed-bottom .dropdown .caret { - content: ""; - border-top: 0; - border-bottom: 4px solid; -} -.dropup .dropdown-menu, -.navbar-fixed-bottom .dropdown .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 1px; -} -@media (min-width: 768px) { - .navbar-right .dropdown-menu { - right: 0; - left: auto; - } - .navbar-right .dropdown-menu-left { - right: auto; - left: 0; - } -} -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle; -} -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - float: left; -} -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover, -.btn-group > .btn:focus, -.btn-group-vertical > .btn:focus, -.btn-group > .btn:active, -.btn-group-vertical > .btn:active, -.btn-group > .btn.active, -.btn-group-vertical > .btn.active { - z-index: 2; -} -.btn-group > .btn:focus, -.btn-group-vertical > .btn:focus { - outline: 0; -} -.btn-group .btn + .btn, -.btn-group .btn + .btn-group, -.btn-group .btn-group + .btn, -.btn-group .btn-group + .btn-group { - margin-left: -1px; -} -.btn-toolbar { - margin-left: -5px; -} -.btn-toolbar .btn-group, -.btn-toolbar .input-group { - float: left; -} -.btn-toolbar > .btn, -.btn-toolbar > .btn-group, -.btn-toolbar > .input-group { - margin-left: 5px; -} -.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0; -} -.btn-group > .btn:first-child { - margin-left: 0; -} -.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.btn-group > .btn:last-child:not(:first-child), -.btn-group > .dropdown-toggle:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group > .btn-group { - float: left; -} -.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group > .btn-group:first-child > .btn:last-child, -.btn-group > .btn-group:first-child > .dropdown-toggle { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.btn-group > .btn-group:last-child > .btn:first-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; -} -.btn-group > .btn + .dropdown-toggle { - padding-right: 8px; - padding-left: 8px; -} -.btn-group > .btn-lg + .dropdown-toggle { - padding-right: 12px; - padding-left: 12px; -} -.btn-group.open .dropdown-toggle { - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); -} -.btn-group.open .dropdown-toggle.btn-link { - -webkit-box-shadow: none; - box-shadow: none; -} -.btn .caret { - margin-left: 0; -} -.btn-lg .caret { - border-width: 5px 5px 0; - border-bottom-width: 0; -} -.dropup .btn-lg .caret { - border-width: 0 5px 5px; -} -.btn-group-vertical > .btn, -.btn-group-vertical > .btn-group, -.btn-group-vertical > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; -} -.btn-group-vertical > .btn-group > .btn { - float: none; -} -.btn-group-vertical > .btn + .btn, -.btn-group-vertical > .btn + .btn-group, -.btn-group-vertical > .btn-group + .btn, -.btn-group-vertical > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; -} -.btn-group-vertical > .btn:not(:first-child):not(:last-child) { - border-radius: 0; -} -.btn-group-vertical > .btn:first-child:not(:last-child) { - border-top-right-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn:last-child:not(:first-child) { - border-top-left-radius: 0; - border-top-right-radius: 0; - border-bottom-left-radius: 4px; -} -.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate; -} -.btn-group-justified > .btn, -.btn-group-justified > .btn-group { - display: table-cell; - float: none; - width: 1%; -} -.btn-group-justified > .btn-group .btn { - width: 100%; -} -.btn-group-justified > .btn-group .dropdown-menu { - left: auto; -} -[data-toggle="buttons"] > .btn input[type="radio"], -[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], -[data-toggle="buttons"] > .btn input[type="checkbox"], -[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { - position: absolute; - z-index: -1; - filter: alpha(opacity=0); - opacity: 0; -} -.input-group { - position: relative; - display: table; - border-collapse: separate; -} -.input-group[class*="col-"] { - float: none; - padding-right: 0; - padding-left: 0; -} -.input-group .form-control { - position: relative; - z-index: 2; - float: left; - width: 100%; - margin-bottom: 0; -} -.input-group-lg > .form-control, -.input-group-lg > .input-group-addon, -.input-group-lg > .input-group-btn > .btn { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} -select.input-group-lg > .form-control, -select.input-group-lg > .input-group-addon, -select.input-group-lg > .input-group-btn > .btn { - height: 46px; - line-height: 46px; -} -textarea.input-group-lg > .form-control, -textarea.input-group-lg > .input-group-addon, -textarea.input-group-lg > .input-group-btn > .btn, -select[multiple].input-group-lg > .form-control, -select[multiple].input-group-lg > .input-group-addon, -select[multiple].input-group-lg > .input-group-btn > .btn { - height: auto; -} -.input-group-sm > .form-control, -.input-group-sm > .input-group-addon, -.input-group-sm > .input-group-btn > .btn { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -select.input-group-sm > .form-control, -select.input-group-sm > .input-group-addon, -select.input-group-sm > .input-group-btn > .btn { - height: 30px; - line-height: 30px; -} -textarea.input-group-sm > .form-control, -textarea.input-group-sm > .input-group-addon, -textarea.input-group-sm > .input-group-btn > .btn, -select[multiple].input-group-sm > .form-control, -select[multiple].input-group-sm > .input-group-addon, -select[multiple].input-group-sm > .input-group-btn > .btn { - height: auto; -} -.input-group-addon, -.input-group-btn, -.input-group .form-control { - display: table-cell; -} -.input-group-addon:not(:first-child):not(:last-child), -.input-group-btn:not(:first-child):not(:last-child), -.input-group .form-control:not(:first-child):not(:last-child) { - border-radius: 0; -} -.input-group-addon, -.input-group-btn { - width: 1%; - white-space: nowrap; - vertical-align: middle; -} -.input-group-addon { - padding: 6px 12px; - font-size: 14px; - font-weight: normal; - line-height: 1; - color: #555; - text-align: center; - background-color: #3F3F3F; - border: 1px solid #555555; - border-radius: 0px; -} -.input-group-addon.input-sm { - padding: 5px 10px; - font-size: 12px; - border-radius: 3px; -} -.input-group-addon.input-lg { - padding: 10px 16px; - font-size: 18px; - border-radius: 6px; -} -.input-group-addon input[type="radio"], -.input-group-addon input[type="checkbox"] { - margin-top: 0; -} -.input-group .form-control:first-child, -.input-group-addon:first-child, -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group > .btn, -.input-group-btn:first-child > .dropdown-toggle, -.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.input-group-addon:first-child { - border-right: 0; -} -.input-group .form-control:last-child, -.input-group-addon:last-child, -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group > .btn, -.input-group-btn:last-child > .dropdown-toggle, -.input-group-btn:first-child > .btn:not(:first-child), -.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.input-group-addon:last-child { - border-left: 0; -} -.input-group-btn { - position: relative; - font-size: 0; - white-space: nowrap; -} -.input-group-btn > .btn { - position: relative; -} -.input-group-btn > .btn + .btn { - margin-left: -1px; -} -.input-group-btn > .btn:hover, -.input-group-btn > .btn:focus, -.input-group-btn > .btn:active { - z-index: 2; -} -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group { - margin-right: -1px; -} -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group { - margin-left: -1px; -} -.nav { - padding-left: 0; - margin-bottom: 0; - list-style: none; -} -.nav > li { - position: relative; - display: block; -} -.nav > li > a { - position: relative; - display: block; - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - text-decoration: none; - background-color: #404040; - color:#fff; -} -.nav > li.disabled > a { - color: #777; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #777; - text-decoration: none; - cursor: not-allowed; - background-color: transparent; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: rgba(255, 255, 255, 0.05); - border-color: #393939; -} -.nav .nav-divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.nav > li > a > img { - max-width: none; -} -.nav-tabs { - border-bottom: 5px solid #00AEC8; -} -.nav-tabs > li { - float: left; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border-radius: 4px 4px 0 0; -} -.nav-tabs > li > a:hover { - border:none; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #fff; - cursor: default; - background-color: #00AEC8; - border:none; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: 0; -} -.nav-tabs.nav-justified > li { - float: none; -} -.nav-tabs.nav-justified > li > a { - margin-bottom: 5px; - text-align: center; -} -.nav-tabs.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-tabs.nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs.nav-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs.nav-justified > .active > a, -.nav-tabs.nav-justified > .active > a:hover, -.nav-tabs.nav-justified > .active > a:focus { - border: 1px solid #ddd; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #ddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs.nav-justified > .active > a, - .nav-tabs.nav-justified > .active > a:hover, - .nav-tabs.nav-justified > .active > a:focus { - border-bottom-color: #fff; - } -} -.nav-pills > li { - float: left; -} -.nav-pills > li > a { - border-radius: 4px; -} -.nav-pills > li + li { - margin-left: 2px; -} -.nav-pills > li.active > a, -.nav-pills > li.active > a:hover, -.nav-pills > li.active > a:focus { - color: #fff; - background-color: #00AEC8; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - margin-bottom: 5px; - text-align: center; -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs-justified { - border-bottom: 0; -} -.nav-tabs-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs-justified > .active > a, -.nav-tabs-justified > .active > a:hover, -.nav-tabs-justified > .active > a:focus { - border: 1px solid #ddd; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #ddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs-justified > .active > a, - .nav-tabs-justified > .active > a:hover, - .nav-tabs-justified > .active > a:focus { - border-bottom-color: #fff; - } -} -.tab-content > .tab-pane { - display: none; -} -.tab-content > .active { - display: block; -} -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.navbar { - position: relative; - min-height: 50px; - margin-bottom: 20px; - border: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 0px; - } -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} -.navbar-collapse { - padding-right: 15px; - padding-left: 15px; - overflow-x: visible; - -webkit-overflow-scrolling: touch; - border-top: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); -} -.navbar-collapse.in { - overflow-y: auto; -} -@media (min-width: 768px) { - .navbar-collapse { - width: auto; - border-top: 0; - -webkit-box-shadow: none; - box-shadow: none; - } - .navbar-collapse.collapse { - display: block !important; - height: auto !important; - padding-bottom: 0; - overflow: visible !important; - } - .navbar-collapse.in { - overflow-y: visible; - } - .navbar-fixed-top .navbar-collapse, - .navbar-static-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - padding-right: 0; - padding-left: 0; - } -} -.navbar-fixed-top .navbar-collapse, -.navbar-fixed-bottom .navbar-collapse { - max-height: 340px; -} -@media (max-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - max-height: 200px; - } -} -.container > .navbar-header, -.container-fluid > .navbar-header, -.container > .navbar-collapse, -.container-fluid > .navbar-collapse { - margin-right: -15px; - margin-left: -15px; -} -@media (min-width: 768px) { - .container > .navbar-header, - .container-fluid > .navbar-header, - .container > .navbar-collapse, - .container-fluid > .navbar-collapse { - margin-right: 0; - margin-left: 0; - } -} -.navbar-static-top { - z-index: 1000; - border-width: 0 0 1px; -} -@media (min-width: 768px) { - .navbar-static-top { - border-radius: 0; - } -} -.navbar-fixed-top, -.navbar-fixed-bottom { - position: fixed; - right: 0; - left: 0; - z-index: 1030; - -webkit-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -@media (min-width: 768px) { - .navbar-fixed-top, - .navbar-fixed-bottom { - border-radius: 0; - } -} -.navbar-fixed-top { - top: 0; - border-width: 0 0 1px; -} -.navbar-fixed-bottom { - bottom: 0; - margin-bottom: 0; - border-width: 1px 0 0; -} -.navbar-brand { - float: left; - height: 50px; - padding: 15px 15px; - font-size: 18px; - line-height: 25px; -} -.navbar-brand:hover, -.navbar-brand:focus { - text-decoration: none; -} -@media (min-width: 768px) { - .navbar > .container .navbar-brand, - .navbar > .container-fluid .navbar-brand { - margin-left: -15px; - } -} -.navbar-toggle { - position: relative; - float: right; - padding: 9px 10px; - margin-top: 8px; - margin-right: 15px; - margin-bottom: 8px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 4px; -} -.navbar-toggle:focus { - outline: 0; -} -.navbar-toggle .icon-bar { - display: block; - width: 22px; - height: 2px; - border-radius: 1px; -} -.navbar-toggle .icon-bar + .icon-bar { - margin-top: 4px; -} -@media (min-width: 768px) { - .navbar-toggle { - display: none; - } -} -.navbar-nav { - margin: 7.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; - font-size:13px; - text-transform:uppercase; - font-weight:600; -} -@media (max-width: 767px) { - .navbar-nav .open .dropdown-menu { - position: static; - float: none; - width: auto; - margin-top: 0; - background-color: transparent; - border: 0; - -webkit-box-shadow: none; - box-shadow: none; - } - .navbar-nav .open .dropdown-menu > li > a, - .navbar-nav .open .dropdown-menu .dropdown-header { - padding: 5px 15px 5px 25px; - } - .navbar-nav .open .dropdown-menu > li > a { - line-height: 20px; - } - .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-nav .open .dropdown-menu > li > a:focus { - background-image: none; - } -} -@media (min-width: 768px) { - .navbar-nav { - float: left; - margin: 0; - } - .navbar-nav > li { - float: left; - text-align:center; - min-width:80px; - } - .navbar-nav > li > a { - padding-top: 15px; - padding-bottom: 15px; - } - .navbar-nav.navbar-right:last-child { - margin-right: -15px; - } -} -@media (min-width: 768px) { - .navbar-left { - float: left !important; - } - .navbar-right { - float: right !important; - } -} -.navbar-form { - padding: 10px 15px; - margin-top: 10px !important; - margin-right: -15px; - margin-bottom: 10px !important; - margin-left: -15px; - border-top: 1px solid transparent; - border-bottom: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); -} -@media (min-width: 768px) { - .navbar-form .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .navbar-form .form-control-static { - display: inline-block; - } - .navbar-form .input-group { - display: inline-table; - vertical-align: middle; - } - .navbar-form .input-group .input-group-addon, - .navbar-form .input-group .input-group-btn, - .navbar-form .input-group .form-control { - width: auto; - } - .navbar-form .input-group > .form-control { - width: 100%; - } - .navbar-form .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio, - .navbar-form .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio label, - .navbar-form .checkbox label { - padding-left: 0; - } - .navbar-form .radio input[type="radio"], - .navbar-form .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; - } - .navbar-form .has-feedback .form-control-feedback { - top: 0; - } -} -@media (max-width: 767px) { - .navbar-form .form-group { - margin-bottom: 5px; - } - -} -@media (min-width: 768px) { - .navbar-form { - width: auto; - padding-top: 0; - padding-bottom: 0; - margin-right: 0; - margin-left: 0; - border: 0; - -webkit-box-shadow: none; - box-shadow: none; - } - .navbar-form.navbar-right:last-child { - margin-right: -15px; - } -} -.navbar-nav > li > .dropdown-menu { - margin-top: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.navbar-btn { - margin-top: 8px; - margin-bottom: 8px; -} -.navbar-btn.btn-sm { - margin-top: 10px; - margin-bottom: 10px; -} -.navbar-btn.btn-xs { - margin-top: 14px; - margin-bottom: 14px; -} -.navbar-text { - margin-top: 15px; - margin-bottom: 15px; -} -@media (min-width: 768px) { - .navbar-text { - float: left; - margin-right: 15px; - margin-left: 15px; - } - .navbar-text.navbar-right:last-child { - margin-right: 0; - } -} -.navbar-default { - background-color: #00AEC8; - border: none; -} -.navbar-default .navbar-brand { - color: #fff; -} -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #fff; - background-color: transparent; -} -.navbar-default .navbar-text { - color: #fff; -} -.navbar-default .navbar-nav > li > a { - color: #fff; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #fff; - background-color: rgba(0,0,0,0.05); - -webkit-box-shadow: inset 0px -5px 0px 0px #434343; - -moz-box-shadow: inset 0px -5px 0px 0px #434343; - box-shadow: inset 0px -5px 0px 0px #434343; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #fff; - background-color: rgba(0,0,0,0.1); - -webkit-box-shadow: inset 0px -5px 0px 0px #434343; - -moz-box-shadow: inset 0px -5px 0px 0px #434343; - box-shadow: inset 0px -5px 0px 0px #434343; -} -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #ccc; - background-color: transparent; -} -.navbar-default .navbar-toggle { - border-color: #ddd; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: rgba(0,0,0,0.2); -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #fff; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #e7e7e7; -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - color: #fff; - background-color: rgba(0, 0, 0, 0.1); -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #777; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #333; - background-color: transparent; - } - .navbar-default .navbar-nav .open .dropdown-menu > .active > a, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #555; - background-color: #e7e7e7; - } - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #ccc; - background-color: transparent; - } -} -.navbar-default .navbar-link { - color: #777; -} -.navbar-default .navbar-link:hover { - color: #333; -} -.navbar-default .btn-link { - color: #777; -} -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: #333; -} -.navbar-default .btn-link[disabled]:hover, -fieldset[disabled] .navbar-default .btn-link:hover, -.navbar-default .btn-link[disabled]:focus, -fieldset[disabled] .navbar-default .btn-link:focus { - color: #ccc; -} -.navbar-inverse { - background-color: #393939; - border:none; -} -.navbar-inverse .navbar-brand { - color: #fff; -} -.navbar-inverse .navbar-brand:hover, -.navbar-inverse .navbar-brand:focus { - color: #fff; - background-color: transparent; -} -.navbar-inverse .navbar-text { - color: #777; -} -.navbar-inverse .navbar-nav > li > a { - color: #fff; -} -.navbar-inverse .navbar-nav > li > a:hover, -.navbar-inverse .navbar-nav > li > a:focus { - color: #fff; - background-color: rgba(255,255,255,0.03); - -webkit-box-shadow: inset 0px -5px 0px 0px #00AEC8; - -moz-box-shadow: inset 0px -5px 0px 0px #00AEC8; - box-shadow: inset 0px -5px 0px 0px #00AEC8; -} -.navbar-inverse .navbar-nav > .active > a, -.navbar-inverse .navbar-nav > .active > a:hover, -.navbar-inverse .navbar-nav > .active > a:focus { - color: #fff; - background-color: rgba(255,255,255,0.05); - -webkit-box-shadow: inset 0px -5px 0px 0px #00AEC8; - -moz-box-shadow: inset 0px -5px 0px 0px #00AEC8; - box-shadow: inset 0px -5px 0px 0px #00AEC8; -} -.navbar-inverse .navbar-nav > .disabled > a, -.navbar-inverse .navbar-nav > .disabled > a:hover, -.navbar-inverse .navbar-nav > .disabled > a:focus { - color: #444; - background-color: transparent; -} -.navbar-inverse .navbar-toggle { - border-color: #fff; -} -.navbar-inverse .navbar-toggle:hover, -.navbar-inverse .navbar-toggle:focus { - background-color: #333; -} -.navbar-inverse .navbar-toggle .icon-bar { - background-color: #fff; -} -.navbar-inverse .navbar-collapse, -.navbar-inverse .navbar-form { - border-color: #101010; -} -.navbar-inverse .navbar-nav > .open > a, -.navbar-inverse .navbar-nav > .open > a:hover, -.navbar-inverse .navbar-nav > .open > a:focus { - color: #fff; - background-color: rgba(255, 255, 255, 0.1); -} -@media (max-width: 767px) { - .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { - border-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu .divider { - background-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { - color: #777; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { - color: #fff; - background-color: transparent; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #fff; - background-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #444; - background-color: transparent; - } -} -.navbar-inverse .navbar-link { - color: #777; -} -.navbar-inverse .navbar-link:hover { - color: #fff; -} -.navbar-inverse .btn-link { - color: #777; -} -.navbar-inverse .btn-link:hover, -.navbar-inverse .btn-link:focus { - color: #fff; -} -.navbar-inverse .btn-link[disabled]:hover, -fieldset[disabled] .navbar-inverse .btn-link:hover, -.navbar-inverse .btn-link[disabled]:focus, -fieldset[disabled] .navbar-inverse .btn-link:focus { - color: #444; -} -.breadcrumb { - padding: 8px 15px; - margin-bottom: 20px; - list-style: none; - background-color: rgba(255, 255, 255, 0.04); - border-radius: 4px; - border:1px solid #404040; -} -.breadcrumb > li { - display: inline-block; -} -.breadcrumb > li + li:before { - padding: 0 5px; - color: #ccc; - content: "/\00a0"; -} -.breadcrumb > .active { - color: #fff; -} -.pagination { - display: inline-block; - padding-left: 0; - margin: 20px 0; - border-radius: 4px; -} -.pagination > li { - display: inline; -} -.pagination > li > a, -.pagination > li > span { - position: relative; - float: left; - padding: 6px 12px; - margin-left: -1px; - line-height: 1.42857143; - color: #9b9b9b; - text-decoration: none; - background-color: rgba(255, 255, 255, 0.04); - border: 1px solid #404040; -} -.pagination > li:first-child > a, -.pagination > li:first-child > span { - margin-left: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} -.pagination > li:last-child > a, -.pagination > li:last-child > span { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - color: #fff; - background-color: #404040; - border-color: #404040; -} -.pagination > .active > a, -.pagination > .active > span, -.pagination > .active > a:hover, -.pagination > .active > span:hover, -.pagination > .active > a:focus, -.pagination > .active > span:focus { - z-index: 2; - color: #fff; - cursor: default; - background-color: #404040; - border-color: #404040; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #9b9b9b; - cursor: not-allowed; - background-color: rgba(255, 255, 255, 0.04); - border-color: #404040; -} -.pagination-lg > li > a, -.pagination-lg > li > span { - padding: 10px 16px; - font-size: 18px; -} -.pagination-lg > li:first-child > a, -.pagination-lg > li:first-child > span { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; -} -.pagination-lg > li:last-child > a, -.pagination-lg > li:last-child > span { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; -} -.pagination-sm > li > a, -.pagination-sm > li > span { - padding: 5px 10px; - font-size: 12px; -} -.pagination-sm > li:first-child > a, -.pagination-sm > li:first-child > span { - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; -} -.pagination-sm > li:last-child > a, -.pagination-sm > li:last-child > span { - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} -.pager { - padding-left: 0; - margin: 20px 0; - text-align: center; - list-style: none; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - display: inline-block; - padding: 5px 14px; - background-color: rgba(255, 255, 255, 0.04); - border: 1px solid #404040; - border-radius: 15px; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - background-color: #404040; - color:#fff; -} -.pager .next > a, -.pager .next > span { - float: right; -} -.pager .previous > a, -.pager .previous > span { - float: left; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #777; - cursor: not-allowed; - background-color: rgba(255, 255, 255, 0.04); -} -.label { - display: inline; - padding: .2em .6em .3em; - font-size: 75%; - font-weight: bold; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em; -} -a.label:hover, -a.label:focus { - color: #fff; - text-decoration: none; - cursor: pointer; -} -.label:empty { - display: none; -} -.btn .label { - position: relative; - top: -1px; -} -.label-default { - background-color: #777; -} -.label-default[href]:hover, -.label-default[href]:focus { - background-color: #5e5e5e; -} -.label-primary { - background-color: #00AEC8; -} -.label-primary[href]:hover, -.label-primary[href]:focus { - background-color: #212121; -} -.label-success { - background-color: #0FB492; -} -.label-success[href]:hover, -.label-success[href]:focus { - background-color: #0DA283; -} -.label-info { - background-color: #81519C; -} -.label-info[href]:hover, -.label-info[href]:focus { - background-color: #5A1B7E; -} -.label-warning { - background-color: #EE7E2A; -} -.label-warning[href]:hover, -.label-warning[href]:focus { - background-color: #E85400; -} -.label-danger { - background-color: #E64141; -} -.label-danger[href]:hover, -.label-danger[href]:focus { - background-color: #c9302c; -} -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: 12px; - font-weight: bold; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - background-color: #777; - border-radius: 10px; -} -.badge:empty { - display: none; -} -.btn .badge { - position: relative; - top: -1px; -} -.btn-xs .badge { - top: 0; - padding: 1px 5px; -} -a.badge:hover, -a.badge:focus { - color: #fff; - text-decoration: none; - cursor: pointer; -} -a.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #393939; - background-color: #fff; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.jumbotron { - padding: 30px; - margin-bottom: 30px; - color: inherit; - background-color: #404040; -} -.jumbotron h1, -.jumbotron .h1 { - color: inherit; -} -.jumbotron p { - margin-bottom: 15px; - font-size: 21px; - font-weight: 300; -} -.jumbotron > hr { - border-top-color: #d5d5d5; -} -.container .jumbotron { - border-radius: 0px; -} -.jumbotron .container { - max-width: 100%; -} -@media screen and (min-width: 768px) { - .jumbotron { - padding-top: 48px; - padding-bottom: 48px; - } - .container .jumbotron { - padding-right: 60px; - padding-left: 60px; - } - .jumbotron h1, - .jumbotron .h1 { - font-size: 63px; - } -} -.thumbnail { - display: block; - padding: 4px; - margin-bottom: 20px; - line-height: 1.42857143; - background-color: rgba(255, 255, 255, 0.04); - border: 1px solid #404040; - border-radius: 0px; - -webkit-transition: all .2s ease-in-out; - -o-transition: all .2s ease-in-out; - transition: all .2s ease-in-out; -} -.thumbnail > img, -.thumbnail a > img { - margin-right: auto; - margin-left: auto; -} -a.thumbnail:hover, -a.thumbnail:focus, -a.thumbnail.active { - border-color: #393939; -} -.thumbnail .caption { - padding: 9px; - color: #f5f5f5; -} -.alert { - padding: 15px; - margin-bottom: 20px; - border: 1px solid transparent; -} -.alert h4 { - margin-top: 0; - color: inherit; -} -.alert .alert-link { - font-weight: bold; -} -.alert > p, -.alert > ul { - margin-bottom: 0; -} -.alert > p + p { - margin-top: 5px; -} -.alert-dismissable, -.alert-dismissible { - padding-right: 35px; -} -.alert-dismissable .close, -.alert-dismissible .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; -} -.alert-success { - color: #fff; - background-color: #0FB492; - border-color: #0FB492; -} -.alert-success hr { - border-top-color: #c9e2b3; -} -.alert-success .alert-link { - color: #fff; -} -.alert-info { - color: #fff; - background-color: #81519C; - border-color: #81519C; -} -.alert-info hr { - border-top-color: #a6e1ec; -} -.alert-info .alert-link { - color: #fff; -} -.alert-warning { - color: #fff; - background-color: #EE7E2A; - border-color: #EE7E2A; -} -.alert-warning hr { - border-top-color: #f7e1b5; -} -.alert-warning .alert-link { - color: #fff; -} -.alert-danger { - color: #fff; - background-color: #E64141; - border-color: #E64141; -} -.alert-danger hr { - border-top-color: #e4b9c0; -} -.alert-danger .alert-link { - color: #fff; -} -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@-o-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -.progress { - height: 15px; - margin-bottom: 20px; - overflow: hidden; - background-color: #f5f5f5; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); -} -.progress-bar { - float: left; - width: 0; - height: 100%; - font-size: 12px; - line-height: 20px; - color: #fff; - text-align: center; - background-color: #393939; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); - -webkit-transition: width .6s ease; - -o-transition: width .6s ease; - transition: width .6s ease; -} -.progress-striped .progress-bar, -.progress-bar-striped { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - -webkit-background-size: 40px 40px; - background-size: 40px 40px; -} -.progress.active .progress-bar, -.progress-bar.active { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; -} -.progress-bar[aria-valuenow="1"], -.progress-bar[aria-valuenow="2"] { - min-width: 30px; -} -.progress-bar[aria-valuenow="0"] { - min-width: 30px; - color: #777; - background-color: transparent; - background-image: none; - -webkit-box-shadow: none; - box-shadow: none; -} -.progress-bar-success { - background-color: #0FB492; -} -.progress-striped .progress-bar-success { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -} -.progress-bar-info { - background-color: #81519C; -} -.progress-striped .progress-bar-info { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -} -.progress-bar-warning { - background-color: #EE7E2A; -} -.progress-striped .progress-bar-warning { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -} -.progress-bar-danger { - background-color: #E64141; -} -.progress-striped .progress-bar-danger { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -} -.media, -.media-body { - overflow: hidden; - zoom: 1; -} -.media, -.media .media { - margin-top: 15px; -} -.media:first-child { - margin-top: 0; -} -.media-object { - display: block; -} -.media-heading { - margin: 0 0 5px; -} -.media > .pull-left { - margin-right: 10px; -} -.media > .pull-right { - margin-left: 10px; -} -.media-list { - padding-left: 0; - list-style: none; -} -.list-group { - padding-left: 0; - margin-bottom: 20px; -} -.list-group-item { - position: relative; - display: block; - padding: 10px 15px; - margin-bottom: -1px; - background-color: rgba(255, 255, 255, 0.04); - border: 1px solid #404040; -} -.list-group-item:first-child { - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.list-group-item > .badge { - float: right; -} -.list-group-item > .badge + .badge { - margin-right: 5px; -} -a.list-group-item { - color: #9b9b9b; -} -a.list-group-item .list-group-item-heading { - color: #f5f5f5; -} -a.list-group-item:hover, -a.list-group-item:focus { - color: #9b9b9b; - text-decoration: none; - background-color: rgba(255, 255, 255, 0.02); -} -.list-group-item.disabled, -.list-group-item.disabled:hover, -.list-group-item.disabled:focus { - color: #777; - background-color: #eee; -} -.list-group-item.disabled .list-group-item-heading, -.list-group-item.disabled:hover .list-group-item-heading, -.list-group-item.disabled:focus .list-group-item-heading { - color: inherit; -} -.list-group-item.disabled .list-group-item-text, -.list-group-item.disabled:hover .list-group-item-text, -.list-group-item.disabled:focus .list-group-item-text { - color: #777; -} -.list-group-item.active, -.list-group-item.active:hover, -.list-group-item.active:focus { - z-index: 2; - color: #fff; - background-color: #393939; - border-color: #393939; -} -.list-group-item.active .list-group-item-heading, -.list-group-item.active:hover .list-group-item-heading, -.list-group-item.active:focus .list-group-item-heading, -.list-group-item.active .list-group-item-heading > small, -.list-group-item.active:hover .list-group-item-heading > small, -.list-group-item.active:focus .list-group-item-heading > small, -.list-group-item.active .list-group-item-heading > .small, -.list-group-item.active:hover .list-group-item-heading > .small, -.list-group-item.active:focus .list-group-item-heading > .small { - color: inherit; -} -.list-group-item.active .list-group-item-text, -.list-group-item.active:hover .list-group-item-text, -.list-group-item.active:focus .list-group-item-text { - color: #e1edf7; -} -.list-group-item-success { - color: #0FB492; - background-color: #dff0d8; -} -a.list-group-item-success { - color: #0FB492; -} -a.list-group-item-success .list-group-item-heading { - color: inherit; -} -a.list-group-item-success:hover, -a.list-group-item-success:focus { - color: #0FB492; - background-color: #d0e9c6; -} -a.list-group-item-success.active, -a.list-group-item-success.active:hover, -a.list-group-item-success.active:focus { - color: #fff; - background-color: #0FB492; - border-color: #0FB492; -} -.list-group-item-info { - color: #31708f; - background-color: #d9edf7; -} -a.list-group-item-info { - color: #31708f; -} -a.list-group-item-info .list-group-item-heading { - color: inherit; -} -a.list-group-item-info:hover, -a.list-group-item-info:focus { - color: #31708f; - background-color: #c4e3f3; -} -a.list-group-item-info.active, -a.list-group-item-info.active:hover, -a.list-group-item-info.active:focus { - color: #fff; - background-color: #31708f; - border-color: #31708f; -} -.list-group-item-warning { - color: #EE7E2A; - background-color: #fcf8e3; -} -a.list-group-item-warning { - color: #EE7E2A; -} -a.list-group-item-warning .list-group-item-heading { - color: inherit; -} -a.list-group-item-warning:hover, -a.list-group-item-warning:focus { - color: #EE7E2A; - background-color: #faf2cc; -} -a.list-group-item-warning.active, -a.list-group-item-warning.active:hover, -a.list-group-item-warning.active:focus { - color: #fff; - background-color: #EE7E2A; - border-color: #EE7E2A; -} -.list-group-item-danger { - color: #E64141; - background-color: #f2dede; -} -a.list-group-item-danger { - color: #E64141; -} -a.list-group-item-danger .list-group-item-heading { - color: inherit; -} -a.list-group-item-danger:hover, -a.list-group-item-danger:focus { - color: #E64141; - background-color: #ebcccc; -} -a.list-group-item-danger.active, -a.list-group-item-danger.active:hover, -a.list-group-item-danger.active:focus { - color: #fff; - background-color: #E64141; - border-color: #E64141; -} -.list-group-item-heading { - margin-top: 0; - margin-bottom: 5px; -} -.list-group-item-text { - margin-bottom: 0; - line-height: 1.3; -} -.panel { - margin-bottom: 20px; - background-color: rgba(255,255,255,0.04); - border: 1px solid transparent; - border-radius: 0px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); - box-shadow: 0 1px 1px rgba(0, 0, 0, .05); -} -.panel-body { - padding: 15px; -} -.panel-heading { - padding: 10px 15px; - border-bottom: 1px solid transparent; - border-top-left-radius: 0px; - border-top-right-radius: 0px; -} -.panel-heading > .dropdown .dropdown-toggle { - color: inherit; -} -.panel-title { - margin-top: 0; - margin-bottom: 0; - font-size: 16px; - color: inherit; -} -.panel-title > a { - color: inherit; -} -.panel-footer { - padding: 10px 15px; - background-color: #404040; - border-top: 1px solid #404040; - border-bottom-right-radius: 0px; - border-bottom-left-radius: 0px; -} -.panel > .list-group, -.panel > .panel-collapse > .list-group { - margin-bottom: 0; -} -.panel > .list-group .list-group-item, -.panel > .panel-collapse > .list-group .list-group-item { - border-width: 1px 0; - border-radius: 0; -} -.panel > .list-group:first-child .list-group-item:first-child, -.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { - border-top: 0; - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.panel > .list-group:last-child .list-group-item:last-child, -.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { - border-bottom: 0; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel-heading + .list-group .list-group-item:first-child { - border-top-width: 0; -} -.list-group + .panel-footer { - border-top-width: 0; -} -.panel > .table, -.panel > .table-responsive > .table, -.panel > .panel-collapse > .table { - margin-bottom: 0; -} -.panel > .table caption, -.panel > .table-responsive > .table caption, -.panel > .panel-collapse > .table caption { - padding-right: 15px; - padding-left: 15px; -} -.panel > .table:first-child, -.panel > .table-responsive:first-child > .table:first-child { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, -.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { - border-top-left-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, -.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, -.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { - border-top-right-radius: 3px; -} -.panel > .table:last-child, -.panel > .table-responsive:last-child > .table:last-child { - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, -.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, -.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { - border-bottom-right-radius: 3px; -} -.panel > .panel-body + .table, -.panel > .panel-body + .table-responsive, -.panel > .table + .panel-body, -.panel > .table-responsive + .panel-body { - border-top: 1px solid #ddd; -} -.panel > .table > tbody:first-child > tr:first-child th, -.panel > .table > tbody:first-child > tr:first-child td { - border-top: 0; -} -.panel > .table-bordered, -.panel > .table-responsive > .table-bordered { - border: 0; -} -.panel > .table-bordered > thead > tr > th:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, -.panel > .table-bordered > tbody > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, -.panel > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-bordered > thead > tr > td:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, -.panel > .table-bordered > tbody > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, -.panel > .table-bordered > tfoot > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; -} -.panel > .table-bordered > thead > tr > th:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, -.panel > .table-bordered > tbody > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, -.panel > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-bordered > thead > tr > td:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, -.panel > .table-bordered > tbody > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, -.panel > .table-bordered > tfoot > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; -} -.panel > .table-bordered > thead > tr:first-child > td, -.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, -.panel > .table-bordered > tbody > tr:first-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, -.panel > .table-bordered > thead > tr:first-child > th, -.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, -.panel > .table-bordered > tbody > tr:first-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { - border-bottom: 0; -} -.panel > .table-bordered > tbody > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, -.panel > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-bordered > tbody > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, -.panel > .table-bordered > tfoot > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { - border-bottom: 0; -} -.panel > .table-responsive { - margin-bottom: 0; - border: 0; -} -.panel-group { - margin-bottom: 20px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 0px; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group .panel-heading { - border-bottom: 0; -} -.panel-group .panel-heading + .panel-collapse > .panel-body, -.panel-group .panel-heading + .panel-collapse > .list-group { - border-top: 1px solid #ddd; -} -.panel-group .panel-footer { - border-top: 0; -} -.panel-group .panel-footer + .panel-collapse .panel-body { - border-bottom: 1px solid #ddd; -} -.panel-default { - border-color: #404040; -} -.panel-default > .panel-heading { - color: #fff; - background-color: #404040; - border-color: #404040; -} -.panel-default > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #404040; -} -.panel-default > .panel-heading .badge { - color: #f5f5f5; - background-color: #333; -} -.panel-default > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #ddd; -} -.panel-primary { - border-color: #292929; -} -.panel-primary > .panel-heading { - color: #fff; - background-color: #00AEC8; -} -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #393939; -} -.panel-primary > .panel-heading .badge { - color: #393939; - background-color: #fff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #393939; -} -.panel-success { - border-color: #292929; -} -.panel-success > .panel-heading { - color: #fff; - background-color: #0FB492; -} -.panel-success > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #d6e9c6; -} -.panel-success > .panel-heading .badge { - color: #dff0d8; - background-color: #0FB492; -} -.panel-success > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #d6e9c6; -} -.panel-info { - border-color: #292929; -} -.panel-info > .panel-heading { - color: #fff; - background-color: #81519C; -} -.panel-info > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #bce8f1; -} -.panel-info > .panel-heading .badge { - color: #d9edf7; - background-color: #31708f; -} -.panel-info > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #bce8f1; -} -.panel-warning { - border-color: #292929; -} -.panel-warning > .panel-heading { - color: #fff; - background-color: #EE7E2A; -} -.panel-warning > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #292929; -} -.panel-warning > .panel-heading .badge { - color: #fcf8e3; - background-color: #EE7E2A; -} -.panel-warning > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #faebcc; -} -.panel-danger { - border-color: #292929; -} -.panel-danger > .panel-heading { - color: #fff; - background-color: #E64141; -} -.panel-danger > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #292929; -} -.panel-danger > .panel-heading .badge { - color: #f2dede; - background-color: #E64141; -} -.panel-danger > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #ebccd1; -} -.embed-responsive { - position: relative; - display: block; - height: 0; - padding: 0; - overflow: hidden; -} -.embed-responsive .embed-responsive-item, -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; -} -.embed-responsive.embed-responsive-16by9 { - padding-bottom: 56.25%; -} -.embed-responsive.embed-responsive-4by3 { - padding-bottom: 75%; -} -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: rgba(255, 255, 255, 0.04); - border: 1px solid #404040; -} -.well blockquote { - border-color: #ddd; - border-color: rgba(0, 0, 0, .15); -} -.well-lg { - padding: 24px; - border-radius: 0px; -} -.well-sm { - padding: 9px; - border-radius: 0px; -} -.close { - float: right; - font-size: 21px; - font-weight: bold; - line-height: 1; - color: #fff; - text-shadow: 0 1px 0 #fff; - filter: alpha(opacity=20); - opacity: .2; -} -.close:hover, -.close:focus { - color: #ccc; - text-decoration: none; - cursor: pointer; - filter: alpha(opacity=50); - opacity: .5; -} -button.close { - -webkit-appearance: none; - padding: 0; - cursor: pointer; - background: transparent; - border: 0; -} -.modal-open { - overflow: hidden; -} -.modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1050; - display: none; - overflow: hidden; - -webkit-overflow-scrolling: touch; - outline: 0; -} -.modal.fade .modal-dialog { - -webkit-transition: -webkit-transform .3s ease-out; - -o-transition: -o-transform .3s ease-out; - transition: transform .3s ease-out; - -webkit-transform: translate3d(0, -25%, 0); - -o-transform: translate3d(0, -25%, 0); - transform: translate3d(0, -25%, 0); -} -.modal.in .modal-dialog { - -webkit-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto; -} -.modal-dialog { - position: relative; - width: auto; - margin: 10px; -} -.modal-content { - color:#292929; - position: relative; - background-color:#313131; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #404040; - border-radius: 6px; - outline: 0; - -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); - box-shadow: 0 3px 9px rgba(0, 0, 0, .5); -} -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000; -} -.modal-backdrop.fade { - filter: alpha(opacity=0); - opacity: 0; -} -.modal-backdrop.in { - filter: alpha(opacity=50); - opacity: .5; -} -.modal-header { - min-height: 16.42857143px; - padding: 15px; - border-bottom: 1px solid #404040; -} -.modal-header .close { - margin-top: -2px; -} -.modal-title { - margin: 0; - line-height: 1.42857143; -} -.modal-body { - position: relative; - padding: 15px; - color:#9b9b9b; -} -.modal-footer { - padding: 15px; - text-align: right; - border-top: 1px solid #404040; -} -.modal-footer .btn + .btn { - margin-bottom: 0; - margin-left: 5px; -} -.modal-footer .btn-group .btn + .btn { - margin-left: -1px; -} -.modal-footer .btn-block + .btn-block { - margin-left: 0; -} -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} -@media (min-width: 768px) { - .modal-dialog { - width: 600px; - margin: 30px auto; - } - .modal-content { - -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); - box-shadow: 0 5px 15px rgba(0, 0, 0, .5); - } - .modal-sm { - width: 300px; - } -} -@media (min-width: 992px) { - .modal-lg { - width: 900px; - } -} -.tooltip { - position: absolute; - z-index: 1070; - display: block; - font-size: 12px; - line-height: 1.4; - visibility: visible; - filter: alpha(opacity=0); - opacity: 0; -} -.tooltip.in { - filter: alpha(opacity=90); - opacity: .9; -} -.tooltip.top { - padding: 5px 0; - margin-top: -3px; -} -.tooltip.right { - padding: 0 5px; - margin-left: 3px; -} -.tooltip.bottom { - padding: 5px 0; - margin-top: 3px; -} -.tooltip.left { - padding: 0 5px; - margin-left: -3px; -} -.tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #fff; - text-align: center; - text-decoration: none; - background-color: #000; - border-radius: 4px; -} -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-width: 5px 5px 0; - border-top-color: #000; -} -.tooltip.top-left .tooltip-arrow { - bottom: 0; - left: 5px; - border-width: 5px 5px 0; - border-top-color: #000; -} -.tooltip.top-right .tooltip-arrow { - right: 5px; - bottom: 0; - border-width: 5px 5px 0; - border-top-color: #000; -} -.tooltip.right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-width: 5px 5px 5px 0; - border-right-color: #000; -} -.tooltip.left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-width: 5px 0 5px 5px; - border-left-color: #000; -} -.tooltip.bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000; -} -.tooltip.bottom-left .tooltip-arrow { - top: 0; - left: 5px; - border-width: 0 5px 5px; - border-bottom-color: #000; -} -.tooltip.bottom-right .tooltip-arrow { - top: 0; - right: 5px; - border-width: 0 5px 5px; - border-bottom-color: #000; -} -.popover { - color:#292929; - font-size:13px; - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: none; - max-width: 276px; - padding: 1px; - text-align: left; - white-space: normal; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); - box-shadow: 0 5px 10px rgba(0, 0, 0, .2); -} -.popover.top { - margin-top: -10px; -} -.popover.right { - margin-left: 10px; -} -.popover.bottom { - margin-top: 10px; -} -.popover.left { - margin-left: -10px; -} -.popover-title { - padding: 8px 14px; - margin: 0; - font-size: 14px; - font-weight: normal; - line-height: 18px; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-radius: 5px 5px 0 0; -} -.popover-content { - padding: 9px 14px; -} -.popover > .arrow, -.popover > .arrow:after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.popover > .arrow { - border-width: 11px; -} -.popover > .arrow:after { - content: ""; - border-width: 10px; -} -.popover.top > .arrow { - bottom: -11px; - left: 50%; - margin-left: -11px; - border-top-color: #999; - border-top-color: rgba(0, 0, 0, .25); - border-bottom-width: 0; -} -.popover.top > .arrow:after { - bottom: 1px; - margin-left: -10px; - content: " "; - border-top-color: #fff; - border-bottom-width: 0; -} -.popover.right > .arrow { - top: 50%; - left: -11px; - margin-top: -11px; - border-right-color: #999; - border-right-color: rgba(0, 0, 0, .25); - border-left-width: 0; -} -.popover.right > .arrow:after { - bottom: -10px; - left: 1px; - content: " "; - border-right-color: #fff; - border-left-width: 0; -} -.popover.bottom > .arrow { - top: -11px; - left: 50%; - margin-left: -11px; - border-top-width: 0; - border-bottom-color: #999; - border-bottom-color: rgba(0, 0, 0, .25); -} -.popover.bottom > .arrow:after { - top: 1px; - margin-left: -10px; - content: " "; - border-top-width: 0; - border-bottom-color: #fff; -} -.popover.left > .arrow { - top: 50%; - right: -11px; - margin-top: -11px; - border-right-width: 0; - border-left-color: #999; - border-left-color: rgba(0, 0, 0, .25); -} -.popover.left > .arrow:after { - right: 1px; - bottom: -10px; - content: " "; - border-right-width: 0; - border-left-color: #fff; -} -.carousel { - position: relative; -} -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; -} -.carousel-inner > .item { - position: relative; - display: none; - -webkit-transition: .6s ease-in-out left; - -o-transition: .6s ease-in-out left; - transition: .6s ease-in-out left; -} -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - line-height: 1; -} -@media all and (transform-3d), (-webkit-transform-3d) { - .carousel-inner > .item { - -webkit-transition: -webkit-transform .6s ease-in-out; - -o-transition: -o-transform .6s ease-in-out; - transition: transform .6s ease-in-out; - - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-perspective: 1000; - perspective: 1000; - } - .carousel-inner > .item.next, - .carousel-inner > .item.active.right { - left: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } - .carousel-inner > .item.prev, - .carousel-inner > .item.active.left { - left: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } - .carousel-inner > .item.next.left, - .carousel-inner > .item.prev.right, - .carousel-inner > .item.active { - left: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} -.carousel-inner > .active, -.carousel-inner > .next, -.carousel-inner > .prev { - display: block; -} -.carousel-inner > .active { - left: 0; -} -.carousel-inner > .next, -.carousel-inner > .prev { - position: absolute; - top: 0; - width: 100%; -} -.carousel-inner > .next { - left: 100%; -} -.carousel-inner > .prev { - left: -100%; -} -.carousel-inner > .next.left, -.carousel-inner > .prev.right { - left: 0; -} -.carousel-inner > .active.left { - left: -100%; -} -.carousel-inner > .active.right { - left: 100%; -} -.carousel-control { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 15%; - font-size: 20px; - color: #fff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); - filter: alpha(opacity=50); - opacity: .5; -} -.carousel-control.left { - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); - background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); - background-repeat: repeat-x; -} -.carousel-control.right { - right: 0; - left: auto; - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); - background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); - background-repeat: repeat-x; -} -.carousel-control:hover, -.carousel-control:focus { - color: #fff; - text-decoration: none; - filter: alpha(opacity=90); - outline: 0; - opacity: .9; -} -.carousel-control .icon-prev, -.carousel-control .icon-next, -.carousel-control .fa-chevron-left, -.carousel-control .fa-chevron-right { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; -} -.carousel-control .icon-prev, -.carousel-control .fa-chevron-left { - left: 50%; - margin-left: -10px; -} -.carousel-control .icon-next, -.carousel-control .fa-chevron-right { - right: 50%; - margin-right: -10px; -} -.carousel-control .icon-prev, -.carousel-control .icon-next { - width: 20px; - height: 20px; - margin-top: -10px; - font-family: serif; -} -.carousel-control .icon-prev:before { - content: '\2039'; -} -.carousel-control .icon-next:before { - content: '\203a'; -} -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - padding-left: 0; - margin-left: -30%; - text-align: center; - list-style: none; -} -.carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - cursor: pointer; - background-color: #000 \9; - background-color: rgba(0, 0, 0, 0); - border: 1px solid #fff; - border-radius: 10px; -} -.carousel-indicators .active { - width: 12px; - height: 12px; - margin: 0; - background-color: #fff; -} -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); -} -.carousel-caption .btn { - text-shadow: none; -} -@media screen and (min-width: 768px) { - .carousel-control .fa-chevron-left, - .carousel-control .fa-chevron-right, - .carousel-control .icon-prev, - .carousel-control .icon-next { - width: 30px; - height: 30px; - margin-top: -15px; - font-size: 30px; - } - .carousel-control .fa-chevron-left, - .carousel-control .icon-prev { - margin-left: -15px; - } - .carousel-control .fa-chevron-right, - .carousel-control .icon-next { - margin-right: -15px; - } - .carousel-caption { - right: 20%; - left: 20%; - padding-bottom: 30px; - } - .carousel-indicators { - bottom: 20px; - } -} -.clearfix:before, -.clearfix:after, -.dl-horizontal dd:before, -.dl-horizontal dd:after, -.container:before, -.container:after, -.container-fluid:before, -.container-fluid:after, -.row:before, -.row:after, -.form-horizontal .form-group:before, -.form-horizontal .form-group:after, -.btn-toolbar:before, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:before, -.btn-group-vertical > .btn-group:after, -.nav:before, -.nav:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after, -.navbar-collapse:before, -.navbar-collapse:after, -.pager:before, -.pager:after, -.panel-body:before, -.panel-body:after, -.modal-footer:before, -.modal-footer:after { - display: table; - content: " "; -} -.clearfix:after, -.dl-horizontal dd:after, -.container:after, -.container-fluid:after, -.row:after, -.form-horizontal .form-group:after, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:after, -.nav:after, -.navbar:after, -.navbar-header:after, -.navbar-collapse:after, -.pager:after, -.panel-body:after, -.modal-footer:after { - clear: both; -} -.center-block { - display: block; - margin-right: auto; - margin-left: auto; -} -.pull-right { - float: right !important; -} -.pull-left { - float: left !important; -} -.hide { - display: none !important; -} -.show { - display: block !important; -} -.invisible { - visibility: hidden; -} -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} -.hidden { - display: none !important; - visibility: hidden !important; -} -.affix { - position: fixed; - -webkit-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -@-ms-viewport { - width: device-width; -} -.visible-xs, -.visible-sm, -.visible-md, -.visible-lg { - display: none !important; -} -.visible-xs-block, -.visible-xs-inline, -.visible-xs-inline-block, -.visible-sm-block, -.visible-sm-inline, -.visible-sm-inline-block, -.visible-md-block, -.visible-md-inline, -.visible-md-inline-block, -.visible-lg-block, -.visible-lg-inline, -.visible-lg-inline-block { - display: none !important; -} -@media (max-width: 767px) { - .visible-xs { - display: block !important; - } - table.visible-xs { - display: table; - } - tr.visible-xs { - display: table-row !important; - } - th.visible-xs, - td.visible-xs { - display: table-cell !important; - } -} -@media (max-width: 767px) { - .visible-xs-block { - display: block !important; - } -} -@media (max-width: 767px) { - .visible-xs-inline { - display: inline !important; - } -} -@media (max-width: 767px) { - .visible-xs-inline-block { - display: inline-block !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm { - display: block !important; - } - table.visible-sm { - display: table; - } - tr.visible-sm { - display: table-row !important; - } - th.visible-sm, - td.visible-sm { - display: table-cell !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-block { - display: block !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline { - display: inline !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline-block { - display: inline-block !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md { - display: block !important; - } - table.visible-md { - display: table; - } - tr.visible-md { - display: table-row !important; - } - th.visible-md, - td.visible-md { - display: table-cell !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-block { - display: block !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline { - display: inline !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline-block { - display: inline-block !important; - } -} -@media (min-width: 1200px) { - .visible-lg { - display: block !important; - } - table.visible-lg { - display: table; - } - tr.visible-lg { - display: table-row !important; - } - th.visible-lg, - td.visible-lg { - display: table-cell !important; - } -} -@media (min-width: 1200px) { - .visible-lg-block { - display: block !important; - } -} -@media (min-width: 1200px) { - .visible-lg-inline { - display: inline !important; - } -} -@media (min-width: 1200px) { - .visible-lg-inline-block { - display: inline-block !important; - } -} -@media (max-width: 767px) { - .hidden-xs { - display: none !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .hidden-sm { - display: none !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-md { - display: none !important; - } -} -@media (min-width: 1200px) { - .hidden-lg { - display: none !important; - } -} -.visible-print { - display: none !important; -} -@media print { - .visible-print { - display: block !important; - } - table.visible-print { - display: table; - } - tr.visible-print { - display: table-row !important; - } - th.visible-print, - td.visible-print { - display: table-cell !important; - } -} -.visible-print-block { - display: none !important; -} -@media print { - .visible-print-block { - display: block !important; - } -} -.visible-print-inline { - display: none !important; -} -@media print { - .visible-print-inline { - display: inline !important; - } -} -.visible-print-inline-block { - display: none !important; -} -@media print { - .visible-print-inline-block { - display: inline-block !important; - } -} -@media print { - .hidden-print { - display: none !important; - } -}
D assets/css/custom.css

@@ -1,632 +0,0 @@

-body { - font-family: 'Source Sans Pro', sans-serif !important; - color: #9b9b9b ; - font-size: 14px; - background: #292929; -} - -h1, h2, h3, h4, h5, h6 { - font-family: 'Yanone Kaffeesatz', sans-serif; - font-weight: 400; - color: #fff; -} - -code { - padding: 2px 4px; - font-size: 90%; - color: #959999; - background-color: rgba(0, 0, 0, 0.55); - border-radius: 4px; - border: rgb(125, 125, 125) .5px solid; -} - -.table-content { - margin: 12px auto; - - padding-right: 16px; - padding-left: 16px; -} - -input { - background-color: #1c1c1c; - border-color: #0d0d0d; -} - -.theme-logo { - margin: 80px auto; - text-align: center; -} - -.theme-logo .fa { - color: #00AEC8; - font-size: 4em; -} - -.theme-text { - font-size: 56px; - margin-bottom: 30px; - font-family: 'Yanone Kaffeesatz', sans-serif; - color: #fff; - font-weight: 600; -} - -.theme-text h1 { - font-size: 56px; - font-weight: 600; -} - -.theme-text h2 { - font-weight: 600; -} - -.theme-logo .btn-success { - font-size: 18px; - font-weight: 600; - margin-right: 10px; - width: 220px; - line-height: 30px; -} - -.bot-line { - display: block; - height: 4px; - margin: 7px 0 -11px; - width: 70px; - background: #00AEC8; -} - -.has-warning .fa { - color: #EE7E2A; -} - -.has-error .fa { - color: #E64141; -} - -.has-success .fa { - color: #0FB492; -} - -.right-inner-icon { - position: relative; -} - -.right-inner-icon i { - padding: 12px 12px; - pointer-events: none; - position: absolute; - right: 0; - font-size: 18px; -} - -.left-inner-icon { - position: relative; -} - -.left-inner-icon i { - color: #ccc; - padding: 12px 15px; - pointer-events: none; - position: absolute; - font-size: 16px; -} - -.btn-anchor { - margin: 5px 3px; - background: rgba(255, 255, 255, 0.09); -} - -.btn-anchor:hover, -.btn-anchor:focus, -.btn-anchor:active, -.btn-anchor.active, -.open > .dropdown-toggle.btn-success { - color: #fff; - background: #0DA283; -} - -.btn-group .btn { - margin-bottom: 5px; -} - -#source-button { - position: absolute; - top: 0; - right: 0; - z-index: 100; - font-weight: 700; -} - -.bs-example { - position: relative; -} - -.flat-form { - background: rgba(255, 255, 255, 0.04); - padding: 20px; -} - -.flat-form .header { - color: #222; - font-weight: 200; - margin-bottom: 20px; - border-bottom: 1px solid #ccc; - padding-bottom: 20px; -} - -.flat-form .header h3 { - margin-top: 0; - margin-bottom: 0; - font-weight: 200; -} - -.flat-form .header label { - font-weight: 400; -} - -.display-wizard { - background: none repeat scroll 0 0 #fff; - border-bottom: 1px solid #e2e2e2; - border-left: 1px solid #efefef; - border-radius: 3px; - border-right: 1px solid #efefef; - box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.04); - margin-bottom: 40px; - padding: 20px; - position: relative; - transition: padding 500ms ease 0; -} - -.alert-bg-white { - background: rgba(255, 255, 255, 0.04) !important; - border-color: #404040 !important; - color: #9b9b9b !important; - padding-left: 61px; - position: relative; -} - -.alert-bg-white .alert-link { - color: #9b9b9b !important; -} - -.alert-link { - color: #fff; -} - -.alert-bg-white .icon { - border: 1px solid #bdbdbd; - height: 103%; - left: -1px; - padding-top: 15px; - position: absolute; - text-align: center; - top: -1px; - width: 45px; -} - -.alert-bg-white .icon i { - color: #fff; - font-size: 20px; - left: 12px; - margin-top: -10px; - position: absolute; - top: 50%; -} - -.alert-bg-white.alert-primary .icon, .alert-bg-white.alert-primary .icon:after { - background: #00AEC8; - border-color: #00AEC8; -} - -.alert-bg-white.alert-success .icon, .alert-bg-white.alert-success .icon:after { - background: #0FB492; - border-color: #0FB492; -} - -.alert-bg-white.alert-info .icon, .alert-bg-white.alert-info .icon:after { - background: #81519C; - border-color: #81519C; -} - -.alert-bg-white.alert-warning .icon, .alert-bg-white.alert-warning .icon:after { - background: #EE7E2A; - border-color: #EE7E2A; -} - -.alert-bg-white.alert-danger .icon, .alert-bg-white.alert-danger .icon:after { - background: #E64141; - border-color: #E64141; -} - -.alert .icon-sign { - color: rgba(0, 0, 0, 0.2); - display: inline-block; - font-size: 20px; - margin-right: 5px; - text-align: center; - vertical-align: middle; - width: 25px; -} - -.alert-primary { - background: #00AEC8; - color: #fff; - border-color: #00AEC8; -} - -.btn-label { - background: none repeat scroll 0 0 rgba(0, 0, 0, 0.15); - border-radius: 3px 0 0 3px; - display: inline-block; - left: -18px; - padding: 8px 10px; - position: relative; -} - -.btn-labeled { - padding-bottom: 0; - padding-top: 0; -} - -.btn-circle { - border-radius: 15px !important; - font-size: 12px; - height: 30px; - line-height: 1.42857; - padding: 6px 0; - text-align: center; - width: 30px; -} - -.btn-circle.btn-lg { - border-radius: 25px !important; - font-size: 18px; - height: 50px; - line-height: 1.33; - padding: 10px 16px; - width: 50px; -} - -.btn-circle.btn-xl { - border-radius: 35px !important; - font-size: 24px; - height: 70px; - line-height: 1.33; - padding: 10px 16px; - width: 70px; -} - -.ds-btn .fa { - font-size: 47px; -} - -.navbar-nav .fa { - font-size: 16px; - padding-right: 5px; -} - -.navbar-success { - background-color: #0FB492; - border: medium none; -} - -.tab-content { - background: rgba(255, 255, 255, 0.05); - padding: 10px; -} - -.multiple-select .bs-example { - padding-bottom: 10px; - clear: both; -} - -.multiple-select .row { - margin-bottom: 5px; - padding-bottom: 5px; - border-bottom: 1px solid #404040; - height: 80px; - padding-top: 10px; -} - -.multiselect { - margin-bottom: 10px; -} - -.date-time-picker .form-control-dr { - border-radius: 4px; - border: 1px solid #ccc; - padding: 5px; - width: 60%; -} - -/* Fuelux Design */ - -.fuelux #source-button { - z-index: 5000; -} - -.fuelux .wizard { - background: rgba(255, 255, 255, 0.04) !important; - border: 1px solid #404040 !important; -} - -.fuelux .wizard .steps li { - background: #404040 !important; -} - -.fuelux .wizard .steps li .chevron { - border-color: transparent -moz-use-text-color transparent #6B6A6A !important; -} - -.fuelux .wizard .steps li .chevron:before { - border-color: transparent -moz-use-text-color transparent #404040 !important; -} - -.fuelux .wizard .step-content { - border-top: 1px solid #404040 !important; -} - -.fuelux .wizard .steps li:first-child { - border-radius: 0px !important; -} - -.fuelux .wizard .steps li.active .badge { - background-color: #00AEC8 !important; -} - -.fuelux .wizard .steps li.complete { - background: #292929 !important; - color: #0fb492 !important; -} - -.fuelux .wizard .steps li .badge-success { - background: #0FB492 !important; -} - -.fuelux .wizard .steps li.complete .chevron:before { - border-left: 14px solid #292929 !important; -} - -.fuelux .wizard .steps li.active { - color: #fff !important; - background: #6B6A6A !important; -} - -.fuelux .wizard .steps li.active .chevron:before { - border-left: 14px solid #6B6A6A !important; -} - -.wizard .btn { - border: none !important; - padding: 7px 15px; - margin-bottom: 3px; -} - -.fuelux .wizard .actions { - background: #404040 !important; - border-left: none !important; -} - -.btn-labeled { - margin-bottom: 5px; -} - -.navmenu-inverse .navmenu-nav > li > a { - background: #222 !important; -} - -.navmenu-inverse .navmenu-nav .active > a { - background: #000 !important; -} - -.masking-input .form-group { - overflow: hidden; -} - -.left-inner-icon .form-control { - padding-left: 35px; -} - -.btn-label { - left: -19px !important; -} - -.btn-label.btn-label-right { - right: -19px !important; - left: auto !important; -} - -.bootstrap-switch { - border-radius: 20px !important; - min-width: 70px !important; - border: 1px solid #404040 !important; -} - -.bootstrap-switch.bootstrap-switch-small { - min-width: 55px !important; - font-size: 11px !important; -} - -.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary, -.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary { - background: #00AEC8 !important; - border-radius: 20px; -} - -.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info, -.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info { - background: #81519C !important; - border-radius: 20px; -} - -.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success, -.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success { - background: #0FB492 !important; - border-radius: 20px; -} - -.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning, -.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning { - background: #EE7E2A !important; - border-radius: 20px; -} - -.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger, -.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger { - background: #E64141 !important; - border-radius: 20px; -} - -.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default, -.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default { - border-radius: 20px; -} - -.bootstrap-switch .bootstrap-switch-label { - background: none !important; -} - -.bootstrap-switch.bootstrap-switch-large { - min-width: 90px !important; -} - -.input-group-addon.primary { - color: #fff; - background-color: #00AEC8; - border-color: #00AEC8; -} - -.input-group-addon.success { - color: #fff; - background-color: #0FB492; - border-color: #0FB492; -} - -.input-group-addon.info { - color: #fff; - background-color: #EE7E2A; - border-color: #EE7E2A; -} - -.input-group-addon.warning { - color: #fff; - background-color: #EE7E2A; - border-color: #EE7E2A; -} - -.input-group-addon.danger { - color: #fff; - background-color: #E64141; - border-color: #E64141; -} - -.shape { - border-style: solid; - border-width: 0 40px 40px 0; - float: right; - height: 0; - width: 0; - -webkit-transform: rotate(360deg); - -moz-transform: rotate(360deg); - -o-transform: rotate(360deg); - transform: rotate(360deg); -} - -.shape-text { - color: #fff; - font-size: 12px; - font-weight: 700; - position: relative; - right: -22px; - top: -3px; - white-space: nowrap; - -ms-transform: rotate(30deg); - -o-transform: rotate(360deg); - -webkit-transform: rotate(46deg); - transform: rotate(46deg); -} - -.offer { - background: rgba(255, 255, 255, 0.04); - border: 1px solid #ddd; - box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); - margin: 15px 0; - overflow: hidden; -} - -.shape { - border-color: rgba(255, 255, 255, 0) #E64141 rgba(255, 255, 255, 0) rgba(255, 255, 255, 0); -} - -.offer-radius { - border-radius: 7px; -} - -.offer-danger { - border-color: #E64141; -} - -.offer-danger .shape { - border-color: transparent #E64141 transparent transparent; -} - -.offer-success { - border-color: #0FB492; -} - -.offer-success .shape { - border-color: transparent #0FB492 transparent transparent; -} - -.offer-default { - border-color: #ccc; -} - -.offer-default .shape { - border-color: transparent #ccc transparent transparent; -} - -.offer-primary { - border-color: #00AEC8; -} - -.offer-primary .shape { - border-color: transparent #00AEC8 transparent transparent; -} - -.offer-info { - border-color: #81519C; -} - -.offer-info .shape { - border-color: transparent #81519C transparent transparent; -} - -.offer-warning { - border-color: #EE7E2A; -} - -.offer-warning .shape { - border-color: transparent #EE7E2A transparent transparent; -} - -.offer-content { - padding: 0 20px 10px; -} - -.pager li a, .breadcrumb li a { - color: #9b9b9b; -} - -.navmenu-inverse, .navbar-inverse .navbar-offcanvas { - border-color: #404040 !important; -} - -.navmenu-inverse .navmenu-nav > .active > a, .navbar-inverse .navbar-offcanvas .navmenu-nav > .active > a, -.navmenu-inverse .navmenu-nav > .active > a:hover, .navbar-inverse .navbar-offcanvas .navmenu-nav > .active > a:hover, -.navmenu-inverse .navmenu-nav > .active > a:focus, .navbar-inverse .navbar-offcanvas .navmenu-nav > .active > a:focus { - background-color: #404040 !important; -} - - -
D assets/css/table.css

@@ -1,357 +0,0 @@

-/* - * Table styles - */ -table.dataTable { - width: 100%; - margin: 0 auto; - clear: both; - border-collapse: separate; - border-spacing: 0; - /* - * Header and footer styles - */ - /* - * Body styles - */ } -table.dataTable thead th, -table.dataTable tfoot th { - font-weight: bold; } -table.dataTable thead th, -table.dataTable thead td { - padding: 10px 18px; - border-bottom: 1px solid #111111; } -table.dataTable thead th:active, -table.dataTable thead td:active { - outline: none; } -table.dataTable tfoot th, -table.dataTable tfoot td { - padding: 10px 18px 6px 18px; - border-top: 1px solid #111111; } -table.dataTable thead .sorting, -table.dataTable thead .sorting_asc, -table.dataTable thead .sorting_desc, -table.dataTable thead .sorting_asc_disabled, -table.dataTable thead .sorting_desc_disabled { - cursor: pointer; - *cursor: hand; - background-repeat: no-repeat; - background-position: center right; } -table.dataTable thead .sorting { - background-image: url("../images/sort_both.png"); } -table.dataTable thead .sorting_asc { - background-image: url("../images/sort_asc.png"); } -table.dataTable thead .sorting_desc { - background-image: url("../images/sort_desc.png"); } -table.dataTable thead .sorting_asc_disabled { - background-image: url("../images/sort_asc_disabled.png"); } -table.dataTable thead .sorting_desc_disabled { - background-image: url("../images/sort_desc_disabled.png"); } -table.dataTable tbody tr { - background-color: #1c1c1c; } -table.dataTable tbody tr.selected { - background-color: #1a1a1a; } -table.dataTable tbody th, -table.dataTable tbody td { - padding: 8px 10px; } -table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td { - border-top: 1px solid #0d0d0d; } -table.dataTable.row-border tbody tr:first-child th, -table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th, -table.dataTable.display tbody tr:first-child td { - border-top: none; } -table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td { - border-top: 1px solid #0d0d0d; - border-right: 1px solid #0d0d0d; } -table.dataTable.cell-border tbody tr th:first-child, -table.dataTable.cell-border tbody tr td:first-child { - border-left: 1px solid #0d0d0d; } -table.dataTable.cell-border tbody tr:first-child th, -table.dataTable.cell-border tbody tr:first-child td { - border-top: none; } -table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd { - background-color: #1b1b1b; } -table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected { - background-color: #191919; } -table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover { - background-color: #1a1a1a; } -table.dataTable.hover tbody tr:hover.selected, table.dataTable.display tbody tr:hover.selected { - background-color: #191919; } -table.dataTable.order-column tbody tr > .sorting_1, -table.dataTable.order-column tbody tr > .sorting_2, -table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1, -table.dataTable.display tbody tr > .sorting_2, -table.dataTable.display tbody tr > .sorting_3 { - background-color: #1b1b1b; } -table.dataTable.order-column tbody tr.selected > .sorting_1, -table.dataTable.order-column tbody tr.selected > .sorting_2, -table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1, -table.dataTable.display tbody tr.selected > .sorting_2, -table.dataTable.display tbody tr.selected > .sorting_3 { - background-color: #191919; } -table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 { - background-color: #1a1a1a; } -table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 { - background-color: #1a1a1a; } -table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 { - background-color: #1a1a1a; } -table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 { - background-color: #181818; } -table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 { - background-color: #181818; } -table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 { - background-color: #181818; } -table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 { - background-color: #1b1b1b; } -table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 { - background-color: #1b1b1b; } -table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 { - background-color: #1b1b1b; } -table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 { - background-color: #191919; } -table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 { - background-color: #191919; } -table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 { - background-color: #191919; } -table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 { - background-color: #191919; } -table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 { - background-color: #191919; } -table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 { - background-color: #1a1a1a; } -table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 { - background-color: #171717; } -table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 { - background-color: #181818; } -table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 { - background-color: #181818; } -table.dataTable.no-footer { - border-bottom: 1px solid #111111; } -table.dataTable.nowrap th, table.dataTable.nowrap td { - white-space: nowrap; } -table.dataTable.compact thead th, -table.dataTable.compact thead td { - padding: 4px 17px 4px 4px; } -table.dataTable.compact tfoot th, -table.dataTable.compact tfoot td { - padding: 4px; } -table.dataTable.compact tbody th, -table.dataTable.compact tbody td { - padding: 4px; } -table.dataTable th.dt-left, -table.dataTable td.dt-left { - text-align: left; } -table.dataTable th.dt-center, -table.dataTable td.dt-center, -table.dataTable td.dataTables_empty { - text-align: center; } -table.dataTable th.dt-right, -table.dataTable td.dt-right { - text-align: right; } -table.dataTable th.dt-justify, -table.dataTable td.dt-justify { - text-align: justify; } -table.dataTable th.dt-nowrap, -table.dataTable td.dt-nowrap { - white-space: nowrap; } -table.dataTable thead th.dt-head-left, -table.dataTable thead td.dt-head-left, -table.dataTable tfoot th.dt-head-left, -table.dataTable tfoot td.dt-head-left { - text-align: left; } -table.dataTable thead th.dt-head-center, -table.dataTable thead td.dt-head-center, -table.dataTable tfoot th.dt-head-center, -table.dataTable tfoot td.dt-head-center { - text-align: center; } -table.dataTable thead th.dt-head-right, -table.dataTable thead td.dt-head-right, -table.dataTable tfoot th.dt-head-right, -table.dataTable tfoot td.dt-head-right { - text-align: right; } -table.dataTable thead th.dt-head-justify, -table.dataTable thead td.dt-head-justify, -table.dataTable tfoot th.dt-head-justify, -table.dataTable tfoot td.dt-head-justify { - text-align: justify; } -table.dataTable thead th.dt-head-nowrap, -table.dataTable thead td.dt-head-nowrap, -table.dataTable tfoot th.dt-head-nowrap, -table.dataTable tfoot td.dt-head-nowrap { - white-space: nowrap; } -table.dataTable tbody th.dt-body-left, -table.dataTable tbody td.dt-body-left { - text-align: left; } -table.dataTable tbody th.dt-body-center, -table.dataTable tbody td.dt-body-center { - text-align: center; } -table.dataTable tbody th.dt-body-right, -table.dataTable tbody td.dt-body-right { - text-align: right; } -table.dataTable tbody th.dt-body-justify, -table.dataTable tbody td.dt-body-justify { - text-align: justify; } -table.dataTable tbody th.dt-body-nowrap, -table.dataTable tbody td.dt-body-nowrap { - white-space: nowrap; } - -table.dataTable, -table.dataTable th, -table.dataTable td { - box-sizing: content-box; } - -/* - * Control feature layout - */ -.dataTables_wrapper { - position: relative; - clear: both; - *zoom: 1; - zoom: 1; } -.dataTables_wrapper .dataTables_length { - float: left; } -.dataTables_wrapper .dataTables_filter { - float: right; - text-align: right; } -.dataTables_wrapper .dataTables_filter input { - margin-left: 0.5em; } -.dataTables_wrapper .dataTables_info { - clear: both; - float: left; - padding-top: 0.755em; } -.dataTables_wrapper .dataTables_paginate { - float: right; - text-align: right; - padding-top: 0.25em; } -.dataTables_wrapper .dataTables_paginate .paginate_button { - box-sizing: border-box; - display: inline-block; - min-width: 1.5em; - padding: 0.5em 1em; - margin-left: 2px; - text-align: center; - text-decoration: none !important; - cursor: pointer; - *cursor: hand; - color: #f7f7f7 !important; - border: 1px solid transparent; - border-radius: 2px; } -.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { - color: #f7f7f7 !important; - border: 1px solid #121212; - background-color: #9e9e9e; - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #9e9e9e), color-stop(100%, #575757)); - /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #9e9e9e 0%, #575757 100%); - /* Chrome10+,Safari5.1+ */ - background: -moz-linear-gradient(top, #9e9e9e 0%, #575757 100%); - /* FF3.6+ */ - background: -ms-linear-gradient(top, #9e9e9e 0%, #575757 100%); - /* IE10+ */ - background: -o-linear-gradient(top, #9e9e9e 0%, #575757 100%); - /* Opera 11.10+ */ - background: linear-gradient(to bottom, #9e9e9e 0%, #575757 100%); - /* W3C */ } -.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active { - cursor: default; - color: #666 !important; - border: 1px solid transparent; - background: transparent; - box-shadow: none; } -.dataTables_wrapper .dataTables_paginate .paginate_button:hover { - color: white !important; - border: 1px solid whitesmoke; - background-color: white; - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, whitesmoke)); - /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, white 0%, whitesmoke 100%); - /* Chrome10+,Safari5.1+ */ - background: -moz-linear-gradient(top, white 0%, whitesmoke 100%); - /* FF3.6+ */ - background: -ms-linear-gradient(top, white 0%, whitesmoke 100%); - /* IE10+ */ - background: -o-linear-gradient(top, white 0%, whitesmoke 100%); - /* Opera 11.10+ */ - background: linear-gradient(to bottom, white 0%, whitesmoke 100%); - /* W3C */ } -.dataTables_wrapper .dataTables_paginate .paginate_button:active { - outline: none; - background-color: white; - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #f0f0f0)); - /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, white 0%, #f0f0f0 100%); - /* Chrome10+,Safari5.1+ */ - background: -moz-linear-gradient(top, white 0%, #f0f0f0 100%); - /* FF3.6+ */ - background: -ms-linear-gradient(top, white 0%, #f0f0f0 100%); - /* IE10+ */ - background: -o-linear-gradient(top, white 0%, #f0f0f0 100%); - /* Opera 11.10+ */ - background: linear-gradient(to bottom, white 0%, #f0f0f0 100%); - /* W3C */ - box-shadow: inset 0 0 3px #111; } -.dataTables_wrapper .dataTables_paginate .ellipsis { - padding: 0 1em; } -.dataTables_wrapper .dataTables_processing { - position: absolute; - top: 50%; - left: 50%; - width: 100%; - height: 40px; - margin-left: -50%; - margin-top: -25px; - padding-top: 20px; - text-align: center; - font-size: 1.2em; - background-color: white; - background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(28, 28, 28, 0)), color-stop(25%, rgba(28, 28, 28, 0.9)), color-stop(75%, rgba(28, 28, 28, 0.9)), color-stop(100%, rgba(255, 255, 255, 0))); - background: -webkit-linear-gradient(left, rgba(28, 28, 28, 0) 0%, rgba(28, 28, 28, 0.9) 25%, rgba(28, 28, 28, 0.9) 75%, rgba(28, 28, 28, 0) 100%); - background: -moz-linear-gradient(left, rgba(28, 28, 28, 0) 0%, rgba(28, 28, 28, 0.9) 25%, rgba(28, 28, 28, 0.9) 75%, rgba(28, 28, 28, 0) 100%); - background: -ms-linear-gradient(left, rgba(28, 28, 28, 0) 0%, rgba(28, 28, 28, 0.9) 25%, rgba(28, 28, 28, 0.9) 75%, rgba(28, 28, 28, 0) 100%); - background: -o-linear-gradient(left, rgba(28, 28, 28, 0) 0%, rgba(28, 28, 28, 0.9) 25%, rgba(28, 28, 28, 0.9) 75%, rgba(28, 28, 28, 0) 100%); - background: linear-gradient(to right, rgba(28, 28, 28, 0) 0%, rgba(28, 28, 28, 0.9) 25%, rgba(28, 28, 28, 0.9) 75%, rgba(28, 28, 28, 0) 100%); } -.dataTables_wrapper .dataTables_length, -.dataTables_wrapper .dataTables_filter, -.dataTables_wrapper .dataTables_info, -.dataTables_wrapper .dataTables_processing, -.dataTables_wrapper .dataTables_paginate { - color: #f7f7f7; } -.dataTables_wrapper .dataTables_scroll { - clear: both; } -.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody { - *margin-top: -1px; - -webkit-overflow-scrolling: touch; } -.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td { - vertical-align: middle; } -.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th > div.dataTables_sizing, -.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td > div.dataTables_sizing, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th > div.dataTables_sizing, -.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td > div.dataTables_sizing { - height: 0; - overflow: hidden; - margin: 0 !important; - padding: 0 !important; } -.dataTables_wrapper.no-footer .dataTables_scrollBody { - border-bottom: 1px solid #111111; } -.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable, -.dataTables_wrapper.no-footer div.dataTables_scrollBody > table { - border-bottom: none; } -.dataTables_wrapper:after { - visibility: hidden; - display: block; - content: ""; - clear: both; - height: 0; } - -@media screen and (max-width: 767px) { - .dataTables_wrapper .dataTables_info, - .dataTables_wrapper .dataTables_paginate { - float: none; - text-align: center; } - .dataTables_wrapper .dataTables_paginate { - margin-top: 0.5em; } } -@media screen and (max-width: 640px) { - .dataTables_wrapper .dataTables_length, - .dataTables_wrapper .dataTables_filter { - float: none; - text-align: center; } - .dataTables_wrapper .dataTables_filter { - margin-top: 0.5em; } }
M assets/js/app.jsassets/js/app.js

@@ -1,176 +1,247 @@

-$(document).ready( function () { - // Push empty '-' cells to bottom when sorting - const namesType = $.fn.dataTable.absoluteOrder( [ - { value: '-', position: 'bottom' } - ] ); +// Theme switcher component +function themeSwitcher() { + return { + isDark: true, + accentColor: '#6366f1', // Default indigo + showColorPicker: false, + accentColors: [ + { name: 'Red', value: '#e74c3c' }, + { name: 'Blue', value: '#3498db' }, + { name: 'Green', value: '#27ae60' }, + { name: 'Purple', value: '#9b59b6' }, + { name: 'Orange', value: '#f39c12' }, + { name: 'Teal', value: '#1abc9c' }, + { name: 'Pink', value: '#e91e63' }, + { name: 'Indigo', value: '#6366f1' } + ], + init() { + // Check for saved preferences + const savedTheme = localStorage.getItem('theme'); + const savedAccent = localStorage.getItem('accentColor'); - const numbersType = $.fn.dataTable.absoluteOrderNumber( [ - { value: '-', position: 'bottom' } - ] ); + this.isDark = savedTheme ? savedTheme === 'dark' : true; + this.accentColor = savedAccent || '#6366f1'; // Default to indigo - const options = { - ajax: { - url: './trackers.json', - dataSrc: 'trackers' + this.applyTheme(); + this.applyAccentColor(); }, - columns: [ - { data: 'Name' }, - { data: 'Abbreviation' }, - { data: 'Type' }, - { data: 'Codebase' }, - { data: 'Observatory Grade' }, - { data: 'Users' }, - { data: 'Torrents' }, - { data: 'Peers' }, - { data: 'Ratio' }, - { data: 'Ratio Diff' }, - { data: 'Freeleech' }, - { data: 'Points' }, - { data: 'Hit & Run' }, - { data: 'Birthdate' }, - { data: 'Join' }, - { data: 'Join Diff' }, - { data: 'Updated' }, - ], - columnDefs: [ - { - targets: [4, 8, 9, 10, 11, 12, 15], - render: function (data) { + toggleTheme() { + this.isDark = !this.isDark; + this.applyTheme(); + localStorage.setItem('theme', this.isDark ? 'dark' : 'light'); + }, + setAccentColor(color) { + this.accentColor = color; + this.applyAccentColor(); + localStorage.setItem('accentColor', color); + this.showColorPicker = false; + }, + applyTheme() { + document.documentElement.setAttribute('data-theme', this.isDark ? 'dark' : 'light'); + }, + applyAccentColor() { + document.documentElement.style.setProperty('--accent-primary', this.accentColor); - const styleMap = { - 'N/A': { - labelType: 'default', - style: 'color: #9b9b9b;' - }, - 'Easy': { - labelType: 'default', - style: 'color: #0FB492;' - }, - 'Moderate': { - labelType: 'default', - style: 'color: #EE7E2A;' - }, - 'Tough': { - labelType: 'default', - style: 'color: #E64141;' - }, - 'Unreasonable': { - labelType: 'default', - style: 'color: #720f0f;' - }, - 'Yes': { - labelType: 'default', - style: 'color: #50992a;' - }, - 'No': { - labelType: 'default', - style: 'color: #a05262;' - }, - 'A +': { - labelType: 'success', - style: 'border: #0FB492 .5px solid; color: #9b9b9b;' - }, - 'A': { - labelType: 'success', - style: 'border: #0FB492 .5px solid; color: #9b9b9b;' - }, - 'A -': { - labelType: 'success', - style: 'border: #0FB492 .5px solid; color: #9b9b9b;' - }, - 'B +': { - labelType: 'primary', - style: 'border: #00AEC8 .5px solid; color: #9b9b9b;' - }, - 'B': { - labelType: 'primary', - style: 'border: #00AEC8 .5px solid; color: #9b9b9b;' - }, - 'B -': { - labelType: 'primary', - style: 'border: #00AEC8 .5px solid; color: #9b9b9b;' - }, - 'C +': { - labelType: 'warning', - style: 'border: #81519C .5px solid; color: #9b9b9b;' - }, - 'C': { - labelType: 'warning', - style: 'border: #81519C .5px solid; color: #9b9b9b;' - }, - 'C -': { - labelType: 'warning', - style: 'border: #81519C .5px solid; color: #9b9b9b;' - }, - 'D +': { - labelType: 'info', - style: 'border: #EE7E2A .5px solid; color: #9b9b9b;' - }, - 'D': { - labelType: 'info', - style: 'border: #EE7E2A .5px solid; color: #9b9b9b;' - }, - 'D -': { - labelType: 'info', - style: 'border: #EE7E2A .5px solid; color: #9b9b9b;' - }, - 'F': { - labelType: 'danger', - style: 'border: #E64141 .5px solid; color: #9b9b9b;' - } - }; + // Calculate complementary colors based on the accent + const hex = this.accentColor.replace('#', ''); + const r = parseInt(hex.substr(0, 2), 16); + const g = parseInt(hex.substr(2, 2), 16); + const b = parseInt(hex.substr(4, 2), 16); + + // Create rgba variants for gradients and hover effects + document.documentElement.style.setProperty('--accent-rgb', `${r}, ${g}, ${b}`); + document.documentElement.style.setProperty('--hover-bg', `rgba(${r}, ${g}, ${b}, 0.05)`); + + // Update all gradient variants + document.documentElement.style.setProperty('--gradient-red', + `linear-gradient(135deg, rgba(${r}, ${g}, ${b}, 0.1) 0%, rgba(${r}, ${g}, ${b}, 0.05) 100%)`); + document.documentElement.style.setProperty('--gradient-header', + `linear-gradient(135deg, rgba(${r}, ${g}, ${b}, 0.1) 0%, rgba(${r}, ${g}, ${b}, 0.05) 100%)`); + + // Update icon glow effect + document.documentElement.style.setProperty('--icon-glow', + `drop-shadow(0 0 10px rgba(${r}, ${g}, ${b}, 0.5))`); + + // Update text shadow effects + document.documentElement.style.setProperty('--text-glow', + `0 0 10px rgba(${r}, ${g}, ${b}, 0.5)`); + } + } +} + +// AlpineJS component for main tracker table +function trackerTable() { + return { + trackers: [], + search: '', + sortColumn: '', + sortDirection: 'asc', + tooltip: { + show: false, + text: '', + x: 0, + y: 0 + }, + get filteredTrackers() { + let filtered = this.trackers; + + if (this.search) { + const s = this.search.toLowerCase(); + filtered = this.trackers.filter(tracker => + Object.values(tracker).some(v => String(v).toLowerCase().includes(s)) + ); + } + + if (this.sortColumn) { + filtered.sort((a, b) => { + let aVal = a[this.sortColumn] || ''; + let bVal = b[this.sortColumn] || ''; + + // Always put "-" values at the end regardless of sort direction + if (aVal === '-' && bVal !== '-') return 1; + if (bVal === '-' && aVal !== '-') return -1; + if (aVal === '-' && bVal === '-') return 0; - const styles = styleMap[data]; + // Special handling for Mozilla Observatory grades + if (this.sortColumn === 'Observatory Grade') { + aVal = this.parseGrade(aVal); + bVal = this.parseGrade(bVal); + } + // Special handling for numeric values with commas (Users, Torrents, Peers) + else if (['Users', 'Torrents', 'Peers'].includes(this.sortColumn)) { + aVal = this.parseNumber(aVal); + bVal = this.parseNumber(bVal); + } + // Handle other numeric values + else if (!isNaN(aVal) && !isNaN(bVal) && aVal !== '' && bVal !== '') { + aVal = parseFloat(aVal); + bVal = parseFloat(bVal); + } else { + aVal = String(aVal).toLowerCase(); + bVal = String(bVal).toLowerCase(); + } - if (styles){ - const labelType = styles.labelType || 'default'; - const style = styles.style || ''; - return `<span style="display:none">${data}</span><span class="label label-${labelType}" style="background-color: rgba(26, 26, 26, 1); ${style}"> ${data} </span>`; + if (this.sortDirection === 'asc') { + return aVal > bVal ? 1 : -1; + } else { + return aVal < bVal ? 1 : -1; } + }); + } - return data; - } - }, - { - // Sort by descending first for Users, Torrents, Peers and Updated - targets: [5, 6, 7, 16], - orderSequence: [ "desc", "asc" ] - }, - { - targets: [5, 6, 7], - type: numbersType - }, - { - targets: [1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15], - type: namesType - }, - { - targets: [1, 3, 4, 8, 9, 10, 11, 12, 13, 15, 16], - className: 'dt-center' + return filtered; + }, + showTooltip(event, text) { + const rect = event.target.getBoundingClientRect(); + this.tooltip.text = text; + this.tooltip.x = rect.left + rect.width / 2; + this.tooltip.y = rect.top - 10; + this.tooltip.show = true; + }, + hideTooltip() { + this.tooltip.show = false; + }, + parseNumber(value) { + if (!value || value === '-' || value === 'N/A') return Number.NEGATIVE_INFINITY; + // Remove commas and convert to number + const cleaned = String(value).replace(/,/g, ''); + const num = parseFloat(cleaned); + return isNaN(num) ? Number.NEGATIVE_INFINITY : num; + }, + parseGrade(grade) { + if (!grade || grade === '-' || grade === 'N/A') return Number.POSITIVE_INFINITY; + + // Remove spaces and convert to uppercase for consistent parsing + const cleanGrade = String(grade).replace(/\s+/g, '').toUpperCase(); + + const gradeMap = { + 'A+': 1, + 'A': 2, + 'A-': 3, + 'B+': 4, + 'B': 5, + 'B-': 6, + 'C+': 7, + 'C': 8, + 'C-': 9, + 'D+': 10, + 'D': 11, + 'D-': 12, + 'F': 13 + }; + + return gradeMap[cleanGrade] || Number.POSITIVE_INFINITY; + }, + sortBy(column) { + if (this.sortColumn === column) { + this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc'; + } else { + this.sortColumn = column; + this.sortDirection = 'asc'; + } + }, + async init() { + try { + const res = await fetch('./trackers.json'); + const data = await res.json(); + this.trackers = data.trackers || []; + } catch (error) { + console.error('Error loading trackers:', error); } - ], - paging: false, - responsive: true, - fixedHeader: true, - order: [[ 0, "asc" ]] - }; - const table = $('#table').DataTable(options); + } + } +} + +// AlpineJS component for Jackett table +function jackettTable() { + return { + jackettTrackers: [], + search: '', + sortColumn: '', + sortDirection: 'asc', + get filteredJackettTrackers() { + let filtered = this.jackettTrackers; + + if (this.search) { + const s = this.search.toLowerCase(); + filtered = this.jackettTrackers.filter(tracker => + Object.values(tracker).some(v => String(v).toLowerCase().includes(s)) + ); + } + + if (this.sortColumn) { + filtered.sort((a, b) => { + let aVal = a[this.sortColumn] || ''; + let bVal = b[this.sortColumn] || ''; + aVal = String(aVal).toLowerCase(); + bVal = String(bVal).toLowerCase(); + if (this.sortDirection === 'asc') { + return aVal > bVal ? 1 : -1; + } else { + return aVal < bVal ? 1 : -1; + } + }); + } - const options2 = { - ajax: { - url: './trackers2.json', - dataSrc: 'trackers' + return filtered; + }, + sortJackettBy(column) { + if (this.sortColumn === column) { + this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc'; + } else { + this.sortColumn = column; + this.sortDirection = 'asc'; + } }, - columns: [ - { data: 'name' }, - { data: 'description' }, - { data: 'type' }, - ], - paging: false, - responsive: true, - fixedHeader: true, - order: [[ 0, "asc" ]] - }; - const table2 = $('#table2').DataTable(options2); -} ); + async init() { + try { + const res = await fetch('./trackers2.json'); + const data = await res.json(); + this.jackettTrackers = data.trackers || []; + } catch (error) { + console.error('Error loading Jackett trackers:', error); + } + } + } +}
D assets/js/bootstrap.js

@@ -1,871 +0,0 @@

-/*! - * Bootstrap v3.2.0 (http://getbootstrap.com) - * Copyright 2011-2014 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -if ("undefined" == typeof jQuery) - throw new Error("Bootstrap's JavaScript requires jQuery"); -+function(a) { - "use strict"; - function b() { - var a = document.createElement("bootstrap"), - b = { - WebkitTransition: "webkitTransitionEnd", - MozTransition: "transitionend", - OTransition: "oTransitionEnd otransitionend", - transition: "transitionend" - }; - for (var c in b) - if (void 0 !== a.style[c]) - return { - end: b[c] - }; - return !1 - } - a.fn.emulateTransitionEnd = function(b) { - var c = !1, - d = this; - a(this).one("bsTransitionEnd", function() { - c = !0 - }); - var e = function() { - c || a(d).trigger(a.support.transition.end) - }; - return setTimeout(e, b), this - }, a(function() { - a.support.transition = b(), a.support.transition && (a.event.special.bsTransitionEnd = { - bindType: a.support.transition.end, - delegateType: a.support.transition.end, - handle: function(b) { - return a(b.target).is(this) ? b.handleObj.handler.apply(this, arguments) : void 0 - } - }) - }) -}(jQuery), +function(a) { - "use strict"; - function b(b) { - return this.each(function() { - var c = a(this), - e = c.data("bs.alert"); - e || c.data("bs.alert", e = new d(this)), "string" == typeof b && e[b].call(c) - }) - } - var c = '[data-dismiss="alert"]', - d = function(b) { - a(b).on("click", c, this.close) - }; - d.VERSION = "3.2.0", d.prototype.close = function(b) { - function c() { - f.detach().trigger("closed.bs.alert").remove() - } - var d = a(this), - e = d.attr("data-target"); - e || (e = d.attr("href"), e = e && e.replace(/.*(?=#[^\s]*$)/, "")); - var f = a(e); - b && b.preventDefault(), f.length || (f = d.hasClass("alert") ? d : d.parent()), f.trigger(b = a.Event("close.bs.alert")), b.isDefaultPrevented() || (f.removeClass("in"), a.support.transition && f.hasClass("fade") ? f.one("bsTransitionEnd", c).emulateTransitionEnd(150) : c()) - }; - var e = a.fn.alert; - a.fn.alert = b, a.fn.alert.Constructor = d, a.fn.alert.noConflict = function() { - return a.fn.alert = e, this - }, a(document).on("click.bs.alert.data-api", c, d.prototype.close) -}(jQuery), +function(a) { - "use strict"; - function b(b) { - return this.each(function() { - var d = a(this), - e = d.data("bs.button"), - f = "object" == typeof b && b; - e || d.data("bs.button", e = new c(this, f)), "toggle" == b ? e.toggle() : b && e.setState(b) - }) - } - var c = function(b, d) { - this.$element = a(b), this.options = a.extend({}, c.DEFAULTS, d), this.isLoading = !1 - }; - c.VERSION = "3.2.0", c.DEFAULTS = { - loadingText: "loading..." - }, c.prototype.setState = function(b) { - var c = "disabled", - d = this.$element, - e = d.is("input") ? "val" : "html", - f = d.data(); - b += "Text", null == f.resetText && d.data("resetText", d[e]()), d[e](null == f[b] ? this.options[b] : f[b]), setTimeout(a.proxy(function() { - "loadingText" == b ? (this.isLoading = !0, d.addClass(c).attr(c, c)) : this.isLoading && (this.isLoading = !1, d.removeClass(c).removeAttr(c)) - }, this), 0) - }, c.prototype.toggle = function() { - var a = !0, - b = this.$element.closest('[data-toggle="buttons"]'); - if (b.length) { - var c = this.$element.find("input"); - "radio" == c.prop("type") && (c.prop("checked") && this.$element.hasClass("active") ? a = !1 : b.find(".active").removeClass("active")), a && c.prop("checked", !this.$element.hasClass("active")).trigger("change") - } - a && this.$element.toggleClass("active") - }; - var d = a.fn.button; - a.fn.button = b, a.fn.button.Constructor = c, a.fn.button.noConflict = function() { - return a.fn.button = d, this - }, a(document).on("click.bs.button.data-api", '[data-toggle^="button"]', function(c) { - var d = a(c.target); - d.hasClass("btn") || (d = d.closest(".btn")), b.call(d, "toggle"), c.preventDefault() - }) -}(jQuery), +function(a) { - "use strict"; - function b(b) { - return this.each(function() { - var d = a(this), - e = d.data("bs.carousel"), - f = a.extend({}, c.DEFAULTS, d.data(), "object" == typeof b && b), - g = "string" == typeof b ? b : f.slide; - e || d.data("bs.carousel", e = new c(this, f)), "number" == typeof b ? e.to(b) : g ? e[g]() : f.interval && e.pause().cycle() - }) - } - var c = function(b, c) { - this.$element = a(b).on("keydown.bs.carousel", a.proxy(this.keydown, this)), this.$indicators = this.$element.find(".carousel-indicators"), this.options = c, this.paused = this.sliding = this.interval = this.$active = this.$items = null, "hover" == this.options.pause && this.$element.on("mouseenter.bs.carousel", a.proxy(this.pause, this)).on("mouseleave.bs.carousel", a.proxy(this.cycle, this)) - }; - c.VERSION = "3.2.0", c.DEFAULTS = { - interval: 5e3, - pause: "hover", - wrap: !0 - }, c.prototype.keydown = function(a) { - switch (a.which) { - case 37: - this.prev(); - break; - case 39: - this.next(); - break; - default: - return - } - a.preventDefault() - }, c.prototype.cycle = function(b) { - return b || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(a.proxy(this.next, this), this.options.interval)), this - }, c.prototype.getItemIndex = function(a) { - return this.$items = a.parent().children(".item"), this.$items.index(a || this.$active) - }, c.prototype.to = function(b) { - var c = this, - d = this.getItemIndex(this.$active = this.$element.find(".item.active")); - return b > this.$items.length - 1 || 0 > b ? void 0 : this.sliding ? this.$element.one("slid.bs.carousel", function() { - c.to(b) - }) : d == b ? this.pause().cycle() : this.slide(b > d ? "next" : "prev", a(this.$items[b])) - }, c.prototype.pause = function(b) { - return b || (this.paused = !0), this.$element.find(".next, .prev").length && a.support.transition && (this.$element.trigger(a.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this - }, c.prototype.next = function() { - return this.sliding ? void 0 : this.slide("next") - }, c.prototype.prev = function() { - return this.sliding ? void 0 : this.slide("prev") - }, c.prototype.slide = function(b, c) { - var d = this.$element.find(".item.active"), - e = c || d[b](), - f = this.interval, - g = "next" == b ? "left" : "right", - h = "next" == b ? "first" : "last", - i = this; - if (!e.length) { - if (!this.options.wrap) - return; - e = this.$element.find(".item")[h]() - } - if (e.hasClass("active")) - return this.sliding = !1; - var j = e[0], - k = a.Event("slide.bs.carousel", { - relatedTarget: j, - direction: g - }); - if (this.$element.trigger(k), !k.isDefaultPrevented()) { - if (this.sliding = !0, f && this.pause(), this.$indicators.length) { - this.$indicators.find(".active").removeClass("active"); - var l = a(this.$indicators.children()[this.getItemIndex(e)]); - l && l.addClass("active") - } - var m = a.Event("slid.bs.carousel", { - relatedTarget: j, - direction: g - }); - return a.support.transition && this.$element.hasClass("slide") ? (e.addClass(b), e[0].offsetWidth, d.addClass(g), e.addClass(g), d.one("bsTransitionEnd", function() { - e.removeClass([b, g].join(" ")).addClass("active"), d.removeClass(["active", g].join(" ")), i.sliding = !1, setTimeout(function() { - i.$element.trigger(m) - }, 0) - }).emulateTransitionEnd(1e3 * d.css("transition-duration").slice(0, -1))) : (d.removeClass("active"), e.addClass("active"), this.sliding = !1, this.$element.trigger(m)), f && this.cycle(), this - } - }; - var d = a.fn.carousel; - a.fn.carousel = b, a.fn.carousel.Constructor = c, a.fn.carousel.noConflict = function() { - return a.fn.carousel = d, this - }, a(document).on("click.bs.carousel.data-api", "[data-slide], [data-slide-to]", function(c) { - var d, - e = a(this), - f = a(e.attr("data-target") || (d = e.attr("href")) && d.replace(/.*(?=#[^\s]+$)/, "")); - if (f.hasClass("carousel")) { - var g = a.extend({}, f.data(), e.data()), - h = e.attr("data-slide-to"); - h && (g.interval = !1), b.call(f, g), h && f.data("bs.carousel").to(h), c.preventDefault() - } - }), a(window).on("load", function() { - a('[data-ride="carousel"]').each(function() { - var c = a(this); - b.call(c, c.data()) - }) - }) -}(jQuery), +function(a) { - "use strict"; - function b(b) { - return this.each(function() { - var d = a(this), - e = d.data("bs.collapse"), - f = a.extend({}, c.DEFAULTS, d.data(), "object" == typeof b && b); - !e && f.toggle && "show" == b && (b = !b), e || d.data("bs.collapse", e = new c(this, f)), "string" == typeof b && e[b]() - }) - } - var c = function(b, d) { - this.$element = a(b), this.options = a.extend({}, c.DEFAULTS, d), this.transitioning = null, this.options.parent && (this.$parent = a(this.options.parent)), this.options.toggle && this.toggle() - }; - c.VERSION = "3.2.0", c.DEFAULTS = { - toggle: !0 - }, c.prototype.dimension = function() { - var a = this.$element.hasClass("width"); - return a ? "width" : "height" - }, c.prototype.show = function() { - if (!this.transitioning && !this.$element.hasClass("in")) { - var c = a.Event("show.bs.collapse"); - if (this.$element.trigger(c), !c.isDefaultPrevented()) { - var d = this.$parent && this.$parent.find("> .panel > .in"); - if (d && d.length) { - var e = d.data("bs.collapse"); - if (e && e.transitioning) - return; - b.call(d, "hide"), e || d.data("bs.collapse", null) - } - var f = this.dimension(); - this.$element.removeClass("collapse").addClass("collapsing")[f](0), this.transitioning = 1; - var g = function() { - this.$element.removeClass("collapsing").addClass("collapse in")[f](""), this.transitioning = 0, this.$element.trigger("shown.bs.collapse") - }; - if (!a.support.transition) - return g.call(this); - var h = a.camelCase(["scroll", f].join("-")); - this.$element.one("bsTransitionEnd", a.proxy(g, this)).emulateTransitionEnd(350)[f](this.$element[0][h]) - } - } - }, c.prototype.hide = function() { - if (!this.transitioning && this.$element.hasClass("in")) { - var b = a.Event("hide.bs.collapse"); - if (this.$element.trigger(b), !b.isDefaultPrevented()) { - var c = this.dimension(); - this.$element[c](this.$element[c]())[0].offsetHeight, this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"), this.transitioning = 1; - var d = function() { - this.transitioning = 0, this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse") - }; - return a.support.transition ? void this.$element[c](0).one("bsTransitionEnd", a.proxy(d, this)).emulateTransitionEnd(350) : d.call(this) - } - } - }, c.prototype.toggle = function() { - this[this.$element.hasClass("in") ? "hide" : "show"]() - }; - var d = a.fn.collapse; - a.fn.collapse = b, a.fn.collapse.Constructor = c, a.fn.collapse.noConflict = function() { - return a.fn.collapse = d, this - }, a(document).on("click.bs.collapse.data-api", '[data-toggle="collapse"]', function(c) { - var d, - e = a(this), - f = e.attr("data-target") || c.preventDefault() || (d = e.attr("href")) && d.replace(/.*(?=#[^\s]+$)/, ""), - g = a(f), - h = g.data("bs.collapse"), - i = h ? "toggle" : e.data(), - j = e.attr("data-parent"), - k = j && a(j); - h && h.transitioning || (k && k.find('[data-toggle="collapse"][data-parent="' + j + '"]').not(e).addClass("collapsed"), e[g.hasClass("in") ? "addClass" : "removeClass"]("collapsed")), b.call(g, i) - }) -}(jQuery), +function(a) { - "use strict"; - function b(b) { - b && 3 === b.which || (a(e).remove(), a(f).each(function() { - var d = c(a(this)), - e = { - relatedTarget: this - }; - d.hasClass("open") && (d.trigger(b = a.Event("hide.bs.dropdown", e)), b.isDefaultPrevented() || d.removeClass("open").trigger("hidden.bs.dropdown", e)) - })) - } - function c(b) { - var c = b.attr("data-target"); - c || (c = b.attr("href"), c = c && /#[A-Za-z]/.test(c) && c.replace(/.*(?=#[^\s]*$)/, "")); - var d = c && a(c); - return d && d.length ? d : b.parent() - } - function d(b) { - return this.each(function() { - var c = a(this), - d = c.data("bs.dropdown"); - d || c.data("bs.dropdown", d = new g(this)), "string" == typeof b && d[b].call(c) - }) - } - var e = ".dropdown-backdrop", - f = '[data-toggle="dropdown"]', - g = function(b) { - a(b).on("click.bs.dropdown", this.toggle) - }; - g.VERSION = "3.2.0", g.prototype.toggle = function(d) { - var e = a(this); - if (!e.is(".disabled, :disabled")) { - var f = c(e), - g = f.hasClass("open"); - if (b(), !g) { - "ontouchstart" in document.documentElement && !f.closest(".navbar-nav").length && a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click", b); - var h = { - relatedTarget: this - }; - if (f.trigger(d = a.Event("show.bs.dropdown", h)), d.isDefaultPrevented()) - return; - e.trigger("focus"), f.toggleClass("open").trigger("shown.bs.dropdown", h) - } - return !1 - } - }, g.prototype.keydown = function(b) { - if (/(38|40|27)/.test(b.keyCode)) { - var d = a(this); - if (b.preventDefault(), b.stopPropagation(), !d.is(".disabled, :disabled")) { - var e = c(d), - g = e.hasClass("open"); - if (!g || g && 27 == b.keyCode) - return 27 == b.which && e.find(f).trigger("focus"), d.trigger("click"); - var h = " li:not(.divider):visible a", - i = e.find('[role="menu"]' + h + ', [role="listbox"]' + h); - if (i.length) { - var j = i.index(i.filter(":focus")); - 38 == b.keyCode && j > 0 && j--, 40 == b.keyCode && j < i.length - 1 && j++, ~j || (j = 0), i.eq(j).trigger("focus") - } - } - } - }; - var h = a.fn.dropdown; - a.fn.dropdown = d, a.fn.dropdown.Constructor = g, a.fn.dropdown.noConflict = function() { - return a.fn.dropdown = h, this - }, a(document).on("click.bs.dropdown.data-api", b).on("click.bs.dropdown.data-api", ".dropdown form", function(a) { - a.stopPropagation() - }).on("click.bs.dropdown.data-api", f, g.prototype.toggle).on("keydown.bs.dropdown.data-api", f + ', [role="menu"], [role="listbox"]', g.prototype.keydown) -}(jQuery), +function(a) { - "use strict"; - function b(b, d) { - return this.each(function() { - var e = a(this), - f = e.data("bs.modal"), - g = a.extend({}, c.DEFAULTS, e.data(), "object" == typeof b && b); - f || e.data("bs.modal", f = new c(this, g)), "string" == typeof b ? f[b](d) : g.show && f.show(d) - }) - } - var c = function(b, c) { - this.options = c, this.$body = a(document.body), this.$element = a(b), this.$backdrop = this.isShown = null, this.scrollbarWidth = 0, this.options.remote && this.$element.find(".modal-content").load(this.options.remote, a.proxy(function() { - this.$element.trigger("loaded.bs.modal") - }, this)) - }; - c.VERSION = "3.2.0", c.DEFAULTS = { - backdrop: !0, - keyboard: !0, - show: !0 - }, c.prototype.toggle = function(a) { - return this.isShown ? this.hide() : this.show(a) - }, c.prototype.show = function(b) { - var c = this, - d = a.Event("show.bs.modal", { - relatedTarget: b - }); - this.$element.trigger(d), this.isShown || d.isDefaultPrevented() || (this.isShown = !0, this.checkScrollbar(), this.$body.addClass("modal-open"), this.setScrollbar(), this.escape(), this.$element.on("click.dismiss.bs.modal", '[data-dismiss="modal"]', a.proxy(this.hide, this)), this.backdrop(function() { - var d = a.support.transition && c.$element.hasClass("fade"); - c.$element.parent().length || c.$element.appendTo(c.$body), c.$element.show().scrollTop(0), d && c.$element[0].offsetWidth, c.$element.addClass("in").attr("aria-hidden", !1), c.enforceFocus(); - var e = a.Event("shown.bs.modal", { - relatedTarget: b - }); - d ? c.$element.find(".modal-dialog").one("bsTransitionEnd", function() { - c.$element.trigger("focus").trigger(e) - }).emulateTransitionEnd(300) : c.$element.trigger("focus").trigger(e) - })) - }, c.prototype.hide = function(b) { - b && b.preventDefault(), b = a.Event("hide.bs.modal"), this.$element.trigger(b), this.isShown && !b.isDefaultPrevented() && (this.isShown = !1, this.$body.removeClass("modal-open"), this.resetScrollbar(), this.escape(), a(document).off("focusin.bs.modal"), this.$element.removeClass("in").attr("aria-hidden", !0).off("click.dismiss.bs.modal"), a.support.transition && this.$element.hasClass("fade") ? this.$element.one("bsTransitionEnd", a.proxy(this.hideModal, this)).emulateTransitionEnd(300) : this.hideModal()) - }, c.prototype.enforceFocus = function() { - a(document).off("focusin.bs.modal").on("focusin.bs.modal", a.proxy(function(a) { - this.$element[0] === a.target || this.$element.has(a.target).length || this.$element.trigger("focus") - }, this)) - }, c.prototype.escape = function() { - this.isShown && this.options.keyboard ? this.$element.on("keyup.dismiss.bs.modal", a.proxy(function(a) { - 27 == a.which && this.hide() - }, this)) : this.isShown || this.$element.off("keyup.dismiss.bs.modal") - }, c.prototype.hideModal = function() { - var a = this; - this.$element.hide(), this.backdrop(function() { - a.$element.trigger("hidden.bs.modal") - }) - }, c.prototype.removeBackdrop = function() { - this.$backdrop && this.$backdrop.remove(), this.$backdrop = null - }, c.prototype.backdrop = function(b) { - var c = this, - d = this.$element.hasClass("fade") ? "fade" : ""; - if (this.isShown && this.options.backdrop) { - var e = a.support.transition && d; - if (this.$backdrop = a('<div class="modal-backdrop ' + d + '" />').appendTo(this.$body), this.$element.on("click.dismiss.bs.modal", a.proxy(function(a) { - a.target === a.currentTarget && ("static" == this.options.backdrop ? this.$element[0].focus.call(this.$element[0]) : this.hide.call(this)) - }, this)), e && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), !b) - return; - e ? this.$backdrop.one("bsTransitionEnd", b).emulateTransitionEnd(150) : b() - } else if (!this.isShown && this.$backdrop) { - this.$backdrop.removeClass("in"); - var f = function() { - c.removeBackdrop(), b && b() - }; - a.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one("bsTransitionEnd", f).emulateTransitionEnd(150) : f() - } else - b && b() - }, c.prototype.checkScrollbar = function() { - document.body.clientWidth >= window.innerWidth || (this.scrollbarWidth = this.scrollbarWidth || this.measureScrollbar()) - }, c.prototype.setScrollbar = function() { - var a = parseInt(this.$body.css("padding-right") || 0, 10); - this.scrollbarWidth && this.$body.css("padding-right", a + this.scrollbarWidth) - }, c.prototype.resetScrollbar = function() { - this.$body.css("padding-right", "") - }, c.prototype.measureScrollbar = function() { - var a = document.createElement("div"); - a.className = "modal-scrollbar-measure", this.$body.append(a); - var b = a.offsetWidth - a.clientWidth; - return this.$body[0].removeChild(a), b - }; - var d = a.fn.modal; - a.fn.modal = b, a.fn.modal.Constructor = c, a.fn.modal.noConflict = function() { - return a.fn.modal = d, this - }, a(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function(c) { - var d = a(this), - e = d.attr("href"), - f = a(d.attr("data-target") || e && e.replace(/.*(?=#[^\s]+$)/, "")), - g = f.data("bs.modal") ? "toggle" : a.extend({ - remote: !/#/.test(e) && e - }, f.data(), d.data()); - d.is("a") && c.preventDefault(), f.one("show.bs.modal", function(a) { - a.isDefaultPrevented() || f.one("hidden.bs.modal", function() { - d.is(":visible") && d.trigger("focus") - }) - }), b.call(f, g, this) - }) -}(jQuery), +function(a) { - "use strict"; - function b(b) { - return this.each(function() { - var d = a(this), - e = d.data("bs.tooltip"), - f = "object" == typeof b && b; - (e || "destroy" != b) && (e || d.data("bs.tooltip", e = new c(this, f)), "string" == typeof b && e[b]()) - }) - } - var c = function(a, b) { - this.type = this.options = this.enabled = this.timeout = this.hoverState = this.$element = null, this.init("tooltip", a, b) - }; - c.VERSION = "3.2.0", c.DEFAULTS = { - animation: !0, - placement: "top", - selector: !1, - template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', - trigger: "hover focus", - title: "", - delay: 0, - html: !1, - container: !1, - viewport: { - selector: "body", - padding: 0 - } - }, c.prototype.init = function(b, c, d) { - this.enabled = !0, this.type = b, this.$element = a(c), this.options = this.getOptions(d), this.$viewport = this.options.viewport && a(this.options.viewport.selector || this.options.viewport); - for (var e = this.options.trigger.split(" "), f = e.length; f--;) { - var g = e[f]; - if ("click" == g) - this.$element.on("click." + this.type, this.options.selector, a.proxy(this.toggle, this)); - else if ("manual" != g) { - var h = "hover" == g ? "mouseenter" : "focusin", - i = "hover" == g ? "mouseleave" : "focusout"; - this.$element.on(h + "." + this.type, this.options.selector, a.proxy(this.enter, this)), this.$element.on(i + "." + this.type, this.options.selector, a.proxy(this.leave, this)) - } - } - this.options.selector ? this._options = a.extend({}, this.options, { - trigger: "manual", - selector: "" - }) : this.fixTitle() - }, c.prototype.getDefaults = function() { - return c.DEFAULTS - }, c.prototype.getOptions = function(b) { - return b = a.extend({}, this.getDefaults(), this.$element.data(), b), b.delay && "number" == typeof b.delay && (b.delay = { - show: b.delay, - hide: b.delay - }), b - }, c.prototype.getDelegateOptions = function() { - var b = {}, - c = this.getDefaults(); - return this._options && a.each(this._options, function(a, d) { - c[a] != d && (b[a] = d) - }), b - }, c.prototype.enter = function(b) { - var c = b instanceof this.constructor ? b : a(b.currentTarget).data("bs." + this.type); - return c || (c = new this.constructor(b.currentTarget, this.getDelegateOptions()), a(b.currentTarget).data("bs." + this.type, c)), clearTimeout(c.timeout), c.hoverState = "in", c.options.delay && c.options.delay.show ? void (c.timeout = setTimeout(function() { - "in" == c.hoverState && c.show() - }, c.options.delay.show)) : c.show() - }, c.prototype.leave = function(b) { - var c = b instanceof this.constructor ? b : a(b.currentTarget).data("bs." + this.type); - return c || (c = new this.constructor(b.currentTarget, this.getDelegateOptions()), a(b.currentTarget).data("bs." + this.type, c)), clearTimeout(c.timeout), c.hoverState = "out", c.options.delay && c.options.delay.hide ? void (c.timeout = setTimeout(function() { - "out" == c.hoverState && c.hide() - }, c.options.delay.hide)) : c.hide() - }, c.prototype.show = function() { - var b = a.Event("show.bs." + this.type); - if (this.hasContent() && this.enabled) { - this.$element.trigger(b); - var c = a.contains(document.documentElement, this.$element[0]); - if (b.isDefaultPrevented() || !c) - return; - var d = this, - e = this.tip(), - f = this.getUID(this.type); - this.setContent(), e.attr("id", f), this.$element.attr("aria-describedby", f), this.options.animation && e.addClass("fade"); - var g = "function" == typeof this.options.placement ? this.options.placement.call(this, e[0], this.$element[0]) : this.options.placement, - h = /\s?auto?\s?/i, - i = h.test(g); - i && (g = g.replace(h, "") || "top"), e.detach().css({ - top: 0, - left: 0, - display: "block" - }).addClass(g).data("bs." + this.type, this), this.options.container ? e.appendTo(this.options.container) : e.insertAfter(this.$element); - var j = this.getPosition(), - k = e[0].offsetWidth, - l = e[0].offsetHeight; - if (i) { - var m = g, - n = this.$element.parent(), - o = this.getPosition(n); - g = "bottom" == g && j.top + j.height + l - o.scroll > o.height ? "top" : "top" == g && j.top - o.scroll - l < 0 ? "bottom" : "right" == g && j.right + k > o.width ? "left" : "left" == g && j.left - k < o.left ? "right" : g, e.removeClass(m).addClass(g) - } - var p = this.getCalculatedOffset(g, j, k, l); - this.applyPlacement(p, g); - var q = function() { - d.$element.trigger("shown.bs." + d.type), d.hoverState = null - }; - a.support.transition && this.$tip.hasClass("fade") ? e.one("bsTransitionEnd", q).emulateTransitionEnd(150) : q() - } - }, c.prototype.applyPlacement = function(b, c) { - var d = this.tip(), - e = d[0].offsetWidth, - f = d[0].offsetHeight, - g = parseInt(d.css("margin-top"), 10), - h = parseInt(d.css("margin-left"), 10); - isNaN(g) && (g = 0), isNaN(h) && (h = 0), b.top = b.top + g, b.left = b.left + h, a.offset.setOffset(d[0], a.extend({ - using: function(a) { - d.css({ - top: Math.round(a.top), - left: Math.round(a.left) - }) - } - }, b), 0), d.addClass("in"); - var i = d[0].offsetWidth, - j = d[0].offsetHeight; - "top" == c && j != f && (b.top = b.top + f - j); - var k = this.getViewportAdjustedDelta(c, b, i, j); - k.left ? b.left += k.left : b.top += k.top; - var l = k.left ? 2 * k.left - e + i : 2 * k.top - f + j, - m = k.left ? "left" : "top", - n = k.left ? "offsetWidth" : "offsetHeight"; - d.offset(b), this.replaceArrow(l, d[0][n], m) - }, c.prototype.replaceArrow = function(a, b, c) { - this.arrow().css(c, a ? 50 * (1 - a / b) + "%" : "") - }, c.prototype.setContent = function() { - var a = this.tip(), - b = this.getTitle(); - a.find(".tooltip-inner")[this.options.html ? "html" : "text"](b), a.removeClass("fade in top bottom left right") - }, c.prototype.hide = function() { - function b() { - "in" != c.hoverState && d.detach(), c.$element.trigger("hidden.bs." + c.type) - } - var c = this, - d = this.tip(), - e = a.Event("hide.bs." + this.type); - return this.$element.removeAttr("aria-describedby"), this.$element.trigger(e), e.isDefaultPrevented() ? void 0 : (d.removeClass("in"), a.support.transition && this.$tip.hasClass("fade") ? d.one("bsTransitionEnd", b).emulateTransitionEnd(150) : b(), this.hoverState = null, this) - }, c.prototype.fixTitle = function() { - var a = this.$element; - (a.attr("title") || "string" != typeof a.attr("data-original-title")) && a.attr("data-original-title", a.attr("title") || "").attr("title", "") - }, c.prototype.hasContent = function() { - return this.getTitle() - }, c.prototype.getPosition = function(b) { - b = b || this.$element; - var c = b[0], - d = "BODY" == c.tagName; - return a.extend({}, "function" == typeof c.getBoundingClientRect ? c.getBoundingClientRect() : null, { - scroll: d ? document.documentElement.scrollTop || document.body.scrollTop : b.scrollTop(), - width: d ? a(window).width() : b.outerWidth(), - height: d ? a(window).height() : b.outerHeight() - }, d ? { - top: 0, - left: 0 - } : b.offset()) - }, c.prototype.getCalculatedOffset = function(a, b, c, d) { - return "bottom" == a ? { - top: b.top + b.height, - left: b.left + b.width / 2 - c / 2 - } : "top" == a ? { - top: b.top - d, - left: b.left + b.width / 2 - c / 2 - } : "left" == a ? { - top: b.top + b.height / 2 - d / 2, - left: b.left - c - } : { - top: b.top + b.height / 2 - d / 2, - left: b.left + b.width - } - }, c.prototype.getViewportAdjustedDelta = function(a, b, c, d) { - var e = { - top: 0, - left: 0 - }; - if (!this.$viewport) - return e; - var f = this.options.viewport && this.options.viewport.padding || 0, - g = this.getPosition(this.$viewport); - if (/right|left/.test(a)) { - var h = b.top - f - g.scroll, - i = b.top + f - g.scroll + d; - h < g.top ? e.top = g.top - h : i > g.top + g.height && (e.top = g.top + g.height - i) - } else { - var j = b.left - f, - k = b.left + f + c; - j < g.left ? e.left = g.left - j : k > g.width && (e.left = g.left + g.width - k) - } - return e - }, c.prototype.getTitle = function() { - var a, - b = this.$element, - c = this.options; - return a = b.attr("data-original-title") || ("function" == typeof c.title ? c.title.call(b[0]) : c.title) - }, c.prototype.getUID = function(a) { - do a += ~~(1e6 * Math.random()); - while (document.getElementById(a)); - return a - }, c.prototype.tip = function() { - return this.$tip = this.$tip || a(this.options.template) - }, c.prototype.arrow = function() { - return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow") - }, c.prototype.validate = function() { - this.$element[0].parentNode || (this.hide(), this.$element = null, this.options = null) - }, c.prototype.enable = function() { - this.enabled = !0 - }, c.prototype.disable = function() { - this.enabled = !1 - }, c.prototype.toggleEnabled = function() { - this.enabled = !this.enabled - }, c.prototype.toggle = function(b) { - var c = this; - b && (c = a(b.currentTarget).data("bs." + this.type), c || (c = new this.constructor(b.currentTarget, this.getDelegateOptions()), a(b.currentTarget).data("bs." + this.type, c))), c.tip().hasClass("in") ? c.leave(c) : c.enter(c) - }, c.prototype.destroy = function() { - clearTimeout(this.timeout), this.hide().$element.off("." + this.type).removeData("bs." + this.type) - }; - var d = a.fn.tooltip; - a.fn.tooltip = b, a.fn.tooltip.Constructor = c, a.fn.tooltip.noConflict = function() { - return a.fn.tooltip = d, this - } -}(jQuery), +function(a) { - "use strict"; - function b(b) { - return this.each(function() { - var d = a(this), - e = d.data("bs.popover"), - f = "object" == typeof b && b; - (e || "destroy" != b) && (e || d.data("bs.popover", e = new c(this, f)), "string" == typeof b && e[b]()) - }) - } - var c = function(a, b) { - this.init("popover", a, b) - }; - if (!a.fn.tooltip) - throw new Error("Popover requires tooltip.js"); - c.VERSION = "3.2.0", c.DEFAULTS = a.extend({}, a.fn.tooltip.Constructor.DEFAULTS, { - placement: "right", - trigger: "click", - content: "", - template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>' - }), c.prototype = a.extend({}, a.fn.tooltip.Constructor.prototype), c.prototype.constructor = c, c.prototype.getDefaults = function() { - return c.DEFAULTS - }, c.prototype.setContent = function() { - var a = this.tip(), - b = this.getTitle(), - c = this.getContent(); - a.find(".popover-title")[this.options.html ? "html" : "text"](b), a.find(".popover-content").empty()[this.options.html ? "string" == typeof c ? "html" : "append" : "text"](c), a.removeClass("fade top bottom left right in"), a.find(".popover-title").html() || a.find(".popover-title").hide() - }, c.prototype.hasContent = function() { - return this.getTitle() || this.getContent() - }, c.prototype.getContent = function() { - var a = this.$element, - b = this.options; - return a.attr("data-content") || ("function" == typeof b.content ? b.content.call(a[0]) : b.content) - }, c.prototype.arrow = function() { - return this.$arrow = this.$arrow || this.tip().find(".arrow") - }, c.prototype.tip = function() { - return this.$tip || (this.$tip = a(this.options.template)), this.$tip - }; - var d = a.fn.popover; - a.fn.popover = b, a.fn.popover.Constructor = c, a.fn.popover.noConflict = function() { - return a.fn.popover = d, this - } -}(jQuery), +function(a) { - "use strict"; - function b(c, d) { - var e = a.proxy(this.process, this); - this.$body = a("body"), this.$scrollElement = a(a(c).is("body") ? window : c), this.options = a.extend({}, b.DEFAULTS, d), this.selector = (this.options.target || "") + " .nav li > a", this.offsets = [], this.targets = [], this.activeTarget = null, this.scrollHeight = 0, this.$scrollElement.on("scroll.bs.scrollspy", e), this.refresh(), this.process() - } - function c(c) { - return this.each(function() { - var d = a(this), - e = d.data("bs.scrollspy"), - f = "object" == typeof c && c; - e || d.data("bs.scrollspy", e = new b(this, f)), "string" == typeof c && e[c]() - }) - } - b.VERSION = "3.2.0", b.DEFAULTS = { - offset: 10 - }, b.prototype.getScrollHeight = function() { - return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) - }, b.prototype.refresh = function() { - var b = "offset", - c = 0; - a.isWindow(this.$scrollElement[0]) || (b = "position", c = this.$scrollElement.scrollTop()), this.offsets = [], this.targets = [], this.scrollHeight = this.getScrollHeight(); - var d = this; - this.$body.find(this.selector).map(function() { - var d = a(this), - e = d.data("target") || d.attr("href"), - f = /^#./.test(e) && a(e); - return f && f.length && f.is(":visible") && [[f[b]().top + c, e]] || null - }).sort(function(a, b) { - return a[0] - b[0] - }).each(function() { - d.offsets.push(this[0]), d.targets.push(this[1]) - }) - }, b.prototype.process = function() { - var a, - b = this.$scrollElement.scrollTop() + this.options.offset, - c = this.getScrollHeight(), - d = this.options.offset + c - this.$scrollElement.height(), - e = this.offsets, - f = this.targets, - g = this.activeTarget; - if (this.scrollHeight != c && this.refresh(), b >= d) - return g != (a = f[f.length - 1]) && this.activate(a); - if (g && b <= e[0]) - return g != (a = f[0]) && this.activate(a); - for (a = e.length; a--;) - g != f[a] && b >= e[a] && (!e[a + 1] || b <= e[a + 1]) && this.activate(f[a]) - }, b.prototype.activate = function(b) { - this.activeTarget = b, a(this.selector).parentsUntil(this.options.target, ".active").removeClass("active"); - var c = this.selector + '[data-target="' + b + '"],' + this.selector + '[href="' + b + '"]', - d = a(c).parents("li").addClass("active"); - d.parent(".dropdown-menu").length && (d = d.closest("li.dropdown").addClass("active")), d.trigger("activate.bs.scrollspy") - }; - var d = a.fn.scrollspy; - a.fn.scrollspy = c, a.fn.scrollspy.Constructor = b, a.fn.scrollspy.noConflict = function() { - return a.fn.scrollspy = d, this - }, a(window).on("load.bs.scrollspy.data-api", function() { - a('[data-spy="scroll"]').each(function() { - var b = a(this); - c.call(b, b.data()) - }) - }) -}(jQuery), +function(a) { - "use strict"; - function b(b) { - return this.each(function() { - var d = a(this), - e = d.data("bs.tab"); - e || d.data("bs.tab", e = new c(this)), "string" == typeof b && e[b]() - }) - } - var c = function(b) { - this.element = a(b) - }; - c.VERSION = "3.2.0", c.prototype.show = function() { - var b = this.element, - c = b.closest("ul:not(.dropdown-menu)"), - d = b.data("target"); - if (d || (d = b.attr("href"), d = d && d.replace(/.*(?=#[^\s]*$)/, "")), !b.parent("li").hasClass("active")) { - var e = c.find(".active:last a")[0], - f = a.Event("show.bs.tab", { - relatedTarget: e - }); - if (b.trigger(f), !f.isDefaultPrevented()) { - var g = a(d); - this.activate(b.closest("li"), c), this.activate(g, g.parent(), function() { - b.trigger({ - type: "shown.bs.tab", - relatedTarget: e - }) - }) - } - } - }, c.prototype.activate = function(b, c, d) { - function e() { - f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"), b.addClass("active"), g ? (b[0].offsetWidth, b.addClass("in")) : b.removeClass("fade"), b.parent(".dropdown-menu") && b.closest("li.dropdown").addClass("active"), d && d() - } - var f = c.find("> .active"), - g = d && a.support.transition && f.hasClass("fade"); - g ? f.one("bsTransitionEnd", e).emulateTransitionEnd(150) : e(), f.removeClass("in") - }; - var d = a.fn.tab; - a.fn.tab = b, a.fn.tab.Constructor = c, a.fn.tab.noConflict = function() { - return a.fn.tab = d, this - }, a(document).on("click.bs.tab.data-api", '[data-toggle="tab"], [data-toggle="pill"]', function(c) { - c.preventDefault(), b.call(a(this), "show") - }) -}(jQuery), +function(a) { - "use strict"; - function b(b) { - return this.each(function() { - var d = a(this), - e = d.data("bs.affix"), - f = "object" == typeof b && b; - e || d.data("bs.affix", e = new c(this, f)), "string" == typeof b && e[b]() - }) - } - var c = function(b, d) { - this.options = a.extend({}, c.DEFAULTS, d), this.$target = a(this.options.target).on("scroll.bs.affix.data-api", a.proxy(this.checkPosition, this)).on("click.bs.affix.data-api", a.proxy(this.checkPositionWithEventLoop, this)), this.$element = a(b), this.affixed = this.unpin = this.pinnedOffset = null, this.checkPosition() - }; - c.VERSION = "3.2.0", c.RESET = "affix affix-top affix-bottom", c.DEFAULTS = { - offset: 0, - target: window - }, c.prototype.getPinnedOffset = function() { - if (this.pinnedOffset) - return this.pinnedOffset; - this.$element.removeClass(c.RESET).addClass("affix"); - var a = this.$target.scrollTop(), - b = this.$element.offset(); - return this.pinnedOffset = b.top - a - }, c.prototype.checkPositionWithEventLoop = function() { - setTimeout(a.proxy(this.checkPosition, this), 1) - }, c.prototype.checkPosition = function() { - if (this.$element.is(":visible")) { - var b = a(document).height(), - d = this.$target.scrollTop(), - e = this.$element.offset(), - f = this.options.offset, - g = f.top, - h = f.bottom; - "object" != typeof f && (h = g = f), "function" == typeof g && (g = f.top(this.$element)), "function" == typeof h && (h = f.bottom(this.$element)); - var i = null != this.unpin && d + this.unpin <= e.top ? !1 : null != h && e.top + this.$element.height() >= b - h ? "bottom" : null != g && g >= d ? "top" : !1; - if (this.affixed !== i) { - null != this.unpin && this.$element.css("top", ""); - var j = "affix" + (i ? "-" + i : ""), - k = a.Event(j + ".bs.affix"); - this.$element.trigger(k), k.isDefaultPrevented() || (this.affixed = i, this.unpin = "bottom" == i ? this.getPinnedOffset() : null, this.$element.removeClass(c.RESET).addClass(j).trigger(a.Event(j.replace("affix", "affixed"))), "bottom" == i && this.$element.offset({ - top: b - this.$element.height() - h - })) - } - } - }; - var d = a.fn.affix; - a.fn.affix = b, a.fn.affix.Constructor = c, a.fn.affix.noConflict = function() { - return a.fn.affix = d, this - }, a(window).on("load", function() { - a('[data-spy="affix"]').each(function() { - var c = a(this), - d = c.data(); - d.offset = d.offset || {}, d.offsetBottom && (d.offset.bottom = d.offsetBottom), d.offsetTop && (d.offset.top = d.offsetTop), b.call(c, d) - }) - }) -}(jQuery); -
M index.htmlindex.html

@@ -1,138 +1,272 @@

-<html lang="en"><head> +<!DOCTYPE html> +<html lang="en"> +<head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Private Trackers Spreadsheet</title> - <link rel="stylesheet" type="text/css" href="assets/css/bootstrap.css"> - <link rel="stylesheet" type="text/css" href="assets/css/custom.css"> - - <!-- Datatables --> - <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/dt-1.10.20/fh-3.1.6/r-2.2.3/sl-1.3.1/datatables.min.css"/> - <link rel="stylesheet" type="text/css" href="assets/css/table.css"> - <style> - .fixedHeader-floating { - background-color: rgb(16, 16, 16) !important; - } - </style> - - <!-- jQuery & Datatables --> - <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script> - <script type="text/javascript" src="https://cdn.datatables.net/v/dt/dt-1.10.20/fh-3.1.6/r-2.2.3/sl-1.3.1/datatables.min.js"></script> - <script type="text/javascript" src="https://cdn.datatables.net/plug-ins/1.10.20/sorting/absolute.js"></script> - <script type="text/javascript" charset="UTF-8" src="assets/js/app.js"></script> - - <!-- #FONT-AWESOME --> - <script src="https://kit.fontawesome.com/212aaa0caa.js" crossorigin="anonymous"></script> - - <!-- #GOOGLE FONT --> + <link rel="stylesheet" type="text/css" href="assets/css/app.css"> + <!-- AlpineJS --> + <script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script> + <!-- Google Fonts --> <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,200,300,600,700,900" rel="stylesheet" type="text/css"> <link href="https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz:400,200,300,700" rel="stylesheet" type="text/css"> </head> - -<!-- #BODY --> <body> -<div id="wrapper"> - <nav class="navbar navbar-inverse" role="navigation"> - <div class="container-fluid"> - <!-- Brand and toggle get grouped for better mobile display --> - <div class="navbar-header"> - <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-2"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <a class="navbar-brand" style="padding: 10px 15px !important;" href="#"> - <h2 style="margin: 0;"><i class="fas fa-skull-crossbones text-danger"></i> Private Tracker List</h2> - </a> +<div class="tracker-wrapper"> + <nav class="tracker-navbar"> + <div class="tracker-navbar__container"> + <div class="tracker-navbar__brand"> + <h2 class="tracker-navbar__title"><span class="icon icon-skull-crossbones tracker-navbar__icon"></span> Private Tracker List</h2> </div> - <!-- Collect the nav links, forms, and other content for toggling --> - <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-2"> - <!--<ul class="nav navbar-nav"> - <li class="active"><a href="#">Home</a></li> - </ul>--> - <ul class="nav navbar-nav navbar-right"> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Other Resources <span class="caret"></span></a> - <ul class="dropdown-menu" role="menu"> + <div class="tracker-navbar__actions"> + <!-- Theme Switcher --> + <div x-data="themeSwitcher()" class="theme-switcher"> + <!-- Color Picker --> + <div class="color-picker" x-show="showColorPicker" x-transition @click.away="showColorPicker = false"> + <div class="color-picker__grid"> + <template x-for="color in accentColors" :key="color.value"> + <button + @click="setAccentColor(color.value)" + class="color-picker__swatch" + :style="`background-color: ${color.value}`" + :class="{ 'color-picker__swatch--active': accentColor === color.value }" + :title="color.name"> + </button> + </template> + </div> + </div> + + <!-- Accent Color Button --> + <button @click="showColorPicker = !showColorPicker" class="theme-switcher__button theme-switcher__button--accent" title="Change accent color"> + <span class="icon icon-palette"></span> + </button> + + <!-- Theme Toggle Button --> + <button @click="toggleTheme()" class="theme-switcher__button" :title="isDark ? 'Switch to light mode' : 'Switch to dark mode'"> + <span :class="isDark ? 'icon icon-sun' : 'icon icon-moon'"></span> + </button> + </div> + + <ul class="tracker-navbar__links"> + <li class="tracker-navbar__dropdown"> + <span>Other Resources</span> + <ul class="tracker-navbar__dropdown-menu"> + <li><a href="https://github.com/HDVinnie/Torrent-Tracker-Platforms">Tracker Platforms</a></li> + <li><a href="https://github.com/HDVinnie/TrackerHub">Tracker Hub</a></li> <li><a href="https://opentrackers.org">Open Trackers</a></li> <li><a href="https://www.reddit.com/r/trackers/">r/trackers on Reddit</a></li> <li><a href="https://wiki.installgentoo.com/index.php/Private_trackers">Wiki on InstallGentoo</a></li> <li><a href="https://torrentfreak.com">Torrent Freak</a></li> <li><a href="https://trackerstatus.info">Tracker Statuses</a></li> - <li><a href="https://github.com/HDVinnie/Torrent-Tracker-Platforms">Tracker Platforms</a></li> </ul> </li> </ul> </div> - <!-- /.navbar-collapse --> </div> - <!-- /.container-fluid --> </nav> + <main class="tracker-main"> + <section class="tracker-contribute"> + <div class="tracker-contribute__message"> + <strong>Hey There!</strong> Like what you see? Feel free to contribute <a class="tracker-contribute__link" href="https://github.com/HDVinnie/Private-Trackers-Spreadsheet">HERE!</a> + </div> + </section> + <section class="tracker-table" x-data="trackerTable()"> + <!-- Tooltip container --> + <div x-show="tooltip.show" + x-transition + class="alpine-tooltip" + :style="`left: ${tooltip.x}px; top: ${tooltip.y}px; transform: translateX(-50%)`" + x-text="tooltip.text"> + </div> - <div class="table-content"> - <div class="row"> - <div class="col-lg-12"> - <div class="well text-center"> - <strong>Hey There!</strong> Like what you see? Feel free to contribute <a class="alert-link" href="https://github.com/HDVinnie/Private-Trackers-Spreadsheet">HERE!</a> + <div class="tracker-table__controls"> + <input class="tracker-table__search" type="text" placeholder="Search trackers..." x-model="search"> + <div class="tracker-table__info"> + <span x-text="`${filteredTrackers.length} of ${trackers.length} trackers`"></span> </div> - <table id="table" class="dataTable table-hover compact hover" style="width: 100% !important;"> + </div> + <div class="tracker-table__container"> + <table class="tracker-table__main"> <thead> <tr> - <th title="The sites name">Name</th> - <th title="The sites abbreviation">Abbr</th> - <th title="The sites type of content it specializes in Movies, TV, Music, General, ect.">Type</th> - <th title="The sites codebase it is running (Gazelle, UNIT3D, etc.)">Codebase</th> - <th title="The sites security grade from Mozilla Observatory">Moz Grade</th> - <th title="The amount of users said site has">Users</th> - <th title="The amount of torrents said site has">Torrents</th> - <th title="The amount of peers (seeders+leechers) said site has">Peers</th> - <th title="If said site has ratio rules">Ratio</th> - <th title="Difficulty to maintain said sites ratio rules">Ratio Diff</th> - <th title="If said site has freeleech options">Freeleech</th> - <th title="If said site has a points system (Points, BON, Lumens, etc.)">Points</th> - <th title="If said site has hit and run rules">H&R</th> - <th title="Date said site was born">B-Day</th> - <th title="How one can join said site">Join</th> - <th title="Difficulty to join said site">Join Diff</th> - <th title="Last time site statistics were updated on this spreadsheet">Updated</th> + <th @click="sortBy('Name')" + @mouseenter="showTooltip($event, 'The tracker\'s name')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + Name <span class="icon icon-sort"></span> + </th> + <th @click="sortBy('Abbreviation')" + @mouseenter="showTooltip($event, 'Common abbreviation or short name for the tracker')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + Abbr <span class="icon icon-sort"></span> + </th> + <th @click="sortBy('Type')" + @mouseenter="showTooltip($event, 'Type of content the tracker specializes in (Movies, TV, Music, General, etc.)')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + Type <span class="icon icon-sort"></span> + </th> + <th @click="sortBy('Codebase')" + @mouseenter="showTooltip($event, 'The software/codebase the tracker runs on (Gazelle, UNIT3D, etc.)')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + Codebase <span class="icon icon-sort"></span> + </th> + <th @click="sortBy('Observatory Grade')" + @mouseenter="showTooltip($event, 'Security grade from Mozilla Observatory (A+ is best, F is worst)')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + Moz Grade <span class="icon icon-sort"></span> + </th> + <th @click="sortBy('Users')" + @mouseenter="showTooltip($event, 'Total number of registered users on the tracker')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + Users <span class="icon icon-sort"></span> + </th> + <th @click="sortBy('Torrents')" + @mouseenter="showTooltip($event, 'Total number of torrents available on the tracker')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + Torrents <span class="icon icon-sort"></span> + </th> + <th @click="sortBy('Peers')" + @mouseenter="showTooltip($event, 'Total number of peers (seeders + leechers) across all torrents')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + Peers <span class="icon icon-sort"></span> + </th> + <th @click="sortBy('Ratio')" + @mouseenter="showTooltip($event, 'Whether the tracker enforces upload/download ratio requirements')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + Ratio <span class="icon icon-sort"></span> + </th> + <th @click="sortBy('Ratio Diff')" + @mouseenter="showTooltip($event, 'How difficult it is to maintain the required ratio (Easy, Moderate, Tough)')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + Ratio Diff <span class="icon icon-sort"></span> + </th> + <th @click="sortBy('Freeleech')" + @mouseenter="showTooltip($event, 'Whether the tracker offers freeleech content (downloads don\'t count against ratio)')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + Freeleech <span class="icon icon-sort"></span> + </th> + <th @click="sortBy('Points')" + @mouseenter="showTooltip($event, 'Whether the tracker has a bonus points system (Points, BON, Lumens, etc.)')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + Points <span class="icon icon-sort"></span> + </th> + <th @click="sortBy('Hit & Run')" + @mouseenter="showTooltip($event, 'Whether the tracker enforces hit and run rules (must seed for minimum time/ratio)')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + H&R <span class="icon icon-sort"></span> + </th> + <th @click="sortBy('Birthdate')" + @mouseenter="showTooltip($event, 'Year the tracker was founded or launched')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + B-Day <span class="icon icon-sort"></span> + </th> + <th @click="sortBy('Join')" + @mouseenter="showTooltip($event, 'How users can join the tracker (Invite, Application, Open, etc.)')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + Join <span class="icon icon-sort"></span> + </th> + <th @click="sortBy('Join Diff')" + @mouseenter="showTooltip($event, 'How difficult it is to join the tracker (Easy, Moderate, Tough)')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + Join Diff <span class="icon icon-sort"></span> + </th> + <th @click="sortBy('Updated')" + @mouseenter="showTooltip($event, 'Date when the tracker\'s information was last updated in this database')" + @mouseleave="hideTooltip()" + class="tracker-table__sortable"> + Updated <span class="icon icon-sort"></span> + </th> </tr> </thead> + <tbody> + <template x-for="tracker in filteredTrackers" :key="tracker.Name"> + <tr class="tracker-table__row"> + <td class="tracker-table__cell tracker-table__cell--name" x-text="tracker.Name"></td> + <td class="tracker-table__cell" x-text="tracker.Abbreviation"></td> + <td class="tracker-table__cell" x-text="tracker.Type"></td> + <td class="tracker-table__cell" x-text="tracker.Codebase"></td> + <td class="tracker-table__cell" x-text="tracker['Observatory Grade']"></td> + <td class="tracker-table__cell" x-text="tracker.Users"></td> + <td class="tracker-table__cell" x-text="tracker.Torrents"></td> + <td class="tracker-table__cell" x-text="tracker.Peers"></td> + <td class="tracker-table__cell" x-text="tracker.Ratio"></td> + <td class="tracker-table__cell" x-text="tracker['Ratio Diff']"></td> + <td class="tracker-table__cell" x-text="tracker.Freeleech"></td> + <td class="tracker-table__cell" x-text="tracker.Points"></td> + <td class="tracker-table__cell" x-text="tracker['Hit & Run']"></td> + <td class="tracker-table__cell" x-text="tracker.Birthdate"></td> + <td class="tracker-table__cell" x-text="tracker.Join"></td> + <td class="tracker-table__cell" x-text="tracker['Join Diff']"></td> + <td class="tracker-table__cell" x-text="tracker.Updated"></td> + </tr> + </template> + </tbody> </table> - <br> - <br> - <div class="well text-center"> - Trackers from <a class="alert-link" href="https://github.com/Jackett/Jackett">Jackett</a> that have not yet been added + </div> + </section> + <section class="tracker-jackett" x-data="jackettTable()"> + <div class="tracker-jackett__message"> + Trackers from <a class="tracker-jackett__link" href="https://github.com/Jackett/Jackett">Jackett</a> that have not yet been added + </div> + <div class="tracker-jackett__controls"> + <input class="tracker-jackett__search" type="text" placeholder="Search Jackett trackers..." x-model="search"> + <div class="tracker-jackett__info"> + <span x-text="`${filteredJackettTrackers.length} of ${jackettTrackers.length} trackers`"></span> </div> - <table id="table2" class="dataTable table-hover compact hover" style="width: 100% !important;"> + </div> + <div class="tracker-jackett__container"> + <table class="tracker-jackett__table"> <thead> <tr> - <th title="The sites name">Name</th> - <th title="The sites description">Description</th> - <th title="The sites type of content it specializes in Movies, TV, Music, General, ect.">Type</th> + <th @click="sortJackettBy('name')" class="tracker-jackett__sortable"> + Name <span class="icon icon-sort"></span> + </th> + <th @click="sortJackettBy('description')" class="tracker-jackett__sortable"> + Description <span class="icon icon-sort"></span> + </th> + <th @click="sortJackettBy('type')" class="tracker-jackett__sortable"> + Type <span class="icon icon-sort"></span> + </th> </tr> </thead> + <tbody> + <template x-for="tracker in filteredJackettTrackers" :key="tracker.name"> + <tr class="tracker-jackett__row"> + <td class="tracker-jackett__cell tracker-jackett__cell--name" x-text="tracker.name"></td> + <td class="tracker-jackett__cell tracker-jackett__cell--description" x-text="tracker.description"></td> + <td class="tracker-jackett__cell" x-text="tracker.type"></td> + </tr> + </template> + </tbody> </table> - <br> - <br> - <br> - <div class="panel panel-info"> - <div class="panel-heading"> - <h3 class="panel-title">Privacy Notice</h3> - </div> - <div class="panel-body"> - If your site is listed here and you dont want it to be, please email <a href="mailto:hdinnovations@protonmail.com">hdinnovations@protonmail.com</a> instead of using the issue tracker. - </div> + </div> + </section> + <section class="tracker-privacy"> + <div class="tracker-privacy__panel"> + <h3 class="tracker-privacy__title">Privacy Notice</h3> + <div class="tracker-privacy__body"> + If your site is listed here and you dont want it to be, please email <a href="mailto:hdinnovations@protonmail.com">hdinnovations@protonmail.com</a> instead of using the issue tracker. </div> </div> - </div> - </div> + </section> + </main> </div> - -<!-- #JS LINKS --> -<!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> -<!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>--> -<!-- Include all compiled plugins (below), or include individual files as needed --> -<script src="assets/js/bootstrap.js"></script> +<script src="assets/js/app.js"></script> </body> </html>