Repository: idindrakusuma/thekusuma Branch: master Commit: 55f571c5577a Files: 69 Total size: 336.0 KB Directory structure: gitextract_cpdabvrc/ ├── .eslintrc.js ├── .github/ │ └── workflows/ │ └── main.yml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── LICENSE ├── README.md ├── api/ │ ├── guest-data.json │ └── shift.json ├── gatsby-config.js ├── package.json └── src/ ├── assets/ │ └── css/ │ ├── bootstrap.css │ ├── icomoon.css │ └── style.css ├── components/ │ ├── ConfirmationSection/ │ │ ├── index.js │ │ └── styles.js │ ├── Covid19/ │ │ ├── SectionBox.js │ │ ├── index.js │ │ └── styles.js │ ├── FloatingMusic/ │ │ ├── Loadable.js │ │ ├── Modal.js │ │ ├── index.js │ │ └── styles.js │ ├── FooterSection/ │ │ └── index.js │ ├── GenerateLink/ │ │ ├── index.js │ │ └── styles.js │ ├── HelloSection/ │ │ ├── index.js │ │ └── styles.js │ ├── Layout/ │ │ ├── Ticket.js │ │ ├── index.js │ │ └── styles.js │ ├── LocationSection/ │ │ ├── index.js │ │ └── styles.js │ ├── PhotoSection/ │ │ ├── Loadable.js │ │ ├── index.js │ │ └── photo-data.js │ ├── QRCard/ │ │ ├── index.js │ │ └── styles.js │ ├── StorySection/ │ │ ├── StoryItem.js │ │ ├── index.js │ │ ├── stories-data.js │ │ └── styles.js │ ├── Ticket/ │ │ ├── index.js │ │ └── styles.js │ ├── WeddingSection/ │ │ ├── ButtonLive.js │ │ ├── WeddingInfoBox.js │ │ ├── index.js │ │ └── styles.js │ ├── WelcomeSection/ │ │ ├── CountContainer.js │ │ ├── CountItem.js │ │ ├── ScrollToDown.js │ │ ├── index.js │ │ └── styles.js │ └── WishesSection/ │ ├── WishesContainer.js │ ├── WishesItem.js │ ├── index.js │ ├── styles.js │ └── wishlist-data.js ├── constants/ │ └── index.js ├── helpers/ │ ├── getQueryValue.js │ ├── isMobileDevice.js │ └── pxToRem.js ├── hooks/ │ ├── useConfigData.js │ ├── useDateCountdown.js │ └── useGuestData.js └── pages/ ├── e-ticket.js ├── generate-link.js ├── generate-qr.js └── index.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: .eslintrc.js ================================================ module.exports = { globals: { __PATH_PREFIX__: true, }, extends: `react-app`, rules: { 'jsx-a11y/accessible-emoji': 'off', // 'no-unused-vars': ['error', { vars: 'all', args: 'after-used', ignoreRestSiblings: false }], 'import/no-unresolved': [2, { caseSensitive: false }], }, settings: { 'import/resolver': { alias: [ ['@static', './static'], ['@assets', './src/assets'], ['@components', './src/components'], ['@helpers', './src/helpers'], ['@pages', './src/pages'], ['@hooks', './src/hooks'], ['@', './src'], ], }, }, }; ================================================ FILE: .github/workflows/main.yml ================================================ name: Gatsby Publish on: push: branches: - master jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: enriikke/gatsby-gh-pages-action@v2 with: access-token: ${{ secrets.ACCESS_TOKEN }} deploy-branch: gh-pages gatsby-args: --prefix-paths ================================================ FILE: .gitignore ================================================ # Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* # Runtime data pids *.pid *.seed *.pid.lock # Directory for instrumented libs generated by jscoverage/JSCover lib-cov # Coverage directory used by tools like istanbul coverage # nyc test coverage .nyc_output # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) .grunt # Bower dependency directory (https://bower.io/) bower_components # node-waf configuration .lock-wscript # Compiled binary addons (http://nodejs.org/api/addons.html) build/Release # Dependency directories node_modules/ jspm_packages/ # Typescript v1 declaration files typings/ # Optional npm cache directory .npm # Optional eslint cache .eslintcache # Optional REPL history .node_repl_history # Output of 'npm pack' *.tgz # dotenv environment variable files .env* # gatsby files .cache/ public # Mac files .DS_Store # Yarn yarn-error.log .pnp/ .pnp.js # Yarn Integrity file .yarn-integrity ================================================ FILE: .prettierignore ================================================ .cache package.json package-lock.json public ================================================ FILE: .prettierrc ================================================ { "bracketSpacing": true, "printWidth": 120, "singleQuote": true, "trailingComma": "all" } ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2018 gatsbyjs Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ # Dinda & Indra Wedding Website ![Gatsby Publish](https://github.com/idindrakusuma/thekusuma/workflows/Gatsby%20Publish/badge.svg) [![Netlify Status](https://api.netlify.com/api/v1/badges/4481a013-a72b-4ecf-939b-00b84c25dd89/deploy-status)](https://app.netlify.com/sites/thekusuma/deploys) Features: - Landing Page, with features like: - Countdown Timer - Live Button - Floating Music - Photo Gallery - Pre-wedding Video - And more.. - also, this web-app has QR Guest Generator - and Guest Tikcet Viewer Tech Stack: - GatsbyJs Credits - Original Landing Page Template (https://freehtml5.co/) - Icon Assets (https://www.flaticon.com/packs/covid-protection-measures-5) Thanks! ================================================ FILE: api/guest-data.json ================================================ [ { "code": "DXI-0001", "name": "Suharyo", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0002", "name": "Heru Setyabudi", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0003", "name": "Doni Widiyanto", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0004", "name": "Bu Edi Susanto", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0005", "name": "Hermawan", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0006", "name": "Budijono", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0007", "name": "Hanif", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0008", "name": "Adi Wiratama", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0009", "name": "Hendro", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0010", "name": "Santoso", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0011", "name": "Yori", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0012", "name": "Chandra", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0013", "name": "Ali Muhtarom", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0014", "name": "Sagimin", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0015", "name": "Suwardi", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0016", "name": "Kasmari", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0017", "name": "Mawardi", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0018", "name": "Ricky", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0019", "name": "Djaman", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0020", "name": "Steven", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0021", "name": "Arif", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0022", "name": "Sukahar", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0023", "name": "Yunianto", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0024", "name": "Bambang P", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0025", "name": "Andi K", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0026", "name": "Sutarman", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0027", "name": "Danang A", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0028", "name": "Murtono", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0029", "name": "Agung", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0031", "name": "Solekhan", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0032", "name": "Sugeng", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0033", "name": "Bu Linda", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0034", "name": "Bu Mia", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0035", "name": "Bu Suwoko", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0036", "name": "Ari Muchtar", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0037", "name": "Bu Kamto", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0038", "name": "Bu Aryani", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0039", "name": "Bu Trisia", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0040", "name": "Halim", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0041", "name": "Andi P", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0042", "name": "Sapari", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0043", "name": "Agus", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0045", "name": "Yuli", "desc": "Singa Tengah, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0046", "name": "Medi", "desc": "Singa Tengah, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0047", "name": "Agung A", "desc": "Singa Tengah, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0048", "name": "Agung B", "desc": "Singa Tengah, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0049", "name": "Totok", "desc": "Singa Tengah, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0050", "name": "Sutaryo", "desc": "Singa Tengah, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0051", "name": "Zaenuri", "desc": "Singa Tengah, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0052", "name": "Supriyadi", "desc": "Singa Tengah, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0053", "name": "Sukardi", "desc": "Singa Tengah, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0054", "name": "VIP - Asep Misbahudin", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0055", "name": "Atmaja Belawan", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0057", "name": "VIP - Dwi Sansito", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0058", "name": "VIP - Mujianto", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0059", "name": "VIP - M. Achsin Hamim", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0060", "name": "VIP - Moh. Atiq Sajaya", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0061", "name": "VIP - Puguh Kunto Asmoro", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0062", "name": "VIP - Prastiyo Edy Laksono", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0063", "name": "VIP - Priyatno", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0064", "name": "VIP - Pringadi", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0065", "name": "VIP - Suyanto", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0066", "name": "VIP - Suratno", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0067", "name": "VIP - Sigit Wijayanto", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0068", "name": "VIP - Wiwik Joeniati", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0069", "name": "VIP - Yudha Prihantono", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0078", "name": "Pramono", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0079", "name": "Sri Vatmawati", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0080", "name": "VIP - Setiawan", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0081", "name": "Slamet Santoso", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0082", "name": "Sudono", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0083", "name": "Tatik", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0085", "name": "Tri Utami", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0087", "name": "VIP - Bintoro Mantjolo Putro", "desc": "Yogyakarta", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0089", "name": "Cahyono", "desc": "Tegal", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0090", "name": "Bu Hermanto", "desc": "Tegal", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0091", "name": "Ivana", "desc": "Tegal", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0092", "name": "Hertanto", "desc": "Pati", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0094", "name": "VIP - Makmur Trisujadi", "desc": "Magelang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0095", "name": "Sugeng", "desc": "Gubug", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0096", "name": "Toto Mulyanto", "desc": "Muntilan", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0097", "name": "VIP - Arif Mustapin", "desc": "Sidoarjo", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0099", "name": "Yohanes", "desc": "Solo", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0100", "name": "Nita Syarifah & Keluarga", "desc": "Sahabat Dinda", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0101", "name": "Risalatul Muawanah & Keluarga", "desc": "Sahabat Dinda", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0102", "name": "Hapsari Anggraini & Keluarga", "desc": "Sahabat Dinda", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0103", "name": "Moleta Tiara & Keluarga", "desc": "Sahabat Dinda", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0104", "name": "Vela Hafira", "desc": "Sahabat Dinda", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0105", "name": "Iqmalifa & Iqmalia", "desc": "Sahabat Dinda", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0106", "name": "Pramudina & Pramudita", "desc": "Sahabat Dinda", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0107", "name": "Rhonandiarto Kalimaya", "desc": "Sahabat Dinda", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0108", "name": "Dodie Ammar Burhan", "desc": "Sahabat Dinda", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0109", "name": "Fitria Ayunisa", "desc": "Sahabat Dinda", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0110", "name": "Alvia Tri Lestari", "desc": "Sahabat Dinda", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0111", "name": "Oei Yunias Belda", "desc": "Sahabat Dinda", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0112", "name": "Ghea Maurizka", "desc": "Sahabat Dinda", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0113", "name": "Jennyka Setiawan", "desc": "Sahabat Dinda", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0114", "name": "Linda Yunitasari", "desc": "Sahabat Dinda", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0115", "name": "Selviana Nur Hidayah", "desc": "Sahabat Dinda", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0116", "name": "Dhyanara Novi Paramita", "desc": "Hikayat NET TV", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0117", "name": "Syifa Fatimah", "desc": "UDINUS", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0118", "name": "Wulan Herdiningsih & Puds", "desc": "Ruangguru", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0119", "name": "Fahry Maulana", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0120", "name": "Ahlan Firdaus", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0121", "name": "Madina Tashya", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0122", "name": "Sauhtirani", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0123", "name": "Basanta & Binarky", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0124", "name": "Maria & Yoga", "desc": "Amareea", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0125", "name": "Sandi Mumu, Istri & Anak (2)", "desc": "Hikayat NET TV", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0126", "name": "Yasinta Aulia", "desc": "Dompet Dhuafa", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0127", "name": "Atin Anggraeni", "desc": "Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0128", "name": "VIP - Priyo", "desc": "Gmedia", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0129", "name": "VIP - Atalia Citra", "desc": "Gmedia", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0130", "name": "Zakiy Anwar Fakhri", "desc": "Sahabat Indra", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0131", "name": "Alif Maulana Putra", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0135", "name": "Marice Elisabeth (+ Ario Arzaq) & Devi Setyawati", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0136", "name": "Amelia Cahyaningtyas", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0137", "name": "Christoporus Kurnia Chandra", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0138", "name": "Luthfi Faizal Noor", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0139", "name": "Meisy Cahyani", "desc": "SMP PAPB", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0140", "name": "Lita Ardita", "desc": "SMP PAPB", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0141", "name": "Riska Miranda", "desc": "SMP PAPB", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0142", "name": "Annisa PA", "desc": "SMP PAPB", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0144", "name": "Attidhira Citra", "desc": "SMP PAPB", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0146", "name": "Fenadia Nastia", "desc": "SMP PAPB", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0147", "name": "Vidianne Anggria", "desc": "SMA 11 Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0148", "name": "Cerelia Alvita", "desc": "SMA 11 Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0149", "name": "Annis Puspita", "desc": "SMA 11 Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0153", "name": "Della Kartika", "desc": "SMA 11 Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0154", "name": "Budi Purwanto", "desc": "Saudara Dinda - Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0155", "name": "Agung Widodo", "desc": "Saudara Dinda - Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0156", "name": "Paklek Suhono & Keluarga", "desc": "Saudara Dinda - Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0157", "name": "Mbah Siti Manan & Keluarga", "desc": "Saudara Dinda - Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0159", "name": "Bulek Umiyati & Keluarga", "desc": "Saudara Dinda - Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0160", "name": "Mas Udin & Keluarga", "desc": "Saudara Dinda - Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0161", "name": "Ibu Siswandi & Keluarga", "desc": "Saudara Dinda - Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0162", "name": "Mbak Yuli & Keluarga", "desc": "Saudara Dinda - Yogyakarta", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0163", "name": "Mas Yoyok & Keluarga", "desc": "Saudara Dinda - Yogyakarta", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0164", "name": "Mbak Emi & Keluarga", "desc": "Saudara Dinda - Yogyakarta", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0165", "name": "Mbak Sri & Keluarga", "desc": "Saudara Dinda - Sidoarjo", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0166", "name": "Mbak Titik & Keluarga", "desc": "Saudara Dinda - Yogyakarta", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0167", "name": "Mas Agus Sapen & Keluarga", "desc": "Saudara Dinda - Yogyakarta", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0168", "name": "Dek Wita & Keluarga", "desc": "Saudara Dinda - Yogyakarta", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0169", "name": "Bulek Tatik & Keluarga", "desc": "Saudara Dinda - Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0170", "name": "Dek Tanti & Keluarga", "desc": "Saudara Dinda - Jepara", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0171", "name": "Paklek Hermanto & Keluarga", "desc": "Saudara Dinda - Dlanggu", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0172", "name": "Pakdhe Supri", "desc": "Saudara Indra - Kendal", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0173", "name": "Saudara Indra 1", "desc": "Saudara Indra - Kendal", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0174", "name": "Saudara Indra 2", "desc": "Saudara Indra - Kendal", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0175", "name": "Saudara Indra 3", "desc": "Saudara Indra - Kendal", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0176", "name": "Saudara Indra 4", "desc": "Saudara Indra - Kendal", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0177", "name": "Saudara Indra 5", "desc": "Saudara Indra - Kendal", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0178", "name": "VIP - Agus Murdianto", "desc": "Bandung", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0179", "name": "Pri", "desc": "Singa Tengah, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0180", "name": "Darsono", "desc": "Singa Tengah, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0181", "name": "Solikin", "desc": "Singa Tengah, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0182", "name": "Ansila Putri & Bogie Tomy", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0183", "name": "Tasya Patria & Yesi Ayusta", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0184", "name": "Nawang Sandewi & Aulia Aristiana", "desc": "Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0185", "name": "Irin Riany", "desc": "TVRI", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0186", "name": "Oong Fatonah", "desc": "Tegal", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0188", "name": "Niken Hapsari", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0189", "name": "Roni Yanuar", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0190", "name": "Budhe Nanik & Keluarga", "desc": "Saudara Dinda - Yogyakarta", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0191", "name": "Bulek Tutik & Keluarga", "desc": "Saudara Dinda - Yogyakarta", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0192", "name": "Om Totok & Keluarga", "desc": "Saudara Dinda - Yogyakarta", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0193", "name": "Om Tomi & Keluarga", "desc": "Saudara Dinda - Yogyakarta", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0194", "name": "Bulek Yanti & Keluarga", "desc": "Saudara Dinda - Yogyakarta", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0195", "name": "VIP - Rasuna Agusman", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0196", "name": "Punjung", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0197", "name": "Dwi Joko Daryono", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0198", "name": "Joko Hermawan", "desc": "Kendal", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0199", "name": "VIP - Arieswanto", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0200", "name": "VIP - Budi Sanyoto", "desc": "Jakarta", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0201", "name": "Moch. Syakban", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0202", "name": "VIP - Ondhie", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0203", "name": "VIP - Robin", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0204", "name": "Dani", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0205", "name": "Nur Cholim", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0206", "name": "Mulyadi", "desc": "Jalan Singa, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0207", "name": "Mardi", "desc": "Singa Tengah, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0208", "name": "Budi", "desc": "Singa Tengah, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0209", "name": "Sukendro", "desc": "Singa Tengah, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0210", "name": "Tini", "desc": "Singa Tengah, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0213", "name": "Maryati", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0214", "name": "Suroso", "desc": "Kauman Barat, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0215", "name": "Ingka", "desc": "Kauman Barat, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0216", "name": "Ruswanto", "desc": "Kauman Barat, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0217", "name": "Yudi", "desc": "Kauman Barat, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0218", "name": "Sugueng", "desc": "Kauman Barat, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0219", "name": "Parno", "desc": "Kauman Barat, Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0220", "name": "Budi & Keluarga", "desc": "Saudara Dinda - Yogyakarta", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0221", "name": "Betri & Keluarga", "desc": "Saudara Dinda - Yogyakarta", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0222", "name": "Wiwik & Keluarga", "desc": "Saudara Dinda - Yogyakarta", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0223", "name": "Rizal", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0224", "name": "VIP - Elbi", "desc": "PZ Cussons", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0225", "name": "Sudarto", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0226", "name": "Widartono", "desc": "Yogyakarta", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0227", "name": "Alifa Ghaisani", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0228", "name": "Nadia Kumala Devi", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0229", "name": "Arinda Dea & Mega Ayu", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0230", "name": "Yuni Devi", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0231", "name": "Fadhila & Rifaldi", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0232", "name": "Dimas Helmi & Taufiqy Seno", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0233", "name": "Fardian & Hafit", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0234", "name": "Ratna Lestari & Dinda Fauziah", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0235", "name": "Singgih", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0236", "name": "Maricha & Al Ghalib", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0237", "name": "Pipid Setya", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0241", "name": "Sabila Ilham Bimantara", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0242", "name": "Rama", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0243", "name": "Ivan", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0244", "name": "Tias Nur Hidayah", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0246", "name": "Nurla Jannata", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0248", "name": "Fika Aprilia", "desc": "UDINUS", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0251", "name": "Apsari Retno", "desc": "Hikayat NET TV", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0252", "name": "Dewi", "desc": "Hikayat NET TV", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0253", "name": "Hajar Nuris Sofa", "desc": "Dompet Dhuafa", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0255", "name": "VIP - Ibu Erika Devi Udayanti", "desc": "Dosen UDINUS", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0256", "name": "VIP - Ibu Etika Kartikadarma", "desc": "Dosen UDINUS", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0257", "name": "VIP - Bapak Rindra Yusianto", "desc": "Dosen UDINUS", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0258", "name": "VIP - Ibu Amida Yusriana", "desc": "Dosen UDINUS", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0259", "name": "VIP - Ibu Devi Purnamasari", "desc": "Dosen UDINUS", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0260", "name": "VIP - Ibu Mukaromah", "desc": "Dosen UDINUS", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0261", "name": "VIP - Mrs. Cinantya Paramita", "desc": "Dosen UDINUS", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0262", "name": "VIP - Bapak Pulung Nurtantio Andono", "desc": "Dosen UDINUS", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0263", "name": "Tanjung", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0264", "name": "Danu", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0265", "name": "Eko Sukoco", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0266", "name": "Jubedi", "desc": "Salatiga", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0267", "name": "Jamaludin", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0268", "name": "Sutrisno", "desc": "Semarang", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0269", "name": "Riema Maristella", "desc": "Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0270", "name": "Haris Yuliyanto", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0271", "name": "Hengky Widiantoro", "desc": "UDINUS", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0272", "name": "Dhia Ayu & Akhadila Bayu", "desc": "UDINUS", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0273", "name": "Dhiyas Mareda", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0274", "name": "Reny Dwi", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0275", "name": "Nabila Hanum", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0276", "name": "Herlin", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0277", "name": "Maura Savira", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0278", "name": "Dian Octaviana", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0279", "name": "Amalia KW", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0280", "name": "Nastiti Silvananda", "desc": "Hore Heroes", "shift": 2, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0281", "name": "Almalina Nabila", "desc": "Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0282", "name": "Abdul Ghofar", "desc": "Sahabat Indra", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0283", "name": "Milatina NH", "desc": "Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0284", "name": "VIP - Ibu Mutia Rahmi Pratiwi", "desc": "Dosen UDINUS", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0285", "name": "VIP - Bapak Ajib Susanto", "desc": "Dosen UDINUS", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0286", "name": "Bulek Ida & Keluarga", "desc": "Saudara Dinda - Semarang", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0287", "name": "Mayumi Kris G", "desc": "SMP PAPB", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0288", "name": "Yumna Setia", "desc": "SMP PAPB", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0289", "name": "Mochammad Sholihin (Emsho)", "desc": "Hikayat NET TV", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" }, { "code": "DXI-0290", "name": "Novan & Dika", "desc": "Saudara Indra - Kendal", "shift": 1, "isAttended": "", "updatedBy": "", "isExchanged": "", "exchangedAt": "", "exchangedBy": "" } ] ================================================ FILE: api/shift.json ================================================ { "currentShift": 1, "isUseShift": true, "shiftType": [null, "10.30 - 12.00 WIB", "12.00 - 13.30 WIB"], "totalSouvenir": 264 } ================================================ FILE: gatsby-config.js ================================================ /** * Configure your Gatsby site with this file. * * See: https://www.gatsbyjs.org/docs/gatsby-config/ */ module.exports = { /* Your site config here */ pathPrefix: `/thekusuma`, plugins: [ `gatsby-plugin-react-helmet`, 'gatsby-plugin-eslint', `gatsby-plugin-emotion`, 'gatsby-optional-chaining', { resolve: 'gatsby-alias-imports', options: { aliases: { '@components': 'src/components', '@helpers': 'src/helpers', '@pages': 'src/pages', '@assets': 'src/assets', '@hooks': 'src/hooks', '@': 'src', }, }, }, ], }; ================================================ FILE: package.json ================================================ { "name": "gatsby-starter-hello-world", "private": true, "description": "A simplified bare-bones starter for Gatsby", "version": "0.1.0", "license": "MIT", "scripts": { "build": "gatsby build", "develop": "gatsby develop", "format": "prettier --write \"**/*.{js,jsx,json,md}\"", "start": "npm run develop", "serve": "gatsby serve", "clean": "gatsby clean", "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1" }, "dependencies": { "@emotion/core": "^10.0.28", "@loadable/component": "^5.12.0", "add": "^2.0.6", "gatsby": "^2.21.37", "gatsby-plugin-emotion": "^4.3.2", "gatsby-plugin-eslint": "^2.0.8", "gatsby-plugin-react-helmet": "^3.3.2", "prop-types": "^15.7.2", "react": "^16.12.0", "react-dom": "^16.12.0", "react-helmet": "^6.0.0", "react-image-gallery": "^1.0.7", "react-qr-code": "^1.0.2" }, "devDependencies": { "eslint-config-jquery": "^3.0.0", "eslint-import-resolver-alias": "^1.1.2", "eslint-plugin-import": "^2.20.2", "gatsby-alias-imports": "^1.0.4", "gatsby-optional-chaining": "^1.0.1", "prettier": "2.0.5" }, "repository": { "type": "git", "url": "https://github.com/gatsbyjs/gatsby-starter-hello-world" }, "bugs": { "url": "https://github.com/gatsbyjs/gatsby/issues" } } ================================================ FILE: src/assets/css/bootstrap.css ================================================ @charset "UTF-8"; /*! * Bootstrap v3.3.5 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ html { font-family: sans-serif; -ms-text-size-adjust: 100%; -webkit-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 { font-size: 2em; margin: 0.67em 0; } mark { background: #ff0; color: #000; } small { font-size: 80%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { box-sizing: content-box; height: 0; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; } 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 { border: 0; padding: 0; } input { line-height: normal; } input[type="checkbox"], input[type="radio"] { 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-appearance: textfield; box-sizing: content-box; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } legend { border: 0; padding: 0; } textarea { overflow: auto; } optgroup { font-weight: bold; } table { border-collapse: collapse; border-spacing: 0; } td, th { padding: 0; } /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ @media print { *, *:before, *:after { background: transparent !important; color: #000 !important; box-shadow: none !important; text-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; } .navbar { display: none; } .btn > .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table td, .table th { background-color: #fff !important; } .table-bordered th, .table-bordered td { border: 1px solid #ddd !important; } } * { -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: transparent; } body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.42857; color: #333333; background-color: #fff; } input, button, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; } a { color: #337ab7; text-decoration: none; } a:hover, a:focus { color: #23527c; text-decoration: underline; } a:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } figure { margin: 0; } img { vertical-align: middle; } .img-responsive { display: block; max-width: 100%; height: auto; } .img-rounded { border-radius: 6px; } .img-thumbnail { padding: 4px; line-height: 1.42857; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; display: inline-block; max-width: 100%; height: auto; } .img-circle { border-radius: 50%; } hr { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eeeeee; } .sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; 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; } [role="button"] { cursor: pointer; } 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, h1 .small, h2 small, h2 .small, h3 small, h3 .small, h4 small, h4 .small, h5 small, h5 .small, h6 small, h6 .small, .h1 small, .h1 .small, .h2 small, .h2 .small, .h3 small, .h3 .small, .h4 small, .h4 .small, .h5 small, .h5 .small, .h6 small, .h6 .small { font-weight: normal; line-height: 1; color: #777777; } h1, .h1, h2, .h2, h3, .h3 { margin-top: 20px; margin-bottom: 10px; } h1 small, h1 .small, .h1 small, .h1 .small, h2 small, h2 .small, .h2 small, .h2 .small, h3 small, h3 .small, .h3 small, .h3 .small { font-size: 65%; } h4, .h4, h5, .h5, h6, .h6 { margin-top: 10px; margin-bottom: 10px; } h4 small, h4 .small, .h4 small, .h4 .small, h5 small, h5 .small, .h5 small, .h5 .small, h6 small, h6 .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%; } mark, .mark { background-color: #fcf8e3; padding: .2em; } .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, .initialism { text-transform: uppercase; } .text-capitalize { text-transform: capitalize; } .text-muted { color: #777777; } .text-primary { color: #337ab7; } a.text-primary:hover, a.text-primary:focus { color: #286090; } .text-success { color: #3c763d; } a.text-success:hover, a.text-success:focus { color: #2b542c; } .text-info { color: #31708f; } a.text-info:hover, a.text-info:focus { color: #245269; } .text-warning { color: #8a6d3b; } a.text-warning:hover, a.text-warning:focus { color: #66512c; } .text-danger { color: #a94442; } a.text-danger:hover, a.text-danger:focus { color: #843534; } .bg-primary { color: #fff; } .bg-primary { background-color: #337ab7; } a.bg-primary:hover, a.bg-primary:focus { background-color: #286090; } .bg-success { background-color: #dff0d8; } a.bg-success:hover, a.bg-success:focus { background-color: #c1e2b3; } .bg-info { background-color: #d9edf7; } a.bg-info:hover, a.bg-info:focus { background-color: #afd9ee; } .bg-warning { background-color: #fcf8e3; } a.bg-warning:hover, a.bg-warning:focus { background-color: #f7ecb5; } .bg-danger { background-color: #f2dede; } a.bg-danger:hover, a.bg-danger:focus { background-color: #e4b9b9; } .page-header { padding-bottom: 9px; margin: 40px 0 20px; border-bottom: 1px solid #eeeeee; } ul, ol { margin-top: 0; margin-bottom: 10px; } ul ul, ul ol, ol ul, ol ol { margin-bottom: 0; } .list-unstyled { padding-left: 0; list-style: none; } .list-inline { padding-left: 0; list-style: none; margin-left: -5px; } .list-inline > li { display: inline-block; padding-left: 5px; padding-right: 5px; } dl { margin-top: 0; margin-bottom: 20px; } dt, dd { line-height: 1.42857; } dt { font-weight: bold; } dd { margin-left: 0; } .dl-horizontal dd:before, .dl-horizontal dd:after { content: " "; display: table; } .dl-horizontal dd:after { clear: both; } @media (min-width: 768px) { .dl-horizontal dt { float: left; width: 160px; clear: left; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .dl-horizontal dd { margin-left: 180px; } } abbr[title], abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #777777; } .initialism { font-size: 90%; } blockquote { padding: 10px 20px; margin: 0 0 20px; font-size: 17.5px; border-left: 5px solid #eeeeee; } 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.42857; color: #777777; } blockquote footer:before, blockquote small:before, blockquote .small:before { content: '\2014 \00A0'; } .blockquote-reverse, blockquote.pull-right { padding-right: 15px; padding-left: 0; border-right: 5px solid #eeeeee; border-left: 0; text-align: right; } .blockquote-reverse footer:before, .blockquote-reverse small:before, .blockquote-reverse .small:before, blockquote.pull-right footer:before, blockquote.pull-right small:before, blockquote.pull-right .small:before { content: ''; } .blockquote-reverse footer:after, .blockquote-reverse small:after, .blockquote-reverse .small:after, blockquote.pull-right footer:after, blockquote.pull-right small:after, blockquote.pull-right .small:after { content: '\00A0 \2014'; } address { margin-bottom: 20px; font-style: normal; line-height: 1.42857; } 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; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); } kbd kbd { padding: 0; font-size: 100%; font-weight: bold; box-shadow: none; } pre { display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; line-height: 1.42857; word-break: break-all; word-wrap: break-word; color: #333333; 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 { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px; } .container:before, .container:after { content: " "; display: table; } .container:after { clear: both; } @media (min-width: 768px) { .container { width: 750px; } } @media (min-width: 992px) { .container { width: 970px; } } @media (min-width: 1200px) { .container { width: 1170px; } } .container-fluid { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px; } .container-fluid:before, .container-fluid:after { content: " "; display: table; } .container-fluid:after { clear: both; } .row { margin-left: -15px; margin-right: -15px; } .row:before, .row:after { content: " "; display: table; } .row:after { clear: both; } .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-left: 15px; padding-right: 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-1 { width: 8.33333%; } .col-xs-2 { width: 16.66667%; } .col-xs-3 { width: 25%; } .col-xs-4 { width: 33.33333%; } .col-xs-5 { width: 41.66667%; } .col-xs-6 { width: 50%; } .col-xs-7 { width: 58.33333%; } .col-xs-8 { width: 66.66667%; } .col-xs-9 { width: 75%; } .col-xs-10 { width: 83.33333%; } .col-xs-11 { width: 91.66667%; } .col-xs-12 { width: 100%; } .col-xs-pull-0 { right: auto; } .col-xs-pull-1 { right: 8.33333%; } .col-xs-pull-2 { right: 16.66667%; } .col-xs-pull-3 { right: 25%; } .col-xs-pull-4 { right: 33.33333%; } .col-xs-pull-5 { right: 41.66667%; } .col-xs-pull-6 { right: 50%; } .col-xs-pull-7 { right: 58.33333%; } .col-xs-pull-8 { right: 66.66667%; } .col-xs-pull-9 { right: 75%; } .col-xs-pull-10 { right: 83.33333%; } .col-xs-pull-11 { right: 91.66667%; } .col-xs-pull-12 { right: 100%; } .col-xs-push-0 { left: auto; } .col-xs-push-1 { left: 8.33333%; } .col-xs-push-2 { left: 16.66667%; } .col-xs-push-3 { left: 25%; } .col-xs-push-4 { left: 33.33333%; } .col-xs-push-5 { left: 41.66667%; } .col-xs-push-6 { left: 50%; } .col-xs-push-7 { left: 58.33333%; } .col-xs-push-8 { left: 66.66667%; } .col-xs-push-9 { left: 75%; } .col-xs-push-10 { left: 83.33333%; } .col-xs-push-11 { left: 91.66667%; } .col-xs-push-12 { left: 100%; } .col-xs-offset-0 { margin-left: 0%; } .col-xs-offset-1 { margin-left: 8.33333%; } .col-xs-offset-2 { margin-left: 16.66667%; } .col-xs-offset-3 { margin-left: 25%; } .col-xs-offset-4 { margin-left: 33.33333%; } .col-xs-offset-5 { margin-left: 41.66667%; } .col-xs-offset-6 { margin-left: 50%; } .col-xs-offset-7 { margin-left: 58.33333%; } .col-xs-offset-8 { margin-left: 66.66667%; } .col-xs-offset-9 { margin-left: 75%; } .col-xs-offset-10 { margin-left: 83.33333%; } .col-xs-offset-11 { margin-left: 91.66667%; } .col-xs-offset-12 { margin-left: 100%; } @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-1 { width: 8.33333%; } .col-sm-2 { width: 16.66667%; } .col-sm-3 { width: 25%; } .col-sm-4 { width: 33.33333%; } .col-sm-5 { width: 41.66667%; } .col-sm-6 { width: 50%; } .col-sm-7 { width: 58.33333%; } .col-sm-8 { width: 66.66667%; } .col-sm-9 { width: 75%; } .col-sm-10 { width: 83.33333%; } .col-sm-11 { width: 91.66667%; } .col-sm-12 { width: 100%; } .col-sm-pull-0 { right: auto; } .col-sm-pull-1 { right: 8.33333%; } .col-sm-pull-2 { right: 16.66667%; } .col-sm-pull-3 { right: 25%; } .col-sm-pull-4 { right: 33.33333%; } .col-sm-pull-5 { right: 41.66667%; } .col-sm-pull-6 { right: 50%; } .col-sm-pull-7 { right: 58.33333%; } .col-sm-pull-8 { right: 66.66667%; } .col-sm-pull-9 { right: 75%; } .col-sm-pull-10 { right: 83.33333%; } .col-sm-pull-11 { right: 91.66667%; } .col-sm-pull-12 { right: 100%; } .col-sm-push-0 { left: auto; } .col-sm-push-1 { left: 8.33333%; } .col-sm-push-2 { left: 16.66667%; } .col-sm-push-3 { left: 25%; } .col-sm-push-4 { left: 33.33333%; } .col-sm-push-5 { left: 41.66667%; } .col-sm-push-6 { left: 50%; } .col-sm-push-7 { left: 58.33333%; } .col-sm-push-8 { left: 66.66667%; } .col-sm-push-9 { left: 75%; } .col-sm-push-10 { left: 83.33333%; } .col-sm-push-11 { left: 91.66667%; } .col-sm-push-12 { left: 100%; } .col-sm-offset-0 { margin-left: 0%; } .col-sm-offset-1 { margin-left: 8.33333%; } .col-sm-offset-2 { margin-left: 16.66667%; } .col-sm-offset-3 { margin-left: 25%; } .col-sm-offset-4 { margin-left: 33.33333%; } .col-sm-offset-5 { margin-left: 41.66667%; } .col-sm-offset-6 { margin-left: 50%; } .col-sm-offset-7 { margin-left: 58.33333%; } .col-sm-offset-8 { margin-left: 66.66667%; } .col-sm-offset-9 { margin-left: 75%; } .col-sm-offset-10 { margin-left: 83.33333%; } .col-sm-offset-11 { margin-left: 91.66667%; } .col-sm-offset-12 { margin-left: 100%; } } @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-1 { width: 8.33333%; } .col-md-2 { width: 16.66667%; } .col-md-3 { width: 25%; } .col-md-4 { width: 33.33333%; } .col-md-5 { width: 41.66667%; } .col-md-6 { width: 50%; } .col-md-7 { width: 58.33333%; } .col-md-8 { width: 66.66667%; } .col-md-9 { width: 75%; } .col-md-10 { width: 83.33333%; } .col-md-11 { width: 91.66667%; } .col-md-12 { width: 100%; } .col-md-pull-0 { right: auto; } .col-md-pull-1 { right: 8.33333%; } .col-md-pull-2 { right: 16.66667%; } .col-md-pull-3 { right: 25%; } .col-md-pull-4 { right: 33.33333%; } .col-md-pull-5 { right: 41.66667%; } .col-md-pull-6 { right: 50%; } .col-md-pull-7 { right: 58.33333%; } .col-md-pull-8 { right: 66.66667%; } .col-md-pull-9 { right: 75%; } .col-md-pull-10 { right: 83.33333%; } .col-md-pull-11 { right: 91.66667%; } .col-md-pull-12 { right: 100%; } .col-md-push-0 { left: auto; } .col-md-push-1 { left: 8.33333%; } .col-md-push-2 { left: 16.66667%; } .col-md-push-3 { left: 25%; } .col-md-push-4 { left: 33.33333%; } .col-md-push-5 { left: 41.66667%; } .col-md-push-6 { left: 50%; } .col-md-push-7 { left: 58.33333%; } .col-md-push-8 { left: 66.66667%; } .col-md-push-9 { left: 75%; } .col-md-push-10 { left: 83.33333%; } .col-md-push-11 { left: 91.66667%; } .col-md-push-12 { left: 100%; } .col-md-offset-0 { margin-left: 0%; } .col-md-offset-1 { margin-left: 8.33333%; } .col-md-offset-2 { margin-left: 16.66667%; } .col-md-offset-3 { margin-left: 25%; } .col-md-offset-4 { margin-left: 33.33333%; } .col-md-offset-5 { margin-left: 41.66667%; } .col-md-offset-6 { margin-left: 50%; } .col-md-offset-7 { margin-left: 58.33333%; } .col-md-offset-8 { margin-left: 66.66667%; } .col-md-offset-9 { margin-left: 75%; } .col-md-offset-10 { margin-left: 83.33333%; } .col-md-offset-11 { margin-left: 91.66667%; } .col-md-offset-12 { margin-left: 100%; } } @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-1 { width: 8.33333%; } .col-lg-2 { width: 16.66667%; } .col-lg-3 { width: 25%; } .col-lg-4 { width: 33.33333%; } .col-lg-5 { width: 41.66667%; } .col-lg-6 { width: 50%; } .col-lg-7 { width: 58.33333%; } .col-lg-8 { width: 66.66667%; } .col-lg-9 { width: 75%; } .col-lg-10 { width: 83.33333%; } .col-lg-11 { width: 91.66667%; } .col-lg-12 { width: 100%; } .col-lg-pull-0 { right: auto; } .col-lg-pull-1 { right: 8.33333%; } .col-lg-pull-2 { right: 16.66667%; } .col-lg-pull-3 { right: 25%; } .col-lg-pull-4 { right: 33.33333%; } .col-lg-pull-5 { right: 41.66667%; } .col-lg-pull-6 { right: 50%; } .col-lg-pull-7 { right: 58.33333%; } .col-lg-pull-8 { right: 66.66667%; } .col-lg-pull-9 { right: 75%; } .col-lg-pull-10 { right: 83.33333%; } .col-lg-pull-11 { right: 91.66667%; } .col-lg-pull-12 { right: 100%; } .col-lg-push-0 { left: auto; } .col-lg-push-1 { left: 8.33333%; } .col-lg-push-2 { left: 16.66667%; } .col-lg-push-3 { left: 25%; } .col-lg-push-4 { left: 33.33333%; } .col-lg-push-5 { left: 41.66667%; } .col-lg-push-6 { left: 50%; } .col-lg-push-7 { left: 58.33333%; } .col-lg-push-8 { left: 66.66667%; } .col-lg-push-9 { left: 75%; } .col-lg-push-10 { left: 83.33333%; } .col-lg-push-11 { left: 91.66667%; } .col-lg-push-12 { left: 100%; } .col-lg-offset-0 { margin-left: 0%; } .col-lg-offset-1 { margin-left: 8.33333%; } .col-lg-offset-2 { margin-left: 16.66667%; } .col-lg-offset-3 { margin-left: 25%; } .col-lg-offset-4 { margin-left: 33.33333%; } .col-lg-offset-5 { margin-left: 41.66667%; } .col-lg-offset-6 { margin-left: 50%; } .col-lg-offset-7 { margin-left: 58.33333%; } .col-lg-offset-8 { margin-left: 66.66667%; } .col-lg-offset-9 { margin-left: 75%; } .col-lg-offset-10 { margin-left: 83.33333%; } .col-lg-offset-11 { margin-left: 91.66667%; } .col-lg-offset-12 { margin-left: 100%; } } table { background-color: transparent; } caption { padding-top: 8px; padding-bottom: 8px; color: #777777; text-align: left; } th { text-align: left; } .table { width: 100%; max-width: 100%; margin-bottom: 20px; } .table > thead > tr > th, .table > thead > tr > td, .table > tbody > tr > th, .table > tbody > tr > td, .table > tfoot > tr > th, .table > tfoot > tr > td { padding: 8px; line-height: 1.42857; vertical-align: top; border-top: 1px solid #ddd; } .table > thead > tr > th { vertical-align: bottom; border-bottom: 2px solid #ddd; } .table > caption + thead > tr:first-child > th, .table > caption + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > td, .table > thead:first-child > tr:first-child > th, .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 > thead > tr > td, .table-condensed > tbody > tr > th, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > th, .table-condensed > tfoot > tr > td { padding: 5px; } .table-bordered { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > th, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > th, .table-bordered > tfoot > tr > td { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { border-bottom-width: 2px; } .table-striped > tbody > tr:nth-of-type(odd) { background-color: #f9f9f9; } .table-hover > tbody > tr:hover { background-color: #f5f5f5; } table col[class*="col-"] { position: static; float: none; display: table-column; } table td[class*="col-"], table th[class*="col-"] { position: static; float: none; display: table-cell; } .table > thead > tr > td.active, .table > thead > tr > th.active, .table > thead > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr > td.active, .table > tbody > tr > th.active, .table > tbody > tr.active > td, .table > tbody > tr.active > th, .table > tfoot > tr > td.active, .table > tfoot > tr > th.active, .table > tfoot > tr.active > td, .table > tfoot > tr.active > th { background-color: #f5f5f5; } .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 > thead > tr > th.success, .table > thead > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr > td.success, .table > tbody > tr > th.success, .table > tbody > tr.success > td, .table > tbody > tr.success > th, .table > tfoot > tr > td.success, .table > tfoot > tr > th.success, .table > tfoot > tr.success > td, .table > tfoot > tr.success > th { background-color: #dff0d8; } .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: #d0e9c6; } .table > thead > tr > td.info, .table > thead > tr > th.info, .table > thead > tr.info > td, .table > thead > tr.info > th, .table > tbody > tr > td.info, .table > tbody > tr > th.info, .table > tbody > tr.info > td, .table > tbody > tr.info > th, .table > tfoot > tr > td.info, .table > tfoot > tr > th.info, .table > tfoot > tr.info > td, .table > tfoot > tr.info > th { background-color: #d9edf7; } .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: #c4e3f3; } .table > thead > tr > td.warning, .table > thead > tr > th.warning, .table > thead > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr > td.warning, .table > tbody > tr > th.warning, .table > tbody > tr.warning > td, .table > tbody > tr.warning > th, .table > tfoot > tr > td.warning, .table > tfoot > tr > th.warning, .table > tfoot > tr.warning > td, .table > tfoot > tr.warning > th { background-color: #fcf8e3; } .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: #faf2cc; } .table > thead > tr > td.danger, .table > thead > tr > th.danger, .table > thead > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr > td.danger, .table > tbody > tr > th.danger, .table > tbody > tr.danger > td, .table > tbody > tr.danger > th, .table > tfoot > tr > td.danger, .table > tfoot > tr > th.danger, .table > tfoot > tr.danger > td, .table > tfoot > tr.danger > th { background-color: #f2dede; } .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: #ebcccc; } .table-responsive { overflow-x: auto; min-height: 0.01%; } @media screen and (max-width: 767px) { .table-responsive { width: 100%; margin-bottom: 15px; overflow-y: hidden; -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 > thead > tr > td, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > th, .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 > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > th: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 > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > th: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 > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > td { border-bottom: 0; } } fieldset { padding: 0; margin: 0; border: 0; min-width: 0; } legend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 21px; line-height: inherit; color: #333333; border: 0; border-bottom: 1px solid #e5e5e5; } label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: bold; } 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: 11px; font-size: 14px; line-height: 1.42857; color: #555555; } .form-control { display: block; width: 100%; height: 42px; padding: 10px 20px; font-size: 14px; line-height: 1.42857; color: #555555; background-color: #fff; background-image: none; border: 1px solid #ccc; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; } .form-control:focus { border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); } .form-control::-moz-placeholder { color: #999; opacity: 1; } .form-control:-ms-input-placeholder { color: #999; } .form-control::-webkit-input-placeholder { color: #999; } .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { background-color: #eeeeee; opacity: 1; } .form-control[disabled], fieldset[disabled] .form-control { cursor: not-allowed; } textarea.form-control { height: auto; } input[type="search"] { -webkit-appearance: none; } @media screen and (-webkit-min-device-pixel-ratio: 0) { input[type="date"].form-control, input[type="time"].form-control, input[type="datetime-local"].form-control, input[type="month"].form-control { line-height: 42px; } input[type="date"].input-sm, .input-group-sm > input[type="date"].form-control, .input-group-sm > input[type="date"].input-group-addon, .input-group-sm > .input-group-btn > input[type="date"].btn, .input-group-sm input[type="date"], input[type="time"].input-sm, .input-group-sm > input[type="time"].form-control, .input-group-sm > input[type="time"].input-group-addon, .input-group-sm > .input-group-btn > input[type="time"].btn, .input-group-sm input[type="time"], input[type="datetime-local"].input-sm, .input-group-sm > input[type="datetime-local"].form-control, .input-group-sm > input[type="datetime-local"].input-group-addon, .input-group-sm > .input-group-btn > input[type="datetime-local"].btn, .input-group-sm input[type="datetime-local"], input[type="month"].input-sm, .input-group-sm > input[type="month"].form-control, .input-group-sm > input[type="month"].input-group-addon, .input-group-sm > .input-group-btn > input[type="month"].btn, .input-group-sm input[type="month"] { line-height: 30px; } input[type="date"].input-lg, .input-group-lg > input[type="date"].form-control, .input-group-lg > input[type="date"].input-group-addon, .input-group-lg > .input-group-btn > input[type="date"].btn, .input-group-lg input[type="date"], input[type="time"].input-lg, .input-group-lg > input[type="time"].form-control, .input-group-lg > input[type="time"].input-group-addon, .input-group-lg > .input-group-btn > input[type="time"].btn, .input-group-lg input[type="time"], input[type="datetime-local"].input-lg, .input-group-lg > input[type="datetime-local"].form-control, .input-group-lg > input[type="datetime-local"].input-group-addon, .input-group-lg > .input-group-btn > input[type="datetime-local"].btn, .input-group-lg input[type="datetime-local"], input[type="month"].input-lg, .input-group-lg > input[type="month"].form-control, .input-group-lg > input[type="month"].input-group-addon, .input-group-lg > .input-group-btn > input[type="month"].btn, .input-group-lg input[type="month"] { line-height: 46px; } } .form-group { margin-bottom: 15px; } .radio, .checkbox { position: relative; display: block; margin-top: 10px; margin-bottom: 10px; } .radio label, .checkbox label { min-height: 20px; 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-left: -20px; margin-top: 4px \9; } .radio + .radio, .checkbox + .checkbox { margin-top: -5px; } .radio-inline, .checkbox-inline { position: relative; display: inline-block; padding-left: 20px; margin-bottom: 0; vertical-align: middle; font-weight: normal; cursor: pointer; } .radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { margin-top: 0; margin-left: 10px; } input[type="radio"][disabled], input[type="radio"].disabled, fieldset[disabled] input[type="radio"], input[type="checkbox"][disabled], input[type="checkbox"].disabled, fieldset[disabled] input[type="checkbox"] { cursor: not-allowed; } .radio-inline.disabled, fieldset[disabled] .radio-inline, .checkbox-inline.disabled, fieldset[disabled] .checkbox-inline { cursor: not-allowed; } .radio.disabled label, fieldset[disabled] .radio label, .checkbox.disabled label, fieldset[disabled] .checkbox label { cursor: not-allowed; } .form-control-static { padding-top: 11px; padding-bottom: 11px; margin-bottom: 0; min-height: 34px; } .form-control-static.input-lg, .input-group-lg > .form-control-static.form-control, .input-group-lg > .form-control-static.input-group-addon, .input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control, .input-group-sm > .form-control-static.input-group-addon, .input-group-sm > .input-group-btn > .form-control-static.btn { padding-left: 0; padding-right: 0; } .input-sm, .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { height: 30px; padding: 5px 20px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-sm, .input-group-sm > select.form-control, .input-group-sm > select.input-group-addon, .input-group-sm > .input-group-btn > select.btn { height: 30px; line-height: 30px; } textarea.input-sm, .input-group-sm > textarea.form-control, .input-group-sm > textarea.input-group-addon, .input-group-sm > .input-group-btn > textarea.btn, select[multiple].input-sm, .input-group-sm > select[multiple].form-control, .input-group-sm > select[multiple].input-group-addon, .input-group-sm > .input-group-btn > select[multiple].btn { height: auto; } .form-group-sm .form-control { height: 30px; padding: 5px 20px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .form-group-sm select.form-control { height: 30px; line-height: 30px; } .form-group-sm textarea.form-control, .form-group-sm select[multiple].form-control { height: auto; } .form-group-sm .form-control-static { height: 30px; min-height: 32px; padding: 6px 20px; font-size: 12px; line-height: 1.5; } .input-lg, .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { height: 46px; padding: 10px 20px; font-size: 18px; line-height: 1.33333; border-radius: 6px; } select.input-lg, .input-group-lg > select.form-control, .input-group-lg > select.input-group-addon, .input-group-lg > .input-group-btn > select.btn { height: 46px; line-height: 46px; } textarea.input-lg, .input-group-lg > textarea.form-control, .input-group-lg > textarea.input-group-addon, .input-group-lg > .input-group-btn > textarea.btn, select[multiple].input-lg, .input-group-lg > select[multiple].form-control, .input-group-lg > select[multiple].input-group-addon, .input-group-lg > .input-group-btn > select[multiple].btn { height: auto; } .form-group-lg .form-control { height: 46px; padding: 10px 20px; font-size: 18px; line-height: 1.33333; border-radius: 6px; } .form-group-lg select.form-control { height: 46px; line-height: 46px; } .form-group-lg textarea.form-control, .form-group-lg select[multiple].form-control { height: auto; } .form-group-lg .form-control-static { height: 46px; min-height: 38px; padding: 11px 20px; font-size: 18px; line-height: 1.33333; } .has-feedback { position: relative; } .has-feedback .form-control { padding-right: 52.5px; } .form-control-feedback { position: absolute; top: 0; right: 0; z-index: 2; display: block; width: 42px; height: 42px; line-height: 42px; text-align: center; pointer-events: none; } .input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback, .input-group-lg > .input-group-addon + .form-control-feedback, .input-group-lg > .input-group-btn > .btn + .form-control-feedback, .input-group-lg + .form-control-feedback, .form-group-lg .form-control + .form-control-feedback { width: 46px; height: 46px; line-height: 46px; } .input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback, .input-group-sm > .input-group-addon + .form-control-feedback, .input-group-sm > .input-group-btn > .btn + .form-control-feedback, .input-group-sm + .form-control-feedback, .form-group-sm .form-control + .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, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label { color: #3c763d; } .has-success .form-control { border-color: #3c763d; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-success .form-control:focus { border-color: #2b542c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; } .has-success .input-group-addon { color: #3c763d; border-color: #3c763d; background-color: #dff0d8; } .has-success .form-control-feedback { color: #3c763d; } .has-warning .help-block, .has-warning .control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label { color: #8a6d3b; } .has-warning .form-control { border-color: #8a6d3b; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-warning .form-control:focus { border-color: #66512c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; } .has-warning .input-group-addon { color: #8a6d3b; border-color: #8a6d3b; background-color: #fcf8e3; } .has-warning .form-control-feedback { color: #8a6d3b; } .has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label { color: #a94442; } .has-error .form-control { border-color: #a94442; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-error .form-control:focus { border-color: #843534; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; } .has-error .input-group-addon { color: #a94442; border-color: #a94442; background-color: #f2dede; } .has-error .form-control-feedback { color: #a94442; } .has-feedback label ~ .form-control-feedback { top: 25px; } .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 { margin-top: 0; margin-bottom: 0; padding-top: 11px; } .form-horizontal .radio, .form-horizontal .checkbox { min-height: 31px; } .form-horizontal .form-group { margin-left: -15px; margin-right: -15px; } .form-horizontal .form-group:before, .form-horizontal .form-group:after { content: " "; display: table; } .form-horizontal .form-group:after { clear: both; } @media (min-width: 768px) { .form-horizontal .control-label { text-align: right; margin-bottom: 0; padding-top: 11px; } } .form-horizontal .has-feedback .form-control-feedback { right: 15px; } @media (min-width: 768px) { .form-horizontal .form-group-lg .control-label { padding-top: 14.33333px; font-size: 18px; } } @media (min-width: 768px) { .form-horizontal .form-group-sm .control-label { padding-top: 6px; font-size: 12px; } } .btn { display: inline-block; margin-bottom: 0; font-weight: normal; text-align: center; vertical-align: middle; touch-action: manipulation; cursor: pointer; background-image: none; border: 1px solid transparent; white-space: nowrap; padding: 10px 20px; font-size: 14px; line-height: 1.42857; border-radius: 4px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } .btn:hover, .btn:focus, .btn.focus { color: #333; text-decoration: none; } .btn:active, .btn.active { outline: 0; background-image: none; -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn.disabled, .btn[disabled], fieldset[disabled] .btn { cursor: not-allowed; opacity: 0.65; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; } a.btn.disabled, fieldset[disabled] a.btn { pointer-events: none; } .btn-default { color: #333; background-color: #fff; border-color: #ccc; } .btn-default:focus, .btn-default.focus { color: #333; background-color: #e6e6e6; border-color: #8c8c8c; } .btn-default:hover { color: #333; background-color: #e6e6e6; border-color: #adadad; } .btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle { color: #333; background-color: #e6e6e6; border-color: #adadad; } .btn-default:active:hover, .btn-default:active:focus, .btn-default:active.focus, .btn-default.active:hover, .btn-default.active:focus, .btn-default.active.focus, .open > .btn-default.dropdown-toggle:hover, .open > .btn-default.dropdown-toggle:focus, .open > .btn-default.dropdown-toggle.focus { color: #333; background-color: #d4d4d4; border-color: #8c8c8c; } .btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle { background-image: none; } .btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active { background-color: #fff; border-color: #ccc; } .btn-default .badge { color: #fff; background-color: #333; } .btn-primary { color: #fff; background-color: #337ab7; border-color: #2e6da4; } .btn-primary:focus, .btn-primary.focus { color: #fff; background-color: #286090; border-color: #122b40; } .btn-primary:hover { color: #fff; background-color: #286090; border-color: #204d74; } .btn-primary:active, .btn-primary.active, .open > .btn-primary.dropdown-toggle { color: #fff; background-color: #286090; border-color: #204d74; } .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus, .open > .btn-primary.dropdown-toggle:hover, .open > .btn-primary.dropdown-toggle:focus, .open > .btn-primary.dropdown-toggle.focus { color: #fff; background-color: #204d74; border-color: #122b40; } .btn-primary:active, .btn-primary.active, .open > .btn-primary.dropdown-toggle { background-image: none; } .btn-primary.disabled, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active { background-color: #337ab7; border-color: #2e6da4; } .btn-primary .badge { color: #337ab7; background-color: #fff; } .btn-success { color: #fff; background-color: #5cb85c; border-color: #4cae4c; } .btn-success:focus, .btn-success.focus { color: #fff; background-color: #449d44; border-color: #255625; } .btn-success:hover { color: #fff; background-color: #449d44; border-color: #398439; } .btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle { color: #fff; background-color: #449d44; border-color: #398439; } .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus, .open > .btn-success.dropdown-toggle:hover, .open > .btn-success.dropdown-toggle:focus, .open > .btn-success.dropdown-toggle.focus { color: #fff; background-color: #398439; border-color: #255625; } .btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle { background-image: none; } .btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled].active, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success.focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success.active { background-color: #5cb85c; border-color: #4cae4c; } .btn-success .badge { color: #5cb85c; background-color: #fff; } .btn-info { color: #fff; background-color: #5bc0de; border-color: #46b8da; } .btn-info:focus, .btn-info.focus { color: #fff; background-color: #31b0d5; border-color: #1b6d85; } .btn-info:hover { color: #fff; background-color: #31b0d5; border-color: #269abc; } .btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle { color: #fff; background-color: #31b0d5; border-color: #269abc; } .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus, .open > .btn-info.dropdown-toggle:hover, .open > .btn-info.dropdown-toggle:focus, .open > .btn-info.dropdown-toggle.focus { color: #fff; background-color: #269abc; border-color: #1b6d85; } .btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle { background-image: none; } .btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus, .btn-info[disabled]:active, .btn-info[disabled].active, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info.focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info.active { background-color: #5bc0de; border-color: #46b8da; } .btn-info .badge { color: #5bc0de; background-color: #fff; } .btn-warning { color: #fff; background-color: #f0ad4e; border-color: #eea236; } .btn-warning:focus, .btn-warning.focus { color: #fff; background-color: #ec971f; border-color: #985f0d; } .btn-warning:hover { color: #fff; background-color: #ec971f; border-color: #d58512; } .btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle { color: #fff; background-color: #ec971f; border-color: #d58512; } .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus, .open > .btn-warning.dropdown-toggle:hover, .open > .btn-warning.dropdown-toggle:focus, .open > .btn-warning.dropdown-toggle.focus { color: #fff; background-color: #d58512; border-color: #985f0d; } .btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle { background-image: none; } .btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus, .btn-warning[disabled]:active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning:hover, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning.focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning.active { background-color: #f0ad4e; border-color: #eea236; } .btn-warning .badge { color: #f0ad4e; background-color: #fff; } .btn-danger { color: #fff; background-color: #d9534f; border-color: #d43f3a; } .btn-danger:focus, .btn-danger.focus { color: #fff; background-color: #c9302c; border-color: #761c19; } .btn-danger:hover { color: #fff; background-color: #c9302c; border-color: #ac2925; } .btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle { color: #fff; background-color: #c9302c; border-color: #ac2925; } .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus, .open > .btn-danger.dropdown-toggle:hover, .open > .btn-danger.dropdown-toggle:focus, .open > .btn-danger.dropdown-toggle.focus { color: #fff; background-color: #ac2925; border-color: #761c19; } .btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle { background-image: none; } .btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus, .btn-danger[disabled]:active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger.focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger.active { background-color: #d9534f; border-color: #d43f3a; } .btn-danger .badge { color: #d9534f; background-color: #fff; } .btn-link { color: #337ab7; font-weight: normal; border-radius: 0; } .btn-link, .btn-link:active, .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: #23527c; text-decoration: underline; background-color: transparent; } .btn-link[disabled]:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:hover, fieldset[disabled] .btn-link:focus { color: #777777; text-decoration: none; } .btn-lg, .btn-group-lg > .btn { padding: 10px 20px; font-size: 18px; line-height: 1.33333; border-radius: 6px; } .btn-sm, .btn-group-sm > .btn { padding: 5px 20px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .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 0.15s linear; -o-transition: opacity 0.15s linear; transition: opacity 0.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-property: height, visibility; transition-property: height, visibility; -webkit-transition-duration: 0.35s; transition-duration: 0.35s; -webkit-transition-timing-function: ease; transition-timing-function: ease; } .caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px dashed; border-top: 4px solid \9; border-right: 4px solid transparent; border-left: 4px solid transparent; } .dropup, .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; list-style: none; font-size: 14px; text-align: left; background-color: #fff; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); background-clip: padding-box; } .dropdown-menu.pull-right { right: 0; left: auto; } .dropdown-menu .divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .dropdown-menu > li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.42857; color: #333333; white-space: nowrap; } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { text-decoration: none; color: #262626; background-color: #f5f5f5; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { color: #fff; text-decoration: none; outline: 0; background-color: #337ab7; } .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { color: #777777; } .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { text-decoration: none; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); cursor: not-allowed; } .open > .dropdown-menu { display: block; } .open > a { outline: 0; } .dropdown-menu-right { left: auto; right: 0; } .dropdown-menu-left { left: 0; right: auto; } .dropdown-header { display: block; padding: 3px 20px; font-size: 12px; line-height: 1.42857; color: #777777; white-space: nowrap; } .dropdown-backdrop { position: fixed; left: 0; right: 0; bottom: 0; top: 0; z-index: 990; } .pull-right > .dropdown-menu { right: 0; left: auto; } .dropup .caret, .navbar-fixed-bottom .dropdown .caret { border-top: 0; border-bottom: 4px dashed; border-bottom: 4px solid \9; content: ""; } .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 2px; } @media (min-width: 768px) { .navbar-right .dropdown-menu { right: 0; left: auto; } .navbar-right .dropdown-menu-left { left: 0; right: auto; } } .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 > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn:hover, .btn-group-vertical > .btn:focus, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn.active { z-index: 2; } .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:before, .btn-toolbar:after { content: " "; display: table; } .btn-toolbar:after { clear: both; } .btn-toolbar .btn, .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-bottom-right-radius: 0; border-top-right-radius: 0; } .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-bottom-left-radius: 0; border-top-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:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-top-right-radius: 0; } .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { border-bottom-left-radius: 0; border-top-left-radius: 0; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } .btn-group > .btn + .dropdown-toggle { padding-left: 8px; padding-right: 8px; } .btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle { padding-left: 12px; padding-right: 12px; } .btn-group.open .dropdown-toggle { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); box-shadow: inset 0 3px 5px rgba(0, 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, .btn-group-lg > .btn .caret { border-width: 5px 5px 0; border-bottom-width: 0; } .dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .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:before, .btn-group-vertical > .btn-group:after { content: " "; display: table; } .btn-group-vertical > .btn-group:after { clear: both; } .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-bottom-left-radius: 4px; border-top-right-radius: 0; border-top-left-radius: 0; } .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-right-radius: 0; border-top-left-radius: 0; } .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; } .btn-group-justified > .btn, .btn-group-justified > .btn-group { float: none; display: table-cell; 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 input[type="checkbox"], [data-toggle="buttons"] > .btn-group > .btn input[type="radio"], [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; } .input-group { position: relative; display: table; border-collapse: separate; } .input-group[class*="col-"] { float: none; padding-left: 0; padding-right: 0; } .input-group .form-control { position: relative; z-index: 2; float: left; width: 100%; margin-bottom: 0; } .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: 10px 20px; font-size: 14px; font-weight: normal; line-height: 1; color: #555555; text-align: center; background-color: #eeeeee; border: 1px solid #ccc; border-radius: 4px; } .input-group-addon.input-sm, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .input-group-addon.btn { padding: 5px 20px; font-size: 12px; border-radius: 3px; } .input-group-addon.input-lg, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .input-group-addon.btn { padding: 10px 20px; 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-bottom-right-radius: 0; border-top-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-bottom-left-radius: 0; border-top-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 { z-index: 2; margin-left: -1px; } .nav { margin-bottom: 0; padding-left: 0; list-style: none; } .nav:before, .nav:after { content: " "; display: table; } .nav:after { clear: both; } .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: #eeeeee; } .nav > li.disabled > a { color: #777777; } .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { color: #777777; text-decoration: none; background-color: transparent; cursor: not-allowed; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { background-color: #eeeeee; border-color: #337ab7; } .nav .nav-divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .nav > li > a > img { max-width: none; } .nav-tabs { border-bottom: 1px solid #ddd; } .nav-tabs > li { float: left; margin-bottom: -1px; } .nav-tabs > li > a { margin-right: 2px; line-height: 1.42857; border: 1px solid transparent; border-radius: 4px 4px 0 0; } .nav-tabs > li > a:hover { border-color: #eeeeee #eeeeee #ddd; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { color: #555555; background-color: #fff; border: 1px solid #ddd; border-bottom-color: transparent; cursor: default; } .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: #337ab7; } .nav-stacked > li { float: none; } .nav-stacked > li + li { margin-top: 2px; margin-left: 0; } .nav-justified, .nav-tabs.nav-justified { width: 100%; } .nav-justified > li, .nav-tabs.nav-justified > li { float: none; } .nav-justified > li > a, .nav-tabs.nav-justified > li > a { text-align: center; margin-bottom: 5px; } .nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-justified > li, .nav-tabs.nav-justified > li { display: table-cell; width: 1%; } .nav-justified > li > a, .nav-tabs.nav-justified > li > a { margin-bottom: 0; } } .nav-tabs-justified, .nav-tabs.nav-justified { border-bottom: 0; } .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus { border: 1px solid #ddd; } @media (min-width: 768px) { .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; } .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-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-right-radius: 0; border-top-left-radius: 0; } .navbar { position: relative; min-height: 55px; margin-bottom: 20px; border: 1px solid transparent; } .navbar:before, .navbar:after { content: " "; display: table; } .navbar:after { clear: both; } @media (min-width: 768px) { .navbar { border-radius: 4px; } } .navbar-header:before, .navbar-header:after { content: " "; display: table; } .navbar-header:after { clear: both; } @media (min-width: 768px) { .navbar-header { float: left; } } .navbar-collapse { overflow-x: visible; padding-right: 15px; padding-left: 15px; border-top: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); -webkit-overflow-scrolling: touch; } .navbar-collapse:before, .navbar-collapse:after { content: " "; display: table; } .navbar-collapse:after { clear: both; } .navbar-collapse.in { overflow-y: auto; } @media (min-width: 768px) { .navbar-collapse { width: auto; border-top: 0; 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-left: 0; padding-right: 0; } } .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 340px; } @media (max-device-width: 480px) and (orientation: landscape) { .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 200px; } } .container > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-header, .container-fluid > .navbar-collapse { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .container > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-header, .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; } @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; padding: 17.5px 15px; font-size: 18px; line-height: 20px; height: 55px; } .navbar-brand:hover, .navbar-brand:focus { text-decoration: none; } .navbar-brand > img { display: block; } @media (min-width: 768px) { .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { margin-left: -15px; } } .navbar-toggle { position: relative; float: right; margin-right: 15px; padding: 9px 10px; margin-top: 10.5px; margin-bottom: 10.5px; 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: 8.75px -15px; } .navbar-nav > li > a { padding-top: 10px; padding-bottom: 10px; line-height: 20px; } @media (max-width: 767px) { .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0; background-color: transparent; border: 0; 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; } .navbar-nav > li > a { padding-top: 17.5px; padding-bottom: 17.5px; } } .navbar-form { margin-left: -15px; margin-right: -15px; padding: 10px 15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); margin-top: 6.5px; margin-bottom: 6.5px; } @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; } .navbar-form .form-group:last-child { margin-bottom: 0; } } @media (min-width: 768px) { .navbar-form { width: auto; border: 0; margin-left: 0; margin-right: 0; padding-top: 0; padding-bottom: 0; -webkit-box-shadow: none; box-shadow: none; } } .navbar-nav > li > .dropdown-menu { margin-top: 0; border-top-right-radius: 0; border-top-left-radius: 0; } .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { margin-bottom: 0; border-top-right-radius: 4px; border-top-left-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .navbar-btn { margin-top: 6.5px; margin-bottom: 6.5px; } .navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn { margin-top: 12.5px; margin-bottom: 12.5px; } .navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn { margin-top: 16.5px; margin-bottom: 16.5px; } .navbar-text { margin-top: 17.5px; margin-bottom: 17.5px; } @media (min-width: 768px) { .navbar-text { float: left; margin-left: 15px; margin-right: 15px; } } @media (min-width: 768px) { .navbar-left { float: left !important; } .navbar-right { float: right !important; margin-right: -15px; } .navbar-right ~ .navbar-right { margin-right: 0; } } .navbar-default { background-color: #f8f8f8; border-color: #e7e7e7; } .navbar-default .navbar-brand { color: #777; } .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { color: #5e5e5e; background-color: transparent; } .navbar-default .navbar-text { color: #777; } .navbar-default .navbar-nav > li > a { color: #777; } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { color: #333; background-color: transparent; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { color: #555; background-color: #e7e7e7; } .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: #ddd; } .navbar-default .navbar-toggle .icon-bar { background-color: #888; } .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 { background-color: #e7e7e7; color: #555; } @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, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:hover, fieldset[disabled] .navbar-default .btn-link:focus { color: #ccc; } .navbar-inverse { background-color: #222; border-color: #090909; } .navbar-inverse .navbar-brand { color: #9d9d9d; } .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-text { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { color: #fff; background-color: #090909; } .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: #333; } .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 { background-color: #090909; color: #fff; } @media (max-width: 767px) { .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { border-color: #090909; } .navbar-inverse .navbar-nav .open .dropdown-menu .divider { background-color: #090909; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { color: #9d9d9d; } .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: #090909; } .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: #9d9d9d; } .navbar-inverse .navbar-link:hover { color: #fff; } .navbar-inverse .btn-link { color: #9d9d9d; } .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus { color: #fff; } .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:hover, fieldset[disabled] .navbar-inverse .btn-link:focus { color: #444; } .breadcrumb { padding: 8px 15px; margin-bottom: 20px; list-style: none; background-color: #f5f5f5; border-radius: 4px; } .breadcrumb > li { display: inline-block; } .breadcrumb > li + li:before { content: "/ "; padding: 0 5px; color: #ccc; } .breadcrumb > .active { color: #777777; } .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: 10px 20px; line-height: 1.42857; text-decoration: none; color: #337ab7; background-color: #fff; border: 1px solid #ddd; margin-left: -1px; } .pagination > li:first-child > a, .pagination > li:first-child > span { margin-left: 0; border-bottom-left-radius: 4px; border-top-left-radius: 4px; } .pagination > li:last-child > a, .pagination > li:last-child > span { border-bottom-right-radius: 4px; border-top-right-radius: 4px; } .pagination > li > a:hover, .pagination > li > a:focus, .pagination > li > span:hover, .pagination > li > span:focus { z-index: 3; color: #23527c; background-color: #eeeeee; border-color: #ddd; } .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus, .pagination > .active > span, .pagination > .active > span:hover, .pagination > .active > span:focus { z-index: 2; color: #fff; background-color: #337ab7; border-color: #337ab7; cursor: default; } .pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { color: #777777; background-color: #fff; border-color: #ddd; cursor: not-allowed; } .pagination-lg > li > a, .pagination-lg > li > span { padding: 10px 20px; font-size: 18px; line-height: 1.33333; } .pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { border-bottom-left-radius: 6px; border-top-left-radius: 6px; } .pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { border-bottom-right-radius: 6px; border-top-right-radius: 6px; } .pagination-sm > li > a, .pagination-sm > li > span { padding: 5px 20px; font-size: 12px; line-height: 1.5; } .pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { border-bottom-left-radius: 3px; border-top-left-radius: 3px; } .pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { border-bottom-right-radius: 3px; border-top-right-radius: 3px; } .pager { padding-left: 0; margin: 20px 0; list-style: none; text-align: center; } .pager:before, .pager:after { content: " "; display: table; } .pager:after { clear: both; } .pager li { display: inline; } .pager li > a, .pager li > span { display: inline-block; padding: 5px 14px; background-color: #fff; border: 1px solid #ddd; border-radius: 15px; } .pager li > a:hover, .pager li > a:focus { text-decoration: none; background-color: #eeeeee; } .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: #777777; background-color: #fff; cursor: not-allowed; } .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; } .label:empty { display: none; } .btn .label { position: relative; top: -1px; } a.label:hover, a.label:focus { color: #fff; text-decoration: none; cursor: pointer; } .label-default { background-color: #777777; } .label-default[href]:hover, .label-default[href]:focus { background-color: #5e5e5e; } .label-primary { background-color: #337ab7; } .label-primary[href]:hover, .label-primary[href]:focus { background-color: #286090; } .label-success { background-color: #5cb85c; } .label-success[href]:hover, .label-success[href]:focus { background-color: #449d44; } .label-info { background-color: #5bc0de; } .label-info[href]:hover, .label-info[href]:focus { background-color: #31b0d5; } .label-warning { background-color: #f0ad4e; } .label-warning[href]:hover, .label-warning[href]:focus { background-color: #ec971f; } .label-danger { background-color: #d9534f; } .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; color: #fff; line-height: 1; vertical-align: middle; white-space: nowrap; text-align: center; background-color: #777777; border-radius: 10px; } .badge:empty { display: none; } .btn .badge { position: relative; top: -1px; } .btn-xs .badge, .btn-group-xs > .btn .badge, .btn-group-xs > .btn .badge { top: 0; padding: 1px 5px; } .list-group-item.active > .badge, .nav-pills > .active > a > .badge { color: #337ab7; background-color: #fff; } .list-group-item > .badge { float: right; } .list-group-item > .badge + .badge { margin-right: 5px; } .nav-pills > li > a > .badge { margin-left: 3px; } a.badge:hover, a.badge:focus { color: #fff; text-decoration: none; cursor: pointer; } .jumbotron { padding-top: 30px; padding-bottom: 30px; margin-bottom: 30px; color: inherit; background-color: #eeeeee; } .jumbotron h1, .jumbotron .h1 { color: inherit; } .jumbotron p { margin-bottom: 15px; font-size: 21px; font-weight: 200; } .jumbotron > hr { border-top-color: #d5d5d5; } .container .jumbotron, .container-fluid .jumbotron { border-radius: 6px; } .jumbotron .container { max-width: 100%; } @media screen and (min-width: 768px) { .jumbotron { padding-top: 48px; padding-bottom: 48px; } .container .jumbotron, .container-fluid .jumbotron { padding-left: 60px; padding-right: 60px; } .jumbotron h1, .jumbotron .h1 { font-size: 63px; } } .thumbnail { display: block; padding: 4px; margin-bottom: 20px; line-height: 1.42857; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; -webkit-transition: border 0.2s ease-in-out; -o-transition: border 0.2s ease-in-out; transition: border 0.2s ease-in-out; } .thumbnail > img, .thumbnail a > img { display: block; max-width: 100%; height: auto; margin-left: auto; margin-right: auto; } .thumbnail .caption { padding: 9px; color: #333333; } a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active { border-color: #337ab7; } .alert { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; } .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 { background-color: #dff0d8; border-color: #d6e9c6; color: #3c763d; } .alert-success hr { border-top-color: #c9e2b3; } .alert-success .alert-link { color: #2b542c; } .alert-info { background-color: #d9edf7; border-color: #bce8f1; color: #31708f; } .alert-info hr { border-top-color: #a6e1ec; } .alert-info .alert-link { color: #245269; } .alert-warning { background-color: #fcf8e3; border-color: #faebcc; color: #8a6d3b; } .alert-warning hr { border-top-color: #f7e1b5; } .alert-warning .alert-link { color: #66512c; } .alert-danger { background-color: #f2dede; border-color: #ebccd1; color: #a94442; } .alert-danger hr { border-top-color: #e4b9c0; } .alert-danger .alert-link { color: #843534; } @-webkit-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 { overflow: hidden; height: 20px; margin-bottom: 20px; background-color: #f5f5f5; border-radius: 4px; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); box-shadow: inset 0 1px 2px rgba(0, 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: #337ab7; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -webkit-transition: width 0.6s ease; -o-transition: width 0.6s ease; transition: width 0.6s ease; } .progress-striped .progress-bar, .progress-bar-striped { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); 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-success { background-color: #5cb85c; } .progress-striped .progress-bar-success { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } .progress-bar-info { background-color: #5bc0de; } .progress-striped .progress-bar-info { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } .progress-bar-warning { background-color: #f0ad4e; } .progress-striped .progress-bar-warning { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } .progress-bar-danger { background-color: #d9534f; } .progress-striped .progress-bar-danger { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } .media { margin-top: 15px; } .media:first-child { margin-top: 0; } .media, .media-body { zoom: 1; overflow: hidden; } .media-body { width: 10000px; } .media-object { display: block; } .media-object.img-thumbnail { max-width: none; } .media-right, .media > .pull-right { padding-left: 10px; } .media-left, .media > .pull-left { padding-right: 10px; } .media-left, .media-right, .media-body { display: table-cell; vertical-align: top; } .media-middle { vertical-align: middle; } .media-bottom { vertical-align: bottom; } .media-heading { margin-top: 0; margin-bottom: 5px; } .media-list { padding-left: 0; list-style: none; } .list-group { margin-bottom: 20px; padding-left: 0; } .list-group-item { position: relative; display: block; padding: 10px 15px; margin-bottom: -1px; background-color: #fff; border: 1px solid #ddd; } .list-group-item:first-child { border-top-right-radius: 4px; border-top-left-radius: 4px; } .list-group-item:last-child { margin-bottom: 0; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; } a.list-group-item, button.list-group-item { color: #555; } a.list-group-item .list-group-item-heading, button.list-group-item .list-group-item-heading { color: #333; } a.list-group-item:hover, a.list-group-item:focus, button.list-group-item:hover, button.list-group-item:focus { text-decoration: none; color: #555; background-color: #f5f5f5; } button.list-group-item { width: 100%; text-align: left; } .list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus { background-color: #eeeeee; color: #777777; cursor: not-allowed; } .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: #777777; } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { z-index: 2; color: #fff; background-color: #337ab7; border-color: #337ab7; } .list-group-item.active .list-group-item-heading, .list-group-item.active .list-group-item-heading > small, .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading > small, .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading, .list-group-item.active:focus .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: #c7ddef; } .list-group-item-success { color: #3c763d; background-color: #dff0d8; } a.list-group-item-success, button.list-group-item-success { color: #3c763d; } a.list-group-item-success .list-group-item-heading, button.list-group-item-success .list-group-item-heading { color: inherit; } a.list-group-item-success:hover, a.list-group-item-success:focus, button.list-group-item-success:hover, button.list-group-item-success:focus { color: #3c763d; background-color: #d0e9c6; } a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus, button.list-group-item-success.active, button.list-group-item-success.active:hover, button.list-group-item-success.active:focus { color: #fff; background-color: #3c763d; border-color: #3c763d; } .list-group-item-info { color: #31708f; background-color: #d9edf7; } a.list-group-item-info, button.list-group-item-info { color: #31708f; } a.list-group-item-info .list-group-item-heading, button.list-group-item-info .list-group-item-heading { color: inherit; } a.list-group-item-info:hover, a.list-group-item-info:focus, button.list-group-item-info:hover, button.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, button.list-group-item-info.active, button.list-group-item-info.active:hover, button.list-group-item-info.active:focus { color: #fff; background-color: #31708f; border-color: #31708f; } .list-group-item-warning { color: #8a6d3b; background-color: #fcf8e3; } a.list-group-item-warning, button.list-group-item-warning { color: #8a6d3b; } a.list-group-item-warning .list-group-item-heading, button.list-group-item-warning .list-group-item-heading { color: inherit; } a.list-group-item-warning:hover, a.list-group-item-warning:focus, button.list-group-item-warning:hover, button.list-group-item-warning:focus { color: #8a6d3b; background-color: #faf2cc; } a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus, button.list-group-item-warning.active, button.list-group-item-warning.active:hover, button.list-group-item-warning.active:focus { color: #fff; background-color: #8a6d3b; border-color: #8a6d3b; } .list-group-item-danger { color: #a94442; background-color: #f2dede; } a.list-group-item-danger, button.list-group-item-danger { color: #a94442; } a.list-group-item-danger .list-group-item-heading, button.list-group-item-danger .list-group-item-heading { color: inherit; } a.list-group-item-danger:hover, a.list-group-item-danger:focus, button.list-group-item-danger:hover, button.list-group-item-danger:focus { color: #a94442; background-color: #ebcccc; } a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus, button.list-group-item-danger.active, button.list-group-item-danger.active:hover, button.list-group-item-danger.active:focus { color: #fff; background-color: #a94442; border-color: #a94442; } .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: #fff; border: 1px solid transparent; border-radius: 4px; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); } .panel-body { padding: 15px; } .panel-body:before, .panel-body:after { content: " "; display: table; } .panel-body:after { clear: both; } .panel-heading { padding: 10px 15px; border-bottom: 1px solid transparent; border-top-right-radius: 3px; border-top-left-radius: 3px; } .panel-heading > .dropdown .dropdown-toggle { color: inherit; } .panel-title { margin-top: 0; margin-bottom: 0; font-size: 16px; color: inherit; } .panel-title > a, .panel-title > small, .panel-title > .small, .panel-title > small > a, .panel-title > .small > a { color: inherit; } .panel-footer { padding: 10px 15px; background-color: #f5f5f5; border-top: 1px solid #ddd; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .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-right-radius: 3px; border-top-left-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 > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { border-top-right-radius: 0; border-top-left-radius: 0; } .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-left: 15px; padding-right: 15px; } .panel > .table:first-child, .panel > .table-responsive:first-child > .table:first-child { border-top-right-radius: 3px; border-top-left-radius: 3px; } .panel > .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 > thead: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:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .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 th:first-child, .panel > .table-responsive:first-child > .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 th:first-child { border-top-left-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .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 th:last-child, .panel > .table-responsive:first-child > .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 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:last-child > tfoot:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .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 th:first-child, .panel > .table-responsive:last-child > .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 th:first-child { border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .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 th:last-child, .panel > .table-responsive:last-child > .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 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-bordered > thead > tr > td:first-child, .panel > .table-bordered > tbody > tr > th:first-child, .panel > .table-bordered > tbody > tr > td:first-child, .panel > .table-bordered > tfoot > tr > th:first-child, .panel > .table-bordered > tfoot > tr > td:first-child, .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th: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-bordered > thead > tr > td:last-child, .panel > .table-bordered > tbody > tr > th:last-child, .panel > .table-bordered > tbody > tr > td:last-child, .panel > .table-bordered > tfoot > tr > th:last-child, .panel > .table-bordered > tfoot > tr > td:last-child, .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th: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-bordered > thead > tr:first-child > th, .panel > .table-bordered > tbody > tr:first-child > td, .panel > .table-bordered > tbody > tr:first-child > th, .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { border-bottom: 0; } .panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-bordered > tbody > tr:last-child > th, .panel > .table-bordered > tfoot > tr:last-child > td, .panel > .table-bordered > tfoot > tr:last-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { border-bottom: 0; } .panel > .table-responsive { border: 0; margin-bottom: 0; } .panel-group { margin-bottom: 20px; } .panel-group .panel { margin-bottom: 0; border-radius: 4px; } .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: #ddd; } .panel-default > .panel-heading { color: #333333; background-color: #f5f5f5; border-color: #ddd; } .panel-default > .panel-heading + .panel-collapse > .panel-body { border-top-color: #ddd; } .panel-default > .panel-heading .badge { color: #f5f5f5; background-color: #333333; } .panel-default > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ddd; } .panel-primary { border-color: #337ab7; } .panel-primary > .panel-heading { color: #fff; background-color: #337ab7; border-color: #337ab7; } .panel-primary > .panel-heading + .panel-collapse > .panel-body { border-top-color: #337ab7; } .panel-primary > .panel-heading .badge { color: #337ab7; background-color: #fff; } .panel-primary > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #337ab7; } .panel-success { border-color: #d6e9c6; } .panel-success > .panel-heading { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; } .panel-success > .panel-heading + .panel-collapse > .panel-body { border-top-color: #d6e9c6; } .panel-success > .panel-heading .badge { color: #dff0d8; background-color: #3c763d; } .panel-success > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #d6e9c6; } .panel-info { border-color: #bce8f1; } .panel-info > .panel-heading { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; } .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: #faebcc; } .panel-warning > .panel-heading { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; } .panel-warning > .panel-heading + .panel-collapse > .panel-body { border-top-color: #faebcc; } .panel-warning > .panel-heading .badge { color: #fcf8e3; background-color: #8a6d3b; } .panel-warning > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #faebcc; } .panel-danger { border-color: #ebccd1; } .panel-danger > .panel-heading { color: #a94442; background-color: #f2dede; border-color: #ebccd1; } .panel-danger > .panel-heading + .panel-collapse > .panel-body { border-top-color: #ebccd1; } .panel-danger > .panel-heading .badge { color: #f2dede; background-color: #a94442; } .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; left: 0; bottom: 0; height: 100%; width: 100%; border: 0; } .embed-responsive-16by9 { padding-bottom: 56.25%; } .embed-responsive-4by3 { padding-bottom: 75%; } .well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); } .well blockquote { border-color: #ddd; border-color: rgba(0, 0, 0, 0.15); } .well-lg { padding: 24px; border-radius: 6px; } .well-sm { padding: 9px; border-radius: 3px; } .close { float: right; font-size: 21px; font-weight: bold; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; opacity: 0.2; filter: alpha(opacity=20); } .close:hover, .close:focus { color: #000; text-decoration: none; cursor: pointer; opacity: 0.5; filter: alpha(opacity=50); } button.close { padding: 0; cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; } .modal-open { overflow: hidden; } .modal { display: none; overflow: hidden; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1050; -webkit-overflow-scrolling: touch; outline: 0; } .modal.fade .modal-dialog { -webkit-transform: translate(0, -25%); -ms-transform: translate(0, -25%); -o-transform: translate(0, -25%); transform: translate(0, -25%); -webkit-transition: -webkit-transform 0.3s ease-out; -moz-transition: -moz-transform 0.3s ease-out; -o-transition: -o-transform 0.3s ease-out; transition: transform 0.3s ease-out; } .modal.in .modal-dialog { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); -o-transform: translate(0, 0); transform: translate(0, 0); } .modal-open .modal { overflow-x: hidden; overflow-y: auto; } .modal-dialog { position: relative; width: auto; margin: 10px; } .modal-content { position: relative; background-color: #fff; border: 1px solid #999; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); background-clip: padding-box; outline: 0; } .modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; background-color: #000; } .modal-backdrop.fade { opacity: 0; filter: alpha(opacity=0); } .modal-backdrop.in { opacity: 0.5; filter: alpha(opacity=50); } .modal-header { padding: 15px; border-bottom: 1px solid #e5e5e5; min-height: 16.42857px; } .modal-header .close { margin-top: -2px; } .modal-title { margin: 0; line-height: 1.42857; } .modal-body { position: relative; padding: 15px; } .modal-footer { padding: 15px; text-align: right; border-top: 1px solid #e5e5e5; } .modal-footer:before, .modal-footer:after { content: " "; display: table; } .modal-footer:after { clear: both; } .modal-footer .btn + .btn { margin-left: 5px; margin-bottom: 0; } .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, 0.5); box-shadow: 0 5px 15px rgba(0, 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-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-style: normal; font-weight: normal; letter-spacing: normal; line-break: auto; line-height: 1.42857; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; white-space: normal; word-break: normal; word-spacing: normal; word-wrap: normal; font-size: 12px; opacity: 0; filter: alpha(opacity=0); } .tooltip.in { opacity: 0.9; filter: alpha(opacity=90); } .tooltip.top { margin-top: -3px; padding: 5px 0; } .tooltip.right { margin-left: 3px; padding: 0 5px; } .tooltip.bottom { margin-top: 3px; padding: 5px 0; } .tooltip.left { margin-left: -3px; padding: 0 5px; } .tooltip-inner { max-width: 200px; padding: 3px 8px; color: #fff; text-align: center; 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; right: 5px; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-right .tooltip-arrow { bottom: 0; left: 5px; margin-bottom: -5px; 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; right: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-right .tooltip-arrow { top: 0; left: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .popover { position: absolute; top: 0; left: 0; z-index: 1060; display: none; max-width: 276px; padding: 1px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-style: normal; font-weight: normal; letter-spacing: normal; line-break: auto; line-height: 1.42857; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; white-space: normal; word-break: normal; word-spacing: normal; word-wrap: normal; font-size: 14px; background-color: #fff; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 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 { margin: 0; padding: 8px 14px; font-size: 14px; 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 { border-width: 10px; content: ""; } .popover.top > .arrow { left: 50%; margin-left: -11px; border-bottom-width: 0; border-top-color: #999999; border-top-color: rgba(0, 0, 0, 0.25); bottom: -11px; } .popover.top > .arrow:after { content: " "; bottom: 1px; margin-left: -10px; border-bottom-width: 0; border-top-color: #fff; } .popover.right > .arrow { top: 50%; left: -11px; margin-top: -11px; border-left-width: 0; border-right-color: #999999; border-right-color: rgba(0, 0, 0, 0.25); } .popover.right > .arrow:after { content: " "; left: 1px; bottom: -10px; border-left-width: 0; border-right-color: #fff; } .popover.bottom > .arrow { left: 50%; margin-left: -11px; border-top-width: 0; border-bottom-color: #999999; border-bottom-color: rgba(0, 0, 0, 0.25); top: -11px; } .popover.bottom > .arrow:after { content: " "; top: 1px; margin-left: -10px; 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: #999999; border-left-color: rgba(0, 0, 0, 0.25); } .popover.left > .arrow:after { content: " "; right: 1px; border-right-width: 0; border-left-color: #fff; bottom: -10px; } .carousel { position: relative; } .carousel-inner { position: relative; overflow: hidden; width: 100%; } .carousel-inner > .item { display: none; position: relative; -webkit-transition: 0.6s ease-in-out left; -o-transition: 0.6s ease-in-out left; transition: 0.6s ease-in-out left; } .carousel-inner > .item > img, .carousel-inner > .item > a > img { display: block; max-width: 100%; height: auto; line-height: 1; } @media all and (transform-3d), (-webkit-transform-3d) { .carousel-inner > .item { -webkit-transition: -webkit-transform 0.6s ease-in-out; -moz-transition: -moz-transform 0.6s ease-in-out; -o-transition: -o-transform 0.6s ease-in-out; transition: transform 0.6s ease-in-out; -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; backface-visibility: hidden; -webkit-perspective: 1000px; -moz-perspective: 1000px; perspective: 1000px; } .carousel-inner > .item.next, .carousel-inner > .item.active.right { -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); left: 0; } .carousel-inner > .item.prev, .carousel-inner > .item.active.left { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); left: 0; } .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); left: 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; left: 0; bottom: 0; width: 15%; opacity: 0.5; filter: alpha(opacity=50); font-size: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } .carousel-control.left { background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); } .carousel-control.right { left: auto; right: 0; background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); } .carousel-control:hover, .carousel-control:focus { outline: 0; color: #fff; text-decoration: none; opacity: 0.9; filter: alpha(opacity=90); } .carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right { position: absolute; top: 50%; margin-top: -10px; z-index: 5; display: inline-block; } .carousel-control .icon-prev, .carousel-control .glyphicon-chevron-left { left: 50%; margin-left: -10px; } .carousel-control .icon-next, .carousel-control .glyphicon-chevron-right { right: 50%; margin-right: -10px; } .carousel-control .icon-prev, .carousel-control .icon-next { width: 20px; height: 20px; line-height: 1; 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%; margin-left: -30%; padding-left: 0; list-style: none; text-align: center; } .carousel-indicators li { display: inline-block; width: 10px; height: 10px; margin: 1px; text-indent: -999px; border: 1px solid #fff; border-radius: 10px; cursor: pointer; background-color: #000 \9; background-color: transparent; } .carousel-indicators .active { margin: 0; width: 12px; height: 12px; background-color: #fff; } .carousel-caption { position: absolute; left: 15%; right: 15%; bottom: 20px; z-index: 10; padding-top: 20px; padding-bottom: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } .carousel-caption .btn { text-shadow: none; } @media screen and (min-width: 768px) { .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-prev, .carousel-control .icon-next { width: 30px; height: 30px; margin-top: -15px; font-size: 30px; } .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev { margin-left: -15px; } .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next { margin-right: -15px; } .carousel-caption { left: 20%; right: 20%; padding-bottom: 30px; } .carousel-indicators { bottom: 20px; } } .clearfix:before, .clearfix:after { content: " "; display: table; } .clearfix:after { clear: both; } .center-block { display: block; margin-left: auto; margin-right: 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; } .affix { position: fixed; } @-ms-viewport { width: device-width; } .visible-xs { display: none !important; } .visible-sm { display: none !important; } .visible-md { display: none !important; } .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 !important; } 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 !important; } 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 !important; } 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 !important; } 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 !important; } 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; } } /*# sourceMappingURL=bootstrap.css.map */ ================================================ FILE: src/assets/css/icomoon.css ================================================ @font-face { font-family: 'icomoon'; src: url('../fonts/icomoon/icomoon.eot?6iuir'); src: url('../fonts/icomoon/icomoon.eot?6iuir#iefix') format('embedded-opentype'), url('../fonts/icomoon/icomoon.ttf?6iuir') format('truetype'), url('../fonts/icomoon/icomoon.woff?6iuir') format('woff'), url('../fonts/icomoon/icomoon.svg?6iuir#icomoon') format('svg'); font-weight: normal; font-style: normal; } [class^="icon-"], [class*=" icon-"] { /* use !important to prevent issues with browser extensions that change fonts */ font-family: 'icomoon' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-eye:before { content: "\e000"; } .icon-paper-clip:before { content: "\e001"; } .icon-mail:before { content: "\e002"; } .icon-toggle:before { content: "\e003"; } .icon-layout:before { content: "\e004"; } .icon-link:before { content: "\e005"; } .icon-bell:before { content: "\e006"; } .icon-lock:before { content: "\e007"; } .icon-unlock:before { content: "\e008"; } .icon-ribbon:before { content: "\e009"; } .icon-image:before { content: "\e010"; } .icon-signal:before { content: "\e011"; } .icon-target:before { content: "\e012"; } .icon-clipboard:before { content: "\e013"; } .icon-clock:before { content: "\e014"; } .icon-watch:before { content: "\e015"; } .icon-air-play:before { content: "\e016"; } .icon-camera:before { content: "\e017"; } .icon-video:before { content: "\e018"; } .icon-disc:before { content: "\e019"; } .icon-printer:before { content: "\e020"; } .icon-monitor:before { content: "\e021"; } .icon-server:before { content: "\e022"; } .icon-cog:before { content: "\e023"; } .icon-heart:before { content: "\e024"; } .icon-paragraph:before { content: "\e025"; } .icon-align-justify:before { content: "\e026"; } .icon-align-left:before { content: "\e027"; } .icon-align-center:before { content: "\e028"; } .icon-align-right:before { content: "\e029"; } .icon-book:before { content: "\e030"; } .icon-layers:before { content: "\e031"; } .icon-stack:before { content: "\e032"; } .icon-stack-2:before { content: "\e033"; } .icon-paper:before { content: "\e034"; } .icon-paper-stack:before { content: "\e035"; } .icon-search:before { content: "\e036"; } .icon-zoom-in:before { content: "\e037"; } .icon-zoom-out:before { content: "\e038"; } .icon-reply:before { content: "\e039"; } .icon-circle-plus:before { content: "\e040"; } .icon-circle-minus:before { content: "\e041"; } .icon-circle-check:before { content: "\e042"; } .icon-circle-cross:before { content: "\e043"; } .icon-square-plus:before { content: "\e044"; } .icon-square-minus:before { content: "\e045"; } .icon-square-check:before { content: "\e046"; } .icon-square-cross:before { content: "\e047"; } .icon-microphone:before { content: "\e048"; } .icon-record:before { content: "\e049"; } .icon-skip-back:before { content: "\e050"; } .icon-rewind:before { content: "\e051"; } .icon-play:before { content: "\e052"; } .icon-pause:before { content: "\e053"; } .icon-stop:before { content: "\e054"; } .icon-fast-forward:before { content: "\e055"; } .icon-skip-forward:before { content: "\e056"; } .icon-shuffle:before { content: "\e057"; } .icon-repeat:before { content: "\e058"; } .icon-folder:before { content: "\e059"; } .icon-umbrella:before { content: "\e060"; } .icon-moon:before { content: "\e061"; } .icon-thermometer:before { content: "\e062"; } .icon-drop:before { content: "\e063"; } .icon-sun:before { content: "\e064"; } .icon-cloud:before { content: "\e065"; } .icon-cloud-upload:before { content: "\e066"; } .icon-cloud-download:before { content: "\e067"; } .icon-upload:before { content: "\e068"; } .icon-download:before { content: "\e069"; } .icon-location:before { content: "\e070"; } .icon-location-2:before { content: "\e071"; } .icon-map:before { content: "\e072"; } .icon-battery:before { content: "\e073"; } .icon-head:before { content: "\e074"; } .icon-briefcase:before { content: "\e075"; } .icon-speech-bubble:before { content: "\e076"; } .icon-anchor:before { content: "\e077"; } .icon-globe:before { content: "\e078"; } .icon-box:before { content: "\e079"; } .icon-reload:before { content: "\e080"; } .icon-share:before { content: "\e081"; } .icon-marquee:before { content: "\e082"; } .icon-marquee-plus:before { content: "\e083"; } .icon-marquee-minus:before { content: "\e084"; } .icon-tag:before { content: "\e085"; } .icon-power:before { content: "\e086"; } .icon-command:before { content: "\e087"; } .icon-alt:before { content: "\e088"; } .icon-esc:before { content: "\e089"; } .icon-bar-graph:before { content: "\e090"; } .icon-bar-graph-2:before { content: "\e091"; } .icon-pie-graph:before { content: "\e092"; } .icon-star:before { content: "\e093"; } .icon-arrow-left:before { content: "\e094"; } .icon-arrow-right:before { content: "\e095"; } .icon-arrow-up:before { content: "\e096"; } .icon-arrow-down:before { content: "\e097"; } .icon-volume:before { content: "\e098"; } .icon-mute:before { content: "\e099"; } .icon-content-right:before { content: "\e100"; } .icon-content-left:before { content: "\e101"; } .icon-grid:before { content: "\e102"; } .icon-grid-2:before { content: "\e103"; } .icon-columns:before { content: "\e104"; } .icon-loader:before { content: "\e105"; } .icon-bag:before { content: "\e106"; } .icon-ban:before { content: "\e107"; } .icon-flag:before { content: "\e108"; } .icon-trash:before { content: "\e109"; } .icon-expand:before { content: "\e110"; } .icon-contract:before { content: "\e111"; } .icon-maximize:before { content: "\e112"; } .icon-minimize:before { content: "\e113"; } .icon-plus:before { content: "\e114"; } .icon-minus:before { content: "\e115"; } .icon-check:before { content: "\e116"; } .icon-cross:before { content: "\e117"; } .icon-move:before { content: "\e118"; } .icon-delete:before { content: "\e119"; } .icon-menu:before { content: "\e120"; } .icon-archive:before { content: "\e121"; } .icon-inbox:before { content: "\e122"; } .icon-outbox:before { content: "\e123"; } .icon-file:before { content: "\e124"; } .icon-file-add:before { content: "\e125"; } .icon-file-subtract:before { content: "\e126"; } .icon-help:before { content: "\e127"; } .icon-open:before { content: "\e128"; } .icon-ellipsis:before { content: "\e129"; } .icon-add-to-list:before { content: "\e900"; } .icon-classic-computer:before { content: "\e901"; } .icon-controller-fast-backward:before { content: "\e902"; } .icon-creative-commons-attribution:before { content: "\e903"; } .icon-creative-commons-noderivs:before { content: "\e904"; } .icon-creative-commons-noncommercial-eu:before { content: "\e905"; } .icon-creative-commons-noncommercial-us:before { content: "\e906"; } .icon-creative-commons-public-domain:before { content: "\e907"; } .icon-creative-commons-remix:before { content: "\e908"; } .icon-creative-commons-share:before { content: "\e909"; } .icon-creative-commons-sharealike:before { content: "\e90a"; } .icon-creative-commons:before { content: "\e90b"; } .icon-document-landscape:before { content: "\e90c"; } .icon-remove-user:before { content: "\e90d"; } .icon-warning:before { content: "\e90e"; } .icon-arrow-bold-down:before { content: "\e90f"; } .icon-arrow-bold-left:before { content: "\e910"; } .icon-arrow-bold-right:before { content: "\e911"; } .icon-arrow-bold-up:before { content: "\e912"; } .icon-arrow-down2:before { content: "\e913"; } .icon-arrow-left2:before { content: "\e914"; } .icon-arrow-long-down:before { content: "\e915"; } .icon-arrow-long-left:before { content: "\e916"; } .icon-arrow-long-right:before { content: "\e917"; } .icon-arrow-long-up:before { content: "\e918"; } .icon-arrow-right2:before { content: "\e919"; } .icon-arrow-up2:before { content: "\e91a"; } .icon-arrow-with-circle-down:before { content: "\e91b"; } .icon-arrow-with-circle-left:before { content: "\e91c"; } .icon-arrow-with-circle-right:before { content: "\e91d"; } .icon-arrow-with-circle-up:before { content: "\e91e"; } .icon-bookmark:before { content: "\e91f"; } .icon-bookmarks:before { content: "\e920"; } .icon-chevron-down:before { content: "\e921"; } .icon-chevron-left:before { content: "\e922"; } .icon-chevron-right:before { content: "\e923"; } .icon-chevron-small-down:before { content: "\e924"; } .icon-chevron-small-left:before { content: "\e925"; } .icon-chevron-small-right:before { content: "\e926"; } .icon-chevron-small-up:before { content: "\e927"; } .icon-chevron-thin-down:before { content: "\e928"; } .icon-chevron-thin-left:before { content: "\e929"; } .icon-chevron-thin-right:before { content: "\e92a"; } .icon-chevron-thin-up:before { content: "\e92b"; } .icon-chevron-up:before { content: "\e92c"; } .icon-chevron-with-circle-down:before { content: "\e92d"; } .icon-chevron-with-circle-left:before { content: "\e92e"; } .icon-chevron-with-circle-right:before { content: "\e92f"; } .icon-chevron-with-circle-up:before { content: "\e930"; } .icon-cloud2:before { content: "\e931"; } .icon-controller-fast-forward:before { content: "\e932"; } .icon-controller-jump-to-start:before { content: "\e933"; } .icon-controller-next:before { content: "\e934"; } .icon-controller-paus:before { content: "\e935"; } .icon-controller-play:before { content: "\e936"; } .icon-controller-record:before { content: "\e937"; } .icon-controller-stop:before { content: "\e938"; } .icon-controller-volume:before { content: "\e939"; } .icon-dot-single:before { content: "\e93a"; } .icon-dots-three-horizontal:before { content: "\e93b"; } .icon-dots-three-vertical:before { content: "\e93c"; } .icon-dots-two-horizontal:before { content: "\e93d"; } .icon-dots-two-vertical:before { content: "\e93e"; } .icon-download2:before { content: "\e93f"; } .icon-emoji-flirt:before { content: "\e940"; } .icon-flow-branch:before { content: "\e941"; } .icon-flow-cascade:before { content: "\e942"; } .icon-flow-line:before { content: "\e943"; } .icon-flow-parallel:before { content: "\e944"; } .icon-flow-tree:before { content: "\e945"; } .icon-install:before { content: "\e946"; } .icon-layers2:before { content: "\e947"; } .icon-open-book:before { content: "\e948"; } .icon-resize-100:before { content: "\e949"; } .icon-resize-full-screen:before { content: "\e94a"; } .icon-save:before { content: "\e94b"; } .icon-select-arrows:before { content: "\e94c"; } .icon-sound-mute:before { content: "\e94d"; } .icon-sound:before { content: "\e94e"; } .icon-trash2:before { content: "\e94f"; } .icon-triangle-down:before { content: "\e950"; } .icon-triangle-left:before { content: "\e951"; } .icon-triangle-right:before { content: "\e952"; } .icon-triangle-up:before { content: "\e953"; } .icon-uninstall:before { content: "\e954"; } .icon-upload-to-cloud:before { content: "\e955"; } .icon-upload2:before { content: "\e956"; } .icon-add-user:before { content: "\e957"; } .icon-address:before { content: "\e958"; } .icon-adjust:before { content: "\e959"; } .icon-air:before { content: "\e95a"; } .icon-aircraft-landing:before { content: "\e95b"; } .icon-aircraft-take-off:before { content: "\e95c"; } .icon-aircraft:before { content: "\e95d"; } .icon-align-bottom:before { content: "\e95e"; } .icon-align-horizontal-middle:before { content: "\e95f"; } .icon-align-left2:before { content: "\e960"; } .icon-align-right2:before { content: "\e961"; } .icon-align-top:before { content: "\e962"; } .icon-align-vertical-middle:before { content: "\e963"; } .icon-archive2:before { content: "\e964"; } .icon-area-graph:before { content: "\e965"; } .icon-attachment:before { content: "\e966"; } .icon-awareness-ribbon:before { content: "\e967"; } .icon-back-in-time:before { content: "\e968"; } .icon-back:before { content: "\e969"; } .icon-bar-graph2:before { content: "\e96a"; } .icon-battery2:before { content: "\e96b"; } .icon-beamed-note:before { content: "\e96c"; } .icon-bell2:before { content: "\e96d"; } .icon-blackboard:before { content: "\e96e"; } .icon-block:before { content: "\e96f"; } .icon-book2:before { content: "\e970"; } .icon-bowl:before { content: "\e971"; } .icon-box2:before { content: "\e972"; } .icon-briefcase2:before { content: "\e973"; } .icon-browser:before { content: "\e974"; } .icon-brush:before { content: "\e975"; } .icon-bucket:before { content: "\e976"; } .icon-cake:before { content: "\e977"; } .icon-calculator:before { content: "\e978"; } .icon-calendar:before { content: "\e979"; } .icon-camera2:before { content: "\e97a"; } .icon-ccw:before { content: "\e97b"; } .icon-chat:before { content: "\e97c"; } .icon-check2:before { content: "\e97d"; } .icon-circle-with-cross:before { content: "\e97e"; } .icon-circle-with-minus:before { content: "\e97f"; } .icon-circle-with-plus:before { content: "\e980"; } .icon-circle:before { content: "\e981"; } .icon-circular-graph:before { content: "\e982"; } .icon-clapperboard:before { content: "\e983"; } .icon-clipboard2:before { content: "\e984"; } .icon-clock2:before { content: "\e985"; } .icon-code:before { content: "\e986"; } .icon-cog2:before { content: "\e987"; } .icon-colours:before { content: "\e988"; } .icon-compass:before { content: "\e989"; } .icon-copy:before { content: "\e98a"; } .icon-credit-card:before { content: "\e98b"; } .icon-credit:before { content: "\e98c"; } .icon-cross2:before { content: "\e98d"; } .icon-cup:before { content: "\e98e"; } .icon-cw:before { content: "\e98f"; } .icon-cycle:before { content: "\e990"; } .icon-database:before { content: "\e991"; } .icon-dial-pad:before { content: "\e992"; } .icon-direction:before { content: "\e993"; } .icon-document:before { content: "\e994"; } .icon-documents:before { content: "\e995"; } .icon-drink:before { content: "\e996"; } .icon-drive:before { content: "\e997"; } .icon-drop2:before { content: "\e998"; } .icon-edit:before { content: "\e999"; } .icon-email:before { content: "\e99a"; } .icon-emoji-happy:before { content: "\e99b"; } .icon-emoji-neutral:before { content: "\e99c"; } .icon-emoji-sad:before { content: "\e99d"; } .icon-erase:before { content: "\e99e"; } .icon-eraser:before { content: "\e99f"; } .icon-export:before { content: "\e9a0"; } .icon-eye2:before { content: "\e9a1"; } .icon-feather:before { content: "\e9a2"; } .icon-flag2:before { content: "\e9a3"; } .icon-flash:before { content: "\e9a4"; } .icon-flashlight:before { content: "\e9a5"; } .icon-flat-brush:before { content: "\e9a6"; } .icon-folder-images:before { content: "\e9a7"; } .icon-folder-music:before { content: "\e9a8"; } .icon-folder-video:before { content: "\e9a9"; } .icon-folder2:before { content: "\e9aa"; } .icon-forward:before { content: "\e9ab"; } .icon-funnel:before { content: "\e9ac"; } .icon-game-controller:before { content: "\e9ad"; } .icon-gauge:before { content: "\e9ae"; } .icon-globe2:before { content: "\e9af"; } .icon-graduation-cap:before { content: "\e9b0"; } .icon-grid2:before { content: "\e9b1"; } .icon-hair-cross:before { content: "\e9b2"; } .icon-hand:before { content: "\e9b3"; } .icon-heart-outlined:before { content: "\e9b4"; } .icon-heart2:before { content: "\e9b5"; } .icon-help-with-circle:before { content: "\e9b6"; } .icon-help2:before { content: "\e9b7"; } .icon-home:before { content: "\e9b8"; } .icon-hour-glass:before { content: "\e9b9"; } .icon-image-inverted:before { content: "\e9ba"; } .icon-image2:before { content: "\e9bb"; } .icon-images:before { content: "\e9bc"; } .icon-inbox2:before { content: "\e9bd"; } .icon-infinity:before { content: "\e9be"; } .icon-info-with-circle:before { content: "\e9bf"; } .icon-info:before { content: "\e9c0"; } .icon-key:before { content: "\e9c1"; } .icon-keyboard:before { content: "\e9c2"; } .icon-lab-flask:before { content: "\e9c3"; } .icon-landline:before { content: "\e9c4"; } .icon-language:before { content: "\e9c5"; } .icon-laptop:before { content: "\e9c6"; } .icon-leaf:before { content: "\e9c7"; } .icon-level-down:before { content: "\e9c8"; } .icon-level-up:before { content: "\e9c9"; } .icon-lifebuoy:before { content: "\e9ca"; } .icon-light-bulb:before { content: "\e9cb"; } .icon-light-down:before { content: "\e9cc"; } .icon-light-up:before { content: "\e9cd"; } .icon-line-graph:before { content: "\e9ce"; } .icon-link2:before { content: "\e9cf"; } .icon-list:before { content: "\e9d0"; } .icon-location-pin:before { content: "\e9d1"; } .icon-location2:before { content: "\e9d2"; } .icon-lock-open:before { content: "\e9d3"; } .icon-lock2:before { content: "\e9d4"; } .icon-log-out:before { content: "\e9d5"; } .icon-login:before { content: "\e9d6"; } .icon-loop:before { content: "\e9d7"; } .icon-magnet:before { content: "\e9d8"; } .icon-magnifying-glass:before { content: "\e9d9"; } .icon-mail2:before { content: "\e9da"; } .icon-man:before { content: "\e9db"; } .icon-map2:before { content: "\e9dc"; } .icon-mask:before { content: "\e9dd"; } .icon-medal:before { content: "\e9de"; } .icon-megaphone:before { content: "\e9df"; } .icon-menu2:before { content: "\e9e0"; } .icon-message:before { content: "\e9e1"; } .icon-mic:before { content: "\e9e2"; } .icon-minus2:before { content: "\e9e3"; } .icon-mobile:before { content: "\e9e4"; } .icon-modern-mic:before { content: "\e9e5"; } .icon-moon2:before { content: "\e9e6"; } .icon-mouse:before { content: "\e9e7"; } .icon-music:before { content: "\e9e8"; } .icon-network:before { content: "\e9e9"; } .icon-new-message:before { content: "\e9ea"; } .icon-new:before { content: "\e9eb"; } .icon-news:before { content: "\e9ec"; } .icon-note:before { content: "\e9ed"; } .icon-notification:before { content: "\e9ee"; } .icon-old-mobile:before { content: "\e9ef"; } .icon-old-phone:before { content: "\e9f0"; } .icon-palette:before { content: "\e9f1"; } .icon-paper-plane:before { content: "\e9f2"; } .icon-pencil:before { content: "\e9f3"; } .icon-phone:before { content: "\e9f4"; } .icon-pie-chart:before { content: "\e9f5"; } .icon-pin:before { content: "\e9f6"; } .icon-plus2:before { content: "\e9f7"; } .icon-popup:before { content: "\e9f8"; } .icon-power-plug:before { content: "\e9f9"; } .icon-price-ribbon:before { content: "\e9fa"; } .icon-price-tag:before { content: "\e9fb"; } .icon-print:before { content: "\e9fc"; } .icon-progress-empty:before { content: "\e9fd"; } .icon-progress-full:before { content: "\e9fe"; } .icon-progress-one:before { content: "\e9ff"; } .icon-progress-two:before { content: "\ea00"; } .icon-publish:before { content: "\ea01"; } .icon-quote:before { content: "\ea02"; } .icon-radio:before { content: "\ea03"; } .icon-reply-all:before { content: "\ea04"; } .icon-reply2:before { content: "\ea05"; } .icon-retweet:before { content: "\ea06"; } .icon-rocket:before { content: "\ea07"; } .icon-round-brush:before { content: "\ea08"; } .icon-rss:before { content: "\ea09"; } .icon-ruler:before { content: "\ea0a"; } .icon-scissors:before { content: "\ea0b"; } .icon-share-alternitive:before { content: "\ea0c"; } .icon-share2:before { content: "\ea0d"; } .icon-shareable:before { content: "\ea0e"; } .icon-shield:before { content: "\ea0f"; } .icon-shop:before { content: "\ea10"; } .icon-shopping-bag:before { content: "\ea11"; } .icon-shopping-basket:before { content: "\ea12"; } .icon-shopping-cart:before { content: "\ea13"; } .icon-shuffle2:before { content: "\ea14"; } .icon-signal2:before { content: "\ea15"; } .icon-sound-mix:before { content: "\ea16"; } .icon-sports-club:before { content: "\ea17"; } .icon-spreadsheet:before { content: "\ea18"; } .icon-squared-cross:before { content: "\ea19"; } .icon-squared-minus:before { content: "\ea1a"; } .icon-squared-plus:before { content: "\ea1b"; } .icon-star-outlined:before { content: "\ea1c"; } .icon-star2:before { content: "\ea1d"; } .icon-stopwatch:before { content: "\ea1e"; } .icon-suitcase:before { content: "\ea1f"; } .icon-swap:before { content: "\ea20"; } .icon-sweden:before { content: "\ea21"; } .icon-switch:before { content: "\ea22"; } .icon-tablet:before { content: "\ea23"; } .icon-tag2:before { content: "\ea24"; } .icon-text-document-inverted:before { content: "\ea25"; } .icon-text-document:before { content: "\ea26"; } .icon-text:before { content: "\ea27"; } .icon-thermometer2:before { content: "\ea28"; } .icon-thumbs-down:before { content: "\ea29"; } .icon-thumbs-up:before { content: "\ea2a"; } .icon-thunder-cloud:before { content: "\ea2b"; } .icon-ticket:before { content: "\ea2c"; } .icon-time-slot:before { content: "\ea2d"; } .icon-tools:before { content: "\ea2e"; } .icon-traffic-cone:before { content: "\ea2f"; } .icon-tree:before { content: "\ea30"; } .icon-trophy:before { content: "\ea31"; } .icon-tv:before { content: "\ea32"; } .icon-typing:before { content: "\ea33"; } .icon-unread:before { content: "\ea34"; } .icon-untag:before { content: "\ea35"; } .icon-user:before { content: "\ea36"; } .icon-users:before { content: "\ea37"; } .icon-v-card:before { content: "\ea38"; } .icon-video2:before { content: "\ea39"; } .icon-vinyl:before { content: "\ea3a"; } .icon-voicemail:before { content: "\ea3b"; } .icon-wallet:before { content: "\ea3c"; } .icon-water:before { content: "\ea3d"; } .icon-px-with-circle:before { content: "\ea3e"; } .icon-px:before { content: "\ea3f"; } .icon-basecamp:before { content: "\ea40"; } .icon-behance:before { content: "\ea41"; } .icon-creative-cloud:before { content: "\ea42"; } .icon-dropbox:before { content: "\ea43"; } .icon-evernote:before { content: "\ea44"; } .icon-flattr:before { content: "\ea45"; } .icon-foursquare:before { content: "\ea46"; } .icon-google-drive:before { content: "\ea47"; } .icon-google-hangouts:before { content: "\ea48"; } .icon-grooveshark:before { content: "\ea49"; } .icon-icloud:before { content: "\ea4a"; } .icon-mixi:before { content: "\ea4b"; } .icon-onedrive:before { content: "\ea4c"; } .icon-paypal:before { content: "\ea4d"; } .icon-picasa:before { content: "\ea4e"; } .icon-qq:before { content: "\ea4f"; } .icon-rdio-with-circle:before { content: "\ea50"; } .icon-renren:before { content: "\ea51"; } .icon-scribd:before { content: "\ea52"; } .icon-sina-weibo:before { content: "\ea53"; } .icon-skype-with-circle:before { content: "\ea54"; } .icon-skype:before { content: "\ea55"; } .icon-slideshare:before { content: "\ea56"; } .icon-smashing:before { content: "\ea57"; } .icon-soundcloud:before { content: "\ea58"; } .icon-spotify-with-circle:before { content: "\ea59"; } .icon-spotify:before { content: "\ea5a"; } .icon-swarm:before { content: "\ea5b"; } .icon-vine-with-circle:before { content: "\ea5c"; } .icon-vine:before { content: "\ea5d"; } .icon-vk-alternitive:before { content: "\ea5e"; } .icon-vk-with-circle:before { content: "\ea5f"; } .icon-vk:before { content: "\ea60"; } .icon-xing-with-circle:before { content: "\ea61"; } .icon-xing:before { content: "\ea62"; } .icon-yelp:before { content: "\ea63"; } .icon-dribbble-with-circle:before { content: "\ea64"; } .icon-dribbble:before { content: "\ea65"; } .icon-facebook-with-circle:before { content: "\ea66"; } .icon-facebook:before { content: "\ea67"; } .icon-flickr-with-circle:before { content: "\ea68"; } .icon-flickr:before { content: "\ea69"; } .icon-github-with-circle:before { content: "\ea6a"; } .icon-github:before { content: "\ea6b"; } .icon-google-with-circle:before { content: "\ea6c"; } .icon-google:before { content: "\ea6d"; } .icon-instagram-with-circle:before { content: "\ea6e"; } .icon-instagram:before { content: "\ea6f"; } .icon-lastfm-with-circle:before { content: "\ea70"; } .icon-lastfm:before { content: "\ea71"; } .icon-linkedin-with-circle:before { content: "\ea72"; } .icon-linkedin:before { content: "\ea73"; } .icon-pinterest-with-circle:before { content: "\ea74"; } .icon-pinterest:before { content: "\ea75"; } .icon-rdio:before { content: "\ea76"; } .icon-stumbleupon-with-circle:before { content: "\ea77"; } .icon-stumbleupon:before { content: "\ea78"; } .icon-tumblr-with-circle:before { content: "\ea79"; } .icon-tumblr:before { content: "\ea7a"; } .icon-twitter-with-circle:before { content: "\ea7b"; } .icon-twitter:before { content: "\ea7c"; } .icon-vimeo-with-circle:before { content: "\ea7d"; } .icon-vimeo:before { content: "\ea7e"; } .icon-youtube-with-circle:before { content: "\ea7f"; } .icon-youtube:before { content: "\ea80"; } ================================================ FILE: src/assets/css/style.css ================================================ @font-face { font-family: 'icomoon'; src: url('../fonts/icomoon/icomoon.eot?srf3rx'); src: url('../fonts/icomoon/icomoon.eot?srf3rx#iefix') format('embedded-opentype'), url('../fonts/icomoon/icomoon.ttf?srf3rx') format('truetype'), url('../fonts/icomoon/icomoon.woff?srf3rx') format('woff'), url('../fonts/icomoon/icomoon.svg?srf3rx#icomoon') format('svg'); font-weight: normal; font-style: normal; } /* ======================================================= * * Template Style * * ======================================================= */ body { font-family: 'Work Sans', Arial, sans-serif; font-weight: 400; font-size: 14px; line-height: 1.7; color: #828282; background: #fff; } #page { position: relative; overflow-x: hidden; width: 100%; -webkit-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; } .offcanvas #page { overflow: hidden; position: absolute; } .offcanvas #page:after { -webkit-transition: 2s; -o-transition: 2s; transition: 2s; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 101; background: rgba(0, 0, 0, 0.7); content: ''; } a { color: #f14e95; -webkit-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; } a:hover, a:active, a:focus { color: #f14e95; outline: none; text-decoration: none; } p { margin-bottom: 20px; } h1, h2, h3, h4, h5, h6, figure { color: #000; font-family: 'Work Sans', Arial, sans-serif; font-weight: 400; margin: 0 0 20px 0; } ::-webkit-selection { color: #fff; background: #f14e95; } ::-moz-selection { color: #fff; background: #f14e95; } ::selection { color: #fff; background: #f14e95; } .fh5co-nav { position: absolute; top: 0; margin: 0; padding: 0; width: 100%; padding: 40px 0; z-index: 1001; } @media screen and (max-width: 768px) { .fh5co-nav { padding: 20px 0; } } .fh5co-nav #fh5co-logo { font-size: 40px; margin: 0; padding: 0; line-height: 40px; font-family: 'Sacramento', Arial, serif; } .fh5co-nav a { padding: 5px 10px; color: #fff; } @media screen and (max-width: 768px) { .fh5co-nav .menu-1, .fh5co-nav .menu-2 { display: none; } } .fh5co-nav ul { padding: 0; margin: 2px 0 0 0; } .fh5co-nav ul li { padding: 0; margin: 0; list-style: none; display: inline; } .fh5co-nav ul li a { font-size: 14px; padding: 30px 10px; text-transform: uppercase; color: rgba(255, 255, 255, 0.5); -webkit-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; } .fh5co-nav ul li a:hover, .fh5co-nav ul li a:focus, .fh5co-nav ul li a:active { color: white; } .fh5co-nav ul li.has-dropdown { position: relative; } .fh5co-nav ul li.has-dropdown .dropdown { width: 130px; -webkit-box-shadow: 0px 14px 33px -9px rgba(0, 0, 0, 0.75); -moz-box-shadow: 0px 14px 33px -9px rgba(0, 0, 0, 0.75); box-shadow: 0px 14px 33px -9px rgba(0, 0, 0, 0.75); z-index: 1002; visibility: hidden; opacity: 0; position: absolute; top: 40px; left: 0; text-align: left; background: #fff; padding: 20px; -webkit-border-radius: 4px; -moz-border-radius: 4px; -ms-border-radius: 4px; border-radius: 4px; -webkit-transition: 0s; -o-transition: 0s; transition: 0s; } .fh5co-nav ul li.has-dropdown .dropdown:before { bottom: 100%; left: 40px; border: solid transparent; content: ' '; height: 0; width: 0; position: absolute; pointer-events: none; border-bottom-color: #fff; border-width: 8px; margin-left: -8px; } .fh5co-nav ul li.has-dropdown .dropdown li { display: block; margin-bottom: 7px; } .fh5co-nav ul li.has-dropdown .dropdown li:last-child { margin-bottom: 0; } .fh5co-nav ul li.has-dropdown .dropdown li a { padding: 2px 0; display: block; color: #999999; line-height: 1.2; text-transform: none; font-size: 15px; } .fh5co-nav ul li.has-dropdown .dropdown li a:hover { color: #000; } .fh5co-nav ul li.has-dropdown:hover a, .fh5co-nav ul li.has-dropdown:focus a { color: #fff; } .fh5co-nav ul li.btn-cta a { color: #f14e95; } .fh5co-nav ul li.btn-cta a span { background: #fff; padding: 4px 20px; display: -moz-inline-stack; display: inline-block; zoom: 1; *display: inline; -webkit-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; -webkit-border-radius: 100px; -moz-border-radius: 100px; -ms-border-radius: 100px; border-radius: 100px; } .fh5co-nav ul li.btn-cta a:hover span { -webkit-box-shadow: 0px 14px 20px -9px rgba(0, 0, 0, 0.75); -moz-box-shadow: 0px 14px 20px -9px rgba(0, 0, 0, 0.75); box-shadow: 0px 14px 20px -9px rgba(0, 0, 0, 0.75); } .fh5co-nav ul li.active > a { color: #fff !important; } #fh5co-counter, #fh5co-event, .fh5co-bg { background-size: cover; background-position: top center; background-repeat: no-repeat; position: relative; } .fh5co-bg { background-position: center center; width: 100%; float: left; position: relative; } .fh5co-video { height: 450px; overflow: hidden; -webkit-border-radius: 7px; -moz-border-radius: 7px; -ms-border-radius: 7px; border-radius: 7px; } .fh5co-video a { z-index: 1001; position: absolute; top: 50%; left: 50%; margin-top: -45px; margin-left: -45px; width: 90px; height: 90px; display: table; text-align: center; background: #fff; -webkit-box-shadow: 0px 14px 30px -15px rgba(0, 0, 0, 0.75); -moz-box-shadow: 0px 14px 30px -15px rgba(0, 0, 0, 0.75); box-shadow: 0px 14px 30px -15px rgba(0, 0, 0, 0.75); -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; } .fh5co-video a i { text-align: center; display: table-cell; vertical-align: middle; font-size: 40px; } .fh5co-video .overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); -webkit-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; } .fh5co-video:hover .overlay { background: rgba(0, 0, 0, 0.7); } .fh5co-video:hover a { position: relative; -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); -o-transform: scale(1.2); transform: scale(1.2); } .fh5co-cover { height: 900px; background-size: cover; background-repeat: no-repeat; position: relative; width: 100%; } .fh5co-cover .overlay { z-index: 0; position: absolute; bottom: 0; top: 0; left: 0; right: 0; background: rgba(0, 0, 0, 0.6); } .fh5co-cover > .fh5co-container { position: relative; z-index: 10; } @media screen and (max-width: 768px) { .fh5co-cover { height: 600px; } } .fh5co-cover .display-t, .fh5co-cover .display-tc { height: 900px; display: table; width: 100%; } @media screen and (max-width: 768px) { .fh5co-cover .display-t, .fh5co-cover .display-tc { height: 600px; } } .fh5co-cover.fh5co-cover-sm { height: 600px; } @media screen and (max-width: 768px) { .fh5co-cover.fh5co-cover-sm { height: 400px; } } .fh5co-cover.fh5co-cover-sm .display-t, .fh5co-cover.fh5co-cover-sm .display-tc { height: 600px; display: table; width: 100%; } @media screen and (max-width: 768px) { .fh5co-cover.fh5co-cover-sm .display-t, .fh5co-cover.fh5co-cover-sm .display-tc { height: 400px; } } #fh5co-counter, #fh5co-event { float: left; } #fh5co-counter .display-t, #fh5co-counter .display-tc, #fh5co-event .display-t, #fh5co-event .display-tc { height: 700px; display: table; width: 100%; } #fh5co-counter .fh5co-heading h2, #fh5co-event .fh5co-heading h2 { color: #fff; } #fh5co-counter .fh5co-heading span, #fh5co-event .fh5co-heading span { color: rgba(255, 255, 255, 0.5); text-transform: uppercase; font-size: 13px; letter-spacing: 2px; font-weight: 600; } #fh5co-counter .overlay, #fh5co-event .overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.6); } @media screen and (max-width: 768px) { #fh5co-counter, #fh5co-event { height: inherit; padding: 7em 0; } #fh5co-counter .display-t, #fh5co-counter .display-tc, #fh5co-event .display-t, #fh5co-event .display-tc { height: inherit; } } #fh5co-counter .event-wrap, #fh5co-event .event-wrap { border: 2px solid rgba(255, 255, 255, 0.5); background: rgba(255, 255, 255, 0.1); padding: 30px; width: 100%; float: left; -webkit-border-radius: 4px; -moz-border-radius: 4px; -ms-border-radius: 4px; border-radius: 4px; } @media screen and (max-width: 768px) { #fh5co-counter .event-wrap, #fh5co-event .event-wrap { margin-bottom: 10px; } } #fh5co-counter .event-wrap h3, #fh5co-event .event-wrap h3 { font-size: 20px; color: #fff; border-bottom: 1px solid rgba(255, 255, 255, 0.5); display: block; padding-bottom: 20px; text-transform: uppercase; letter-spacing: 2px; } #fh5co-counter .event-wrap p, #fh5co-counter .event-wrap span, #fh5co-event .event-wrap p, #fh5co-event .event-wrap span { display: block; color: rgba(255, 255, 255, 0.8); } #fh5co-counter .event-wrap i, #fh5co-event .event-wrap i { color: white; font-size: 20px; } #fh5co-counter .event-wrap .event-col, #fh5co-event .event-wrap .event-col { display: flex !important; width: 100% !important; margin-bottom: 12px !important; } .event-col > span { margin-left: 8px !important; text-align: left; } #fh5co-counter { height: 600px; } @media screen and (max-width: 768px) { #fh5co-counter { height: auto; } } .timeline { list-style: none; padding: 20px 0 20px; position: relative; } .timeline:before { top: 0; bottom: 0; position: absolute; content: ' '; width: 1px; background-color: #d4d4d4; left: 50%; margin-left: 0px; } @media screen and (max-width: 480px) { .timeline:before { margin-left: -64px; } } .timeline > li { margin-bottom: 20px; position: relative; } .timeline > li:before, .timeline > li:after { content: ' '; display: table; } .timeline > li:after { clear: both; } .timeline > li > .timeline-panel { width: 40%; float: left; border: 1px solid #d4d4d4; padding: 30px; position: relative; -webkit-border-radius: 4px; -moz-border-radius: 4px; -ms-border-radius: 4px; border-radius: 4px; } .timeline > li > .timeline-panel:before { position: absolute; top: 80px; right: -15px; display: inline-block; border-top: 15px solid transparent; border-left: 15px solid #ccc; border-right: 0 solid #ccc; border-bottom: 15px solid transparent; content: ' '; } .timeline > li > .timeline-panel:after { position: absolute; top: 81px; right: -14px; display: inline-block; border-top: 14px solid transparent; border-left: 14px solid #fff; border-right: 0 solid #fff; border-bottom: 14px solid transparent; content: ' '; } @media screen and (max-width: 480px) { .timeline > li > .timeline-panel { width: 75% !important; } .timeline > li > .timeline-panel:before { top: 30px; } .timeline > li > .timeline-panel:after { top: 31px; } } .timeline > li > .timeline-badge { background-size: cover; background-position: top center; background-repeat: no-repeat; position: relative; color: #fff; width: 160px; height: 160px; line-height: 50px; font-size: 1.4em; text-align: center; position: absolute; top: 16px; left: 50%; margin-left: -80px; background-color: #999999; z-index: 100; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; } @media screen and (max-width: 480px) { .timeline > li > .timeline-badge { width: 60px; height: 60px; margin-left: -20px !important; } } .timeline > li.timeline-inverted > .timeline-panel { float: right; } .timeline > li.timeline-inverted > .timeline-panel:before { border-left-width: 0; border-right-width: 15px; left: -15px; right: auto; } .timeline > li.timeline-inverted > .timeline-panel:after { border-left-width: 0; border-right-width: 14px; left: -14px; right: auto; } .timeline-title { margin-top: 0; } .date { display: block; margin-bottom: 20px; font-size: 13px; text-transform: uppercase; letter-spacing: 2px; } .timeline-body > p, .timeline-body > ul { margin-bottom: 0; } .timeline-body > p + p { margin-top: 5px; } @media (max-width: 992px) { ul.timeline:before { left: 90px; } ul.timeline > li > .timeline-panel { width: calc(100% - 200px); width: -moz-calc(100% - 200px); width: -webkit-calc(100% - 200px); } ul.timeline > li > .timeline-badge { left: 15px; margin-left: 0; top: 16px; } ul.timeline > li > .timeline-panel { float: right; } ul.timeline > li > .timeline-panel:before { border-left-width: 0; border-right-width: 15px; left: -15px; right: auto; } ul.timeline > li > .timeline-panel:after { border-left-width: 0; border-right-width: 14px; left: -14px; right: auto; } } #fh5co-gallery-list { flex-wrap: wrap; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; position: relative; float: left; padding: 0; margin: 0; width: 100%; } #fh5co-gallery-list li { display: block; padding: 0; margin: 0 0 10px 1%; list-style: none; min-height: 400px; background-position: center center; background-size: cover; background-repeat: no-repeat; float: left; clear: left; position: relative; -webkit-border-radius: 7px; -moz-border-radius: 7px; -ms-border-radius: 7px; border-radius: 7px; } @media screen and (max-width: 480px) { #fh5co-gallery-list li { margin-left: 0; } } #fh5co-gallery-list li a { min-height: 400px; padding: 2em; position: relative; width: 100%; display: block; } #fh5co-gallery-list li a:before { position: absolute; top: 0; left: 0; right: 0; bottom: 0; content: ''; z-index: 80; -webkit-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; -webkit-border-radius: 7px; -moz-border-radius: 7px; -ms-border-radius: 7px; border-radius: 7px; background: rgba(0, 0, 0, 0.2); } #fh5co-gallery-list li a:hover:before { background: rgba(0, 0, 0, 0.5); } #fh5co-gallery-list li a .case-studies-summary { width: auto; bottom: 2em; left: 2em; right: 2em; position: absolute; z-index: 100; } @media screen and (max-width: 768px) { #fh5co-gallery-list li a .case-studies-summary { bottom: 1em; left: 1em; right: 1em; } } #fh5co-gallery-list li a .case-studies-summary span { text-transform: uppercase; letter-spacing: 2px; font-size: 13px; color: rgba(255, 255, 255, 0.7); } #fh5co-gallery-list li a .case-studies-summary h2 { color: #fff; margin-bottom: 0; } @media screen and (max-width: 768px) { #fh5co-gallery-list li a .case-studies-summary h2 { font-size: 20px; } } #fh5co-gallery-list li.one-third { width: 32.3%; } @media screen and (max-width: 768px) { #fh5co-gallery-list li.one-third { width: 49%; } } @media screen and (max-width: 480px) { #fh5co-gallery-list li.one-third { width: 100%; } } #map { width: 100%; height: 500px; position: relative; } @media screen and (max-width: 768px) { #map { height: 200px; } } .fh5co-social-icons { margin: 0; padding: 0; } .fh5co-social-icons li { margin: 0; padding: 0; list-style: none; display: -moz-inline-stack; display: inline-block; zoom: 1; *display: inline; } .fh5co-social-icons li a { display: -moz-inline-stack; display: inline-block; zoom: 1; *display: inline; color: #f14e95; padding-left: 10px; padding-right: 10px; } .fh5co-social-icons li a i { font-size: 20px; } .fh5co-contact-info ul { padding: 0; margin: 0; } .fh5co-contact-info ul li { padding: 0 0 0 50px; margin: 0 0 30px 0; list-style: none; position: relative; } .fh5co-contact-info ul li:before { color: #f14e95; position: absolute; left: 0; top: 0.05em; font-family: 'icomoon'; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .fh5co-contact-info ul li.address:before { font-size: 30px; content: '\e9d1'; } .fh5co-contact-info ul li.phone:before { font-size: 23px; content: '\e9f4'; } .fh5co-contact-info ul li.email:before { font-size: 23px; content: '\e9da'; } .fh5co-contact-info ul li.url:before { font-size: 23px; content: '\e9af'; } form label { font-weight: normal !important; } #fh5co-header .display-tc, #fh5co-counter .display-tc, .fh5co-cover .display-tc { display: table-cell !important; vertical-align: middle; } #fh5co-header .display-tc h1, #fh5co-header .display-tc h2, #fh5co-counter .display-tc h1, #fh5co-counter .display-tc h2, .fh5co-cover .display-tc h1, .fh5co-cover .display-tc h2 { margin: 0; padding: 0; color: white; } #fh5co-header .display-tc h1, #fh5co-counter .display-tc h1, .fh5co-cover .display-tc h1 { margin-bottom: 0px; font-size: 100px; line-height: 1.5; font-family: 'Sacramento', Arial, serif; } @media screen and (max-width: 768px) { #fh5co-header .display-tc h1, #fh5co-counter .display-tc h1, .fh5co-cover .display-tc h1 { font-size: 40px; } } @media screen and (max-width: 480px) { #fh5co-header .display-tc h1, #fh5co-counter .display-tc h1, .fh5co-cover .display-tc h1 { font-size: 30px; } } #fh5co-header .display-tc h2, #fh5co-counter .display-tc h2, .fh5co-cover .display-tc h2 { font-size: 20px; line-height: 1.5; margin-bottom: 30px; } @media screen and (max-width: 480px) { #fh5co-header .display-tc h2, #fh5co-counter .display-tc h2, .fh5co-cover .display-tc h2 { font-size: 16px; } } #fh5co-header .display-tc .btn, #fh5co-counter .display-tc .btn, .fh5co-cover .display-tc .btn { padding: 15px 20px; background: #fff !important; color: #f14e95; border: none !important; font-size: 14px; text-transform: uppercase; } #fh5co-header .display-tc .btn:hover, #fh5co-counter .display-tc .btn:hover, .fh5co-cover .display-tc .btn:hover { background: #fff !important; -webkit-box-shadow: 0px 14px 30px -15px rgba(0, 0, 0, 0.75) !important; -moz-box-shadow: 0px 14px 30px -15px rgba(0, 0, 0, 0.75) !important; box-shadow: 0px 14px 30px -15px rgba(0, 0, 0, 0.75) !important; } #fh5co-counter { text-align: center; } #fh5co-counter .counter { font-size: 50px; margin-bottom: 10px; color: #fff; font-weight: 100; display: block; } #fh5co-counter .counter-label { margin-bottom: 0; text-transform: uppercase; color: rgba(255, 255, 255, 0.5); letter-spacing: 0.1em; } @media screen and (max-width: 768px) { #fh5co-counter .feature-center { margin-bottom: 50px; } } #fh5co-counter .icon { width: 70px; height: 70px; text-align: center; -webkit-box-shadow: 0px 14px 30px -15px rgba(0, 0, 0, 0.75); -moz-box-shadow: 0px 14px 30px -15px rgba(0, 0, 0, 0.75); box-shadow: 0px 14px 30px -15px rgba(0, 0, 0, 0.75); margin-bottom: 30px; } #fh5co-counter .icon i { height: 70px; } #fh5co-counter .icon i:before { display: block; text-align: center; margin-left: 3px; } .simply-countdown { /* The countdown */ margin-bottom: 2em; } .simply-countdown > .simply-section { /* coutndown blocks */ display: inline-block; width: 100px; height: 100px; background: rgba(241, 78, 149, 0.8); margin: 0 4px; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; position: relative; animation: pulse 1s ease infinite; } @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } } .simply-countdown > .simply-section > div { /* countdown block inner div */ display: table-cell; vertical-align: middle; height: 100px; width: 100px; } .simply-countdown > .simply-section .simply-amount, .simply-countdown > .simply-section .simply-word { display: block; color: white; /* amounts and words */ } .simply-countdown > .simply-section .simply-amount { font-size: 30px; /* amounts */ } .simply-countdown > .simply-section .simply-word { color: rgba(255, 255, 255, 0.7); text-transform: uppercase; font-size: 12px; /* words */ } #fh5co-testimonial, #fh5co-services, #fh5co-started, #fh5co-footer, #fh5co-event, #fh5co-couple-story, #fh5co-couple, #fh5co-gallery, .fh5co-section { padding: 3em 0; clear: both; } #fh5co-couple { min-height: 50vh; } @media screen and (max-width: 768px) { #fh5co-testimonial, #fh5co-services, #fh5co-started, #fh5co-footer, #fh5co-event, #fh5co-couple-story, #fh5co-couple, #fh5co-gallery, .fh5co-section { padding: 2em 0; } } .fh5co-section-gray { background: rgba(0, 0, 0, 0.04); } .couple-wrap { width: 90%; margin: 0 auto; position: relative; } @media screen and (max-width: 768px) { .couple-wrap { width: 100%; } } .heart { position: absolute; top: 4em; left: 0; right: 0; z-index: 99; animation: pulse 1s ease infinite; } .heart i { font-size: 20px; background: #fff; padding: 20px; color: #f14e95; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; } @media screen and (max-width: 768px) { .heart { display: none; } } .couple-half { width: 50%; float: left; } @media screen and (max-width: 768px) { .couple-half { width: 100%; } } .couple-half h3 { font-family: 'Sacramento', Arial, serif; color: #f14e95; font-size: 30px; } .couple-half .groom, .couple-half .bride { float: left; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; width: 150px; height: 150px; } .couple-half .groom img, .couple-half .bride img { width: 150px; height: 150px; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; } @media screen and (max-width: 480px) { .couple-half .groom, .couple-half .bride { width: 100%; height: 140px; } .couple-half .groom img, .couple-half .bride img { width: 120px; height: 120px; margin: 0 auto; } } .couple-half .groom { float: right; margin-right: 5px; } .couple-half .bride { float: left; margin-left: 5px; } .couple-half .desc-groom { padding-right: 180px; text-align: right; } .couple-half .desc-bride { padding-left: 180px; text-align: left; } @media screen and (max-width: 480px) { .couple-half .groom, .couple-half .bride { margin-left: 0; margin-right: 0; } .couple-half .desc-groom { padding-right: 0; text-align: center; } .couple-half .desc-bride { padding-left: 0; text-align: center; } } .feature-center { text-align: center; padding-left: 20px; padding-right: 20px; float: left; width: 100%; margin-bottom: 40px; } @media screen and (max-width: 768px) { .feature-center { margin-bottom: 50px; } } .feature-center .icon { width: 90px; height: 90px; background: #efefef; display: table; text-align: center; margin: 0 auto 30px auto; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; } .feature-center .icon i { display: table-cell; vertical-align: middle; height: 90px; font-size: 40px; line-height: 40px; color: #f14e95; } .feature-center p, .feature-center h3 { margin-bottom: 30px; } .feature-center h3 { text-transform: uppercase; font-size: 18px; color: #5d5d5d; } .fh5co-heading { margin-bottom: 1.5em; } .fh5co-heading.fh5co-heading-sm { margin-bottom: 2em; } .fh5co-heading h2 { font-size: 60px; margin-bottom: 10px; line-height: 1.5; font-weight: 500; color: #f14e95; font-family: 'Sacramento', Arial, serif; } @media screen and (max-width: 768px) { .fh5co-heading h2 { font-size: 40px; } } .fh5co-heading p { font-size: 18px; line-height: 1.5; color: #828282; } .fh5co-heading span { text-transform: uppercase; font-size: 13px; letter-spacing: 2px; font-weight: 600; color: rgba(0, 0, 0, 0.4); } #fh5co-testimonial .wrap-testimony { position: relative; } #fh5co-testimonial .wrap-testimony .testimony-slide { text-align: center; } #fh5co-testimonial .wrap-testimony .testimony-slide span { font-size: 12px; text-transform: uppercase; letter-spacing: 2px; font-weight: 700; display: block; } #fh5co-testimonial .wrap-testimony .testimony-slide span a.twitter { color: #f14e95; font-weight: 300; } #fh5co-testimonial .wrap-testimony .testimony-slide figure { margin-bottom: 10px; display: -moz-inline-stack; display: inline-block; zoom: 1; *display: inline; width: 100px; height: 100px; } #fh5co-testimonial .wrap-testimony .testimony-slide figure img { width: 100px; height: 100px; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; } #fh5co-testimonial .wrap-testimony .testimony-slide blockquote { border: none; margin: 30px auto; width: 50%; position: relative; -webkit-border-radius: 4px; -moz-border-radius: 4px; -ms-border-radius: 4px; border-radius: 4px; } @media screen and (max-width: 992px) { #fh5co-testimonial .wrap-testimony .testimony-slide blockquote { width: 100%; } } #fh5co-testimonial .wrap-testimony .testimony-slide blockquote p { font-style: italic; color: #8f989f; font-size: 20px; line-height: 1.6em; } #fh5co-testimonial .wrap-testimony .testimony-slide.active { display: block; } #fh5co-testimonial .wrap-testimony .arrow-thumb { position: absolute; top: 40%; display: block; width: 100%; } #fh5co-testimonial .wrap-testimony .arrow-thumb a { font-size: 32px; color: #dadada; } #fh5co-testimonial .wrap-testimony .arrow-thumb a:hover, #fh5co-testimonial .wrap-testimony .arrow-thumb a:focus, #fh5co-testimonial .wrap-testimony .arrow-thumb a:active { text-decoration: none; } .feature-left { float: left; width: 100%; margin-bottom: 30px; position: relative; } .feature-left:last-child { margin-bottom: 0; } .feature-left .icon { float: left; margin-right: 5%; width: 54px; height: 54px; background: #fff; display: table; text-align: center; -webkit-box-shadow: 0px 14px 30px -15px rgba(0, 0, 0, 0.75); -moz-box-shadow: 0px 14px 30px -15px rgba(0, 0, 0, 0.75); box-shadow: 0px 14px 30px -15px rgba(0, 0, 0, 0.75); -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; } @media screen and (max-width: 768px) { .feature-left .icon { margin-right: 5%; } } .feature-left .icon i { display: table-cell; vertical-align: middle; font-size: 30px; color: #f14e95; } .feature-left .feature-copy { float: left; width: 80%; } @media screen and (max-width: 768px) { .feature-left .feature-copy { width: 70%; float: left; } } .feature-left .feature-copy h3 { text-transform: uppercase; font-size: 18px; color: #5d5d5d; margin-bottom: 10px; } #fh5co-started { position: relative; } #fh5co-started .overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.6); } #fh5co-started .fh5co-heading h2 { color: #fff; } #fh5co-started .fh5co-heading p { color: rgba(255, 255, 255, 0.5); } #fh5co-started .form-control { background: rgba(255, 255, 255, 0.2); border: none !important; color: #fff; font-size: 16px !important; width: 100%; -webkit-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; } #fh5co-started .form-control::-webkit-input-placeholder { color: #fff; } #fh5co-started .form-control:-moz-placeholder { /* Firefox 18- */ color: #fff; } #fh5co-started .form-control::-moz-placeholder { /* Firefox 19+ */ color: #fff; } #fh5co-started .form-control:-ms-input-placeholder { color: #fff; } #fh5co-started .form-control:focus { background: rgba(255, 255, 255, 0.3); } #fh5co-started .btn { height: 54px; border: none !important; background: #f14e95; color: #fff; font-size: 16px; text-transform: uppercase; font-weight: 400; padding-left: 50px; padding-right: 50px; } #fh5co-started .form-inline .form-group { width: 100% !important; margin-bottom: 10px; } #fh5co-started .form-inline .form-group .form-control { width: 100%; } #fh5co-started .fh5co-heading { margin-bottom: 30px; } #fh5co-started .fh5co-heading h2 { margin-bottom: 0; } @media screen and (max-width: 768px) { #fh5co-footer .copyright .pull-left, #fh5co-footer .copyright .pull-right { float: none !important; text-align: center; } } #fh5co-footer .copyright .block { display: block; } .owl-carousel .owl-controls .owl-dot span { background: #e6e6e6; } .owl-carousel .owl-controls .owl-dot span:hover, .owl-carousel .owl-controls .owl-dot span:focus { background: #cccccc; } .owl-carousel .owl-controls .owl-dot:hover span, .owl-carousel .owl-controls .owl-dot:focus span { background: #cccccc; } .owl-carousel .owl-controls .owl-dot.active span { background: transparent; border: 2px solid #f14e95; } #fh5co-offcanvas { position: absolute; z-index: 1901; width: 270px; background: black; top: 0; right: 0; top: 0; bottom: 0; padding: 45px 40px 40px 40px; overflow-y: auto; -moz-transform: translateX(270px); -webkit-transform: translateX(270px); -ms-transform: translateX(270px); -o-transform: translateX(270px); transform: translateX(270px); -webkit-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; } .offcanvas #fh5co-offcanvas { -moz-transform: translateX(0px); -webkit-transform: translateX(0px); -ms-transform: translateX(0px); -o-transform: translateX(0px); transform: translateX(0px); } #fh5co-offcanvas a { color: rgba(255, 255, 255, 0.5); } #fh5co-offcanvas a:hover { color: rgba(255, 255, 255, 0.8); } #fh5co-offcanvas ul { padding: 0; margin: 0; } #fh5co-offcanvas ul li { padding: 0; margin: 0; list-style: none; } #fh5co-offcanvas ul li > ul { padding-left: 20px; display: none; } #fh5co-offcanvas ul li.offcanvas-has-dropdown > a { display: block; position: relative; } #fh5co-offcanvas ul li.offcanvas-has-dropdown > a:after { position: absolute; right: 0px; font-family: 'icomoon'; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; content: '\e921'; font-size: 20px; color: rgba(255, 255, 255, 0.2); -webkit-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; } #fh5co-offcanvas ul li.offcanvas-has-dropdown.active a:after { -webkit-transform: rotate(-180deg); -moz-transform: rotate(-180deg); -ms-transform: rotate(-180deg); -o-transform: rotate(-180deg); transform: rotate(-180deg); } .uppercase { font-size: 14px; color: #000; margin-bottom: 10px; font-weight: 700; text-transform: uppercase; } .gototop { position: fixed; bottom: 20px; right: 20px; z-index: 999; opacity: 0; visibility: hidden; -webkit-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; } .gototop.active { opacity: 1; visibility: visible; } .gototop a { width: 50px; height: 50px; display: table; background: rgba(0, 0, 0, 0.5); color: #fff; text-align: center; -webkit-border-radius: 4px; -moz-border-radius: 4px; -ms-border-radius: 4px; border-radius: 4px; } .gototop a i { height: 50px; display: table-cell; vertical-align: middle; } .gototop a:hover, .gototop a:active, .gototop a:focus { text-decoration: none; outline: none; } .fh5co-nav-toggle { width: 25px; height: 25px; cursor: pointer; text-decoration: none; } .fh5co-nav-toggle.active i::before, .fh5co-nav-toggle.active i::after { background: #444; } .fh5co-nav-toggle:hover, .fh5co-nav-toggle:focus, .fh5co-nav-toggle:active { outline: none; border-bottom: none !important; } .fh5co-nav-toggle i { position: relative; display: inline-block; width: 25px; height: 2px; color: #252525; font: bold 14px/0.4 Helvetica; text-transform: uppercase; text-indent: -55px; background: #252525; transition: all 0.2s ease-out; } .fh5co-nav-toggle i::before, .fh5co-nav-toggle i::after { content: ''; width: 25px; height: 2px; background: #252525; position: absolute; left: 0; transition: all 0.2s ease-out; } .fh5co-nav-toggle.fh5co-nav-white > i { color: #fff; background: #fff; } .fh5co-nav-toggle.fh5co-nav-white > i::before, .fh5co-nav-toggle.fh5co-nav-white > i::after { background: #fff; } .fh5co-nav-toggle i::before { top: -7px; } .fh5co-nav-toggle i::after { bottom: -7px; } .fh5co-nav-toggle:hover i::before { top: -10px; } .fh5co-nav-toggle:hover i::after { bottom: -10px; } .fh5co-nav-toggle.active i { background: transparent; } .fh5co-nav-toggle.active i::before { top: 0; -webkit-transform: rotateZ(45deg); -moz-transform: rotateZ(45deg); -ms-transform: rotateZ(45deg); -o-transform: rotateZ(45deg); transform: rotateZ(45deg); } .fh5co-nav-toggle.active i::after { bottom: 0; -webkit-transform: rotateZ(-45deg); -moz-transform: rotateZ(-45deg); -ms-transform: rotateZ(-45deg); -o-transform: rotateZ(-45deg); transform: rotateZ(-45deg); } .fh5co-nav-toggle { position: absolute; right: 0px; top: 10px; z-index: 21; padding: 6px 0 0 0; display: block; margin: 0 auto; display: none; height: 44px; width: 44px; z-index: 2001; border-bottom: none !important; } @media screen and (max-width: 768px) { .fh5co-nav-toggle { display: block; } } .btn { margin-right: 4px; margin-bottom: 4px; font-family: 'Work Sans', Arial, sans-serif; font-size: 16px; font-weight: 400; -webkit-border-radius: 30px; -moz-border-radius: 30px; -ms-border-radius: 30px; border-radius: 30px; -webkit-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; padding: 8px 20px; } .btn.btn-md { padding: 8px 20px !important; } .btn.btn-lg { padding: 18px 36px !important; } .btn:hover, .btn:active, .btn:focus { box-shadow: none !important; outline: none !important; } .btn-primary { background: #f14e95; color: #fff; border: 2px solid #f14e95; } .btn-primary:hover, .btn-primary:focus, .btn-primary:active { background: #f366a3 !important; border-color: #f366a3 !important; } .btn-primary.btn-outline { background: transparent; color: #f14e95; border: 2px solid #f14e95; } .btn-primary.btn-outline:hover, .btn-primary.btn-outline:focus, .btn-primary.btn-outline:active { background: #f14e95; color: #fff; } .btn-success { background: #5cb85c; color: #fff; border: 2px solid #5cb85c; } .btn-success:hover, .btn-success:focus, .btn-success:active { background: #4cae4c !important; border-color: #4cae4c !important; } .btn-success.btn-outline { background: transparent; color: #5cb85c; border: 2px solid #5cb85c; } .btn-success.btn-outline:hover, .btn-success.btn-outline:focus, .btn-success.btn-outline:active { background: #5cb85c; color: #fff; } .btn-info { background: #5bc0de; color: #fff; border: 2px solid #5bc0de; } .btn-info:hover, .btn-info:focus, .btn-info:active { background: #46b8da !important; border-color: #46b8da !important; } .btn-info.btn-outline { background: transparent; color: #5bc0de; border: 2px solid #5bc0de; } .btn-info.btn-outline:hover, .btn-info.btn-outline:focus, .btn-info.btn-outline:active { background: #5bc0de; color: #fff; } .btn-warning { background: #f0ad4e; color: #fff; border: 2px solid #f0ad4e; } .btn-warning:hover, .btn-warning:focus, .btn-warning:active { background: #eea236 !important; border-color: #eea236 !important; } .btn-warning.btn-outline { background: transparent; color: #f0ad4e; border: 2px solid #f0ad4e; } .btn-warning.btn-outline:hover, .btn-warning.btn-outline:focus, .btn-warning.btn-outline:active { background: #f0ad4e; color: #fff; } .btn-danger { background: #d9534f; color: #fff; border: 2px solid #d9534f; } .btn-danger:hover, .btn-danger:focus, .btn-danger:active { background: #d43f3a !important; border-color: #d43f3a !important; } .btn-danger.btn-outline { background: transparent; color: #d9534f; border: 2px solid #d9534f; } .btn-danger.btn-outline:hover, .btn-danger.btn-outline:focus, .btn-danger.btn-outline:active { background: #d9534f; color: #fff; } .btn-outline { background: none; border: 2px solid gray; font-size: 16px; -webkit-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; } .btn-outline:hover, .btn-outline:focus, .btn-outline:active { box-shadow: none; } .btn.with-arrow { position: relative; -webkit-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; } .btn.with-arrow i { visibility: hidden; opacity: 0; position: absolute; right: 0px; top: 50%; margin-top: -8px; -webkit-transition: 0.2s; -o-transition: 0.2s; transition: 0.2s; } .btn.with-arrow:hover { padding-right: 50px; } .btn.with-arrow:hover i { color: #fff; right: 18px; visibility: visible; opacity: 1; } .form-control { box-shadow: none; background: transparent; border: 2px solid rgba(0, 0, 0, 0.1); height: 54px; font-size: 18px; font-weight: 300; } .form-control:active, .form-control:focus { outline: none; box-shadow: none; border-color: #f14e95; } .row-pb-md { padding-bottom: 4em !important; } .row-pb-sm { padding-bottom: 2em !important; } .fh5co-loader { position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 9999; background: url(../images/loader.gif) center no-repeat #fff; } .js .animate-box { opacity: 0; } .main-font { font-family: 'Cookie', cursive !important; } .and-love { display: none; } .footer__with-border { border-top: 4px solid rgba(143, 152, 159, 0.17); } @media only screen and (max-width: 400px) { .sub-title { font-size: 16px !important; margin: 0 0 8px 0 !important; } } .body-hidden { overflow: hidden !important; } /* styles for iPhone 6/7/8 plus */ @media only screen and (max-width: 420px) { .btn-see-detail { margin-top: 50px !important; } /* hello sections */ .hs { margin-top: 22px !important; margin-bottom: 32px !important; } .parent-name { margin-top: -16px !important; } .parent-name__top { margin-bottom: -8px; } .and-love { display: block; text-align: center; font-size: 5em !important; color: rgba(241, 78, 149, 0.8); font-weight: bold; } .main-font__wedding { font-size: 32px !important; } .sub-title__wedding { font-size: 14px !important; text-transform: none !important; } .wedding-box__mobile { display: flex; width: 100%; text-align: left; } .wedding-box__mobile > span { margin-left: 8px; } .wedding-box__desktop { display: none !important; } } /*# sourceMappingURL=style.css.map */ ================================================ FILE: src/components/ConfirmationSection/index.js ================================================ import React from 'react'; import { string, bool } from 'prop-types'; import { Link } from 'gatsby'; import { styWrapper, styFlex } from './styles'; function ConfirmationSection({ isInvitation, guestName, codeLink }) { if (!isInvitation) return null; return (

{` Apakah kamu hadir, ${guestName}?`}

Atas kehadiran & do'a restu saudara/i,
kami ucapkan terima kasih. Wassalamualaikum Warahmatullahi Wabarakatuh.

); } ConfirmationSection.propTypes = { codeLink: string.isRequired, isInvitation: bool.isRequired, guestName: string.isRequired, }; export default React.memo(ConfirmationSection); ================================================ FILE: src/components/ConfirmationSection/styles.js ================================================ import { css } from '@emotion/core'; import Background from '@assets/images/slide-6.jpg'; export const styWrapper = css` background-image: url(${Background}); background-size: cover; background-position: center; p { color: rgba(255, 255, 255, 0.8) !important; } `; export const styFlex = css` display: flex; justify-content: center; `; ================================================ FILE: src/components/Covid19/SectionBox.js ================================================ import React from 'react'; import { styBoxWrapper } from './styles'; function SectionBox({ icon, text }) { return (
icon
{text}
); } export default SectionBox; ================================================ FILE: src/components/Covid19/index.js ================================================ import React from 'react'; import IconMask from './assets/face-mask.png'; import IconSocialDistancing from './assets/social-distancing.png'; import IconGuest from './assets/parents.png'; import IconDoctor from './assets/doctor.png'; import IconClock from './assets/clock.png'; import IconQRcode from './assets/qr.png'; import SectionBox from './SectionBox'; function CovidSection() { return (

Panduan Protokol Covid-19

Keberlangsungan acara ini mengacu pada pedoman kesehatan dari Kementerian Kesehatan:

{/* BOX INFO */}
); } export default CovidSection; ================================================ FILE: src/components/Covid19/styles.js ================================================ import { css } from '@emotion/core'; export const styBoxWrapper = css` display: flex; justify-content: center; align-items: center; margin: 16px 0; .img-section { } img { max-width: 70px; margin-right: 8px; } .text__section { width: 100%; } .text__info { font-weight: 500; font-size: 1.2em; } @media screen and (max-width: 480px) { img { max-width: 50px; margin-right: 8px; } .text__info { font-size: 1em; } } `; ================================================ FILE: src/components/FloatingMusic/Loadable.js ================================================ import loadable from '@loadable/component'; const FloatingMusic = loadable(() => import(/* webpackChunkName: "chunk-floating-music" */ './index')); export default FloatingMusic; ================================================ FILE: src/components/FloatingMusic/Modal.js ================================================ import React from 'react'; import { Helmet } from 'react-helmet'; import { bool, func } from 'prop-types'; import { styWrapperModal } from './styles'; function ModalMusic({ isShow, onClickAction }) { if (!isShow) { return ( ); } return (
); } ModalMusic.propTypes = { isShow: bool.isRequired, onClickAction: func.isRequired, }; export default React.memo(ModalMusic); ================================================ FILE: src/components/FloatingMusic/index.js ================================================ import React, { Fragment, useState } from 'react'; import IconMusic from '@assets/images/music-icon.png'; import IconMusicStop from '@assets/images/music-stop-icon.png'; import MusicBacksound from '@assets/music/lagu-pernikahan-impian.mp3'; import { styMusicFloating } from './styles'; function FloatingMusic() { const [play, setPlay] = useState(true); const toggleMusic = () => { const myAudio = document.getElementById('myAudio'); /** * This function built-in with html5 function * doc: https://www.w3schools.com/tags/ref_av_dom.asp */ if (play) { myAudio.pause(); } else { myAudio.play(); } setPlay(!play); }; return (
icon-music
); } export default FloatingMusic; ================================================ FILE: src/components/FloatingMusic/styles.js ================================================ import { css } from '@emotion/core'; export const styMusicFloating = css` .hide { display: none; } .icon-music { position: fixed; bottom: 24px; width: 50px; z-index: 999; left: 24px; animation: pulse 2s ease infinite; cursor: pointer; border-radius: 50%; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); } @media screen and (max-width: 420px) { .icon-music { width: 40px; left: 20px; } } @media screen and (max-width: 360px) { .icon-music { width: 30px; left: 20px; } } `; export const styWrapperModal = css` .modal-dialog { display: flex; justify-content: center; } .modal { display: block; width: 100%; background: rgba(44, 62, 80, 0.8); } .modal-content { width: 90%; } .sub-title { text-align: center; font-size: 20px; } .title { font-family: 'Cookie', cursive; text-align: center; font-size: 50px; margin-bottom: 0px; } `; ================================================ FILE: src/components/FooterSection/index.js ================================================ import React, { Fragment } from 'react'; import { bool } from 'prop-types'; import { styWrapper } from '../HelloSection/styles'; function FooterSection({ isInvitation }) { return ( {!isInvitation && (

Terima Kasih

Berdasarkan kondisi saat ini, tanpa mengurangi rasa hormat, diharapkan tetap bisa menjalin silaturahmi melalui media online, bukan dengan kontak fisik secara langsung.
Mohon pengertiannya.

Atas segala do'a dan restu saudara/i,
kami ucapkan terima kasih.
Wassalamualaikum warahmatullahi wabarakatuh.

)}
); } FooterSection.propTypes = { isInvitation: bool.isRequired, }; export default React.memo(FooterSection); ================================================ FILE: src/components/GenerateLink/index.js ================================================ import React, { useState, Fragment } from 'react'; import useGuestData from '@/hooks/useGuestData'; const PERSONAL = 1; const ALL = 2; function GenerateLink() { const [type, setType] = useState(PERSONAL); const [name, setName] = useState(); const [showResult, setShowResult] = useState(false); const [successCopy, setSuccessCopy] = useState(false); const [isInvitation, setIsInvitation] = useState(false); const { data, loading } = useGuestData(); const URL = `https://thekusuma.com?to=${encodeURIComponent(name)}`; const handleChange = (e) => { setType(parseInt(e.target.value, 10)); setShowResult(false); }; const handleSetName = (e) => { setName(e.target.value); }; const handleCopy = async (text, showAlert = false) => { try { await navigator.clipboard.writeText(text); setSuccessCopy(true); showAlert && alert('Berhasil'); } catch (err) { setSuccessCopy(false); alert('Failed to copy! :('); } }; const renderContentType = () => { if (type === PERSONAL) { return (
); } if (type === ALL) { return (
); } }; const renderResult = () => { if (!showResult) return null; if (type === PERSONAL) { return (
); } if (type === ALL) { return (
{data.map((d, index) => { const offlineInvitation = isInvitation ? `&type=invitation&code=${d.code}` : ''; const mapURL = `https://thekusuma.com?to=${encodeURIComponent(d.name)}${offlineInvitation}`; return ( ); })}
No Nama Keterangan Link
{index + 1} {d.name} {d.desc} {mapURL}
); } }; return (

Generator of Link Invitation

Dinda & Indra Wedding

{loading &&

Memuat data..

} {!loading && (
{renderContentType()}
{renderResult()}
)}
); } export default GenerateLink; ================================================ FILE: src/components/GenerateLink/styles.js ================================================ import { css } from '@emotion/core'; export const styWrapper = css` padding: 24px 8px 8px 8px; .title { text-align: center; } .title__sub { text-align: center; font-family: 'Cookie', cursive; font-size: 3em; } `; ================================================ FILE: src/components/HelloSection/index.js ================================================ import React, { Fragment } from 'react'; import { bool } from 'prop-types'; import Bride from '@assets/images/p-dinda-2.jpg'; import Groom from '@assets/images/p-indra.jpg'; import { styWrapper } from './styles'; function HelloSection({ isInvitation }) { const finalSubtitle = isInvitation ? '03 Oktober 2020, HARRIS Hotel Sentraland, Semarang' : 'Sabtu, 03 Oktober 2020'; return (

Assalamualaikum Wr. Wb

{finalSubtitle}

Dengan memohon Rahmat dan Ridho Illahi, teriring niat menjalankan Sunnah Rasulullah ﷺ untuk membentuk rumah tangga yang Sakinah, Mawaddah wa Rahmah, kami mohon do'a agar senantiasa diberikan kelancaran dan keberkahan.

groom

Dinda Saraswati, S.I.Kom.

Putri Bapak Totok Somo Dipoyono
& Ibu Setyo Listiani

&
groom

Indra Kusuma, S.Kom.

Putra Bapak Bunari
& Ibu Suratun

{!isInvitation ? (

Seputar Covid-19

Berkaitan dengan kondisi pandemik saat ini, keberlangsungan acara kami mengacu pada pedoman Kementerian Kesehatan, yaitu memberlakukan pembatasan jarak dan pembatasan jumlah tamu undangan.

Maka dari itu, dengan segala kerendahan hati, kami mohon maaf jika belum bisa mengundang saudara/i dihari bahagia kami. Sekiranya do'a dari saudara/i sudah lebih dari cukup bagi kami. Semoga kita semua selalu dalam lindungan Allah SWT. Aamiin ya rabbal allamiin..

) : null}
); } HelloSection.propTypes = { isInvitation: bool.isRequired, }; export default HelloSection; ================================================ FILE: src/components/HelloSection/styles.js ================================================ import { css } from '@emotion/core'; export const styWrapper = css` .sub-title { color: #828282; font-weight: 600; letter-spacing: 1px; line-height: 20px; } p { font-size: 16px; margin-top: 16px; } @media screen and (max-width: 500px) { .sub-title { font-size: 18px; margin: 0 0 8px 0; } p { font-size: 16px; } } @media screen and (max-width: 400px) { p { font-size: 14px; } } `; ================================================ FILE: src/components/Layout/Ticket.js ================================================ import * as React from 'react'; import { node } from 'prop-types'; import { Helmet } from 'react-helmet'; import Favicon from '@assets/images/dinda-indra.png'; import { styWrapper } from './styles'; function LayoutTicket({ children }) { return ( <>
{children}
); } LayoutTicket.propTypes = { children: node.isRequired, }; export default LayoutTicket; ================================================ FILE: src/components/Layout/index.js ================================================ import React, { Fragment } from 'react'; import { Helmet } from 'react-helmet'; import { node } from 'prop-types'; import Favicon from '@assets/images/dinda-indra.png'; import '@assets/css/icomoon.css'; import '@assets/css/bootstrap.css'; import '@assets/css/style.css'; const IMAGE_URL = `https://thekusuma.com/static/slide-6-4715e29302dbaa2ba21494c6258298d4.jpg`; const META_DESCRIPTION = `Dengan memohon Rahmat dan Ridho Illahi, teriring niat menjalankan Sunnah Rasulullah ﷺ untuk membentuk rumah tangga yang Sakinah, Mawaddah wa Rahmah, kami mohon do'a agar senantiasa diberikan kelancaran dan keberkahan. - Dinda & Indra`; function MainLayout({ children }) { return ( Dinda ❤️ Indra Wedding {/* Favicon */} {/* font and SEO tags */}
{children}
); } MainLayout.propTypes = { children: node.isRequired, }; export default MainLayout; ================================================ FILE: src/components/Layout/styles.js ================================================ import { css } from '@emotion/core'; export const styWrapper = css` max-width: 100%; .main-page { display: flex; justify-content: center; align-items: center; min-height: calc(100vh - 18px); padding: 0 20px; } `; ================================================ FILE: src/components/LocationSection/index.js ================================================ import React, { Fragment } from 'react'; import { GOOGLE_MAPS_LINK } from '@/constants'; import { styWrapper } from './styles'; function LocationSection() { return (

Lokasi Acara

HARRIS Hotel Sentraland Semarang {' '}
Jl. Ki Mangunsarkoro No.36, Karangkidul, Kec. Semarang Tengah,
Kota Semarang, Jawa Tengah 50136

); } export default React.memo(LocationSection); ================================================ FILE: src/components/LocationSection/styles.js ================================================ import { css } from '@emotion/core'; export const styWrapper = css` @media screen and (max-width: 400px) { .sub-title { font-size: 16px; margin: 0 0 8px 0; } p { font-size: 16px; } } `; ================================================ FILE: src/components/PhotoSection/Loadable.js ================================================ import loadable from '@loadable/component'; const PhotoSection = loadable(() => import(/* webpackChunkName: "chunk-photo-section" */ './index')); export default PhotoSection; ================================================ FILE: src/components/PhotoSection/index.js ================================================ import React from 'react'; import ImageGallery from 'react-image-gallery'; import 'react-image-gallery/styles/css/image-gallery.css'; import { photos } from './photo-data'; function PhotoSection() { const renderYoutubeVideo = () => { return ( ); }; return (

#TheKusuma

"And of His signs is that He created for you from yourselves mates that you may find tranquility in them; and He placed between you affection and mercy. Indeed in that are signs for a people who give thought"
(Ar-Rum 30:21).

{renderYoutubeVideo()}
;
); } export default PhotoSection; ================================================ FILE: src/components/PhotoSection/photo-data.js ================================================ import Gallery1 from '@assets/images/gallery-1.jpg'; import GalleryT1 from '@assets/images/gallery-t-1.jpg'; import Gallery4 from '@assets/images/gallery-4.jpg'; import GalleryT4 from '@assets/images/gallery-t-4.jpg'; import Gallery5 from '@assets/images/gallery-5.jpg'; import GalleryT5 from '@assets/images/gallery-t-5.jpg'; import Image5 from '@assets/images/slide-5.jpg'; import Image5thumb from '@assets/images/slide-5-thumb.jpg'; import Image6 from '@assets/images/slide-6.jpg'; import Image6thumb from '@assets/images/slide-6-thumb.jpg'; import Gallery6 from '@assets/images/gallery-6.jpg'; import GalleryT6 from '@assets/images/gallery-t-6.jpg'; import Gallery7 from '@assets/images/gallery-7.jpg'; import GalleryT7 from '@assets/images/gallery-t-7.jpg'; import Gallery8 from '@assets/images/gallery-8.jpg'; import GalleryT8 from '@assets/images/gallery-t-8.jpg'; import Gallery9 from '@assets/images/gallery-9.jpg'; import GalleryT9 from '@assets/images/gallery-t-9.jpg'; import Gallery10 from '@assets/images/gallery-10.jpg'; import GalleryT10 from '@assets/images/gallery-t-10.jpg'; import Gallery11 from '@assets/images/gallery-11.jpg'; import GalleryT11 from '@assets/images/gallery-t-11.jpg'; import Gallery12 from '@assets/images/gallery-12.jpg'; import GalleryT12 from '@assets/images/gallery-t-12.jpg'; import Gallery13 from '@assets/images/gallery-13.jpg'; import GalleryT13 from '@assets/images/gallery-t-13.jpg'; import Gallery14 from '@assets/images/gallery-14.jpg'; import GalleryT14 from '@assets/images/gallery-t-14.jpg'; import Gallery15 from '@assets/images/gallery-15.jpg'; import GalleryT15 from '@assets/images/gallery-t-15.jpg'; export const photos = [ { original: Gallery1, thumbnail: GalleryT1, }, { original: Image6, thumbnail: Image6thumb, }, { original: Image5, thumbnail: Image5thumb, }, { original: Gallery4, thumbnail: GalleryT4, }, { original: Gallery5, thumbnail: GalleryT5, }, { original: Gallery6, thumbnail: GalleryT6, }, { original: Gallery7, thumbnail: GalleryT7, }, { original: Gallery8, thumbnail: GalleryT8, }, { original: Gallery9, thumbnail: GalleryT9, }, { original: Gallery10, thumbnail: GalleryT10, }, { original: Gallery11, thumbnail: GalleryT11, }, { original: Gallery12, thumbnail: GalleryT12, }, { original: Gallery13, thumbnail: GalleryT13, }, { original: Gallery14, thumbnail: GalleryT14, }, { original: Gallery15, thumbnail: GalleryT15, }, ]; ================================================ FILE: src/components/QRCard/index.js ================================================ import React from 'react'; import QRCode from 'react-qr-code'; import { string } from 'prop-types'; function QRCard({ name, code, desc }) { return (
{name ? ( <>

{name}

{`(${desc})`}

) : ( <>

{code}

{`(${desc})`}

)}
); } QRCard.propTypes = { name: string.isRequired, desc: string.isRequired, code: string.isRequired, }; export default React.memo(QRCard); ================================================ FILE: src/components/QRCard/styles.js ================================================ import { css } from '@emotion/core'; export const styWrapper = css` width: 100%; .qr { border: 1px solid; margin: 8px 0; padding: 16px 4px 4px 4px; } .qr__wrapper { display: flex; justify-content: center; } .title__name { text-align: center; margin-top: 8px; margin: 8px 0 0 0; font-size: 11px; } .title__code { text-align: center; font-size: 10px; margin: 0 0 8px 0; } .title__transaparent { opacity: 0; } `; ================================================ FILE: src/components/StorySection/StoryItem.js ================================================ import React from 'react'; import { string, bool } from 'prop-types'; function StoryItem({ image, title, date, description, isInverted }) { return (
  • {image &&
    }

    {title}

    {date}

    {description}

  • ); } StoryItem.propTypes = { image: string, title: string.isRequired, date: string.isRequired, description: string.isRequired, isInverted: bool.isRequired, }; StoryItem.defaultProps = { image: '', }; export default React.memo(StoryItem); ================================================ FILE: src/components/StorySection/index.js ================================================ import React, { Fragment } from 'react'; import StoryItem from './StoryItem'; import { stories } from './stories-data'; function StorySection() { const renderStories = () => { return stories.map((s, index) => ); }; return (

    Jalan Berdua

    Kisah kasih sejak awal kami berjumpa

      {renderStories()}
    ); } export default StorySection; ================================================ FILE: src/components/StorySection/stories-data.js ================================================ import ImgKembaliBerjumpa from '@assets/images/p-kembali-berjumpa.jpg'; import ImgJakartaKroasia from '@assets/images/p-jakarta-kroasia.jpg'; import ImgBoarding from '@assets/images/p-boarding-smg.jpg'; import ImgKembaliKeIndonesia from '@assets/images/p-kembali-ke-indonesia.jpg'; import ImgNdodokLawang from '@assets/images/p-ndodok-lawang.jpg'; export const stories = [ { title: 'Jumpa Pertama ', date: '10 Oktober 2015', description: 'Pertama kali kami dipertemukan di sebuah acara malam keakraban di kampus Universitas Dian Nuswantoro. Sebagai seorang mahasiswa baru, kala itu Dinda melihat Indra sedang sibuk memegang megaphone (toa) di tengah hiruk pikuk acara. Belum ada sesuatu yang spesial, kala itu justru Dinda melihat Indra banyak menerima surat pink (tanda kagum) dari teman sesama mahasiswa barunya.', image: '', }, { title: 'Kembali Berjumpa', date: '9 September 2017', description: 'Konferensi Future Leader Summit 2017 kembali mempertemukan mereka. Dinda sebagai peserta dan Indra sebagai panitia acara. Mulai dari saling sapa, mereka berdua tumbuh perasaan saling ingin mengenal lebih dalam. Seusai acara, Indra memberanikan diri untuk membangun komunikasi dengan Dinda. Dari pesan singkat pertama yang dikirimnya, Indra dan Dinda mulai dekat dan menjadi lebih sering mengirim kabar. ', image: ImgKembaliBerjumpa, }, { title: 'Kisah Kasih di Kampus', date: 'Oktober 2017 - 2018', description: 'Sebagai sepasang mahasiswa dan mahasiswi, Dinda dan Indra memilih untuk mengisi kisah kasih di kampusnya dengan mengikuti berbagai kompetisi bersama. Kala itu, Dinda adalah mahasiswi Ilmu Komunikasi dan Indra adalah mahasiswa Teknik Informatika. Merupakan kolaborasi yang pas jika mengikuti kompetisi teknologi, Indra berperan sebagai seorang programmer dan Dinda sebagai seorang content development. Dinda dan Indra pernah membuat aplikasi Ayo Toba (Aplikasi Pariwisata Danau Toba) yang diajukan dalam kompetisi IT FEST Universitas Sumatera Utara di awal tahun 2018.', image: ImgJakartaKroasia, }, { title: 'Jakarta & Kroasia', date: '2018 - 2019', description: 'Tidak selalu bersama, perjuangan dimulai ketika Indra memutuskan untuk bekerja di Jakarta sebagai seorang Software Engineer di Tokopedia. Belum usai masa LDR, pada 3 Oktober 2018, Dinda juga memutuskan untuk mengambil beasiswa di University of Split, Kroasia. Di bulan November 2018, Indra melangsungkan wisuda dan Dinda hanya bisa memberi virtual support melalui video call. ', image: ImgBoarding, }, { title: 'Kembali ke Indonesia', date: '3 Maret 2019', description: 'Periode belajar di Kroasia telah selesai. Akhirnya Dinda kembali ke Indonesia! Ada tanggung jawab yang harus Dinda selesaikan seusai dari Kroasia, yakni harus menyelesaikan skripsi dan mencapai target untuk wisuda di bulan Agustus 2019. Selain itu, kembalinya Dinda ke Indonesia menjadi momen yang tepat bagi Indra untuk menyampaikan niat ingin serius kepada orang tua Dinda. Hal itu disambut baik oleh kedua orang tua mereka dan sepakat akan melaksanakan acara Ndodok Lawang usai Dinda wisuda. Sebelum wisuda, Dinda sudah harus meniti karir di Jakarta sebagai seorang Content Analyst di Ruangguru.', image: ImgKembaliKeIndonesia, }, { title: 'Ndodok Lawang', date: '31 Agustus 2019', description: 'Akhirnya tiba di masa Indra dan keluarga hadir ke rumah Dinda untuk menyampaikan niat baik. Mulai dari acara Ndodok Lawang ini, dilanjutkan dengan persiapan pernikahan yang insha Allah akan diselenggarakan pada tanggal 3 Oktober 2020.', image: ImgNdodokLawang, }, ]; ================================================ FILE: src/components/StorySection/styles.js ================================================ import { css } from '@emotion/core'; export const styWrapper = (noImage) => css` ${noImage && `margin-left: 100px;`} @media screen and (max-width: 991px) { ${noImage && `margin-left: 100px;`} } `; ================================================ FILE: src/components/Ticket/index.js ================================================ import React from 'react'; import QRCode from 'react-qr-code'; import { object } from 'prop-types'; import { Link } from 'gatsby'; import { styWrapper } from './styles'; function TicketData({ guest, configData }) { return (
    Nama
    {guest.name}
    Keterangan
    {guest.desc}
    Syukuran Pernikahan / Shift
    {`${configData.shiftType?.[guest.shift]} / ${guest.shift}` || '11.00 WIB - 13.00 WIB'}
    {/* attendance */} {guest.isAttended ? ( <>
    Sudah hadir pada
    {guest.attendedAt}
    ) : null} {/** souvenir */} {guest.isExchanged ? ( <>
    Sudah menukarkan souvenir pada
    {guest.exchangedAt}
    ) : null} {/* Additional info */}
    Penting
    • {`Setiap tamu yang hadir wajib menunjukkan QRCode ini sebagai pengganti buku tamu untuk untuk meminimalisir kontak fisik melalui pena.`}
    • Dalam rangka mematuhi protokol kesehatan, {` 1 undangan hanya berlaku untuk 2 orang tamu`}

    ); } TicketData.propTypes = { guest: object, configData: object, }; TicketData.defaultProps = { guest: {}, configData: {}, }; export default TicketData; ================================================ FILE: src/components/Ticket/styles.js ================================================ import { css } from '@emotion/core'; export const styWrapper = css` @import url('https://fonts.googleapis.com/css?family=Roboto:300,400'); .container { margin: 30px auto; overflow: hidden; box-shadow: 0 0 10px rgb(202, 202, 204); background-color: ; border-radius: 2px; padding: 0 16px; } .ticket { display: flex; #qrcode { justify-content: center; align-content: center; margin: 12px auto; } } .details { color: #828282; padding: 16px 0; border-top: 1px dashed #c3c3c3; } .tinfo { font-size: 10px; font-weight: 300; color: #555; font-family: 'Roboto', sans-serif; text-transform: uppercase; letter-spacing: 1px; margin: 16px 0 0 0; } .tdata { font-size: 1em; font-weight: 400; font-family: 'Roboto', sans-serif; letter-spacing: 0.5px; margin: 0; } .additional { font-size: 10px; } .name { font-size: 1.3em; font-weight: 500; } .masinfo { display: block; } .left, .right { width: 49%; display: inline-table; } .nesp { letter-spacing: 0px; } .btn { margin-right: 4px; margin-bottom: 4px; font-family: 'Work Sans', Arial, sans-serif; font-size: 12px; font-weight: 400; border-radius: 30px; transition: 0.5s; padding: 8px 20px; } .primary { background: #f14e95; color: #fff; border: none; } `; export const styTicket = css` display: flex; justify-content: center; align-items: center; min-height: calc(100vh - 18px); padding: 0 20px; .homepage { display: flex; flex-direction: column; justify-content: center; align-items: center; max-width: 100%; } .title { font-family: 'Cookie', cursive; font-weight: 600; letter-spacing: 4px; font-size: 45px; user-select: none; margin-top: 20px; text-align: center; } .sub-title-ticket { font-weight: 500; text-transform: uppercase; letter-spacing: 1px; font-size: 1.7rem; user-select: none; margin-top: 20px; text-align: center; } .input-ticket { width: 85vw; min-width: auto; input { font-family: 'Work Sans', Courier, monospace; font-size: 18px; width: 100%; text-align: center; border-radius: 12px; padding: 10px 30px 10px 10px; background: transparent; border: 0.5px solid rgba(0, 0, 0, 0.3); } input[type='text']:disabled { background: #dddddd; } } `; ================================================ FILE: src/components/WeddingSection/ButtonLive.js ================================================ import React from 'react'; import IconIg from './assets/instagram.png'; import { styButtonWrapper } from './styles'; function ButtonLive() { return (

    Hadir secara virtual melalui siaran langsung instagram:

    Live IG @dindadipoyono
    ); } export default React.memo(ButtonLive); ================================================ FILE: src/components/WeddingSection/WeddingInfoBox.js ================================================ import React from 'react'; import { string } from 'prop-types'; function WeddingInfoBox({ title, date, time, description }) { return (

    {title}

    {time}
    {date}
    {description && (
    )}
    ); } WeddingInfoBox.propTypes = { title: string.isRequired, date: string.isRequired, time: string.isRequired, description: string.isRequired, }; export default React.memo(WeddingInfoBox); ================================================ FILE: src/components/WeddingSection/index.js ================================================ import React, { Fragment } from 'react'; import { bool } from 'prop-types'; import WeddingInfoBox from './WeddingInfoBox'; import ButtonLive from './ButtonLive'; import { styWrapper } from './styles'; function WeddingSection({ isInvitation }) { const renderGuestInfo = () => { return (
    ); }; return (
    بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم

    Akad Nikah dan Syukuran Pernikahan

    Insha Allah akan diselenggarakan pada:
    {!isInvitation && renderGuestInfo()} {isInvitation && (
    )}
    ); } WeddingSection.propTypes = { isInvitation: bool.isRequired, }; export default React.memo(WeddingSection); ================================================ FILE: src/components/WeddingSection/styles.js ================================================ import { css } from '@emotion/core'; import Background from '@assets/images/bg-wedding.jpg'; export const styWrapper = css` background-image: url(${Background}); background-size: cover; background-position: center; width: 100%; min-height: 70vh; color: #fff !important; .bismillah { color: #fff !important; font-size: 16px !important; font-family: sans-serif; } .sub-title { color: #fff !important; font-size: 16px; font-family: 'Work Sans', Arial, sans-serif; font-weight: 400 !important; @media screen and (max-width: 400px) { font-size: 15px !important; } } .text__live { text-align: center; margin-top: 24px; } .main-font { margin-top: 12px; @media screen and (max-width: 400px) { line-height: 1; margin-bottom: 8px; } } `; export const styButtonWrapper = css` display: flex; justify-content: center; align-items: center; animation: pulse 2s ease infinite; margin-top: -8px; border: none; .img__wrapper { display: flex; justify-content: center; align-items: center; color: #fff; font-weight: 500px; border-radius: 24px; background: #f14e95; padding: 8px 16px; } i { margin-right: 4px; } img { max-width: 28px; margin-right: 8px; margin-bottom: 0; } `; ================================================ FILE: src/components/WelcomeSection/CountContainer.js ================================================ import React from 'react'; import useDateCountdown from '@/hooks/useDateCountdown'; import CountItem from './CountItem'; import ButtonLive from '../WeddingSection/ButtonLive'; import { styMargin } from './styles'; function CountContainer() { const { days, hours, minutes, seconds, timeHasRunOut, isEventOver } = useDateCountdown(); const finalText = isEventOver ? 'SUDAH' : 'SEDANG'; if (timeHasRunOut) return ( <>
    {`ACARA ${finalText} BERLANGSUNG!`}
    ); return (
    ); } export default CountContainer; ================================================ FILE: src/components/WelcomeSection/CountItem.js ================================================ import React from 'react'; import { number, string } from 'prop-types'; import { styWrapperCount } from './styles'; function CountItem({ number, text }) { return (

    {number}

    {text}
    ); } CountItem.propTypes = { number: number.isRequired, text: string.isRequired, }; export default React.memo(CountItem); ================================================ FILE: src/components/WelcomeSection/ScrollToDown.js ================================================ import React from 'react'; import { styScrollWrapper } from './styles'; import { bool, func } from 'prop-types'; function ClickToSeeDetail({ loading, onClick }) { return (
    {loading ? 'Menyiapkan data..' : 'Klik untuk Melihat Detail Acara'}
    ); } ClickToSeeDetail.propTypes = { loading: bool.isRequired, onClick: func.isRequired, }; export default ClickToSeeDetail; ================================================ FILE: src/components/WelcomeSection/index.js ================================================ import React, { Fragment, useState } from 'react'; import { object, string, bool, func } from 'prop-types'; import { Link } from 'gatsby'; import WeddingImg from '@assets/images/wedding-logo.png'; import CountContainer from './CountContainer'; import ScrollToDown from './ScrollToDown'; import { styWrapper, styHero, styBackground, styButtonWrapper } from './styles'; const DELAY_TIME = 1500; function WelcomeSection({ location, guestName, isInvitation, isAnonymGuest, codeLink, onClickDetail }) { const [loading, setLoading] = useState(false); const [alreadyDownloadData, setAlreadyDownloadData] = useState(false); const handleScrollTo = () => { /** scroll into detail view */ const element = document.getElementById('fh5co-couple'); element.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' }); }; const handleShowDetail = () => { if (loading) return undefined; try { const myAudio = document.getElementById('myAudio'); myAudio.play(); } catch { console.error('FAILED_TO_PLAY_MUSIC'); } onClickDetail(); if (!alreadyDownloadData) { setLoading(true); setTimeout(() => { setLoading(false); setAlreadyDownloadData(true); handleScrollTo(); }, DELAY_TIME); } else { handleScrollTo(); } }; const renderGuestSection = () => { if (isAnonymGuest) return

    Dear Friends,

    ; return (

    To our Dearest

    {guestName}

    ); }; return (
    ); } WelcomeSection.propTypes = { guestName: string.isRequired, isInvitation: bool.isRequired, isAnonymGuest: bool.isRequired, location: object.isRequired, codeLink: string, onClickDetail: func.isRequired, }; WelcomeSection.defaultProps = { codeLink: '', }; export default WelcomeSection; ================================================ FILE: src/components/WelcomeSection/styles.js ================================================ import { css, keyframes } from '@emotion/core'; import Background from '@assets/images/bg-welcome.jpg'; export const styHero = css` width: 100%; height: 100vh; `; const radarAnimation = keyframes` 0% { opacity: 0; } 30% { opacity: 1; } 60% { box-shadow: 0 0 0 30px rgba(255,255,255,.1); opacity: 0; } 100% { opacity: 0; } `; export const upAndDownAnimation = keyframes` 0% { transform: translateY(0); } 100% { transform: translateY(-5px); } `; export const styScrollWrapper = css` #scroll { display: flex; justify-content: center; cursor: pointer; span { position: absolute; bottom: 46px; text-align: center; color: #fff; } .text { animation: ${upAndDownAnimation} 1s infinite alternate; } @media screen and (max-width: 414px) { .text { bottom: 80px; font-size: 12px; } } @media screen and (max-width: 360px) { .text { bottom: 60px; font-size: 12px; } } } .scroll__icon { .button { position: absolute; bottom: 46px; left: 50%; z-index: 2; display: inline-block; transform: translate(0, -50%); color: #fff; letter-spacing: 0.1em; text-decoration: none; transition: opacity 0.3s; span::before { position: absolute; top: -23px; left: -22px; z-index: -1; content: ''; width: 44px; height: 44px; box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.1); border-radius: 100%; opacity: 0; animation: ${radarAnimation} 3s infinite; box-sizing: border-box; } span::after { position: absolute; top: 50%; left: 50%; content: ''; width: 16px; height: 16px; margin: -12px 0 0 -8px; border-left: 1px solid #fff; border-bottom: 1px solid #fff; transform: rotate(-45deg); box-sizing: border-box; } } &button:hover { opacity: 0.5; } @media screen and (max-width: 414px) { .button { bottom: 80px; } } @media screen and (max-width: 360px) { .button { bottom: 65px; } } } `; export const styBackground = css` background-size: cover; background-image: url(${Background}); background-position: center; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; @media screen and (max-width: 400px) { .title { font-size: 40px; } .sub-title { font-size: 28px; } } @media screen and (max-width: 500px) { .title { font-size: 54px; } .sub-title { font-size: 28px; } } `; export const styWrapper = css` color: #fff; margin-top: -8em; img { max-width: 80px; margin-bottom: 24px; } h1 { margin-bottom: 0px; font-size: 100px; line-height: 1.5; font-family: 'Cookie', cursive; color: #fff; } h2 { color: #fff; font-size: 22px; font-weight: 600; line-height: 1.5; margin-bottom: 30px; } h4 { font-family: 'Cookie', cursive; margin: 0; color: #fff; font-size: 30px; } .getting-married { margin-top: -12px; } .to-dearest { font-size: 16px; color: #f1f1f1b3; margin-bottom: 8px; } .to-dearest-name { border-bottom: 1px solid; padding-bottom: 12px; max-width: 250px; margin: auto auto 30px auto; } .margin__bottom { margin-bottom: 3em !important; } a { color: #f14e95; } @media screen and (max-width: 330px) { img { max-width: 40px; margin-top: 24px; margin-bottom: 8px; } .to-dearest { margin-bottom: 8px; font-size: 16px; } .to-dearest-name { margin: auto auto 16px auto; } } `; export const styWrapperCount = css` display: inline-block; width: 100px; height: 100px; background: rgba(241, 78, 149, 0.8); margin: 8px; border-radius: 50%; position: relative; animation: pulse 1s ease infinite; color: #fff; h3 { font-size: 30px; color: #fff; margin: 20px 0 0 0; } @media screen and (max-width: 500px) { width: 75px; height: 75px; margin: 4px; font-size: 12px; h3 { font-size: 24px; } } @media screen and (max-width: 380px) { width: 55px; height: 55px; h3 { margin-top: 12px; margin-bottom: -4px; font-size: 16px; } span { font-size: 10px; } } `; export const styMargin = (px) => css` margin: ${px}; `; export const styButtonWrapper = css` display: flex; justify-content: center; .btn { background: #f14e95; color: #fff; border: none; } `; ================================================ FILE: src/components/WishesSection/WishesContainer.js ================================================ import React, { useState, useEffect, useCallback } from 'react'; import WishesItem from './WishesItem'; import { wishlist } from './wishlist-data'; import { styButtonWrapper } from './styles'; const INTERVAL_SLIDE = 35000; function WishesContainer() { const [active, setActive] = useState(0); const [pauseSlide, setPauseSlide] = useState(false); const totalWishes = wishlist.length || 0; const handleSetActive = (isNext = true) => { if (isNext) { if (active === totalWishes - 1) { setActive(0); } else { setActive(active + 1); } } else { if (active === 0) { setActive(totalWishes - 1); } else { setActive(active - 1); } } setPauseSlide(true); setTimeout(() => { setPauseSlide(false); }, INTERVAL_SLIDE); }; const handleSetNext = useCallback(() => { if (active === wishlist.length - 1) { setActive(0); } else { setActive(active + 1); } }, [active]); const renderWishlist = () => { return wishlist.map((w, index) => ); }; /** Side effect to autoscroll */ useEffect(() => { const interval = setInterval(() => { if (!pauseSlide) { handleSetNext(); } else { clearInterval(interval); } }, INTERVAL_SLIDE); return () => clearInterval(interval); }, [handleSetNext, pauseSlide]); return (
    {renderWishlist()}
    ); } export default React.memo(WishesContainer); ================================================ FILE: src/components/WishesSection/WishesItem.js ================================================ import React from 'react'; import { string, bool } from 'prop-types'; import { styWrapperItem, styWithAnimation } from './styles'; function WishesItem({ image, name, infoName, description, isActive }) { if (!isActive) return null; const renderItem = () => { return (
    user

    {name}

    {infoName}

    {description}

    ); }; return
    {renderItem()}
    ; } WishesItem.propTypes = { image: string.isRequired, name: string.isRequired, infoName: string.isRequired, description: string.isRequired, isActive: bool.isRequired, }; export default React.memo(WishesItem); ================================================ FILE: src/components/WishesSection/index.js ================================================ import React from 'react'; import WishesContainer from './WishesContainer'; function WishesSection() { return (

    Dari Sahabat

    ); } export default WishesSection; ================================================ FILE: src/components/WishesSection/styles.js ================================================ import { css, keyframes } from '@emotion/core'; const animation = keyframes` 0% { right: -300px; opacity: 0;} 50% { right: 50px; opacity: 0.5;} 100% {right: 0px; opacity: 1;}; `; const animationLeft = keyframes` 0% { left: -300px; opacity: 0;} 50% { left: 50px; opacity: 0.5;} 100% {left: 0px; opacity: 1;}; `; export const styWithAnimation = (isActive) => css` position: relative; animation: ${isActive ? animation : animationLeft} 1s; `; export const styWrapperItem = css` h4 { color: #828282; font-weight: bold; text-transform: uppercase; margin: 0 0 4px 0; } blockquote { margin-top: 16px !important; } .infoName { font-size: 12px; text-transform: capitalize; letter-spacing: 2px; display: block; } .hide { display: none; } .active { diplay: block; } .description { font-size: 16px !important; } @media screen and (max-width: 400px) { .description { font-size: 14px !important; } } `; export const styButtonWrapper = css` display: flex; justify-content: center; .button-nav { font-size: 14px; padding: 5px 20px; } `; ================================================ FILE: src/components/WishesSection/wishlist-data.js ================================================ import Nita from '@assets/images/w-nita.jpg'; import Zakiy from '@assets/images/w-zakiy.jpg'; import Moletta from '@assets/images/w-moletta.jpg'; import hapsari from '@assets/images/w-hapsari.jpg'; import dianara from '@assets/images/w-dianara.jpg'; import rahma from '@assets/images/w-rahma.jpg'; import vela from '@assets/images/w-vela.jpg'; import iqmala from '@assets/images/w-iqmala.jpg'; import man from './assets/user.png'; import ihsan from './assets/w-ihsan.jpg'; import fajar from './assets/w-fajar.jpg'; import risa from './assets/w-risa.jpg'; import puspita from './assets/w-puspita.jpg'; import kamal from './assets/w-kamal.jpg'; import ghea from './assets/w-ghea.jpg'; import emsho from './assets/w-emsho.jpg'; import alvia from './assets/w-alvia.jpg'; import yunias from './assets/w-yunias.jpg'; import yunita from './assets/w-yunita.jpg'; import fitria from './assets/w-fitria.jpg'; import joshua from './assets/w-joshua.jpg'; import sibra from './assets/w-sibra.jpg'; import irfan from './assets/w-irfan-m.png'; import reza from './assets/w-reza.jpg'; import jenny from './assets/w-jenny.jpg'; export const wishlist = [ { name: 'Nita Syarifah', infoName: 'Sahabat SMP Dinda', description: `selamat menempuh hidup baru dinda dan mas indra semoga menjadi pasangan teman hidup selamanya sesurga, enjoy your little family always be happy my sweet couple!🥰🤗 amin`, image: Nita, }, { name: 'Ihsan Satriawan', infoName: 'Rekan Kerja Indra, Tokopedia', description: `Selamat menggenapkan separuh Agama ya Indra dan Dinda. Semoga melalui pernikahan ini, kalian bisa saling menguatkan dalam mengarungi kehidupan ini baik dalam kondisi senang ataupun susah. Serta semakin dekat dan konsisten dalam menjalankan perintah Agama.`, image: ihsan, }, { name: 'Zakiy Anwar Fahri', infoName: 'Sahabat Dinda & Indra', description: `Hai Indra & Dinda, sebelum nya aku ucapin selamat akhirnya mencapai pernikahan. Semoga pernikahannya lancar dan menjadi keluarga sakinah mawahdah warahmah. Sebagai sahabat mu sejak awal kuliah kita berjuang bersama dan akhirnya sampai titik ini aku seneng banget kamu bisa menggapai cita-cita mu pelan-pelan, setelah ini kamu akan memulai perjalan dengan seorang yang akan lebih setia dari Sahabat yaitu Istri (Dinda), tetep sabar dan setia ya Ndra. Nahh, untuk Dinda bantu sahabat ku semakin baik ya hehe. :D`, image: Zakiy, }, { name: 'Risalatul Muawanah', infoName: 'Sahabat SMP Dinda', description: `"Hey Din! Finally ..... Happy Wedding! Hopefully become a family that Sakinah Mawaddah Warohmah until HIS heaven later! Become a blessed family and always be happy! May your dreams always be achieved! Always complement and support each other! I will wait for 5 children yea! Hihi 😅😅😘"`, image: risa, }, { name: 'Moleta Tiara Mahayanti', infoName: 'Sahabat SMP Dinda', description: `"Happy Wedding untuk Dinda dan Mas Indra ❤ Semoga menjadi keluarga yang Sakinah Mawardah wa Rahmah Amin. Selamat menempuh hidup yang baru kalian berdua. Setelah ini akan ada babak baru untuk kehidupan kalian Setelah ini akan ada hal yang kalian belum temukan sebelumnya Setelah ini hal yang kalian impikan akan terwujud Terus menjadi pasangan yang dapat menginspirasi semua orang Dinda dan Mas indra dan tetaplah menjadi pribadi yang rendah hati❤ Dari aku Moleta Sahabatmu 🤎"`, image: Moletta, }, { name: 'Hapsari Anggraini', infoName: 'Sahabat SMP Dinda', description: `"Selamat menempuh hidup baru Dinda dan mas Indra, semoga menjadi keluarga yg sakinah, mawaddah, warrahmah, yg bahagia, dan menjadi pasangan yg selalu ada dalam keadaan suka maupun duka aamiin. semoga kita cepet dapet ponakan ya, Dinn😂💙"`, image: hapsari, }, { name: 'Herza I.M', infoName: 'Rekan Kerja Indra, Tokopedia', description: `"Untuk Indra dan Dinda, semoga lancar ya acara pernikahannya dan senantiasa aman dan kondusif meski keadaan seperti ini. Salut dengan ketetapan untuk mengukuhkan ikatan meski sdg banyak rintangan. Pokoknya saya doain yg terbaik untuk kalian berdua, mulai dari hari h acara sampai seterusnya. Semoga jadi keluarga yg sakinah, mawadah, warahmah ya. Amiin. Selamat berbahagia, Indra & Dinda!"`, image: man, }, { name: 'Dhyanara NP', infoName: 'Rekan Kerja Dinda, NET TV', description: `Semoga pernikahan ini membawa Dinda dan Indra dalam ketentraman (sakinah), cinta (mawaddah) dan welas asih (rohmah). Jika saja semakin tumbuhnya cinta itu tak muat masuk ke rongga dada, semoga Allah berikan kelapangan rasa. Semoga Allah mudahkan segala tujuan awal saat kalian berdua memutuskan bersama:)`, image: dianara, }, { name: 'Fajar Falahiat', infoName: 'Rekan Kerja Indra, Tokopedia', description: `Selamat menikah Indra Kusuma! Semoga pernikahannya berkah, sakinah mawaddah warohmah. Good luck bro and thanks for being such a good friend and mentor!`, image: fajar, }, { name: 'Pramudina Rahmawati', infoName: 'Sahabat SMA Dinda', description: `Happy Wedding Dinda & Mas indra. Semoga menjadi pasangan yang samawa, dilimpahkan selalu rezeki dan kebahagiaan, dan langgeng sampai akhir hayat yah! 🖤`, image: rahma, }, { name: 'Kamal', infoName: 'Rekan Kerja Dinda, Ruangguru', description: `Congrats Dinda & Mas Indra for your marriage. You are a perfect pair. You are an inspiration to me. And have a blissful conjugal life!`, image: kamal, }, { name: 'Vela Hafira', infoName: 'Sahabat SMA Dinda', description: `Happy Wedding Dinda & Mas Indra. Selamat menempuh perjalanan hidup yang baru. Semoga bertambahlah ketaatan kalian kepada Allah hingga surga menjadi dekat. Dan dilimpahkan rezeki, petunjuk, keberkahan, dan kebahagiaan lahir batin. Barakallahu laka 💟💟💟`, image: vela, }, { name: 'Iqmalifa Dwi Nursandhi', infoName: 'Sahabat SMA Dinda', description: `"Im very happy for you dinda & mas indra.. Sahabatku dinda.. ini adalah awal perjalanan cinta kalian yang sesungguhnya, membangun cinta dalam satu atap berdua mengarungi samudra kehidupan. Semoga dinda & mas indra menjadi keluarga yang Sakinnah, Mawaddah, & Warahmah. Semoga perjalanan kalian akan tetap indah kala bersama-sama membangun kehidupan yang baru, kehidupan yang mengikatkan janji suci berjanji sehidup semati. May your love continue to grow each and every year. Best wishes on your wedding, happily ever after!❤️"`, image: iqmala, }, { name: 'Abdul Ghofar', infoName: 'Sahabat Kuliah Indra', description: `Selamat menempuh hidup baru indra n dinda semoga menjadi keluarga sakinah mawaddah warrahmah `, image: man, }, { name: 'Puspita Dewi', infoName: 'Rekan Kerja Dinda, Ruangguru', description: `"Dear Dinda & Indra, Barakallahu lakuma wa jama’a baina kuma fii khair. Semoga pernikahan kalian bisa menjadi ladang ibadah dan pahala, dan menjadi pasangan sehidup sesurga. Sakinah, mawaddah wa rahmah selalu. Amiin"`, image: puspita, }, { name: 'Ghea Maurizka', infoName: 'Sahabat Kuliah Dinda', description: `Selamat menempuh satu langkah jenjang kehidupan yg baru❤️ semoga dilimpahkan kebahagiaan & keberkahan, serta menjadi keluarga yg sakinah, mawaddah, warahmah ❤️`, image: ghea, }, { name: 'Emsho', infoName: 'Rekan Kerja Dinda, NET TV', description: `Indra. Sebuwah nama yang sayup sering tak denger saat ciwi ciwi ex net jateng pada rerumpian godain Dinda, kalo pas break syuting Hikayat Insani, medio 2018 lalu. Ada yang cengin, dia nya tersipu malu.. Eh, alhamdulillaah cinta mereka akhirnya berlabuh hingga ke tahap ini. Selamat buat Dinda & Indra. Bahagia selamanya yaa.. `, image: emsho, }, { name: 'Alvia Tri', infoName: 'Sahabat Kuliah Dinda', description: `Wedding wishes for my dear friends. I hope your life together will be filled with joy, happiness and lots of love`, image: alvia, }, { name: 'Yunias Belda', infoName: 'Sahabat Kuliah Dinda', description: `"Selamat Berbahagiaaa Dindaaa dan Mas Indraaa ❤️❤️❤️ Semoga samawaaa yaaa, cepet dpt momongan, jd keluarga kecil yanb bahagia 😘😘😘 luvluvvv"`, image: yunias, }, { name: 'Linda Yunitasari', infoName: 'Sahabat Kuliah Dinda', description: `Selamat buat Dinda dan Mas Indra. lancar2 buat acaranyaa.. semoga kelak dijadikan keluarga yg sakinah, mawadah, warahmah.. segera diberikan dedek yg gumush dan pintar biar jadi mahmud❤️ Langgeng terus sampai kakek nenek ya dinds!❤️`, image: yunita, }, { name: 'Fitria Ayunisa', infoName: 'Sahabat Kuliah Dinda', description: `Selamat menempuh hidup baru buat Dinda dan Mas Indra!❤️ Semoga samawa yaaa dan cepet dapet momongan :p amin! see you😘🌷`, image: fitria, }, // NEW { name: 'Joshua Stephen', infoName: 'Rekan Kerja Indra, Tokopedia', description: `For Indra & Dinda, wishing you the best marriage and everlasting happiness. May you are abundantly blessed as one family.`, image: joshua, }, { name: 'Sibra', infoName: 'Rekan Kerja Indra, Tokopedia', description: `Selamat membuka lembaran baru indra dan dinda, semoga menjadi keluarga yang harmonis dan saling menguatkan di masa sulit maupun senang.. congrats bro indra..`, image: sibra, }, { name: 'Reza Maskadi', infoName: 'Rekan Kerja Indra, Tokopedia', description: "Selamat menikah untuk Indra dan Dinda, teruslah untuk 'saling', saling menjaga, saling memberi semangat, saling percaya, saling melengkapi, saling mengerti, serta saling saling yang akan kalian temui kedepannya, walau suka dan duka tetaplah jaga `saling` tersebut. Juga semoga menjadi keluarga sakinah mawaddah warrahmah. amin...", image: reza, }, { name: 'Irfan Maulana', infoName: 'Rekan Kerja Indra, Tokopedia', description: `"Selamat berbahagia, semoga semakin berkah kehidupannya dan bisa saling melengkapi satu dengan yang lain. Semoga pernikahannya bisa dilanggengkan."`, image: irfan, }, { name: 'Jennyka Setiawan', infoName: 'Sahabat Kuliah Dinda', description: `Dinda dan Indra When you read this message you probably already "Sah" Newly Married couple. or if you read this before that then read this again after. hehehehehee... Dinda and Indra you already are match couple 2020, so keep up the good work until only death takes youu guys apart. I definitely know nothing about marriage but people says its the bittersweet of life. But I know one thing you guys can be each other the best of friends, parents, leader, guidance, partner not in crime but in the good thing I know ( crime only can be done by Dinda while in university ) ehehhehehe. Hope you guys prosper and also can be the source to share good value not only for your family but also for the lots and lots of people. May God Bless You both and your "soon to be" family. Regard - Jeka0ne`, image: jenny, }, ]; ================================================ FILE: src/constants/index.js ================================================ /** * Link */ export const GOOGLE_CALENDAR_LINK = `https://calendar.google.com/calendar/event?action=TEMPLATE&dates=20201003T040000Z%2F20201003T060000Z&text=Dinda+%26+Indra+Wedding&details=Dinda+%26+Indra+Wedding`; export const GOOGLE_MAPS_LINK = `https://g.page/HARRISHotelSentralandSemarang?share`; /** * Wedding time */ export const EPOCH_START_EVENT = 1613952139; export const EPOCH_END_EVENT = 1613952139; export const UTC_WEDDING_TIME = '2020-10-03:04:00:00Z'; ================================================ FILE: src/helpers/getQueryValue.js ================================================ export default function getQueryValue(location, name) { const testedName = name.replace(/[[]/, '\\[').replace(/[\]]/, '\\]'); const regex = new RegExp(`[\\?&]${testedName}=([^&#]*)`); const results = regex.exec(location.search); return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); } ================================================ FILE: src/helpers/isMobileDevice.js ================================================ function isMobileDevice() { if (typeof window === undefined) return false; const userAgent = window.navigator.userAgent || ''; const finalUserAgent = userAgent.toLocaleLowerCase(); if (finalUserAgent.includes('android')) return true; if (finalUserAgent.includes('ios')) return true; if (finalUserAgent.includes('iphone')) return true; if (finalUserAgent.includes('windows phone')) return true; if (finalUserAgent.includes('bb')) return true; return false; } export default isMobileDevice; ================================================ FILE: src/helpers/pxToRem.js ================================================ function pxToRem(px) { const result = px / 14; return `${result}rem`; } export default pxToRem; ================================================ FILE: src/hooks/useConfigData.js ================================================ import { useState, useEffect } from 'react'; import offlineConfigData from '../../api/shift.json'; function useConfigData() { const [loading, setLoading] = useState(false); const [data, setData] = useState({}); const handleFetch = async () => { setLoading(true); try { setData(offlineConfigData || {}); setLoading(false); } catch { console.error('ERR_WHEN_HIT_DATA'); setData({}); setLoading(false); } }; useEffect(() => { handleFetch(); }, []); return { data, loading, refetch: handleFetch }; } export default useConfigData; ================================================ FILE: src/hooks/useDateCountdown.js ================================================ import { useState, useEffect, useCallback } from 'react'; import { EPOCH_END_EVENT, EPOCH_START_EVENT } from '@/constants'; const INTERVAL_TIME = 1000; const DAY_PER_SECONDS = 86400; const HOUR_PER_SECONDS = 3600; const MINUTE_PER_SECONDS = 60; const getEpochTime = () => Math.floor(new Date().getTime() / 1000); function useDateCountdown() { const [days, setDays] = useState(0); const [hours, setHours] = useState(0); const [minutes, setMinutes] = useState(0); const [seconds, setSeconds] = useState(0); const [currentEpochTime, setCurrentEpochTime] = useState(() => getEpochTime()); const [timeHasRunOut, setTimeHasRunOut] = useState(false); const [isEventOver, setIsEventOver] = useState(0); const calculateTimeLeft = useCallback(() => { const TIME_LEFT = EPOCH_START_EVENT - currentEpochTime; if (TIME_LEFT < 0) { setIsEventOver(currentEpochTime > EPOCH_END_EVENT); setTimeHasRunOut(true); return; } const daysLeft = Math.floor(TIME_LEFT / DAY_PER_SECONDS); const hoursLeft = Math.floor((TIME_LEFT % DAY_PER_SECONDS) / HOUR_PER_SECONDS); const minutesLeft = Math.floor(((TIME_LEFT % DAY_PER_SECONDS) % HOUR_PER_SECONDS) / MINUTE_PER_SECONDS); const secondsLeft = Math.floor(((TIME_LEFT % DAY_PER_SECONDS) % HOUR_PER_SECONDS) % MINUTE_PER_SECONDS); const currentEpoch = getEpochTime(); setDays(daysLeft); setHours(hoursLeft); setMinutes(minutesLeft); setSeconds(secondsLeft); setCurrentEpochTime(currentEpoch); }, [currentEpochTime]); useEffect(() => { const interval = setInterval(() => { /** * If time has run out then stop the interval! */ if (timeHasRunOut) { clearInterval(interval); } else { calculateTimeLeft(); } }, INTERVAL_TIME); return () => clearInterval(interval); }, [calculateTimeLeft, timeHasRunOut]); return { days, hours, minutes, seconds, timeHasRunOut, isEventOver }; } export default useDateCountdown; ================================================ FILE: src/hooks/useGuestData.js ================================================ import { useState, useEffect } from 'react'; import offlineGuestData from '../../api/guest-data.json'; function useGuestData() { const [loading, setLoading] = useState(false); const [data, setData] = useState([]); const handleFetch = async () => { setLoading(true); try { setData(offlineGuestData || []); setLoading(false); } catch { console.error('ERR_WHEN_HIT_DATA'); setData([]); setLoading(false); } }; useEffect(() => { handleFetch(); }, []); return { data, loading, refetch: handleFetch }; } export default useGuestData; ================================================ FILE: src/pages/e-ticket.js ================================================ import React, { useState, useEffect, useRef, useCallback } from 'react'; import MainLayout from '@components/Layout'; import Ticket from '@components/Ticket'; import getQueryValue from '@helpers/getQueryValue'; import useGuestData from '@/hooks/useGuestData'; import useConfigData from '@/hooks/useConfigData'; import { styTicket } from '@components/Ticket/styles'; function ETicket({ location }) { const codeEticket = getQueryValue(location, 'code') || ''; const nameEticket = getQueryValue(location, 'name') || ''; const alreadyChecked = useRef(false); const [value, setValue] = useState(''); const [selectedGuest, setSelectedGuest] = useState({}); const [isShowTicket, setIsShowTicket] = useState(false); const { data, loading } = useGuestData(); const { data: configData } = useConfigData(); const handleCheckTicket = useCallback( (tempValue) => { const guestCode = (tempValue || value).toUpperCase(); const guest = data.find((g) => (g.code || '').toUpperCase() === guestCode); if (guest) { if (guest.name.toUpperCase().includes(nameEticket.toUpperCase())) { setSelectedGuest(guest); setIsShowTicket(true); return; } } alert(`Maaf, Kode data ${guestCode} tidak ditemukan. Mohon di cek lagi..`); window.location.assign('https://thekusuma.com'); }, [data, nameEticket, value], ); /** * Effect to autu-check code ticket */ useEffect(() => { if (codeEticket !== '' && data.length > 0 && !alreadyChecked.current) { alreadyChecked.current = true; setValue(codeEticket); setTimeout(() => { handleCheckTicket(codeEticket); }, 1000); } }, [codeEticket, data.length, handleCheckTicket, loading]); return (
    {isShowTicket ? ( ) : (

    🧑‍💻Validasi data tamu.. Mohon tunggu..

    )}
    ); } export default ETicket; ================================================ FILE: src/pages/generate-link.js ================================================ import React from 'react'; import MainLayout from '@components/Layout'; import GenerateLink from '@components/GenerateLink'; import { styWrapper } from '@components/GenerateLink/styles'; function GenerateLinkWrapper() { return (
    {}
    ); } export default GenerateLinkWrapper; ================================================ FILE: src/pages/generate-qr.js ================================================ import React from 'react'; import MainLayout from '@components/Layout'; import QRCard from '@components/QRCard'; import useGuestData from '@/hooks/useGuestData'; import { styWrapper } from '@components/QRCard/styles'; function GenerateQRPage() { const { data, loading } = useGuestData(); const finalData = data.filter((guest, index) => index >= 177); const renderContent = () => { if (loading) return
    Menyiapkan data..
    ; return finalData.map((guest) => { return ; }); }; return (
    {renderContent()}
    ); } export default GenerateQRPage; ================================================ FILE: src/pages/index.js ================================================ import React, { useState, Fragment } from 'react'; import { object } from 'prop-types'; import getQueryValue from '@helpers/getQueryValue'; /** * List of local components */ import MainLayout from '@components/Layout'; import WelcomeSection from '@components/WelcomeSection'; import HelloSection from '@components/HelloSection'; import WeddingSection from '@components/WeddingSection'; import LocationSection from '@components/LocationSection'; import StorySection from '@components/StorySection'; import PhotoSection from '@components/PhotoSection/Loadable'; import WishesSection from '@components/WishesSection'; import ConfirmationSection from '@components/ConfirmationSection'; import FooterSection from '@components/FooterSection'; import CovidSection from '@components/Covid19'; import FloatingMusic from '@components/FloatingMusic/Loadable'; function Home({ location }) { const guestName = decodeURIComponent(getQueryValue(location, 'to') || ''); const isInvitation = getQueryValue(location, 'type') === 'invitation'; const firstName = guestName.replace(/ .*/, ''); const isAnonymGuest = guestName === '' && !isInvitation; const codeLink = getQueryValue(location, 'code') || ''; const finalTicketLink = `code=${codeLink}&name=${guestName}`; const [showDetailContent, setShowDetailContent] = useState(false); const handleClickDetail = () => { setShowDetailContent(true); }; const renderDetailContent = () => { if (!showDetailContent) return null; return ( {isInvitation && } {isInvitation && } ); }; return ( {renderDetailContent()} ); } Home.propTypes = { location: object.isRequired, }; export default Home;