├── src ├── components │ ├── Info │ │ ├── style.css │ │ └── index.js │ ├── Education │ │ ├── style.css │ │ └── index.js │ ├── Language │ │ ├── style.css │ │ └── index.js │ ├── Skill │ │ ├── style.css │ │ └── index.js │ ├── Experience │ │ ├── style.css │ │ └── index.js │ ├── Repository │ │ ├── style.css │ │ └── index.js │ └── PDFExport │ │ └── index.js ├── App.test.js ├── index.js ├── App.js ├── data │ └── cv.json └── serviceWorker.js ├── CV.png ├── CV-UI.png ├── .gitattributes ├── CV-UI-Color.png ├── CV-UI-Repos.png ├── CV-UI-Languages.png ├── public ├── favicon.ico ├── manifest.json ├── index.html ├── style │ └── css │ │ └── color │ │ ├── navy.css │ │ ├── lime.css │ │ ├── brown.css │ │ ├── green.css │ │ ├── orange.css │ │ ├── blue.css │ │ ├── pink.css │ │ ├── purple.css │ │ ├── red.css │ │ └── yellow.css ├── static │ └── js │ │ └── bootstrap.min.js └── style.css ├── package.json ├── LICENSE ├── .gitignore └── README.md /src/components/Info/style.css: -------------------------------------------------------------------------------- 1 | .social{ 2 | font-size: 20pt; 3 | } -------------------------------------------------------------------------------- /CV.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ardacetinkaya/json-as-cv/HEAD/CV.png -------------------------------------------------------------------------------- /CV-UI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ardacetinkaya/json-as-cv/HEAD/CV-UI.png -------------------------------------------------------------------------------- /src/components/Education/style.css: -------------------------------------------------------------------------------- 1 | .school-icon{ 2 | font-size: 70pt; 3 | } -------------------------------------------------------------------------------- /src/components/Language/style.css: -------------------------------------------------------------------------------- 1 | .company-icon{ 2 | font-size: 70pt; 3 | } -------------------------------------------------------------------------------- /src/components/Skill/style.css: -------------------------------------------------------------------------------- 1 | .company-icon{ 2 | font-size: 70pt; 3 | } -------------------------------------------------------------------------------- /src/components/Experience/style.css: -------------------------------------------------------------------------------- 1 | .company-icon{ 2 | font-size: 70pt; 3 | } -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /CV-UI-Color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ardacetinkaya/json-as-cv/HEAD/CV-UI-Color.png -------------------------------------------------------------------------------- /CV-UI-Repos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ardacetinkaya/json-as-cv/HEAD/CV-UI-Repos.png -------------------------------------------------------------------------------- /CV-UI-Languages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ardacetinkaya/json-as-cv/HEAD/CV-UI-Languages.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ardacetinkaya/json-as-cv/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /src/components/Repository/style.css: -------------------------------------------------------------------------------- 1 | .github-icon{ 2 | font-size: 70pt; 3 | } 4 | 5 | .all-repositories{ 6 | background-color: gainsboro !important; 7 | } -------------------------------------------------------------------------------- /src/App.test.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import App from './App'; 4 | 5 | it('renders without crashing', () => { 6 | const div = document.createElement('div'); 7 | ReactDOM.render(, div); 8 | ReactDOM.unmountComponentAtNode(div); 9 | }); 10 | -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "json as CV", 3 | "name": "json as CV", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | } 10 | ], 11 | "start_url": ".", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | 4 | import App from './App'; 5 | import * as serviceWorker from './serviceWorker'; 6 | 7 | ReactDOM.render(, document.getElementById('root')); 8 | 9 | // If you want your app to work offline and load faster, you can change 10 | // unregister() to register() below. Note this comes with some pitfalls. 11 | // Learn more about service workers: https://bit.ly/CRA-PWA 12 | serviceWorker.unregister(); 13 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "json-as-cv", 3 | "version": "0.1.0", 4 | "private": true, 5 | "dependencies": { 6 | "html2canvas": "^1.0.0-rc.7", 7 | "jspdf": "^2.1.1", 8 | "react": "^16.14.0", 9 | "react-dom": "^16.6.1", 10 | "react-scripts": "^5.0.1" 11 | }, 12 | "scripts": { 13 | "dev": "BROWSER=none react-scripts start --openssl-legacy-provider start", 14 | "build": "NODE_OPTIONS=--openssl-legacy-provider react-scripts build --openssl-legacy-provider build", 15 | "test": "react-scripts test", 16 | "eject": "react-scripts eject" 17 | }, 18 | "browserslist": [ 19 | ">0.2%", 20 | "not dead", 21 | "not ie <= 11", 22 | "not op_mini all" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/App.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Experience from './components/Experience' 3 | import Education from './components/Education' 4 | import Info from './components/Info' 5 | import Skill from './components/Skill' 6 | import Repository from './components/Repository' 7 | import data from './data/cv.json'; 8 | import Language from './components/Language'; 9 | 10 | function App() { 11 | 12 | return ( 13 |
14 |
15 |
16 |
17 | 18 |
19 |
20 | 21 | 22 | 23 | 24 | 25 |
26 |
27 |
28 |
29 | 30 |
31 | ); 32 | } 33 | 34 | export default App; 35 | -------------------------------------------------------------------------------- /src/components/PDFExport/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import html2canvas from 'html2canvas'; 3 | import jsPDF from 'jspdf'; 4 | 5 | class PDFExport extends React.Component { 6 | print = async () => { 7 | const input = document.getElementById('root'); 8 | 9 | var pdf = new jsPDF(); 10 | html2canvas(input, { 11 | scale: 2 12 | }).then((canvas) => { 13 | const imgData = canvas.toDataURL('image/png'); 14 | 15 | pdf = new jsPDF('p', 'mm', [900, 390]); 16 | 17 | var width = pdf.internal.pageSize.getWidth(); 18 | var height = pdf.internal.pageSize.getHeight(); 19 | 20 | pdf.addImage(imgData, 'PNG', 0, 0, width, height); 21 | pdf.save(`CV.pdf`); 22 | }); 23 | ; 24 | } 25 | 26 | render() { 27 | return ( 28 | <> 29 | 30 | 31 | ); 32 | } 33 | } 34 | 35 | export default PDFExport; -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Arda Cetinkaya 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/components/Skill/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import './style.css'; 3 | 4 | class Skill extends React.Component { 5 | getItems = (items,isEven=0) => { 6 | return items.map(function (item, index) { 7 | if (index % 2 === isEven) { 8 | return ( 9 |
  • 10 |

    {item.name}

    11 |
    12 |
    13 |
    14 |
  • 15 | ) 16 | } 17 | return ''; 18 | }) 19 | } 20 | 21 | 22 | render() { 23 | return ( 24 | <> 25 |
    26 | {this.props.title || "Skills"} 27 |
    28 |
    29 |
    30 |
    31 |
      32 | {this.getItems(this.props.data.items)} 33 |
    34 |
    35 |
    36 |
    37 |
      38 | {this.getItems(this.props.data.items,1)} 39 |
    40 |
    41 |
    42 | 43 | ); 44 | 45 | } 46 | } 47 | export default Skill; -------------------------------------------------------------------------------- /src/components/Language/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import './style.css'; 3 | 4 | class Language extends React.Component { 5 | getItems = (items) => { 6 | return items.map(function (item, index) { 7 | return ( 8 | 9 | {item.name} 10 | {item.proficiency} 11 | 12 | ); 13 | }) 14 | } 15 | 16 | 17 | render() { 18 | return ( 19 | <> 20 |
    21 | {this.props.data.title || "Language Proficiency"} 22 |
    23 |
    24 |
    25 |
    26 |
    27 |
    28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | {this.getItems(this.props.data.items)} 37 | 38 | 39 |
    LanguageProficiency
    40 | 41 |
    42 |
    43 |
    44 |
    45 | 46 | ); 47 | 48 | } 49 | } 50 | export default Language; -------------------------------------------------------------------------------- /src/components/Info/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import './style.css'; 3 | import PDFExport from '../../components/PDFExport'; 4 | class Info extends React.Component { 5 | componentDidMount() { 6 | document.title = this.props.data.name; 7 | var headID = document.getElementsByTagName('head')[0]; 8 | var link = document.createElement('link'); 9 | link.type = "text/css"; 10 | link.rel = "stylesheet"; 11 | headID.appendChild(link); 12 | link.href = `style/css/color/${this.props.settings.color}.css`; 13 | } 14 | render() { 15 | return ( 16 |
    17 |

    {this.props.data.name}

    18 | 19 | {this.props.data.file ? Download : ""} 20 |
    21 |
      22 | {this.props.data.email ?
    • {this.props.data.email.replace('@', '[at]')}
    • : ""} 23 |
    24 |
    25 |
      26 | {this.props.data.www ?
    • : ""} 27 | {this.props.data.github ?
    • : ""} 28 | {this.props.data.linkedin ?
    • : ""} 29 |
    30 |

    {this.props.data.description}

    31 | 32 |
    33 | ); 34 | } 35 | } 36 | 37 | export default Info; -------------------------------------------------------------------------------- /src/components/Education/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import './style.css'; 3 | 4 | class Education extends React.Component { 5 | getItems = (items) => { 6 | return items.map(function (item,index) { 7 | return( 8 |
    9 |
    10 |
    11 |
    12 |
    13 |
    14 |
    15 |
    16 |
    17 | 18 |
    19 |
    20 |
    21 |

    {(item.schoolURL)?{item.schoolName} :item.schoolName}

    22 |
    23 | {item.start?item.start:"???"} - { item.end ? item.end:"Present"} 24 |
    25 |

    {item.department}

    26 |
    27 |
    28 |
    29 |
    30 | ) 31 | }) 32 | } 33 | 34 | render() { 35 | return ( 36 | <> 37 |
    38 | {this.props.data.name || "Education"} 39 |
    40 |
    41 | {this.getItems(this.props.data.items)} 42 |
    43 | 44 | ); 45 | 46 | } 47 | } 48 | export default Education; -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | 85 | # Gatsby files 86 | .cache/ 87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 88 | # https://nextjs.org/blog/next-9-1#public-directory-support 89 | # public 90 | 91 | # vuepress build output 92 | .vuepress/dist 93 | 94 | # Serverless directories 95 | .serverless/ 96 | 97 | # FuseBox cache 98 | .fusebox/ 99 | 100 | # DynamoDB Local files 101 | .dynamodb/ 102 | 103 | # TernJS port file 104 | .tern-port 105 | 106 | # testing 107 | /coverage 108 | 109 | # production 110 | /build 111 | /dist 112 | -------------------------------------------------------------------------------- /src/components/Experience/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import './style.css'; 3 | 4 | class Experience extends React.Component { 5 | 6 | getItems = (items) => { 7 | return items.map(function (item,index) { 8 | return( 9 |
    10 |
    11 |
    12 |
    13 |
    14 |
    15 |
    16 |
    17 |
    18 | 19 | 20 |
    21 |
    22 |
    23 |

    {(item.companyURL)?{item.companyName} :item.companyName}

    24 |
    25 | {item.start?item.start:"???"} - { item.end ? item.end:"Present"} 26 | {item.role} 27 |
    28 | {item.description.map(function(line,index) { 29 | return (

    {line}

    ); 30 | })} 31 | 32 |
    33 |
      34 | {item.tags.map(function(tag,index){ 35 | return( 36 |
    • #{tag}
    • 37 | ); 38 | })} 39 |
    40 |
    41 |
    42 | 43 |
    44 |
    45 |
    46 | ) 47 | }) 48 | } 49 | 50 | render() { 51 | return ( 52 | <> 53 |
    54 | {this.props.data.title || "Experiences"} 55 |
    56 |
    57 | {this.getItems(this.props.data.items)} 58 |
    59 | 60 | ); 61 | } 62 | } 63 | export default Experience; -------------------------------------------------------------------------------- /src/components/Repository/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import './style.css'; 3 | 4 | class Repository extends React.Component { 5 | constructor(props) { 6 | super(props); 7 | 8 | this.state = { 9 | repositories: [], 10 | }; 11 | 12 | if (this.props.data) { 13 | fetch(`https://api.github.com/users/${this.props.data}/repos`) 14 | .then(resp => resp.json()) 15 | .then((data) => { 16 | this.setState({ 17 | repositories: data 18 | }) 19 | }); 20 | } 21 | } 22 | getGitHubRepositories = (username) => { 23 | 24 | if (username) { 25 | let repositories = this.state.repositories.filter(this.repositoryFilters).sort((a, b) => Date.parse(b.updated_at) - Date.parse(a.updated_at)); 26 | return repositories.slice(0, 5).map(function (item, index) { 27 | return ( 28 |
    29 |
    30 |
    31 |
    32 |
    33 |
    34 |
    35 |
    36 |
    37 | 38 | 39 |
    40 |
    41 |
    42 |

    {(item.html_url) ? {item.name} : item.name}

    43 |
    44 | {item.stargazers_count} 45 | {item.language} 46 |
    47 |

    {item.description}

    48 |
    49 | 50 |
    51 |
    52 |
    53 | ) 54 | }); 55 | } 56 | } 57 | repositoryFilters = (item) => { 58 | return item.fork !== true && item.description !== null && item.stargazers_count > 0; 59 | } 60 | 61 | render() { 62 | if (this.props.data) { 63 | return ( 64 | 65 | <> 66 |
    67 | GitHub 5 Repositories 68 |
    69 |
    70 | {this.getGitHubRepositories(this.props.data)} 71 |
    72 | 75 | 76 | ); 77 | } else { 78 | return ''; 79 | } 80 | } 81 | } 82 | export default Repository; -------------------------------------------------------------------------------- /src/data/cv.json: -------------------------------------------------------------------------------- 1 | { 2 | "settings": { 3 | "color": "red" 4 | }, 5 | "info": { 6 | "name": "John Doe", 7 | "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis tempor quis leo et tincidunt. Maecenas consequat, mauris in tristique laoreet, sapien lectus dignissim sapien, nec sodales urna turpis faucibus dolor. Aliquam vulputate turpis vitae turpis sodales ullamcorper. Etiam non accumsan tortor. Aenean sit amet velit eget nibh lobortis condimentum. Mauris laoreet bibendum sollicitudin. Pellentesque mauris lorem, aliquet nec sem eu, porta semper enim. Praesent iaculis elit id enim ultricies, a vestibulum leo mattis. Curabitur eget porta justo. Vestibulum bibendum ac risus in pulvinar. Vivamus fermentum lacus sed eleifend vehicula. Suspendisse tristique ut ligula quis malesuada. Nam placerat augue id sapien dictum iaculis.", 8 | "email": "someone@mail.com", 9 | "github": "ardacetinkaya", 10 | "www": "https://ardacetinkaya.dev", 11 | "linkedin": "https://www.linkedin.com/in/ardacetinkaya/", 12 | "file": "" 13 | }, 14 | "experiences": { 15 | "title": "Experiences", 16 | "items": [ 17 | { 18 | "companyName": "Some Company", 19 | "companyURL": "https://www.google.com", 20 | "description": [ 21 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", 22 | "Duis laoreet mi ut rutrum pharetra.", 23 | "Donec at dui egestas, tincidunt enim a, tincidunt eros." 24 | ], 25 | "role": "Developer", 26 | "start": "Feb. 2015", 27 | "end": "", 28 | "tags": [ 29 | "MCV", 30 | "ASPNET", 31 | "NETFramework", 32 | "SQLServer", 33 | "EntityFramework", 34 | "WCF", 35 | "AOP", 36 | "DI", 37 | "SOA", 38 | "DDD", 39 | "SignalR", 40 | "Redis", 41 | "ITIL" 42 | ] 43 | }, 44 | { 45 | "companyName": "Some Good Company", 46 | "companyURL": "", 47 | "description": [ 48 | "Donec congue arcu et facilisis tincidunt.", 49 | "Integer hendrerit nisi id neque blandit egestas eget sit amet nisl.", 50 | "Praesent blandit sem nec leo sollicitudin auctor.", 51 | "Donec ultricies orci vitae dolor placerat dictum." 52 | ], 53 | "role": "Developer", 54 | "start": "Feb. 2015", 55 | "end": "Jan. 2010", 56 | "tags": [ 57 | "MCV", 58 | "ASPNET", 59 | "NETFramework", 60 | "SQLServer", 61 | "EntityFramework", 62 | "WCF", 63 | "AOP", 64 | "DI", 65 | "SOA", 66 | "DDD", 67 | "SignalR", 68 | "Redis", 69 | "ITIL" 70 | ] 71 | } 72 | ] 73 | }, 74 | "educations": { 75 | "title": "Education", 76 | "items": [ 77 | { 78 | "schoolName": "University of Codes", 79 | "schoolURL": "https://www.google.com", 80 | "department": "BS, Computer Engineering", 81 | "start": "Sept. 2006", 82 | "end": "Jun. 2010" 83 | } 84 | ] 85 | }, 86 | "skills": { 87 | "title": "Skills", 88 | "items": [ 89 | { 90 | "name": "Software Development Principles", 91 | "score": 80 92 | }, 93 | { 94 | "name": "JavaScript", 95 | "score": 65 96 | }, 97 | { 98 | "name": "C#", 99 | "score": 95 100 | }, 101 | { 102 | "name": ".NET Framework", 103 | "score": 90 104 | }, 105 | { 106 | "name": ".NET Core", 107 | "score": 90 108 | }, 109 | { 110 | "name": "GO", 111 | "score": 30 112 | }, 113 | { 114 | "name": "Java", 115 | "score": 14 116 | } 117 | ] 118 | }, 119 | "languages": { 120 | "title": "Language Proficiency", 121 | "items": [ 122 | { 123 | "name": "Elvish", 124 | "proficiency": "Native proficiency" 125 | }, 126 | { 127 | "name": "Klingon", 128 | "proficiency": "Full business proficiency" 129 | } 130 | ] 131 | } 132 | } -------------------------------------------------------------------------------- /src/serviceWorker.js: -------------------------------------------------------------------------------- 1 | // This optional code is used to register a service worker. 2 | // register() is not called by default. 3 | 4 | // This lets the app load faster on subsequent visits in production, and gives 5 | // it offline capabilities. However, it also means that developers (and users) 6 | // will only see deployed updates on subsequent visits to a page, after all the 7 | // existing tabs open on the page have been closed, since previously cached 8 | // resources are updated in the background. 9 | 10 | // To learn more about the benefits of this model and instructions on how to 11 | // opt-in, read https://bit.ly/CRA-PWA 12 | 13 | const isLocalhost = Boolean( 14 | window.location.hostname === 'localhost' || 15 | // [::1] is the IPv6 localhost address. 16 | window.location.hostname === '[::1]' || 17 | // 127.0.0.1/8 is considered localhost for IPv4. 18 | window.location.hostname.match( 19 | /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ 20 | ) 21 | ); 22 | 23 | export function register(config) { 24 | if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { 25 | // The URL constructor is available in all browsers that support SW. 26 | const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href); 27 | if (publicUrl.origin !== window.location.origin) { 28 | // Our service worker won't work if PUBLIC_URL is on a different origin 29 | // from what our page is served on. This might happen if a CDN is used to 30 | // serve assets; see https://github.com/facebook/create-react-app/issues/2374 31 | return; 32 | } 33 | 34 | window.addEventListener('load', () => { 35 | const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; 36 | 37 | if (isLocalhost) { 38 | // This is running on localhost. Let's check if a service worker still exists or not. 39 | checkValidServiceWorker(swUrl, config); 40 | 41 | // Add some additional logging to localhost, pointing developers to the 42 | // service worker/PWA documentation. 43 | navigator.serviceWorker.ready.then(() => { 44 | console.log( 45 | 'This web app is being served cache-first by a service ' + 46 | 'worker. To learn more, visit http://bit.ly/CRA-PWA' 47 | ); 48 | }); 49 | } else { 50 | // Is not localhost. Just register service worker 51 | registerValidSW(swUrl, config); 52 | } 53 | }); 54 | } 55 | } 56 | 57 | function registerValidSW(swUrl, config) { 58 | navigator.serviceWorker 59 | .register(swUrl) 60 | .then(registration => { 61 | registration.onupdatefound = () => { 62 | const installingWorker = registration.installing; 63 | if (installingWorker == null) { 64 | return; 65 | } 66 | installingWorker.onstatechange = () => { 67 | if (installingWorker.state === 'installed') { 68 | if (navigator.serviceWorker.controller) { 69 | // At this point, the updated precached content has been fetched, 70 | // but the previous service worker will still serve the older 71 | // content until all client tabs are closed. 72 | console.log( 73 | 'New content is available and will be used when all ' + 74 | 'tabs for this page are closed. See http://bit.ly/CRA-PWA.' 75 | ); 76 | 77 | // Execute callback 78 | if (config && config.onUpdate) { 79 | config.onUpdate(registration); 80 | } 81 | } else { 82 | // At this point, everything has been precached. 83 | // It's the perfect time to display a 84 | // "Content is cached for offline use." message. 85 | console.log('Content is cached for offline use.'); 86 | 87 | // Execute callback 88 | if (config && config.onSuccess) { 89 | config.onSuccess(registration); 90 | } 91 | } 92 | } 93 | }; 94 | }; 95 | }) 96 | .catch(error => { 97 | console.error('Error during service worker registration:', error); 98 | }); 99 | } 100 | 101 | function checkValidServiceWorker(swUrl, config) { 102 | // Check if the service worker can be found. If it can't reload the page. 103 | fetch(swUrl) 104 | .then(response => { 105 | // Ensure service worker exists, and that we really are getting a JS file. 106 | const contentType = response.headers.get('content-type'); 107 | if ( 108 | response.status === 404 || 109 | (contentType != null && contentType.indexOf('javascript') === -1) 110 | ) { 111 | // No service worker found. Probably a different app. Reload the page. 112 | navigator.serviceWorker.ready.then(registration => { 113 | registration.unregister().then(() => { 114 | window.location.reload(); 115 | }); 116 | }); 117 | } else { 118 | // Service worker found. Proceed as normal. 119 | registerValidSW(swUrl, config); 120 | } 121 | }) 122 | .catch(() => { 123 | console.log( 124 | 'No internet connection found. App is running in offline mode.' 125 | ); 126 | }); 127 | } 128 | 129 | export function unregister() { 130 | if ('serviceWorker' in navigator) { 131 | navigator.serviceWorker.ready.then(registration => { 132 | registration.unregister(); 133 | }); 134 | } 135 | } 136 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![CV](https://github.com/ardacetinkaya/json-as-cv/blob/master/CV.png) 2 | 3 | # json As CV 4 | 5 | This is a repository to create CV just with a _*.json_ file. Also it is a good start to learn React. 6 | 7 | With a beneficial web application, this could be a solution for **"I want to learn programming but I don’t know where to start"** dilemma and also for your CV. 8 | 9 | ![CV](https://github.com/ardacetinkaya/json-as-cv/blob/master/CV-UI.png) 10 | 11 | 12 |
    13 | Click to see as json 14 | 15 | ## CV.json 16 | 17 | ```json 18 | 19 | { 20 | "settings": { 21 | "color": "red" 22 | }, 23 | "info": { 24 | "name": "John Doe", 25 | "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis tempor quis leo et tincidunt. Maecenas consequat, mauris in tristique laoreet, sapien lectus dignissim sapien, nec sodales urna turpis faucibus dolor. Aliquam vulputate turpis vitae turpis sodales ullamcorper. Etiam non accumsan tortor. Aenean sit amet velit eget nibh lobortis condimentum. Mauris laoreet bibendum sollicitudin. Pellentesque mauris lorem, aliquet nec sem eu, porta semper enim. Praesent iaculis elit id enim ultricies, a vestibulum leo mattis. Curabitur eget porta justo. Vestibulum bibendum ac risus in pulvinar. Vivamus fermentum lacus sed eleifend vehicula. Suspendisse tristique ut ligula quis malesuada. Nam placerat augue id sapien dictum iaculis.", 26 | "email": "someone@mail.com", 27 | "github": "ardacetinkaya", 28 | "www": "https://www.minepla.net", 29 | "linkedin": "https://www.linkedin.com/in/ardacetinkaya/", 30 | "file": "" 31 | }, 32 | "experiences": { 33 | "title": "Experiences", 34 | "items": [ 35 | { 36 | "companyName": "Some Company", 37 | "companyURL": "https://www.google.com", 38 | "description": [ 39 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", 40 | "Duis laoreet mi ut rutrum pharetra.", 41 | "Donec at dui egestas, tincidunt enim a, tincidunt eros." 42 | ], 43 | "role": "Developer", 44 | "start": "Feb. 2015", 45 | "end": "", 46 | "tags": [ 47 | "DDD", 48 | "SignalR", 49 | "Redis", 50 | "ITIL" 51 | ] 52 | }, 53 | { 54 | "companyName": "Some Good Company", 55 | "companyURL": "", 56 | "description": [ 57 | "Donec congue arcu et facilisis tincidunt.", 58 | "Integer hendrerit nisi id neque blandit egestas eget sit amet nisl.", 59 | "Praesent blandit sem nec leo sollicitudin auctor.", 60 | "Donec ultricies orci vitae dolor placerat dictum." 61 | ], 62 | "role": "Developer", 63 | "start": "Feb. 2015", 64 | "end": "Jan. 2010", 65 | "tags": [ 66 | "MCV", 67 | "ASPNET", 68 | "NETFramework" 69 | ] 70 | } 71 | ] 72 | }, 73 | "educations": { 74 | "title": "Education", 75 | "items": [ 76 | { 77 | "schoolName": "University of Codes", 78 | "schoolURL": "https://www.google.com", 79 | "department": "BS, Computer Engineering", 80 | "start": "Sept. 2006", 81 | "end": "Jun. 2010" 82 | } 83 | ] 84 | }, 85 | "skills": { 86 | "title": "Skills", 87 | "items": [ 88 | { 89 | "name": "Software Development Principles", 90 | "score": 80 91 | }, 92 | { 93 | "name": "JavaScript", 94 | "score": 65 95 | }, 96 | { 97 | "name": "C#", 98 | "score": 95 99 | }, 100 | { 101 | "name": ".NET Framework", 102 | "score": 90 103 | }, 104 | { 105 | "name": ".NET Core", 106 | "score": 90 107 | }, 108 | { 109 | "name": "GO", 110 | "score": 30 111 | }, 112 | { 113 | "name": "Java", 114 | "score": 14 115 | } 116 | ] 117 | } 118 | } 119 | ``` 120 |
    121 | 122 | Within _*.json_ file it is also possible to set color style for the CV. 123 | 124 | Current UI template is done by [@elemis](https://github.com/elemis) 125 | 126 | New templates might be done with ease, feel free to implement your creations. For now, just colors of template can be set within _*.json_ file. 127 | 128 | Avaliable colors; red, purple, green, blue, brown, lime, navy, orange, pink, yellow 129 | 130 | 131 | ```json 132 | 133 | { 134 | "settings": { 135 | "color": "purple" 136 | } 137 | .. 138 | .. 139 | } 140 | ``` 141 | 142 | ![CV](https://github.com/ardacetinkaya/json-as-cv/blob/master/CV-UI-Color.png) 143 | 144 | 145 | ### GitHub Integration 146 | 147 | With GitHub API integration results from ```https://api.github.com/users/{username}/repos```, CV can show info about some GitHub repositories. 148 | 149 | 150 | 151 | ## !!!UPDATE!!! 152 | 153 | - Export to PDF is added. 154 | - Language proficiencies is added. 155 | 156 | 157 | 158 | 159 | ## Deploy Your Own CV 160 | 161 | Deploy your own json as CV project, along with Serverless Functions, with Vercel. 162 | 163 | [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/import/project?template=https://github.com/ardacetinkaya/json-as-cv) 164 | 165 | _Live Example: https://json-as-cv.vercel.app/_ 166 | 167 | #### OR 168 | 169 | 170 | Now within [Azure Static Web Apps](https://azure.microsoft.com/en-us/services/app-service/static/) you can also deploy your own json as CV project to Azure 171 | Details: [Quickstart: Building your first static web app](https://docs.microsoft.com/en-us/azure/static-web-apps/getting-started?tabs=vanilla-javascript) 172 | -------------------------------------------------------------------------------- /public/style/css/color/navy.css: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------------------*/ 2 | /* MAIN COLOR 3 | /*-----------------------------------------------------------------------------------*/ 4 | a { 5 | color: #43525b; 6 | } 7 | a:hover, 8 | a:focus { 9 | color: #43525b; 10 | } 11 | .link-effect:hover { 12 | color: #43525b 13 | } 14 | .link-effect:after { 15 | background-color: #43525b; 16 | } 17 | .post-title a:hover { 18 | color: #43525b 19 | } 20 | .section-title.text-center:after { 21 | color: #43525b; 22 | } 23 | .meta, 24 | .meta a, 25 | .more { 26 | color: #43525b; 27 | } 28 | ul.circled li:before { 29 | color: #43525b; 30 | } 31 | .contact-info i { 32 | color: #43525b; 33 | } 34 | .contact-info a:hover { 35 | color: #43525b 36 | } 37 | .btn, 38 | .vanilla-form label.custom-select span { 39 | background: #43525b; 40 | } 41 | .navbar .nav > li.current > a { 42 | box-shadow: 0 2px 0 #43525b 43 | } 44 | .navbar .dropdown-menu { 45 | border-top: 2px solid #43525b !important; 46 | } 47 | .navbar .top-bar a:hover { 48 | color: #43525b; 49 | } 50 | .navbar.fixed .navbar-nav > li > a:focus, 51 | .navbar.fixed .nav > li > a:hover, 52 | .navbar.fixed .nav > li.current > a, 53 | .navbar.solid .nav > li > a:hover { 54 | color: #43525b !important 55 | } 56 | .cbp-filter-container .cbp-filter-item:hover { 57 | color: #43525b 58 | } 59 | .cbp-filter-container .cbp-filter-item.cbp-filter-item-active { 60 | box-shadow: 0 2px 0 #43525b 61 | } 62 | .item-details li strong { 63 | color: #43525b; 64 | } 65 | .timeline .date-title span { 66 | background: #43525b; 67 | } 68 | .timeline-item:not(.full) .post-content:before { 69 | background: #43525b; 70 | } 71 | .sidebox a:hover { 72 | color: #43525b 73 | } 74 | .widget .post-list h5 a:hover { 75 | color: #43525b 76 | } 77 | .widget .post-list .meta em a:hover { 78 | color: #43525b 79 | } 80 | .progress-list li em { 81 | color: #43525b; 82 | } 83 | .progress.plain { 84 | border: 1px solid #43525b; 85 | } 86 | .progress.plain .bar { 87 | background: #43525b; 88 | } 89 | .icon-large { 90 | color: #43525b; 91 | } 92 | .tabs-top .tab a:hover, 93 | .tabs-top .tab.active a { 94 | color: #43525b 95 | } 96 | .tabs-top.bordered .tab { 97 | border: 2px solid #43525b; 98 | } 99 | .tabs-top.bordered .tab a { 100 | color: #43525b; 101 | } 102 | .tabs-top.bordered .tab a:hover, 103 | .tabs-top.bordered .tab.active a { 104 | background: #43525b; 105 | } 106 | .panel-group .panel-active a, 107 | .panel-group .panel-title > a:hover { 108 | color: #43525b 109 | } 110 | .panel-group .panel-heading .panel-title:hover, 111 | .panel-group .panel-active .panel-heading .panel-title { 112 | color: #43525b 113 | } 114 | .bordered .panel-heading .panel-title { 115 | color: #43525b; 116 | border: 2px solid #43525b; 117 | } 118 | .bordered .panel-heading .panel-title:hover { 119 | background: #43525b; 120 | border: 2px solid #43525b; 121 | } 122 | .bordered .panel-title > a { 123 | color: #43525b 124 | } 125 | .bordered .panel-title:hover, 126 | .bordered .panel-active .panel-heading .panel-title, 127 | .bordered .panel-active .panel-heading .panel-title:hover { 128 | border: 2px solid #43525b; 129 | background: #43525b; 130 | } 131 | .price { 132 | color: #43525b; 133 | } 134 | .tooltip-inner { 135 | background-color: #43525b; 136 | } 137 | .tooltip.top .tooltip-arrow, 138 | .tooltip.top-left .tooltip-arrow, 139 | .tooltip.top-right .tooltip-arrow { 140 | border-top-color: #43525b 141 | } 142 | .tooltip.right .tooltip-arrow { 143 | border-right-color: #43525b 144 | } 145 | .tooltip.left .tooltip-arrow { 146 | border-left-color: #43525b 147 | } 148 | .tooltip.bottom .tooltip-arrow, 149 | .tooltip.bottom-left .tooltip-arrow, 150 | .tooltip.bottom-right .tooltip-arrow { 151 | border-bottom-color: #43525b 152 | } 153 | #comments .info h2 a:hover { 154 | color: #43525b 155 | } 156 | .vanilla-form input[type="radio"]:focus + span, 157 | .vanilla-form input[type="checkbox"]:focus + span, 158 | .vanilla-form input[type="radio"]:active + span, 159 | .vanilla-form input[type="checkbox"]:active + span { 160 | border-color: #43525b 161 | } 162 | .vanilla-form input[type="radio"] + span::after { 163 | background-color: #43525b; 164 | border-color: #43525b; 165 | } 166 | .vanilla-form input[type="radio"]:checked + span, 167 | .vanilla-form input[type="checkbox"]:checked + span { 168 | border: 1px solid #43525b 169 | } 170 | .vanilla-form input[type="checkbox"] + span::after { 171 | border: 0 solid #43525b; 172 | } 173 | .share-affix .icon-s-email:hover { 174 | color: #43525b 175 | } 176 | @media (max-width: 991px) { 177 | .navbar .nav > li.current > a, 178 | .navbar .nav > li > a:hover, 179 | .navbar .navbar-nav .open .dropdown-menu > li > a:hover, 180 | .navbar .navbar-nav .open .dropdown-menu > li > a:focus { 181 | color: #43525b !important 182 | } 183 | } 184 | /*-----------------------------------------------------------------------------------*/ 185 | /* HOVER 186 | /*-----------------------------------------------------------------------------------*/ 187 | .btn:hover, 188 | .btn:focus, 189 | .btn:active, 190 | .btn.active, 191 | .pagination ul > li > a:hover, 192 | .pagination ul > li > a:focus, 193 | .pagination ul > .active > a, 194 | .pagination ul > .active > span { 195 | background: #324049; 196 | } 197 | /*-----------------------------------------------------------------------------------*/ 198 | /* RGBA 199 | /*-----------------------------------------------------------------------------------*/ 200 | .spinner, 201 | .tp-loader.spinner0, 202 | .cbp-popup-singlePageInline:before, 203 | #fancybox-loading div { 204 | border-left: 3px solid rgba(67,82,91,.15); 205 | border-right: 3px solid rgba(67,82,91,.15); 206 | border-bottom: 3px solid rgba(67,82,91,.15); 207 | border-top: 3px solid rgba(67,82,91,.8); 208 | } 209 | .color-wrapper { 210 | background: rgba(67,82,91,0.8); 211 | } 212 | .cbp-caption-fadeIn .cbp-caption-activeWrap { 213 | background: rgba(67,82,91,0.9) 214 | } 215 | figure a .text-overlay { 216 | background: rgba(67,82,91,0.9); 217 | } 218 | .icon-overlay a .icn-more { 219 | background: rgba(67,82,91,0.9); 220 | } 221 | /*-----------------------------------------------------------------------------------*/ 222 | /* SELECTION 223 | /*-----------------------------------------------------------------------------------*/ 224 | ::selection { 225 | background: #c2c7c9; /* Safari */ 226 | } 227 | ::-moz-selection { 228 | background: #c2c7c9; /* Firefox */ 229 | } 230 | .animated-text.type .animated-text-wrapper::after { 231 | background-color: #c2c7c9; 232 | } 233 | .animated-text.type .animated-text-wrapper.selected { 234 | background-color: #c2c7c9 235 | } -------------------------------------------------------------------------------- /public/style/css/color/lime.css: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------------------*/ 2 | /* MAIN COLOR 3 | /*-----------------------------------------------------------------------------------*/ 4 | a { 5 | color: #bbd555; 6 | } 7 | a:hover, 8 | a:focus { 9 | color: #bbd555; 10 | } 11 | .link-effect:hover { 12 | color: #bbd555 13 | } 14 | .link-effect:after { 15 | background-color: #bbd555; 16 | } 17 | .post-title a:hover { 18 | color: #bbd555 19 | } 20 | .section-title.text-center:after { 21 | color: #bbd555; 22 | } 23 | .meta, 24 | .meta a, 25 | .more { 26 | color: #bbd555; 27 | } 28 | ul.circled li:before { 29 | color: #bbd555; 30 | } 31 | .contact-info i { 32 | color: #bbd555; 33 | } 34 | .contact-info a:hover { 35 | color: #bbd555 36 | } 37 | .btn, 38 | .vanilla-form label.custom-select span { 39 | background: #bbd555; 40 | } 41 | .navbar .nav > li.current > a { 42 | box-shadow: 0 2px 0 #bbd555 43 | } 44 | .navbar .dropdown-menu { 45 | border-top: 2px solid #bbd555 !important; 46 | } 47 | .navbar .top-bar a:hover { 48 | color: #bbd555; 49 | } 50 | .navbar.fixed .navbar-nav > li > a:focus, 51 | .navbar.fixed .nav > li > a:hover, 52 | .navbar.fixed .nav > li.current > a, 53 | .navbar.solid .nav > li > a:hover { 54 | color: #bbd555 !important 55 | } 56 | .cbp-filter-container .cbp-filter-item:hover { 57 | color: #bbd555 58 | } 59 | .cbp-filter-container .cbp-filter-item.cbp-filter-item-active { 60 | box-shadow: 0 2px 0 #bbd555 61 | } 62 | .item-details li strong { 63 | color: #bbd555; 64 | } 65 | .timeline .date-title span { 66 | background: #bbd555; 67 | } 68 | .timeline-item:not(.full) .post-content:before { 69 | background: #bbd555; 70 | } 71 | .sidebox a:hover { 72 | color: #bbd555 73 | } 74 | .widget .post-list h5 a:hover { 75 | color: #bbd555 76 | } 77 | .widget .post-list .meta em a:hover { 78 | color: #bbd555 79 | } 80 | .progress-list li em { 81 | color: #bbd555; 82 | } 83 | .progress.plain { 84 | border: 1px solid #bbd555; 85 | } 86 | .progress.plain .bar { 87 | background: #bbd555; 88 | } 89 | .icon-large { 90 | color: #bbd555; 91 | } 92 | .tabs-top .tab a:hover, 93 | .tabs-top .tab.active a { 94 | color: #bbd555 95 | } 96 | .tabs-top.bordered .tab { 97 | border: 2px solid #bbd555; 98 | } 99 | .tabs-top.bordered .tab a { 100 | color: #bbd555; 101 | } 102 | .tabs-top.bordered .tab a:hover, 103 | .tabs-top.bordered .tab.active a { 104 | background: #bbd555; 105 | } 106 | .panel-group .panel-active a, 107 | .panel-group .panel-title > a:hover { 108 | color: #bbd555 109 | } 110 | .panel-group .panel-heading .panel-title:hover, 111 | .panel-group .panel-active .panel-heading .panel-title { 112 | color: #bbd555 113 | } 114 | .bordered .panel-heading .panel-title { 115 | color: #bbd555; 116 | border: 2px solid #bbd555; 117 | } 118 | .bordered .panel-heading .panel-title:hover { 119 | background: #bbd555; 120 | border: 2px solid #bbd555; 121 | } 122 | .bordered .panel-title > a { 123 | color: #bbd555 124 | } 125 | .bordered .panel-title:hover, 126 | .bordered .panel-active .panel-heading .panel-title, 127 | .bordered .panel-active .panel-heading .panel-title:hover { 128 | border: 2px solid #bbd555; 129 | background: #bbd555; 130 | } 131 | .price { 132 | color: #bbd555; 133 | } 134 | .tooltip-inner { 135 | background-color: #bbd555; 136 | } 137 | .tooltip.top .tooltip-arrow, 138 | .tooltip.top-left .tooltip-arrow, 139 | .tooltip.top-right .tooltip-arrow { 140 | border-top-color: #bbd555 141 | } 142 | .tooltip.right .tooltip-arrow { 143 | border-right-color: #bbd555 144 | } 145 | .tooltip.left .tooltip-arrow { 146 | border-left-color: #bbd555 147 | } 148 | .tooltip.bottom .tooltip-arrow, 149 | .tooltip.bottom-left .tooltip-arrow, 150 | .tooltip.bottom-right .tooltip-arrow { 151 | border-bottom-color: #bbd555 152 | } 153 | #comments .info h2 a:hover { 154 | color: #bbd555 155 | } 156 | .vanilla-form input[type="radio"]:focus + span, 157 | .vanilla-form input[type="checkbox"]:focus + span, 158 | .vanilla-form input[type="radio"]:active + span, 159 | .vanilla-form input[type="checkbox"]:active + span { 160 | border-color: #bbd555 161 | } 162 | .vanilla-form input[type="radio"] + span::after { 163 | background-color: #bbd555; 164 | border-color: #bbd555; 165 | } 166 | .vanilla-form input[type="radio"]:checked + span, 167 | .vanilla-form input[type="checkbox"]:checked + span { 168 | border: 1px solid #bbd555 169 | } 170 | .vanilla-form input[type="checkbox"] + span::after { 171 | border: 0 solid #bbd555; 172 | } 173 | .share-affix .icon-s-email:hover { 174 | color: #bbd555 175 | } 176 | @media (max-width: 991px) { 177 | .navbar .nav > li.current > a, 178 | .navbar .nav > li > a:hover, 179 | .navbar .navbar-nav .open .dropdown-menu > li > a:hover, 180 | .navbar .navbar-nav .open .dropdown-menu > li > a:focus { 181 | color: #bbd555 !important 182 | } 183 | } 184 | /*-----------------------------------------------------------------------------------*/ 185 | /* HOVER 186 | /*-----------------------------------------------------------------------------------*/ 187 | .btn:hover, 188 | .btn:focus, 189 | .btn:active, 190 | .btn.active, 191 | .pagination ul > li > a:hover, 192 | .pagination ul > li > a:focus, 193 | .pagination ul > .active > a, 194 | .pagination ul > .active > span { 195 | background: #adc64b; 196 | } 197 | /*-----------------------------------------------------------------------------------*/ 198 | /* RGBA 199 | /*-----------------------------------------------------------------------------------*/ 200 | .spinner, 201 | .tp-loader.spinner0, 202 | .cbp-popup-singlePageInline:before, 203 | #fancybox-loading div { 204 | border-left: 3px solid rgba(187,213,85,.15); 205 | border-right: 3px solid rgba(187,213,85,.15); 206 | border-bottom: 3px solid rgba(187,213,85,.15); 207 | border-top: 3px solid rgba(187,213,85,.8); 208 | } 209 | .color-wrapper { 210 | background: rgba(187,213,85,0.8); 211 | } 212 | .cbp-caption-fadeIn .cbp-caption-activeWrap { 213 | background: rgba(187,213,85,0.9) 214 | } 215 | figure a .text-overlay { 216 | background: rgba(187,213,85,0.9); 217 | } 218 | .icon-overlay a .icn-more { 219 | background: rgba(187,213,85,0.9); 220 | } 221 | /*-----------------------------------------------------------------------------------*/ 222 | /* SELECTION 223 | /*-----------------------------------------------------------------------------------*/ 224 | ::selection { 225 | background: #bbd555; /* Safari */ 226 | } 227 | ::-moz-selection { 228 | background: #bbd555; /* Firefox */ 229 | } 230 | .animated-text.type .animated-text-wrapper::after { 231 | background-color: #bbd555; 232 | } 233 | .animated-text.type .animated-text-wrapper.selected { 234 | background-color: #bbd555 235 | } -------------------------------------------------------------------------------- /public/style/css/color/brown.css: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------------------*/ 2 | /* MAIN COLOR 3 | /*-----------------------------------------------------------------------------------*/ 4 | a { 5 | color: #99724f; 6 | } 7 | a:hover, 8 | a:focus { 9 | color: #99724f; 10 | } 11 | .link-effect:hover { 12 | color: #99724f 13 | } 14 | .link-effect:after { 15 | background-color: #99724f; 16 | } 17 | .post-title a:hover { 18 | color: #99724f 19 | } 20 | .section-title.text-center:after { 21 | color: #99724f; 22 | } 23 | .meta, 24 | .meta a, 25 | .more { 26 | color: #99724f; 27 | } 28 | ul.circled li:before { 29 | color: #99724f; 30 | } 31 | .contact-info i { 32 | color: #99724f; 33 | } 34 | .contact-info a:hover { 35 | color: #99724f 36 | } 37 | .btn, 38 | .vanilla-form label.custom-select span { 39 | background: #99724f; 40 | } 41 | .navbar .nav > li.current > a { 42 | box-shadow: 0 2px 0 #99724f 43 | } 44 | .navbar .dropdown-menu { 45 | border-top: 2px solid #99724f !important; 46 | } 47 | .navbar .top-bar a:hover { 48 | color: #99724f; 49 | } 50 | .navbar.fixed .navbar-nav > li > a:focus, 51 | .navbar.fixed .nav > li > a:hover, 52 | .navbar.fixed .nav > li.current > a, 53 | .navbar.solid .nav > li > a:hover { 54 | color: #99724f !important 55 | } 56 | .cbp-filter-container .cbp-filter-item:hover { 57 | color: #99724f 58 | } 59 | .cbp-filter-container .cbp-filter-item.cbp-filter-item-active { 60 | box-shadow: 0 2px 0 #99724f 61 | } 62 | .item-details li strong { 63 | color: #99724f; 64 | } 65 | .timeline .date-title span { 66 | background: #99724f; 67 | } 68 | .timeline-item:not(.full) .post-content:before { 69 | background: #99724f; 70 | } 71 | .sidebox a:hover { 72 | color: #99724f 73 | } 74 | .widget .post-list h5 a:hover { 75 | color: #99724f 76 | } 77 | .widget .post-list .meta em a:hover { 78 | color: #99724f 79 | } 80 | .progress-list li em { 81 | color: #99724f; 82 | } 83 | .progress.plain { 84 | border: 1px solid #99724f; 85 | } 86 | .progress.plain .bar { 87 | background: #99724f; 88 | } 89 | .icon-large { 90 | color: #99724f; 91 | } 92 | .tabs-top .tab a:hover, 93 | .tabs-top .tab.active a { 94 | color: #99724f 95 | } 96 | .tabs-top.bordered .tab { 97 | border: 2px solid #99724f; 98 | } 99 | .tabs-top.bordered .tab a { 100 | color: #99724f; 101 | } 102 | .tabs-top.bordered .tab a:hover, 103 | .tabs-top.bordered .tab.active a { 104 | background: #99724f; 105 | } 106 | .panel-group .panel-active a, 107 | .panel-group .panel-title > a:hover { 108 | color: #99724f 109 | } 110 | .panel-group .panel-heading .panel-title:hover, 111 | .panel-group .panel-active .panel-heading .panel-title { 112 | color: #99724f 113 | } 114 | .bordered .panel-heading .panel-title { 115 | color: #99724f; 116 | border: 2px solid #99724f; 117 | } 118 | .bordered .panel-heading .panel-title:hover { 119 | background: #99724f; 120 | border: 2px solid #99724f; 121 | } 122 | .bordered .panel-title > a { 123 | color: #99724f 124 | } 125 | .bordered .panel-title:hover, 126 | .bordered .panel-active .panel-heading .panel-title, 127 | .bordered .panel-active .panel-heading .panel-title:hover { 128 | border: 2px solid #99724f; 129 | background: #99724f; 130 | } 131 | .price { 132 | color: #99724f; 133 | } 134 | .tooltip-inner { 135 | background-color: #99724f; 136 | } 137 | .tooltip.top .tooltip-arrow, 138 | .tooltip.top-left .tooltip-arrow, 139 | .tooltip.top-right .tooltip-arrow { 140 | border-top-color: #99724f 141 | } 142 | .tooltip.right .tooltip-arrow { 143 | border-right-color: #99724f 144 | } 145 | .tooltip.left .tooltip-arrow { 146 | border-left-color: #99724f 147 | } 148 | .tooltip.bottom .tooltip-arrow, 149 | .tooltip.bottom-left .tooltip-arrow, 150 | .tooltip.bottom-right .tooltip-arrow { 151 | border-bottom-color: #99724f 152 | } 153 | #comments .info h2 a:hover { 154 | color: #99724f 155 | } 156 | .vanilla-form input[type="radio"]:focus + span, 157 | .vanilla-form input[type="checkbox"]:focus + span, 158 | .vanilla-form input[type="radio"]:active + span, 159 | .vanilla-form input[type="checkbox"]:active + span { 160 | border-color: #99724f 161 | } 162 | .vanilla-form input[type="radio"] + span::after { 163 | background-color: #99724f; 164 | border-color: #99724f; 165 | } 166 | .vanilla-form input[type="radio"]:checked + span, 167 | .vanilla-form input[type="checkbox"]:checked + span { 168 | border: 1px solid #99724f 169 | } 170 | .vanilla-form input[type="checkbox"] + span::after { 171 | border: 0 solid #99724f; 172 | } 173 | .share-affix .icon-s-email:hover { 174 | color: #99724f 175 | } 176 | @media (max-width: 991px) { 177 | .navbar .nav > li.current > a, 178 | .navbar .nav > li > a:hover, 179 | .navbar .navbar-nav .open .dropdown-menu > li > a:hover, 180 | .navbar .navbar-nav .open .dropdown-menu > li > a:focus { 181 | color: #99724f !important 182 | } 183 | } 184 | /*-----------------------------------------------------------------------------------*/ 185 | /* HOVER 186 | /*-----------------------------------------------------------------------------------*/ 187 | .btn:hover, 188 | .btn:focus, 189 | .btn:active, 190 | .btn.active, 191 | .pagination ul > li > a:hover, 192 | .pagination ul > li > a:focus, 193 | .pagination ul > .active > a, 194 | .pagination ul > .active > span { 195 | background: #8a6749; 196 | } 197 | /*-----------------------------------------------------------------------------------*/ 198 | /* RGBA 199 | /*-----------------------------------------------------------------------------------*/ 200 | .spinner, 201 | .tp-loader.spinner0, 202 | .cbp-popup-singlePageInline:before, 203 | #fancybox-loading div { 204 | border-left: 3px solid rgba(153,114,79,.15); 205 | border-right: 3px solid rgba(153,114,79,.15); 206 | border-bottom: 3px solid rgba(153,114,79,.15); 207 | border-top: 3px solid rgba(153,114,79,.8); 208 | } 209 | .color-wrapper { 210 | background: rgba(153,114,79,0.8); 211 | } 212 | .cbp-caption-fadeIn .cbp-caption-activeWrap { 213 | background: rgba(153,114,79,0.9) 214 | } 215 | figure a .text-overlay { 216 | background: rgba(153,114,79,0.9); 217 | } 218 | .icon-overlay a .icn-more { 219 | background: rgba(153,114,79,0.9); 220 | } 221 | /*-----------------------------------------------------------------------------------*/ 222 | /* SELECTION 223 | /*-----------------------------------------------------------------------------------*/ 224 | ::selection { 225 | background: #dcd0c6; /* Safari */ 226 | } 227 | ::-moz-selection { 228 | background: #dcd0c6; /* Firefox */ 229 | } 230 | .animated-text.type .animated-text-wrapper::after { 231 | background-color: #dcd0c6; 232 | } 233 | .animated-text.type .animated-text-wrapper.selected { 234 | background-color: #dcd0c6 235 | } -------------------------------------------------------------------------------- /public/style/css/color/green.css: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------------------*/ 2 | /* MAIN COLOR 3 | /*-----------------------------------------------------------------------------------*/ 4 | a { 5 | color: #45be84; 6 | } 7 | a:hover, 8 | a:focus { 9 | color: #45be84; 10 | } 11 | .link-effect:hover { 12 | color: #45be84 13 | } 14 | .link-effect:after { 15 | background-color: #45be84; 16 | } 17 | .post-title a:hover { 18 | color: #45be84 19 | } 20 | .section-title.text-center:after { 21 | color: #45be84; 22 | } 23 | .meta, 24 | .meta a, 25 | .more { 26 | color: #45be84; 27 | } 28 | ul.circled li:before { 29 | color: #45be84; 30 | } 31 | .contact-info i { 32 | color: #45be84; 33 | } 34 | .contact-info a:hover { 35 | color: #45be84 36 | } 37 | .btn, 38 | .vanilla-form label.custom-select span { 39 | background: #45be84; 40 | } 41 | .navbar .nav > li.current > a { 42 | box-shadow: 0 2px 0 #45be84 43 | } 44 | .navbar .dropdown-menu { 45 | border-top: 2px solid #45be84 !important; 46 | } 47 | .navbar .top-bar a:hover { 48 | color: #45be84; 49 | } 50 | .navbar.fixed .navbar-nav > li > a:focus, 51 | .navbar.fixed .nav > li > a:hover, 52 | .navbar.fixed .nav > li.current > a, 53 | .navbar.solid .nav > li > a:hover { 54 | color: #45be84 !important 55 | } 56 | .cbp-filter-container .cbp-filter-item:hover { 57 | color: #45be84 58 | } 59 | .cbp-filter-container .cbp-filter-item.cbp-filter-item-active { 60 | box-shadow: 0 2px 0 #45be84 61 | } 62 | .item-details li strong { 63 | color: #45be84; 64 | } 65 | .timeline .date-title span { 66 | background: #45be84; 67 | } 68 | .timeline-item:not(.full) .post-content:before { 69 | background: #45be84; 70 | } 71 | .sidebox a:hover { 72 | color: #45be84 73 | } 74 | .widget .post-list h5 a:hover { 75 | color: #45be84 76 | } 77 | .widget .post-list .meta em a:hover { 78 | color: #45be84 79 | } 80 | .progress-list li em { 81 | color: #45be84; 82 | } 83 | .progress.plain { 84 | border: 1px solid #45be84; 85 | } 86 | .progress.plain .bar { 87 | background: #45be84; 88 | } 89 | .icon-large { 90 | color: #45be84; 91 | } 92 | .tabs-top .tab a:hover, 93 | .tabs-top .tab.active a { 94 | color: #45be84 95 | } 96 | .tabs-top.bordered .tab { 97 | border: 2px solid #45be84; 98 | } 99 | .tabs-top.bordered .tab a { 100 | color: #45be84; 101 | } 102 | .tabs-top.bordered .tab a:hover, 103 | .tabs-top.bordered .tab.active a { 104 | background: #45be84; 105 | } 106 | .panel-group .panel-active a, 107 | .panel-group .panel-title > a:hover { 108 | color: #45be84 109 | } 110 | .panel-group .panel-heading .panel-title:hover, 111 | .panel-group .panel-active .panel-heading .panel-title { 112 | color: #45be84 113 | } 114 | .bordered .panel-heading .panel-title { 115 | color: #45be84; 116 | border: 2px solid #45be84; 117 | } 118 | .bordered .panel-heading .panel-title:hover { 119 | background: #45be84; 120 | border: 2px solid #45be84; 121 | } 122 | .bordered .panel-title > a { 123 | color: #45be84 124 | } 125 | .bordered .panel-title:hover, 126 | .bordered .panel-active .panel-heading .panel-title, 127 | .bordered .panel-active .panel-heading .panel-title:hover { 128 | border: 2px solid #45be84; 129 | background: #45be84; 130 | } 131 | .price { 132 | color: #45be84; 133 | } 134 | .tooltip-inner { 135 | background-color: #45be84; 136 | } 137 | .tooltip.top .tooltip-arrow, 138 | .tooltip.top-left .tooltip-arrow, 139 | .tooltip.top-right .tooltip-arrow { 140 | border-top-color: #45be84 141 | } 142 | .tooltip.right .tooltip-arrow { 143 | border-right-color: #45be84 144 | } 145 | .tooltip.left .tooltip-arrow { 146 | border-left-color: #45be84 147 | } 148 | .tooltip.bottom .tooltip-arrow, 149 | .tooltip.bottom-left .tooltip-arrow, 150 | .tooltip.bottom-right .tooltip-arrow { 151 | border-bottom-color: #45be84 152 | } 153 | #comments .info h2 a:hover { 154 | color: #45be84 155 | } 156 | .vanilla-form input[type="radio"]:focus + span, 157 | .vanilla-form input[type="checkbox"]:focus + span, 158 | .vanilla-form input[type="radio"]:active + span, 159 | .vanilla-form input[type="checkbox"]:active + span { 160 | border-color: #45be84 161 | } 162 | .vanilla-form input[type="radio"] + span::after { 163 | background-color: #45be84; 164 | border-color: #45be84; 165 | } 166 | .vanilla-form input[type="radio"]:checked + span, 167 | .vanilla-form input[type="checkbox"]:checked + span { 168 | border: 1px solid #45be84 169 | } 170 | .vanilla-form input[type="checkbox"] + span::after { 171 | border: 0 solid #45be84; 172 | } 173 | .share-affix .icon-s-email:hover { 174 | color: #45be84 175 | } 176 | @media (max-width: 991px) { 177 | .navbar .nav > li.current > a, 178 | .navbar .nav > li > a:hover, 179 | .navbar .navbar-nav .open .dropdown-menu > li > a:hover, 180 | .navbar .navbar-nav .open .dropdown-menu > li > a:focus { 181 | color: #45be84 !important 182 | } 183 | } 184 | /*-----------------------------------------------------------------------------------*/ 185 | /* HOVER 186 | /*-----------------------------------------------------------------------------------*/ 187 | .btn:hover, 188 | .btn:focus, 189 | .btn:active, 190 | .btn.active, 191 | .pagination ul > li > a:hover, 192 | .pagination ul > li > a:focus, 193 | .pagination ul > .active > a, 194 | .pagination ul > .active > span { 195 | background: #3ca975; 196 | } 197 | /*-----------------------------------------------------------------------------------*/ 198 | /* RGBA 199 | /*-----------------------------------------------------------------------------------*/ 200 | .spinner, 201 | .tp-loader.spinner0, 202 | .cbp-popup-singlePageInline:before, 203 | #fancybox-loading div { 204 | border-left: 3px solid rgba(69,190,132,.15); 205 | border-right: 3px solid rgba(69,190,132,.15); 206 | border-bottom: 3px solid rgba(69,190,132,.15); 207 | border-top: 3px solid rgba(69,190,132,.8); 208 | } 209 | .color-wrapper { 210 | background: rgba(69,190,132,0.8); 211 | } 212 | .cbp-caption-fadeIn .cbp-caption-activeWrap { 213 | background: rgba(69,190,132,0.9) 214 | } 215 | figure a .text-overlay { 216 | background: rgba(69,190,132,0.9); 217 | } 218 | .icon-overlay a .icn-more { 219 | background: rgba(69,190,132,0.9); 220 | } 221 | /*-----------------------------------------------------------------------------------*/ 222 | /* SELECTION 223 | /*-----------------------------------------------------------------------------------*/ 224 | ::selection { 225 | background: #c2e6d5; /* Safari */ 226 | } 227 | ::-moz-selection { 228 | background: #c2e6d5; /* Firefox */ 229 | } 230 | .animated-text.type .animated-text-wrapper::after { 231 | background-color: #c2e6d5; 232 | } 233 | .animated-text.type .animated-text-wrapper.selected { 234 | background-color: #c2e6d5 235 | } -------------------------------------------------------------------------------- /public/style/css/color/orange.css: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------------------*/ 2 | /* MAIN COLOR 3 | /*-----------------------------------------------------------------------------------*/ 4 | a { 5 | color: #e18254; 6 | } 7 | a:hover, 8 | a:focus { 9 | color: #e18254; 10 | } 11 | .link-effect:hover { 12 | color: #e18254 13 | } 14 | .link-effect:after { 15 | background-color: #e18254; 16 | } 17 | .post-title a:hover { 18 | color: #e18254 19 | } 20 | .section-title.text-center:after { 21 | color: #e18254; 22 | } 23 | .meta, 24 | .meta a, 25 | .more { 26 | color: #e18254; 27 | } 28 | ul.circled li:before { 29 | color: #e18254; 30 | } 31 | .contact-info i { 32 | color: #e18254; 33 | } 34 | .contact-info a:hover { 35 | color: #e18254 36 | } 37 | .btn, 38 | .vanilla-form label.custom-select span { 39 | background: #e18254; 40 | } 41 | .navbar .nav > li.current > a { 42 | box-shadow: 0 2px 0 #e18254 43 | } 44 | .navbar .dropdown-menu { 45 | border-top: 2px solid #e18254 !important; 46 | } 47 | .navbar .top-bar a:hover { 48 | color: #e18254; 49 | } 50 | .navbar.fixed .navbar-nav > li > a:focus, 51 | .navbar.fixed .nav > li > a:hover, 52 | .navbar.fixed .nav > li.current > a, 53 | .navbar.solid .nav > li > a:hover { 54 | color: #e18254 !important 55 | } 56 | .cbp-filter-container .cbp-filter-item:hover { 57 | color: #e18254 58 | } 59 | .cbp-filter-container .cbp-filter-item.cbp-filter-item-active { 60 | box-shadow: 0 2px 0 #e18254 61 | } 62 | .item-details li strong { 63 | color: #e18254; 64 | } 65 | .timeline .date-title span { 66 | background: #e18254; 67 | } 68 | .timeline-item:not(.full) .post-content:before { 69 | background: #e18254; 70 | } 71 | .sidebox a:hover { 72 | color: #e18254 73 | } 74 | .widget .post-list h5 a:hover { 75 | color: #e18254 76 | } 77 | .widget .post-list .meta em a:hover { 78 | color: #e18254 79 | } 80 | .progress-list li em { 81 | color: #e18254; 82 | } 83 | .progress.plain { 84 | border: 1px solid #e18254; 85 | } 86 | .progress.plain .bar { 87 | background: #e18254; 88 | } 89 | .icon-large { 90 | color: #e18254; 91 | } 92 | .tabs-top .tab a:hover, 93 | .tabs-top .tab.active a { 94 | color: #e18254 95 | } 96 | .tabs-top.bordered .tab { 97 | border: 2px solid #e18254; 98 | } 99 | .tabs-top.bordered .tab a { 100 | color: #e18254; 101 | } 102 | .tabs-top.bordered .tab a:hover, 103 | .tabs-top.bordered .tab.active a { 104 | background: #e18254; 105 | } 106 | .panel-group .panel-active a, 107 | .panel-group .panel-title > a:hover { 108 | color: #e18254 109 | } 110 | .panel-group .panel-heading .panel-title:hover, 111 | .panel-group .panel-active .panel-heading .panel-title { 112 | color: #e18254 113 | } 114 | .bordered .panel-heading .panel-title { 115 | color: #e18254; 116 | border: 2px solid #e18254; 117 | } 118 | .bordered .panel-heading .panel-title:hover { 119 | background: #e18254; 120 | border: 2px solid #e18254; 121 | } 122 | .bordered .panel-title > a { 123 | color: #e18254 124 | } 125 | .bordered .panel-title:hover, 126 | .bordered .panel-active .panel-heading .panel-title, 127 | .bordered .panel-active .panel-heading .panel-title:hover { 128 | border: 2px solid #e18254; 129 | background: #e18254; 130 | } 131 | .price { 132 | color: #e18254; 133 | } 134 | .tooltip-inner { 135 | background-color: #e18254; 136 | } 137 | .tooltip.top .tooltip-arrow, 138 | .tooltip.top-left .tooltip-arrow, 139 | .tooltip.top-right .tooltip-arrow { 140 | border-top-color: #e18254 141 | } 142 | .tooltip.right .tooltip-arrow { 143 | border-right-color: #e18254 144 | } 145 | .tooltip.left .tooltip-arrow { 146 | border-left-color: #e18254 147 | } 148 | .tooltip.bottom .tooltip-arrow, 149 | .tooltip.bottom-left .tooltip-arrow, 150 | .tooltip.bottom-right .tooltip-arrow { 151 | border-bottom-color: #e18254 152 | } 153 | #comments .info h2 a:hover { 154 | color: #e18254 155 | } 156 | .vanilla-form input[type="radio"]:focus + span, 157 | .vanilla-form input[type="checkbox"]:focus + span, 158 | .vanilla-form input[type="radio"]:active + span, 159 | .vanilla-form input[type="checkbox"]:active + span { 160 | border-color: #e18254 161 | } 162 | .vanilla-form input[type="radio"] + span::after { 163 | background-color: #e18254; 164 | border-color: #e18254; 165 | } 166 | .vanilla-form input[type="radio"]:checked + span, 167 | .vanilla-form input[type="checkbox"]:checked + span { 168 | border: 1px solid #e18254 169 | } 170 | .vanilla-form input[type="checkbox"] + span::after { 171 | border: 0 solid #e18254; 172 | } 173 | .share-affix .icon-s-email:hover { 174 | color: #e18254 175 | } 176 | @media (max-width: 991px) { 177 | .navbar .nav > li.current > a, 178 | .navbar .nav > li > a:hover, 179 | .navbar .navbar-nav .open .dropdown-menu > li > a:hover, 180 | .navbar .navbar-nav .open .dropdown-menu > li > a:focus { 181 | color: #e18254 !important 182 | } 183 | } 184 | /*-----------------------------------------------------------------------------------*/ 185 | /* HOVER 186 | /*-----------------------------------------------------------------------------------*/ 187 | .btn:hover, 188 | .btn:focus, 189 | .btn:active, 190 | .btn.active, 191 | .pagination ul > li > a:hover, 192 | .pagination ul > li > a:focus, 193 | .pagination ul > .active > a, 194 | .pagination ul > .active > span { 195 | background: #d86e3a; 196 | } 197 | /*-----------------------------------------------------------------------------------*/ 198 | /* RGBA 199 | /*-----------------------------------------------------------------------------------*/ 200 | .spinner, 201 | .tp-loader.spinner0, 202 | .cbp-popup-singlePageInline:before, 203 | #fancybox-loading div { 204 | border-left: 3px solid rgba(225,130,84,.15); 205 | border-right: 3px solid rgba(225,130,84,.15); 206 | border-bottom: 3px solid rgba(225,130,84,.15); 207 | border-top: 3px solid rgba(225,130,84,.8); 208 | } 209 | .color-wrapper { 210 | background: rgba(225,130,84,0.8); 211 | } 212 | .cbp-caption-fadeIn .cbp-caption-activeWrap { 213 | background: rgba(225,130,84,0.9) 214 | } 215 | figure a .text-overlay { 216 | background: rgba(225,130,84,0.9); 217 | } 218 | .icon-overlay a .icn-more { 219 | background: rgba(225,130,84,0.9); 220 | } 221 | /*-----------------------------------------------------------------------------------*/ 222 | /* SELECTION 223 | /*-----------------------------------------------------------------------------------*/ 224 | ::selection { 225 | background: #f2d5c7; /* Safari */ 226 | } 227 | ::-moz-selection { 228 | background: #f2d5c7; /* Firefox */ 229 | } 230 | .animated-text.type .animated-text-wrapper::after { 231 | background-color: #f2d5c7; 232 | } 233 | .animated-text.type .animated-text-wrapper.selected { 234 | background-color: #f2d5c7 235 | } -------------------------------------------------------------------------------- /public/style/css/color/blue.css: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------------------*/ 2 | /* MAIN COLOR 3 | /*-----------------------------------------------------------------------------------*/ 4 | a { 5 | color: #6abade; 6 | } 7 | a:hover, 8 | a:focus { 9 | color: #6abade; 10 | } 11 | .link-effect:hover { 12 | color: #6abade 13 | } 14 | .link-effect:after { 15 | background-color: #6abade; 16 | } 17 | .post-title a:hover { 18 | color: #6abade 19 | } 20 | .section-title.text-center:after { 21 | color: #6abade; 22 | } 23 | .meta, 24 | .meta a, 25 | .more { 26 | color: #6abade; 27 | } 28 | ul.circled li:before { 29 | color: #6abade; 30 | } 31 | .contact-info i { 32 | color: #6abade; 33 | } 34 | .contact-info a:hover { 35 | color: #6abade 36 | } 37 | .btn, 38 | .vanilla-form label.custom-select span { 39 | background: #6abade; 40 | } 41 | .navbar .nav > li.current > a { 42 | box-shadow: 0 2px 0 #6abade 43 | } 44 | .navbar .dropdown-menu { 45 | border-top: 2px solid #6abade !important; 46 | } 47 | .navbar .top-bar a:hover { 48 | color: #6abade; 49 | } 50 | .navbar.fixed .navbar-nav > li > a:focus, 51 | .navbar.fixed .nav > li > a:hover, 52 | .navbar.fixed .nav > li.current > a, 53 | .navbar.solid .nav > li > a:hover { 54 | color: #6abade !important 55 | } 56 | .cbp-filter-container .cbp-filter-item:hover { 57 | color: #6abade 58 | } 59 | .cbp-filter-container .cbp-filter-item.cbp-filter-item-active { 60 | box-shadow: 0 2px 0 #6abade 61 | } 62 | .item-details li strong { 63 | color: #6abade; 64 | } 65 | .timeline .date-title span { 66 | background: #6abade; 67 | } 68 | .timeline-item:not(.full) .post-content:before { 69 | background: #6abade; 70 | } 71 | .sidebox a:hover { 72 | color: #6abade 73 | } 74 | .widget .post-list h5 a:hover { 75 | color: #6abade 76 | } 77 | .widget .post-list .meta em a:hover { 78 | color: #6abade 79 | } 80 | .progress-list li em { 81 | color: #6abade; 82 | } 83 | .progress.plain { 84 | border: 1px solid #6abade; 85 | } 86 | .progress.plain .bar { 87 | background: #6abade; 88 | } 89 | .icon-large { 90 | color: #6abade; 91 | } 92 | .tabs-top .tab a:hover, 93 | .tabs-top .tab.active a { 94 | color: #6abade 95 | } 96 | .tabs-top.bordered .tab { 97 | border: 2px solid #6abade; 98 | } 99 | .tabs-top.bordered .tab a { 100 | color: #6abade; 101 | } 102 | .tabs-top.bordered .tab a:hover, 103 | .tabs-top.bordered .tab.active a { 104 | background: #6abade; 105 | } 106 | .panel-group .panel-active a, 107 | .panel-group .panel-title > a:hover { 108 | color: #6abade 109 | } 110 | .panel-group .panel-heading .panel-title:hover, 111 | .panel-group .panel-active .panel-heading .panel-title { 112 | color: #6abade 113 | } 114 | .bordered .panel-heading .panel-title { 115 | color: #6abade; 116 | border: 2px solid #6abade; 117 | } 118 | .bordered .panel-heading .panel-title:hover { 119 | background: #6abade; 120 | border: 2px solid #6abade; 121 | } 122 | .bordered .panel-title > a { 123 | color: #6abade 124 | } 125 | .bordered .panel-title:hover, 126 | .bordered .panel-active .panel-heading .panel-title, 127 | .bordered .panel-active .panel-heading .panel-title:hover { 128 | border: 2px solid #6abade; 129 | background: #6abade; 130 | } 131 | .price { 132 | color: #6abade; 133 | } 134 | .tooltip-inner { 135 | background-color: #6abade; 136 | } 137 | .tooltip.top .tooltip-arrow, 138 | .tooltip.top-left .tooltip-arrow, 139 | .tooltip.top-right .tooltip-arrow { 140 | border-top-color: #6abade 141 | } 142 | .tooltip.right .tooltip-arrow { 143 | border-right-color: #6abade 144 | } 145 | .tooltip.left .tooltip-arrow { 146 | border-left-color: #6abade 147 | } 148 | .tooltip.bottom .tooltip-arrow, 149 | .tooltip.bottom-left .tooltip-arrow, 150 | .tooltip.bottom-right .tooltip-arrow { 151 | border-bottom-color: #6abade 152 | } 153 | #comments .info h2 a:hover { 154 | color: #6abade 155 | } 156 | .vanilla-form input[type="radio"]:focus + span, 157 | .vanilla-form input[type="checkbox"]:focus + span, 158 | .vanilla-form input[type="radio"]:active + span, 159 | .vanilla-form input[type="checkbox"]:active + span { 160 | border-color: #6abade 161 | } 162 | .vanilla-form input[type="radio"] + span::after { 163 | background-color: #6abade; 164 | border-color: #6abade; 165 | } 166 | .vanilla-form input[type="radio"]:checked + span, 167 | .vanilla-form input[type="checkbox"]:checked + span { 168 | border: 1px solid #6abade 169 | } 170 | .vanilla-form input[type="checkbox"] + span::after { 171 | border: 0 solid #6abade; 172 | } 173 | .share-affix .icon-s-email:hover { 174 | color: #6abade 175 | } 176 | @media (max-width: 991px) { 177 | .navbar .nav > li.current > a, 178 | .navbar .nav > li > a:hover, 179 | .navbar .navbar-nav .open .dropdown-menu > li > a:hover, 180 | .navbar .navbar-nav .open .dropdown-menu > li > a:focus { 181 | color: #6abade !important 182 | } 183 | } 184 | /*-----------------------------------------------------------------------------------*/ 185 | /* HOVER 186 | /*-----------------------------------------------------------------------------------*/ 187 | .btn:hover, 188 | .btn:focus, 189 | .btn:active, 190 | .btn.active, 191 | .pagination ul > li > a:hover, 192 | .pagination ul > li > a:focus, 193 | .pagination ul > .active > a, 194 | .pagination ul > .active > span { 195 | background: #549fc1; 196 | } 197 | /*-----------------------------------------------------------------------------------*/ 198 | /* RGBA 199 | /*-----------------------------------------------------------------------------------*/ 200 | .spinner, 201 | .tp-loader.spinner0, 202 | .cbp-popup-singlePageInline:before, 203 | #fancybox-loading div { 204 | border-left: 3px solid rgba(106,186,222,.15); 205 | border-right: 3px solid rgba(106,186,222,.15); 206 | border-bottom: 3px solid rgba(106,186,222,.15); 207 | border-top: 3px solid rgba(106,186,222,.8); 208 | } 209 | .color-wrapper { 210 | background: rgba(106,186,222,0.8); 211 | } 212 | .cbp-caption-fadeIn .cbp-caption-activeWrap { 213 | background: rgba(106,186,222,0.9) 214 | } 215 | figure a .text-overlay { 216 | background: rgba(106,186,222,0.9); 217 | } 218 | .icon-overlay a .icn-more { 219 | background: rgba(106,186,222,0.9); 220 | } 221 | /*-----------------------------------------------------------------------------------*/ 222 | /* SELECTION 223 | /*-----------------------------------------------------------------------------------*/ 224 | ::selection { 225 | background: #cee6f1; /* Safari */ 226 | } 227 | ::-moz-selection { 228 | background: #cee6f1; /* Firefox */ 229 | } 230 | .animated-text.type .animated-text-wrapper::after { 231 | background-color: #cee6f1; 232 | } 233 | .animated-text.type .animated-text-wrapper.selected { 234 | background-color: #cee6f1 235 | } -------------------------------------------------------------------------------- /public/style/css/color/pink.css: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------------------*/ 2 | /* MAIN COLOR 3 | /*-----------------------------------------------------------------------------------*/ 4 | a { 5 | color: #df739b; 6 | } 7 | a:hover, 8 | a:focus { 9 | color: #df739b; 10 | } 11 | .link-effect:hover { 12 | color: #df739b 13 | } 14 | .link-effect:after { 15 | background-color: #df739b; 16 | } 17 | .post-title a:hover { 18 | color: #df739b 19 | } 20 | .section-title.text-center:after { 21 | color: #df739b; 22 | } 23 | .meta, 24 | .meta a, 25 | .more { 26 | color: #df739b; 27 | } 28 | ul.circled li:before { 29 | color: #df739b; 30 | } 31 | .contact-info i { 32 | color: #df739b; 33 | } 34 | .contact-info a:hover { 35 | color: #df739b 36 | } 37 | .btn, 38 | .vanilla-form label.custom-select span { 39 | background: #df739b; 40 | } 41 | .navbar .nav > li.current > a { 42 | box-shadow: 0 2px 0 #df739b 43 | } 44 | .navbar .dropdown-menu { 45 | border-top: 2px solid #df739b !important; 46 | } 47 | .navbar .top-bar a:hover { 48 | color: #df739b; 49 | } 50 | .navbar.fixed .navbar-nav > li > a:focus, 51 | .navbar.fixed .nav > li > a:hover, 52 | .navbar.fixed .nav > li.current > a, 53 | .navbar.solid .nav > li > a:hover { 54 | color: #df739b !important 55 | } 56 | .cbp-filter-container .cbp-filter-item:hover { 57 | color: #df739b 58 | } 59 | .cbp-filter-container .cbp-filter-item.cbp-filter-item-active { 60 | box-shadow: 0 2px 0 #df739b 61 | } 62 | .item-details li strong { 63 | color: #df739b; 64 | } 65 | .timeline .date-title span { 66 | background: #df739b; 67 | } 68 | .timeline-item:not(.full) .post-content:before { 69 | background: #df739b; 70 | } 71 | .sidebox a:hover { 72 | color: #df739b 73 | } 74 | .widget .post-list h5 a:hover { 75 | color: #df739b 76 | } 77 | .widget .post-list .meta em a:hover { 78 | color: #df739b 79 | } 80 | .progress-list li em { 81 | color: #df739b; 82 | } 83 | .progress.plain { 84 | border: 1px solid #df739b; 85 | } 86 | .progress.plain .bar { 87 | background: #df739b; 88 | } 89 | .icon-large { 90 | color: #df739b; 91 | } 92 | .tabs-top .tab a:hover, 93 | .tabs-top .tab.active a { 94 | color: #df739b 95 | } 96 | .tabs-top.bordered .tab { 97 | border: 2px solid #df739b; 98 | } 99 | .tabs-top.bordered .tab a { 100 | color: #df739b; 101 | } 102 | .tabs-top.bordered .tab a:hover, 103 | .tabs-top.bordered .tab.active a { 104 | background: #df739b; 105 | } 106 | .panel-group .panel-active a, 107 | .panel-group .panel-title > a:hover { 108 | color: #df739b 109 | } 110 | .panel-group .panel-heading .panel-title:hover, 111 | .panel-group .panel-active .panel-heading .panel-title { 112 | color: #df739b 113 | } 114 | .bordered .panel-heading .panel-title { 115 | color: #df739b; 116 | border: 2px solid #df739b; 117 | } 118 | .bordered .panel-heading .panel-title:hover { 119 | background: #df739b; 120 | border: 2px solid #df739b; 121 | } 122 | .bordered .panel-title > a { 123 | color: #df739b 124 | } 125 | .bordered .panel-title:hover, 126 | .bordered .panel-active .panel-heading .panel-title, 127 | .bordered .panel-active .panel-heading .panel-title:hover { 128 | border: 2px solid #df739b; 129 | background: #df739b; 130 | } 131 | .price { 132 | color: #df739b; 133 | } 134 | .tooltip-inner { 135 | background-color: #df739b; 136 | } 137 | .tooltip.top .tooltip-arrow, 138 | .tooltip.top-left .tooltip-arrow, 139 | .tooltip.top-right .tooltip-arrow { 140 | border-top-color: #df739b 141 | } 142 | .tooltip.right .tooltip-arrow { 143 | border-right-color: #df739b 144 | } 145 | .tooltip.left .tooltip-arrow { 146 | border-left-color: #df739b 147 | } 148 | .tooltip.bottom .tooltip-arrow, 149 | .tooltip.bottom-left .tooltip-arrow, 150 | .tooltip.bottom-right .tooltip-arrow { 151 | border-bottom-color: #df739b 152 | } 153 | #comments .info h2 a:hover { 154 | color: #df739b 155 | } 156 | .vanilla-form input[type="radio"]:focus + span, 157 | .vanilla-form input[type="checkbox"]:focus + span, 158 | .vanilla-form input[type="radio"]:active + span, 159 | .vanilla-form input[type="checkbox"]:active + span { 160 | border-color: #df739b 161 | } 162 | .vanilla-form input[type="radio"] + span::after { 163 | background-color: #df739b; 164 | border-color: #df739b; 165 | } 166 | .vanilla-form input[type="radio"]:checked + span, 167 | .vanilla-form input[type="checkbox"]:checked + span { 168 | border: 1px solid #df739b 169 | } 170 | .vanilla-form input[type="checkbox"] + span::after { 171 | border: 0 solid #df739b; 172 | } 173 | .share-affix .icon-s-email:hover { 174 | color: #df739b 175 | } 176 | @media (max-width: 991px) { 177 | .navbar .nav > li.current > a, 178 | .navbar .nav > li > a:hover, 179 | .navbar .navbar-nav .open .dropdown-menu > li > a:hover, 180 | .navbar .navbar-nav .open .dropdown-menu > li > a:focus { 181 | color: #df739b !important 182 | } 183 | } 184 | /*-----------------------------------------------------------------------------------*/ 185 | /* HOVER 186 | /*-----------------------------------------------------------------------------------*/ 187 | .btn:hover, 188 | .btn:focus, 189 | .btn:active, 190 | .btn.active, 191 | .pagination ul > li > a:hover, 192 | .pagination ul > li > a:focus, 193 | .pagination ul > .active > a, 194 | .pagination ul > .active > span { 195 | background: #cc668d; 196 | } 197 | /*-----------------------------------------------------------------------------------*/ 198 | /* RGBA 199 | /*-----------------------------------------------------------------------------------*/ 200 | .spinner, 201 | .tp-loader.spinner0, 202 | .cbp-popup-singlePageInline:before, 203 | #fancybox-loading div { 204 | border-left: 3px solid rgba(223,115,155,.15); 205 | border-right: 3px solid rgba(223,115,155,.15); 206 | border-bottom: 3px solid rgba(223,115,155,.15); 207 | border-top: 3px solid rgba(223,115,155,.8); 208 | } 209 | .color-wrapper { 210 | background: rgba(223,115,155,0.8); 211 | } 212 | .cbp-caption-fadeIn .cbp-caption-activeWrap { 213 | background: rgba(223,115,155,0.9) 214 | } 215 | figure a .text-overlay { 216 | background: rgba(223,115,155,0.9); 217 | } 218 | .icon-overlay a .icn-more { 219 | background: rgba(223,115,155,0.9); 220 | } 221 | /*-----------------------------------------------------------------------------------*/ 222 | /* SELECTION 223 | /*-----------------------------------------------------------------------------------*/ 224 | ::selection { 225 | background: #f1d1dd; /* Safari */ 226 | } 227 | ::-moz-selection { 228 | background: #f1d1dd; /* Firefox */ 229 | } 230 | .animated-text.type .animated-text-wrapper::after { 231 | background-color: #f1d1dd; 232 | } 233 | .animated-text.type .animated-text-wrapper.selected { 234 | background-color: #f1d1dd 235 | } -------------------------------------------------------------------------------- /public/style/css/color/purple.css: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------------------*/ 2 | /* MAIN COLOR 3 | /*-----------------------------------------------------------------------------------*/ 4 | a { 5 | color: #6a7dde; 6 | } 7 | a:hover, 8 | a:focus { 9 | color: #6a7dde; 10 | } 11 | .link-effect:hover { 12 | color: #6a7dde 13 | } 14 | .link-effect:after { 15 | background-color: #6a7dde; 16 | } 17 | .post-title a:hover { 18 | color: #6a7dde 19 | } 20 | .section-title.text-center:after { 21 | color: #6a7dde; 22 | } 23 | .meta, 24 | .meta a, 25 | .more { 26 | color: #6a7dde; 27 | } 28 | ul.circled li:before { 29 | color: #6a7dde; 30 | } 31 | .contact-info i { 32 | color: #6a7dde; 33 | } 34 | .contact-info a:hover { 35 | color: #6a7dde 36 | } 37 | .btn, 38 | .vanilla-form label.custom-select span { 39 | background: #6a7dde; 40 | } 41 | .navbar .nav > li.current > a { 42 | box-shadow: 0 2px 0 #6a7dde 43 | } 44 | .navbar .dropdown-menu { 45 | border-top: 2px solid #6a7dde !important; 46 | } 47 | .navbar .top-bar a:hover { 48 | color: #6a7dde; 49 | } 50 | .navbar.fixed .navbar-nav > li > a:focus, 51 | .navbar.fixed .nav > li > a:hover, 52 | .navbar.fixed .nav > li.current > a, 53 | .navbar.solid .nav > li > a:hover { 54 | color: #6a7dde !important 55 | } 56 | .cbp-filter-container .cbp-filter-item:hover { 57 | color: #6a7dde 58 | } 59 | .cbp-filter-container .cbp-filter-item.cbp-filter-item-active { 60 | box-shadow: 0 2px 0 #6a7dde 61 | } 62 | .item-details li strong { 63 | color: #6a7dde; 64 | } 65 | .timeline .date-title span { 66 | background: #6a7dde; 67 | } 68 | .timeline-item:not(.full) .post-content:before { 69 | background: #6a7dde; 70 | } 71 | .sidebox a:hover { 72 | color: #6a7dde 73 | } 74 | .widget .post-list h5 a:hover { 75 | color: #6a7dde 76 | } 77 | .widget .post-list .meta em a:hover { 78 | color: #6a7dde 79 | } 80 | .progress-list li em { 81 | color: #6a7dde; 82 | } 83 | .progress.plain { 84 | border: 1px solid #6a7dde; 85 | } 86 | .progress.plain .bar { 87 | background: #6a7dde; 88 | } 89 | .icon-large { 90 | color: #6a7dde; 91 | } 92 | .tabs-top .tab a:hover, 93 | .tabs-top .tab.active a { 94 | color: #6a7dde 95 | } 96 | .tabs-top.bordered .tab { 97 | border: 2px solid #6a7dde; 98 | } 99 | .tabs-top.bordered .tab a { 100 | color: #6a7dde; 101 | } 102 | .tabs-top.bordered .tab a:hover, 103 | .tabs-top.bordered .tab.active a { 104 | background: #6a7dde; 105 | } 106 | .panel-group .panel-active a, 107 | .panel-group .panel-title > a:hover { 108 | color: #6a7dde 109 | } 110 | .panel-group .panel-heading .panel-title:hover, 111 | .panel-group .panel-active .panel-heading .panel-title { 112 | color: #6a7dde 113 | } 114 | .bordered .panel-heading .panel-title { 115 | color: #6a7dde; 116 | border: 2px solid #6a7dde; 117 | } 118 | .bordered .panel-heading .panel-title:hover { 119 | background: #6a7dde; 120 | border: 2px solid #6a7dde; 121 | } 122 | .bordered .panel-title > a { 123 | color: #6a7dde 124 | } 125 | .bordered .panel-title:hover, 126 | .bordered .panel-active .panel-heading .panel-title, 127 | .bordered .panel-active .panel-heading .panel-title:hover { 128 | border: 2px solid #6a7dde; 129 | background: #6a7dde; 130 | } 131 | .price { 132 | color: #6a7dde; 133 | } 134 | .tooltip-inner { 135 | background-color: #6a7dde; 136 | } 137 | .tooltip.top .tooltip-arrow, 138 | .tooltip.top-left .tooltip-arrow, 139 | .tooltip.top-right .tooltip-arrow { 140 | border-top-color: #6a7dde 141 | } 142 | .tooltip.right .tooltip-arrow { 143 | border-right-color: #6a7dde 144 | } 145 | .tooltip.left .tooltip-arrow { 146 | border-left-color: #6a7dde 147 | } 148 | .tooltip.bottom .tooltip-arrow, 149 | .tooltip.bottom-left .tooltip-arrow, 150 | .tooltip.bottom-right .tooltip-arrow { 151 | border-bottom-color: #6a7dde 152 | } 153 | #comments .info h2 a:hover { 154 | color: #6a7dde 155 | } 156 | .vanilla-form input[type="radio"]:focus + span, 157 | .vanilla-form input[type="checkbox"]:focus + span, 158 | .vanilla-form input[type="radio"]:active + span, 159 | .vanilla-form input[type="checkbox"]:active + span { 160 | border-color: #6a7dde 161 | } 162 | .vanilla-form input[type="radio"] + span::after { 163 | background-color: #6a7dde; 164 | border-color: #6a7dde; 165 | } 166 | .vanilla-form input[type="radio"]:checked + span, 167 | .vanilla-form input[type="checkbox"]:checked + span { 168 | border: 1px solid #6a7dde 169 | } 170 | .vanilla-form input[type="checkbox"] + span::after { 171 | border: 0 solid #6a7dde; 172 | } 173 | .share-affix .icon-s-email:hover { 174 | color: #6a7dde 175 | } 176 | @media (max-width: 991px) { 177 | .navbar .nav > li.current > a, 178 | .navbar .nav > li > a:hover, 179 | .navbar .navbar-nav .open .dropdown-menu > li > a:hover, 180 | .navbar .navbar-nav .open .dropdown-menu > li > a:focus { 181 | color: #6a7dde !important 182 | } 183 | } 184 | /*-----------------------------------------------------------------------------------*/ 185 | /* HOVER 186 | /*-----------------------------------------------------------------------------------*/ 187 | .btn:hover, 188 | .btn:focus, 189 | .btn:active, 190 | .btn.active, 191 | .pagination ul > li > a:hover, 192 | .pagination ul > li > a:focus, 193 | .pagination ul > .active > a, 194 | .pagination ul > .active > span { 195 | background: #5e6fc7; 196 | } 197 | /*-----------------------------------------------------------------------------------*/ 198 | /* RGBA 199 | /*-----------------------------------------------------------------------------------*/ 200 | .spinner, 201 | .tp-loader.spinner0, 202 | .cbp-popup-singlePageInline:before, 203 | #fancybox-loading div { 204 | border-left: 3px solid rgba(106,125,222,.15); 205 | border-right: 3px solid rgba(106,125,222,.15); 206 | border-bottom: 3px solid rgba(106,125,222,.15); 207 | border-top: 3px solid rgba(106,125,222,.8); 208 | } 209 | .color-wrapper { 210 | background: rgba(106,125,222,0.8); 211 | } 212 | .cbp-caption-fadeIn .cbp-caption-activeWrap { 213 | background: rgba(106,125,222,0.9) 214 | } 215 | figure a .text-overlay { 216 | background: rgba(106,125,222,0.9); 217 | } 218 | .icon-overlay a .icn-more { 219 | background: rgba(106,125,222,0.9); 220 | } 221 | /*-----------------------------------------------------------------------------------*/ 222 | /* SELECTION 223 | /*-----------------------------------------------------------------------------------*/ 224 | ::selection { 225 | background: #ced4f1; /* Safari */ 226 | } 227 | ::-moz-selection { 228 | background: #ced4f1; /* Firefox */ 229 | } 230 | .animated-text.type .animated-text-wrapper::after { 231 | background-color: #ced4f1; 232 | } 233 | .animated-text.type .animated-text-wrapper.selected { 234 | background-color: #ced4f1 235 | } -------------------------------------------------------------------------------- /public/style/css/color/red.css: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------------------*/ 2 | /* MAIN COLOR 3 | /*-----------------------------------------------------------------------------------*/ 4 | a { 5 | color: #e0676a; 6 | } 7 | a:hover, 8 | a:focus { 9 | color: #e0676a; 10 | } 11 | .link-effect:hover { 12 | color: #e0676a 13 | } 14 | .link-effect:after { 15 | background-color: #e0676a; 16 | } 17 | .post-title a:hover { 18 | color: #e0676a 19 | } 20 | .section-title.text-center:after { 21 | color: #e0676a; 22 | } 23 | .meta, 24 | .meta a, 25 | .more { 26 | color: #e0676a; 27 | } 28 | ul.circled li:before { 29 | color: #e0676a; 30 | } 31 | .contact-info i { 32 | color: #e0676a; 33 | } 34 | .contact-info a:hover { 35 | color: #e0676a 36 | } 37 | .btn, 38 | .vanilla-form label.custom-select span { 39 | background: #e0676a; 40 | } 41 | .navbar .nav > li.current > a { 42 | box-shadow: 0 2px 0 #e0676a 43 | } 44 | .navbar .dropdown-menu { 45 | border-top: 2px solid #e0676a !important; 46 | } 47 | .navbar .top-bar a:hover { 48 | color: #e0676a; 49 | } 50 | .navbar.fixed .navbar-nav > li > a:focus, 51 | .navbar.fixed .nav > li > a:hover, 52 | .navbar.fixed .nav > li.current > a, 53 | .navbar.solid .nav > li > a:hover { 54 | color: #e0676a !important 55 | } 56 | .cbp-filter-container .cbp-filter-item:hover { 57 | color: #e0676a 58 | } 59 | .cbp-filter-container .cbp-filter-item.cbp-filter-item-active { 60 | box-shadow: 0 2px 0 #e0676a 61 | } 62 | .item-details li strong { 63 | color: #e0676a; 64 | } 65 | .timeline .date-title span { 66 | background: #e0676a; 67 | } 68 | .timeline-item:not(.full) .post-content:before { 69 | background: #e0676a; 70 | } 71 | .sidebox a:hover { 72 | color: #e0676a 73 | } 74 | .widget .post-list h5 a:hover { 75 | color: #e0676a 76 | } 77 | .widget .post-list .meta em a:hover { 78 | color: #e0676a 79 | } 80 | .progress-list li em { 81 | color: #e0676a; 82 | } 83 | .progress.plain { 84 | border: 1px solid #e0676a; 85 | } 86 | .progress.plain .bar { 87 | background: #e0676a; 88 | } 89 | .icon-large { 90 | color: #e0676a; 91 | } 92 | .tabs-top .tab a:hover, 93 | .tabs-top .tab.active a { 94 | color: #e0676a 95 | } 96 | .tabs-top.bordered .tab { 97 | border: 2px solid #e0676a; 98 | } 99 | .tabs-top.bordered .tab a { 100 | color: #e0676a; 101 | } 102 | .tabs-top.bordered .tab a:hover, 103 | .tabs-top.bordered .tab.active a { 104 | background: #e0676a; 105 | } 106 | .panel-group .panel-active a, 107 | .panel-group .panel-title > a:hover { 108 | color: #e0676a 109 | } 110 | .panel-group .panel-heading .panel-title:hover, 111 | .panel-group .panel-active .panel-heading .panel-title { 112 | color: #e0676a 113 | } 114 | .bordered .panel-heading .panel-title { 115 | color: #e0676a; 116 | border: 2px solid #e0676a; 117 | } 118 | .bordered .panel-heading .panel-title:hover { 119 | background: #e0676a; 120 | border: 2px solid #e0676a; 121 | } 122 | .bordered .panel-title > a { 123 | color: #e0676a 124 | } 125 | .bordered .panel-title:hover, 126 | .bordered .panel-active .panel-heading .panel-title, 127 | .bordered .panel-active .panel-heading .panel-title:hover { 128 | border: 2px solid #e0676a; 129 | background: #e0676a; 130 | } 131 | .price { 132 | color: #e0676a; 133 | } 134 | .tooltip-inner { 135 | background-color: #e0676a; 136 | } 137 | .tooltip.top .tooltip-arrow, 138 | .tooltip.top-left .tooltip-arrow, 139 | .tooltip.top-right .tooltip-arrow { 140 | border-top-color: #e0676a 141 | } 142 | .tooltip.right .tooltip-arrow { 143 | border-right-color: #e0676a 144 | } 145 | .tooltip.left .tooltip-arrow { 146 | border-left-color: #e0676a 147 | } 148 | .tooltip.bottom .tooltip-arrow, 149 | .tooltip.bottom-left .tooltip-arrow, 150 | .tooltip.bottom-right .tooltip-arrow { 151 | border-bottom-color: #e0676a 152 | } 153 | #comments .info h2 a:hover { 154 | color: #e0676a 155 | } 156 | .vanilla-form input[type="radio"]:focus + span, 157 | .vanilla-form input[type="checkbox"]:focus + span, 158 | .vanilla-form input[type="radio"]:active + span, 159 | .vanilla-form input[type="checkbox"]:active + span { 160 | border-color: #e0676a 161 | } 162 | .vanilla-form input[type="radio"] + span::after { 163 | background-color: #e0676a; 164 | border-color: #e0676a; 165 | } 166 | .vanilla-form input[type="radio"]:checked + span, 167 | .vanilla-form input[type="checkbox"]:checked + span { 168 | border: 1px solid #e0676a 169 | } 170 | .vanilla-form input[type="checkbox"] + span::after { 171 | border: 0 solid #e0676a; 172 | } 173 | .share-affix .icon-s-email:hover { 174 | color: #e0676a 175 | } 176 | @media (max-width: 991px) { 177 | .navbar .nav > li.current > a, 178 | .navbar .nav > li > a:hover, 179 | .navbar .navbar-nav .open .dropdown-menu > li > a:hover, 180 | .navbar .navbar-nav .open .dropdown-menu > li > a:focus { 181 | color: #e0676a !important 182 | } 183 | } 184 | /*-----------------------------------------------------------------------------------*/ 185 | /* HOVER 186 | /*-----------------------------------------------------------------------------------*/ 187 | .btn:hover, 188 | .btn:focus, 189 | .btn:active, 190 | .btn.active, 191 | .pagination ul > li > a:hover, 192 | .pagination ul > li > a:focus, 193 | .pagination ul > .active > a, 194 | .pagination ul > .active > span { 195 | background: #cb585b; 196 | } 197 | /*-----------------------------------------------------------------------------------*/ 198 | /* RGBA 199 | /*-----------------------------------------------------------------------------------*/ 200 | .spinner, 201 | .tp-loader.spinner0, 202 | .cbp-popup-singlePageInline:before, 203 | #fancybox-loading div { 204 | border-left: 3px solid rgba(224,103,106,.15); 205 | border-right: 3px solid rgba(224,103,106,.15); 206 | border-bottom: 3px solid rgba(224,103,106,.15); 207 | border-top: 3px solid rgba(224,103,106,.8); 208 | } 209 | .color-wrapper { 210 | background: rgba(224,103,106,0.8); 211 | } 212 | .cbp-caption-fadeIn .cbp-caption-activeWrap { 213 | background: rgba(224,103,106,0.9) 214 | } 215 | figure a .text-overlay { 216 | background: rgba(224,103,106,0.9); 217 | } 218 | .icon-overlay a .icn-more { 219 | background: rgba(224,103,106,0.9); 220 | } 221 | /*-----------------------------------------------------------------------------------*/ 222 | /* SELECTION 223 | /*-----------------------------------------------------------------------------------*/ 224 | ::selection { 225 | background: #f1cdce; /* Safari */ 226 | } 227 | ::-moz-selection { 228 | background: #f1cdce; /* Firefox */ 229 | } 230 | .animated-text.type .animated-text-wrapper::after { 231 | background-color: #f1cdce; 232 | } 233 | .animated-text.type .animated-text-wrapper.selected { 234 | background-color: #f1cdce 235 | } -------------------------------------------------------------------------------- /public/style/css/color/yellow.css: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------------------*/ 2 | /* MAIN COLOR 3 | /*-----------------------------------------------------------------------------------*/ 4 | a { 5 | color: #f1bd69; 6 | } 7 | a:hover, 8 | a:focus { 9 | color: #f1bd69; 10 | } 11 | .link-effect:hover { 12 | color: #f1bd69 13 | } 14 | .link-effect:after { 15 | background-color: #f1bd69; 16 | } 17 | .post-title a:hover { 18 | color: #f1bd69 19 | } 20 | .section-title.text-center:after { 21 | color: #f1bd69; 22 | } 23 | .meta, 24 | .meta a, 25 | .more { 26 | color: #f1bd69; 27 | } 28 | ul.circled li:before { 29 | color: #f1bd69; 30 | } 31 | .contact-info i { 32 | color: #f1bd69; 33 | } 34 | .contact-info a:hover { 35 | color: #f1bd69 36 | } 37 | .btn, 38 | .vanilla-form label.custom-select span { 39 | background: #f1bd69; 40 | } 41 | .navbar .nav > li.current > a { 42 | box-shadow: 0 2px 0 #f1bd69 43 | } 44 | .navbar .dropdown-menu { 45 | border-top: 2px solid #f1bd69 !important; 46 | } 47 | .navbar .top-bar a:hover { 48 | color: #f1bd69; 49 | } 50 | .navbar.fixed .navbar-nav > li > a:focus, 51 | .navbar.fixed .nav > li > a:hover, 52 | .navbar.fixed .nav > li.current > a, 53 | .navbar.solid .nav > li > a:hover { 54 | color: #f1bd69 !important 55 | } 56 | .cbp-filter-container .cbp-filter-item:hover { 57 | color: #f1bd69 58 | } 59 | .cbp-filter-container .cbp-filter-item.cbp-filter-item-active { 60 | box-shadow: 0 2px 0 #f1bd69 61 | } 62 | .item-details li strong { 63 | color: #f1bd69; 64 | } 65 | .timeline .date-title span { 66 | background: #f1bd69; 67 | } 68 | .timeline-item:not(.full) .post-content:before { 69 | background: #f1bd69; 70 | } 71 | .sidebox a:hover { 72 | color: #f1bd69 73 | } 74 | .widget .post-list h5 a:hover { 75 | color: #f1bd69 76 | } 77 | .widget .post-list .meta em a:hover { 78 | color: #f1bd69 79 | } 80 | .progress-list li em { 81 | color: #f1bd69; 82 | } 83 | .progress.plain { 84 | border: 1px solid #f1bd69; 85 | } 86 | .progress.plain .bar { 87 | background: #f1bd69; 88 | } 89 | .icon-large { 90 | color: #f1bd69; 91 | } 92 | .tabs-top .tab a:hover, 93 | .tabs-top .tab.active a { 94 | color: #f1bd69 95 | } 96 | .tabs-top.bordered .tab { 97 | border: 2px solid #f1bd69; 98 | } 99 | .tabs-top.bordered .tab a { 100 | color: #f1bd69; 101 | } 102 | .tabs-top.bordered .tab a:hover, 103 | .tabs-top.bordered .tab.active a { 104 | background: #f1bd69; 105 | } 106 | .panel-group .panel-active a, 107 | .panel-group .panel-title > a:hover { 108 | color: #f1bd69 109 | } 110 | .panel-group .panel-heading .panel-title:hover, 111 | .panel-group .panel-active .panel-heading .panel-title { 112 | color: #f1bd69 113 | } 114 | .bordered .panel-heading .panel-title { 115 | color: #f1bd69; 116 | border: 2px solid #f1bd69; 117 | } 118 | .bordered .panel-heading .panel-title:hover { 119 | background: #f1bd69; 120 | border: 2px solid #f1bd69; 121 | } 122 | .bordered .panel-title > a { 123 | color: #f1bd69 124 | } 125 | .bordered .panel-title:hover, 126 | .bordered .panel-active .panel-heading .panel-title, 127 | .bordered .panel-active .panel-heading .panel-title:hover { 128 | border: 2px solid #f1bd69; 129 | background: #f1bd69; 130 | } 131 | .price { 132 | color: #f1bd69; 133 | } 134 | .tooltip-inner { 135 | background-color: #f1bd69; 136 | } 137 | .tooltip.top .tooltip-arrow, 138 | .tooltip.top-left .tooltip-arrow, 139 | .tooltip.top-right .tooltip-arrow { 140 | border-top-color: #f1bd69 141 | } 142 | .tooltip.right .tooltip-arrow { 143 | border-right-color: #f1bd69 144 | } 145 | .tooltip.left .tooltip-arrow { 146 | border-left-color: #f1bd69 147 | } 148 | .tooltip.bottom .tooltip-arrow, 149 | .tooltip.bottom-left .tooltip-arrow, 150 | .tooltip.bottom-right .tooltip-arrow { 151 | border-bottom-color: #f1bd69 152 | } 153 | #comments .info h2 a:hover { 154 | color: #f1bd69 155 | } 156 | .vanilla-form input[type="radio"]:focus + span, 157 | .vanilla-form input[type="checkbox"]:focus + span, 158 | .vanilla-form input[type="radio"]:active + span, 159 | .vanilla-form input[type="checkbox"]:active + span { 160 | border-color: #f1bd69 161 | } 162 | .vanilla-form input[type="radio"] + span::after { 163 | background-color: #f1bd69; 164 | border-color: #f1bd69; 165 | } 166 | .vanilla-form input[type="radio"]:checked + span, 167 | .vanilla-form input[type="checkbox"]:checked + span { 168 | border: 1px solid #f1bd69 169 | } 170 | .vanilla-form input[type="checkbox"] + span::after { 171 | border: 0 solid #f1bd69; 172 | } 173 | .share-affix .icon-s-email:hover { 174 | color: #f1bd69 175 | } 176 | @media (max-width: 991px) { 177 | .navbar .nav > li.current > a, 178 | .navbar .nav > li > a:hover, 179 | .navbar .navbar-nav .open .dropdown-menu > li > a:hover, 180 | .navbar .navbar-nav .open .dropdown-menu > li > a:focus { 181 | color: #f1bd69 !important 182 | } 183 | } 184 | /*-----------------------------------------------------------------------------------*/ 185 | /* HOVER 186 | /*-----------------------------------------------------------------------------------*/ 187 | .btn:hover, 188 | .btn:focus, 189 | .btn:active, 190 | .btn.active, 191 | .pagination ul > li > a:hover, 192 | .pagination ul > li > a:focus, 193 | .pagination ul > .active > a, 194 | .pagination ul > .active > span { 195 | background: #e2aa4f; 196 | } 197 | /*-----------------------------------------------------------------------------------*/ 198 | /* RGBA 199 | /*-----------------------------------------------------------------------------------*/ 200 | .spinner, 201 | .tp-loader.spinner0, 202 | .cbp-popup-singlePageInline:before, 203 | #fancybox-loading div { 204 | border-left: 3px solid rgba(241,189,105,.15); 205 | border-right: 3px solid rgba(241,189,105,.15); 206 | border-bottom: 3px solid rgba(241,189,105,.15); 207 | border-top: 3px solid rgba(241,189,105,.8); 208 | } 209 | .color-wrapper { 210 | background: rgba(241,189,105,0.8); 211 | } 212 | .cbp-caption-fadeIn .cbp-caption-activeWrap { 213 | background: rgba(241,189,105,0.9) 214 | } 215 | figure a .text-overlay { 216 | background: rgba(241,189,105,0.9); 217 | } 218 | .icon-overlay a .icn-more { 219 | background: rgba(241,189,105,0.9); 220 | } 221 | /*-----------------------------------------------------------------------------------*/ 222 | /* SELECTION 223 | /*-----------------------------------------------------------------------------------*/ 224 | ::selection { 225 | background: #f7e7ce; /* Safari */ 226 | } 227 | ::-moz-selection { 228 | background: #f7e7ce; /* Firefox */ 229 | } 230 | .animated-text.type .animated-text-wrapper::after { 231 | background-color: #f7e7ce; 232 | } 233 | .animated-text.type .animated-text-wrapper.selected { 234 | background-color: #f7e7ce 235 | } -------------------------------------------------------------------------------- /public/static/js/bootstrap.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.3.2 (http://getbootstrap.com) 3 | * Copyright 2011-2015 Twitter, Inc. 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */ 6 | 7 | /*! 8 | * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=a5401a801c0cac6e2fb5) 9 | * Config saved to config.json and https://gist.github.com/a5401a801c0cac6e2fb5 10 | */ 11 | if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),s=i.data("bs.alert");s||i.data("bs.alert",s=new o(this)),"string"==typeof e&&s[e].call(i)})}var i='[data-dismiss="alert"]',o=function(e){t(e).on("click",i,this.close)};o.VERSION="3.3.2",o.TRANSITION_DURATION=150,o.prototype.close=function(e){function i(){a.detach().trigger("closed.bs.alert").remove()}var s=t(this),n=s.attr("data-target");n||(n=s.attr("href"),n=n&&n.replace(/.*(?=#[^\s]*$)/,""));var a=t(n);e&&e.preventDefault(),a.length||(a=s.closest(".alert")),a.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(a.removeClass("in"),t.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",i).emulateTransitionEnd(o.TRANSITION_DURATION):i())};var s=t.fn.alert;t.fn.alert=e,t.fn.alert.Constructor=o,t.fn.alert.noConflict=function(){return t.fn.alert=s,this},t(document).on("click.bs.alert.data-api",i,o.prototype.close)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),s=o.data("bs.button"),n="object"==typeof e&&e;s||o.data("bs.button",s=new i(this,n)),"toggle"==e?s.toggle():e&&s.setState(e)})}var i=function(e,o){this.$element=t(e),this.options=t.extend({},i.DEFAULTS,o),this.isLoading=!1};i.VERSION="3.3.2",i.DEFAULTS={loadingText:"loading..."},i.prototype.setState=function(e){var i="disabled",o=this.$element,s=o.is("input")?"val":"html",n=o.data();e+="Text",null==n.resetText&&o.data("resetText",o[s]()),setTimeout(t.proxy(function(){o[s](null==n[e]?this.options[e]:n[e]),"loadingText"==e?(this.isLoading=!0,o.addClass(i).attr(i,i)):this.isLoading&&(this.isLoading=!1,o.removeClass(i).removeAttr(i))},this),0)},i.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var i=this.$element.find("input");"radio"==i.prop("type")&&(i.prop("checked")&&this.$element.hasClass("active")?t=!1:e.find(".active").removeClass("active")),t&&i.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));t&&this.$element.toggleClass("active")};var o=t.fn.button;t.fn.button=e,t.fn.button.Constructor=i,t.fn.button.noConflict=function(){return t.fn.button=o,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(i){var o=t(i.target);o.hasClass("btn")||(o=o.closest(".btn")),e.call(o,"toggle"),i.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){t(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),s=o.data("bs.carousel"),n=t.extend({},i.DEFAULTS,o.data(),"object"==typeof e&&e),a="string"==typeof e?e:n.slide;s||o.data("bs.carousel",s=new i(this,n)),"number"==typeof e?s.to(e):a?s[a]():n.interval&&s.pause().cycle()})}var i=function(e,i){this.$element=t(e),this.$indicators=this.$element.find(".carousel-indicators"),this.options=i,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",t.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",t.proxy(this.pause,this)).on("mouseleave.bs.carousel",t.proxy(this.cycle,this))};i.VERSION="3.3.2",i.TRANSITION_DURATION=600,i.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},i.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},i.prototype.cycle=function(e){return e||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(t.proxy(this.next,this),this.options.interval)),this},i.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},i.prototype.getItemForDirection=function(t,e){var i=this.getItemIndex(e),o="prev"==t&&0===i||"next"==t&&i==this.$items.length-1;if(o&&!this.options.wrap)return e;var s="prev"==t?-1:1,n=(i+s)%this.$items.length;return this.$items.eq(n)},i.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(".item.active"));return t>this.$items.length-1||0>t?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(t>i?"next":"prev",this.$items.eq(t))},i.prototype.pause=function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&t.support.transition&&(this.$element.trigger(t.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},i.prototype.next=function(){return this.sliding?void 0:this.slide("next")},i.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},i.prototype.slide=function(e,o){var s=this.$element.find(".item.active"),n=o||this.getItemForDirection(e,s),a=this.interval,r="next"==e?"left":"right",l=this;if(n.hasClass("active"))return this.sliding=!1;var h=n[0],d=t.Event("slide.bs.carousel",{relatedTarget:h,direction:r});if(this.$element.trigger(d),!d.isDefaultPrevented()){if(this.sliding=!0,a&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var p=t(this.$indicators.children()[this.getItemIndex(n)]);p&&p.addClass("active")}var c=t.Event("slid.bs.carousel",{relatedTarget:h,direction:r});return t.support.transition&&this.$element.hasClass("slide")?(n.addClass(e),n[0].offsetWidth,s.addClass(r),n.addClass(r),s.one("bsTransitionEnd",function(){n.removeClass([e,r].join(" ")).addClass("active"),s.removeClass(["active",r].join(" ")),l.sliding=!1,setTimeout(function(){l.$element.trigger(c)},0)}).emulateTransitionEnd(i.TRANSITION_DURATION)):(s.removeClass("active"),n.addClass("active"),this.sliding=!1,this.$element.trigger(c)),a&&this.cycle(),this}};var o=t.fn.carousel;t.fn.carousel=e,t.fn.carousel.Constructor=i,t.fn.carousel.noConflict=function(){return t.fn.carousel=o,this};var s=function(i){var o,s=t(this),n=t(s.attr("data-target")||(o=s.attr("href"))&&o.replace(/.*(?=#[^\s]+$)/,""));if(n.hasClass("carousel")){var a=t.extend({},n.data(),s.data()),r=s.attr("data-slide-to");r&&(a.interval=!1),e.call(n,a),r&&n.data("bs.carousel").to(r),i.preventDefault()}};t(document).on("click.bs.carousel.data-api","[data-slide]",s).on("click.bs.carousel.data-api","[data-slide-to]",s),t(window).on("load",function(){t('[data-ride="carousel"]').each(function(){var i=t(this);e.call(i,i.data())})})}(jQuery),+function(t){"use strict";function e(e){e&&3===e.which||(t(s).remove(),t(n).each(function(){var o=t(this),s=i(o),n={relatedTarget:this};s.hasClass("open")&&(s.trigger(e=t.Event("hide.bs.dropdown",n)),e.isDefaultPrevented()||(o.attr("aria-expanded","false"),s.removeClass("open").trigger("hidden.bs.dropdown",n)))}))}function i(e){var i=e.attr("data-target");i||(i=e.attr("href"),i=i&&/#[A-Za-z]/.test(i)&&i.replace(/.*(?=#[^\s]*$)/,""));var o=i&&t(i);return o&&o.length?o:e.parent()}function o(e){return this.each(function(){var i=t(this),o=i.data("bs.dropdown");o||i.data("bs.dropdown",o=new a(this)),"string"==typeof e&&o[e].call(i)})}var s=".dropdown-backdrop",n='[data-toggle="dropdown"]',a=function(e){t(e).on("click.bs.dropdown",this.toggle)};a.VERSION="3.3.2",a.prototype.toggle=function(o){var s=t(this);if(!s.is(".disabled, :disabled")){var n=i(s),a=n.hasClass("open");if(e(),!a){"ontouchstart"in document.documentElement&&!n.closest(".navbar-nav").length&&t('