| @@ -0,0 +1,330 @@ | ||
| *, | ||
| *:after, | ||
| *::before { | ||
| -webkit-box-sizing: border-box; | ||
| -moz-box-sizing: border-box; | ||
| box-sizing: border-box; | ||
| } | ||
|
|
||
| @font-face { | ||
| font-weight: normal; | ||
| font-style: normal; | ||
| font-family: 'ecoicons'; | ||
| src: url("../fonts/ecoicons/ecoicons.eot"); | ||
| src: url("../fonts/ecoicons/ecoicons.eot?#iefix") format("embedded-opentype"), url("../fonts/ecoicons/ecoicons.woff") format("woff"), url("../fonts/ecoicons/ecoicons.ttf") format("truetype"), url("../fonts/ecoicons/ecoicons.svg#ecoicons") format("svg"); | ||
| } | ||
|
|
||
| /* Icomoon.com */ | ||
|
|
||
| .gn-menu-main, | ||
| .gn-menu-main ul { | ||
| margin: 0; | ||
| padding: 0; | ||
| background: white; | ||
| color: #5f6f81; | ||
| list-style: none; | ||
| text-transform: none; | ||
| font-weight: 300; | ||
| font-family: 'Lato', Arial, sans-serif; | ||
| line-height: 60px; | ||
| } | ||
|
|
||
| .gn-menu-main { | ||
| position: fixed; | ||
| top: 0; | ||
| left: 0; | ||
| width: 100%; | ||
| height: 60px; | ||
| font-size: 13px; | ||
| } | ||
|
|
||
| .gn-menu-main a { | ||
| display: block; | ||
| height: 100%; | ||
| color: #5f6f81; | ||
| text-decoration: none; | ||
| cursor: pointer; | ||
| } | ||
|
|
||
| .no-touch .gn-menu-main a:hover, | ||
| .no-touch .gn-menu li.gn-search-item:hover, | ||
| .no-touch .gn-menu li.gn-search-item:hover a { | ||
| background: #5f6f81; | ||
| color: white; | ||
| } | ||
|
|
||
| .gn-menu-main > li { | ||
| display: block; | ||
| float: left; | ||
| height: 100%; | ||
| border-right: 1px solid #c6d0da; | ||
| text-align: center; | ||
| } | ||
|
|
||
| /* icon-only trigger (menu item) */ | ||
|
|
||
| .gn-menu-main li.gn-trigger { | ||
| position: relative; | ||
| width: 60px; | ||
| -webkit-touch-callout: none; | ||
| -webkit-user-select: none; | ||
| -khtml-user-select: none; | ||
| -moz-user-select: none; | ||
| -ms-user-select: none; | ||
| user-select: none; | ||
| } | ||
|
|
||
| .gn-menu-main > li:last-child { | ||
| float: right; | ||
| border-right: none; | ||
| border-left: 1px solid #c6d0da; | ||
| } | ||
|
|
||
| .gn-menu-main > li > a { | ||
| padding: 0 30px; | ||
| text-transform: uppercase; | ||
| letter-spacing: 1px; | ||
| font-weight: bold; | ||
| } | ||
|
|
||
| .gn-menu-main:after { | ||
| display: table; | ||
| clear: both; | ||
| content: ""; | ||
| } | ||
|
|
||
| .gn-menu-wrapper { | ||
| position: fixed; | ||
| top: 60px; | ||
| bottom: 0; | ||
| left: 0; | ||
| overflow: hidden; | ||
| width: 60px; | ||
| border-top: 1px solid #c6d0da; | ||
| background: white; | ||
| -webkit-transform: translateX(-60px); | ||
| -moz-transform: translateX(-60px); | ||
| transform: translateX(-60px); | ||
| -webkit-transition: -webkit-transform 0.3s, width 0.3s; | ||
| -moz-transition: -moz-transform 0.3s, width 0.3s; | ||
| transition: transform 0.3s, width 0.3s; | ||
| } | ||
|
|
||
| .gn-scroller { | ||
| position: absolute; | ||
| overflow-y: scroll; | ||
| width: 370px; | ||
| height: 100%; | ||
| } | ||
|
|
||
| .gn-menu { | ||
| border-bottom: 1px solid #c6d0da; | ||
| text-align: left; | ||
| font-size: 18px; | ||
| } | ||
|
|
||
| .gn-menu li:not(:first-child), | ||
| .gn-menu li li { | ||
| box-shadow: inset 0 1px #c6d0da | ||
| } | ||
|
|
||
| .gn-submenu li { | ||
| overflow: hidden; | ||
| height: 0; | ||
| -webkit-transition: height 0.3s; | ||
| -moz-transition: height 0.3s; | ||
| transition: height 0.3s; | ||
| } | ||
|
|
||
| .gn-submenu li a { | ||
| color: #c1c9d1 | ||
| } | ||
|
|
||
| input.gn-search { | ||
| position: relative; | ||
| z-index: 10; | ||
| padding-left: 60px; | ||
| outline: none; | ||
| border: none; | ||
| background: transparent; | ||
| color: #5f6f81; | ||
| font-weight: 300; | ||
| font-family: 'Lato', Arial, sans-serif; | ||
| cursor: pointer; | ||
| } | ||
|
|
||
| /* placeholder */ | ||
|
|
||
| .gn-search::-webkit-input-placeholder { | ||
| color: #5f6f81 | ||
| } | ||
|
|
||
| .gn-search:-moz-placeholder { | ||
| color: #5f6f81 | ||
| } | ||
|
|
||
| .gn-search::-moz-placeholder { | ||
| color: #5f6f81 | ||
| } | ||
|
|
||
| .gn-search:-ms-input-placeholder { | ||
| color: #5f6f81 | ||
| } | ||
|
|
||
| /* hide placeholder when active in Chrome */ | ||
|
|
||
| .gn-search:focus::-webkit-input-placeholder, | ||
| .no-touch .gn-menu li.gn-search-item:hover .gn-search:focus::-webkit-input-placeholder { | ||
| color: transparent | ||
| } | ||
|
|
||
| input.gn-search:focus { | ||
| cursor: text | ||
| } | ||
|
|
||
| .no-touch .gn-menu li.gn-search-item:hover input.gn-search { | ||
| color: white | ||
| } | ||
|
|
||
| /* placeholder */ | ||
|
|
||
| .no-touch .gn-menu li.gn-search-item:hover .gn-search::-webkit-input-placeholder { | ||
| color: white | ||
| } | ||
|
|
||
| .no-touch .gn-menu li.gn-search-item:hover .gn-search:-moz-placeholder { | ||
| color: white | ||
| } | ||
|
|
||
| .no-touch .gn-menu li.gn-search-item:hover .gn-search::-moz-placeholder { | ||
| color: white | ||
| } | ||
|
|
||
| .no-touch .gn-menu li.gn-search-item:hover .gn-search:-ms-input-placeholder { | ||
| color: white | ||
| } | ||
|
|
||
| .gn-menu-main a.gn-icon-search { | ||
| position: absolute; | ||
| top: 0; | ||
| left: 0; | ||
| height: 60px; | ||
| } | ||
|
|
||
| .gn-icon::before { | ||
| display: inline-block; | ||
| width: 60px; | ||
| text-align: center; | ||
| text-transform: none; | ||
| font-weight: normal; | ||
| font-style: normal; | ||
| font-variant: normal; | ||
| font-family: 'ecoicons'; | ||
| line-height: 1; | ||
| speak: none; | ||
| -webkit-font-smoothing: antialiased; | ||
| } | ||
|
|
||
| .gn-icon-help::before { | ||
| content: "\e000" | ||
| } | ||
|
|
||
| .gn-icon-earth::before { | ||
| content: "\e004" | ||
| } | ||
|
|
||
| .gn-icon-cog::before { | ||
| content: "\e006" | ||
| } | ||
|
|
||
| .gn-icon-search::before { | ||
| content: "\e005" | ||
| } | ||
|
|
||
| .gn-icon-download::before { | ||
| content: "\e007" | ||
| } | ||
|
|
||
| .gn-icon-photoshop::before { | ||
| content: "\e001" | ||
| } | ||
|
|
||
| .gn-icon-illustrator::before { | ||
| content: "\e002" | ||
| } | ||
|
|
||
| .gn-icon-archive::before { | ||
| content: "\e00d" | ||
| } | ||
|
|
||
| .gn-icon-article::before { | ||
| content: "\e003" | ||
| } | ||
|
|
||
| .gn-icon-pictures::before { | ||
| content: "\e008" | ||
| } | ||
|
|
||
| .gn-icon-videos::before { | ||
| content: "\e009" | ||
| } | ||
|
|
||
| /* if an icon anchor has a span, hide the span */ | ||
|
|
||
| .gn-icon span { | ||
| width: 0; | ||
| height: 0; | ||
| display: block; | ||
| overflow: hidden; | ||
| } | ||
|
|
||
| .gn-icon-menu::before { | ||
| margin-left: -15px; | ||
| vertical-align: -2px; | ||
| width: 30px; | ||
| height: 3px; | ||
| background: #5f6f81; | ||
| box-shadow: 0 3px white, 0 -6px #5f6f81, 0 -9px white, 0 -12px #5f6f81; | ||
| content: ''; | ||
| } | ||
|
|
||
| .no-touch .gn-icon-menu:hover::before, | ||
| .no-touch .gn-icon-menu.gn-selected:hover::before { | ||
| background: white; | ||
| box-shadow: 0 3px #5f6f81, 0 -6px white, 0 -9px #5f6f81, 0 -12px white; | ||
| } | ||
|
|
||
| .gn-icon-menu.gn-selected::before { | ||
| background: #5993cd; | ||
| box-shadow: 0 3px white, 0 -6px #5993cd, 0 -9px white, 0 -12px #5993cd; | ||
| } | ||
|
|
||
| /* styles for opening menu */ | ||
|
|
||
| .gn-menu-wrapper.gn-open-all, | ||
| .gn-menu-wrapper.gn-open-part { | ||
| -webkit-transform: translateX(0px); | ||
| -moz-transform: translateX(0px); | ||
| transform: translateX(0px); | ||
| } | ||
|
|
||
| .gn-menu-wrapper.gn-open-all { | ||
| width: 340px | ||
| } | ||
|
|
||
| .gn-menu-wrapper.gn-open-all .gn-submenu li { | ||
| height: 60px | ||
| } | ||
|
|
||
| @media screen and (max-width: 422px) { | ||
| .gn-menu-wrapper.gn-open-all { | ||
| -webkit-transform: translateX(0px); | ||
| -moz-transform: translateX(0px); | ||
| transform: translateX(0px); | ||
| width: 100%; | ||
| } | ||
|
|
||
| .gn-menu-wrapper.gn-open-all .gn-scroller { | ||
| width: 130% | ||
| } | ||
| } |
| @@ -0,0 +1,145 @@ | ||
| @import url(http://fonts.googleapis.com/css?family=Lato:300,400,700); | ||
| @font-face { | ||
| font-family: 'codropsicons'; | ||
| src:url('../fonts/codropsicons/codropsicons.eot'); | ||
| src:url('../fonts/codropsicons/codropsicons.eot?#iefix') format('embedded-opentype'), | ||
| url('../fonts/codropsicons/codropsicons.woff') format('woff'), | ||
| url('../fonts/codropsicons/codropsicons.ttf') format('truetype'), | ||
| url('../fonts/codropsicons/codropsicons.svg#codropsicons') format('svg'); | ||
| font-weight: normal; | ||
| font-style: normal; | ||
| } | ||
|
|
||
| body { | ||
| background: #34495e; | ||
| } | ||
|
|
||
| .container > header, | ||
| .codrops-top { | ||
| color: #fff; | ||
| font-family: 'Lato', Arial, sans-serif; | ||
| } | ||
|
|
||
| .container > header { | ||
| margin: 0 auto; | ||
| padding: 12em 2em; | ||
| padding-left: 370px; | ||
| background: rgba(0,0,0,0.05); | ||
| } | ||
|
|
||
| .container > header a { | ||
| color: #566473; | ||
| text-decoration: none; | ||
| outline: none; | ||
| } | ||
|
|
||
| .container > header a:hover { | ||
| color: #4f7bab; | ||
| } | ||
|
|
||
| .container > header h1 { | ||
| font-size: 3.2em; | ||
| line-height: 1.3; | ||
| margin: 0; | ||
| font-weight: 300; | ||
| } | ||
|
|
||
| .container > header span { | ||
| display: block; | ||
| font-size: 55%; | ||
| color: #74818e; | ||
| padding: 0 0 0.6em 0.1em; | ||
| } | ||
|
|
||
| /* To Navigation Style */ | ||
| .codrops-top { | ||
| background: #fff; | ||
| background: rgba(255, 255, 255, 0.6); | ||
| text-transform: uppercase; | ||
| width: 100%; | ||
| font-size: 0.69em; | ||
| line-height: 2.2; | ||
| } | ||
|
|
||
| .codrops-top a { | ||
| text-decoration: none; | ||
| padding: 0 1em; | ||
| letter-spacing: 0.1em; | ||
| color: #888; | ||
| display: inline-block; | ||
| } | ||
|
|
||
| .codrops-top a:hover { | ||
| background: rgba(255,255,255,0.95); | ||
| color: #333; | ||
| } | ||
|
|
||
| .codrops-top span.right { | ||
| float: right; | ||
| } | ||
|
|
||
| .codrops-top span.right a { | ||
| float: left; | ||
| display: block; | ||
| } | ||
|
|
||
| .codrops-icon:before { | ||
| font-family: 'codropsicons'; | ||
| margin: 0 4px; | ||
| speak: none; | ||
| font-style: normal; | ||
| font-weight: normal; | ||
| font-variant: normal; | ||
| text-transform: none; | ||
| line-height: 1; | ||
| -webkit-font-smoothing: antialiased; | ||
| } | ||
|
|
||
| .codrops-icon-drop:before { | ||
| content: "\e001"; | ||
| } | ||
|
|
||
| .codrops-icon-prev:before { | ||
| content: "\e004"; | ||
| } | ||
|
|
||
| /* Demo Buttons Style */ | ||
| .codrops-demos { | ||
| padding-top: 1em; | ||
| font-size: 0.9em; | ||
| } | ||
|
|
||
| .codrops-demos a { | ||
| text-decoration: none; | ||
| outline: none; | ||
| display: inline-block; | ||
| margin: 0.5em; | ||
| padding: 0.7em 1.1em; | ||
| border: 3px solid #b1aea6; | ||
| color: #b1aea6; | ||
| font-weight: 700; | ||
| } | ||
|
|
||
| .codrops-demos a:hover, | ||
| .codrops-demos a.current-demo, | ||
| .codrops-demos a.current-demo:hover { | ||
| border-color: #89867e; | ||
| color: #89867e; | ||
| } | ||
|
|
||
| @media screen and (max-width: 1025px) { | ||
| .container > header { | ||
| margin: 0 auto; | ||
| padding: 120px 50px; | ||
| font-size: 70%; | ||
| text-align: right; | ||
| } | ||
| } | ||
|
|
||
| @media screen and (max-width: 740px) { | ||
|
|
||
| .codrops-icon span { | ||
| display: none; | ||
| } | ||
|
|
||
| } |
| @@ -0,0 +1,44 @@ | ||
| @import url(animate.css); | ||
| @import url(bootstrap.css); | ||
| @import url(font-awesome.min.css); | ||
| @import url(http://fonts.googleapis.com/css?family=Open+Sans); | ||
| @import url(http://fonts.googleapis.com/css?family=Muli); | ||
| @import url(http://fonts.googleapis.com/css?family=Pacifico); | ||
| @import url(metro-bootstrap.min.css); | ||
| .jumbotron | ||
| { | ||
| height: 100%; | ||
| background-color: #FFF | ||
| } | ||
|
|
||
| .nav | ||
| { | ||
| padding-top: 5; | ||
| width: 100%; | ||
| padding-bottom: 5; | ||
| } | ||
|
|
||
| .nav li | ||
| { | ||
| text-decoration: none; | ||
| list-style-type: none; | ||
| display: inline; | ||
| } | ||
|
|
||
| .logo | ||
| { | ||
| font-size: 20px | ||
| } | ||
|
|
||
| .notlogo | ||
| { | ||
| margin-left: 20px | ||
| } | ||
|
|
||
| .col-md-3 | ||
| { | ||
| height: 100%; | ||
| background-image: url(../img/legion.png); | ||
| background-size: contain; | ||
| background-repeat: no-repeat; | ||
| } |
| @@ -0,0 +1,31 @@ | ||
| [{ | ||
| "name":"Andy Kamath", | ||
| "aboutme":"I'm a creative full-stack web developer as well as C# developer. I like to make websites and code for people. I am also a sophomore and Honors/AP student pursuing a career in Computer Science", | ||
| "projects":[{ | ||
| "name": "Advicify", | ||
| "GitHub link": "http://github.com/hackgician/advicify", | ||
| "skills utilized": "Bootstrap framework for HTML, Laravel framework for PHP, Nginx server, MySQL Database, jQuery.js, HTML5, CSS, and Javascript", | ||
| "description": "This website was made as a forum for sad people who just need to talk about stuff and want other people to listen", | ||
| }, | ||
| { | ||
| "name": "Albert Engine", | ||
| "website link": "http://albert.cf", | ||
| "skills utilized": "PHP, Heroku, Bootstrap framework for HTML, jQuery.js, HTML5, CSS, and Javascript", | ||
| "description": "Instant-answer search-engine", | ||
| }, | ||
| { | ||
| "name": "Bae Button", | ||
| "website link": "http://andykamath.com/bae", | ||
| "skills utilized": "Bootstrap framework for HTML, jQuery.js, HTML5, CSS, and Javascript", | ||
| "description": "Bae button. Nuff said", | ||
| }, | ||
| { | ||
| "name": "Blue", | ||
| "website link": "http://andykamath.com/BlueWebsite", | ||
| "skills utilized": "Bootstrap framework for HTML, jQuery.js, HTML5, CSS, and Javascript", | ||
| "description": "Website template for potential customers" | ||
| }, | ||
| { | ||
| "name" | ||
| }] | ||
| }] |
| @@ -0,0 +1,80 @@ | ||
| /*! | ||
| * classie - class helper functions | ||
| * from bonzo https://github.com/ded/bonzo | ||
| * | ||
| * classie.has( elem, 'my-class' ) -> true/false | ||
| * classie.add( elem, 'my-new-class' ) | ||
| * classie.remove( elem, 'my-unwanted-class' ) | ||
| * classie.toggle( elem, 'my-class' ) | ||
| */ | ||
|
|
||
| /*jshint browser: true, strict: true, undef: true */ | ||
| /*global define: false */ | ||
|
|
||
| ( function( window ) { | ||
|
|
||
| 'use strict'; | ||
|
|
||
| // class helper functions from bonzo https://github.com/ded/bonzo | ||
|
|
||
| function classReg( className ) { | ||
| return new RegExp("(^|\\s+)" + className + "(\\s+|$)"); | ||
| } | ||
|
|
||
| // classList support for class management | ||
| // altho to be fair, the api sucks because it won't accept multiple classes at once | ||
| var hasClass, addClass, removeClass; | ||
|
|
||
| if ( 'classList' in document.documentElement ) { | ||
| hasClass = function( elem, c ) { | ||
| return elem.classList.contains( c ); | ||
| }; | ||
| addClass = function( elem, c ) { | ||
| elem.classList.add( c ); | ||
| }; | ||
| removeClass = function( elem, c ) { | ||
| elem.classList.remove( c ); | ||
| }; | ||
| } | ||
| else { | ||
| hasClass = function( elem, c ) { | ||
| return classReg( c ).test( elem.className ); | ||
| }; | ||
| addClass = function( elem, c ) { | ||
| if ( !hasClass( elem, c ) ) { | ||
| elem.className = elem.className + ' ' + c; | ||
| } | ||
| }; | ||
| removeClass = function( elem, c ) { | ||
| elem.className = elem.className.replace( classReg( c ), ' ' ); | ||
| }; | ||
| } | ||
|
|
||
| function toggleClass( elem, c ) { | ||
| var fn = hasClass( elem, c ) ? removeClass : addClass; | ||
| fn( elem, c ); | ||
| } | ||
|
|
||
| var classie = { | ||
| // full names | ||
| hasClass: hasClass, | ||
| addClass: addClass, | ||
| removeClass: removeClass, | ||
| toggleClass: toggleClass, | ||
| // short names | ||
| has: hasClass, | ||
| add: addClass, | ||
| remove: removeClass, | ||
| toggle: toggleClass | ||
| }; | ||
|
|
||
| // transport | ||
| if ( typeof define === 'function' && define.amd ) { | ||
| // AMD | ||
| define( classie ); | ||
| } else { | ||
| // browser global | ||
| window.classie = classie; | ||
| } | ||
|
|
||
| })( window ); |
| @@ -0,0 +1,92 @@ | ||
| /** | ||
| * gnmenu.js v1.0.0 | ||
| * http://www.codrops.com | ||
| * | ||
| * Licensed under the MIT license. | ||
| * http://www.opensource.org/licenses/mit-license.php | ||
| * | ||
| * Copyright 2013, Codrops | ||
| * http://www.codrops.com | ||
| */ | ||
| ;( function( window ) { | ||
|
|
||
| 'use strict'; | ||
|
|
||
| // http://stackoverflow.com/a/11381730/989439 | ||
| function mobilecheck() { | ||
| var check = false; | ||
| (function(a){if(/(android|ipad|playbook|silk|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera); | ||
| return check; | ||
| } | ||
|
|
||
| function gnMenu( el, options ) { | ||
| this.el = el; | ||
| this._init(); | ||
| } | ||
|
|
||
| gnMenu.prototype = { | ||
| _init : function() { | ||
| this.trigger = this.el.querySelector( 'a.gn-icon-menu' ); | ||
| this.menu = this.el.querySelector( 'nav.gn-menu-wrapper' ); | ||
| this.isMenuOpen = false; | ||
| this.eventtype = mobilecheck() ? 'touchstart' : 'click'; | ||
| this._initEvents(); | ||
|
|
||
| var self = this; | ||
| this.bodyClickFn = function() { | ||
| self._closeMenu(); | ||
| this.removeEventListener( self.eventtype, self.bodyClickFn ); | ||
| }; | ||
| }, | ||
| _initEvents : function() { | ||
| var self = this; | ||
|
|
||
| if( !mobilecheck() ) { | ||
| this.trigger.addEventListener( 'mouseover', function(ev) { self._openIconMenu(); } ); | ||
| this.trigger.addEventListener( 'mouseout', function(ev) { self._closeIconMenu(); } ); | ||
|
|
||
| this.menu.addEventListener( 'mouseover', function(ev) { | ||
| self._openMenu(); | ||
| document.addEventListener( self.eventtype, self.bodyClickFn ); | ||
| } ); | ||
| } | ||
| this.trigger.addEventListener( this.eventtype, function( ev ) { | ||
| ev.stopPropagation(); | ||
| ev.preventDefault(); | ||
| if( self.isMenuOpen ) { | ||
| self._closeMenu(); | ||
| document.removeEventListener( self.eventtype, self.bodyClickFn ); | ||
| } | ||
| else { | ||
| self._openMenu(); | ||
| document.addEventListener( self.eventtype, self.bodyClickFn ); | ||
| } | ||
| } ); | ||
| this.menu.addEventListener( this.eventtype, function(ev) { ev.stopPropagation(); } ); | ||
| }, | ||
| _openIconMenu : function() { | ||
| classie.add( this.menu, 'gn-open-part' ); | ||
| }, | ||
| _closeIconMenu : function() { | ||
| classie.remove( this.menu, 'gn-open-part' ); | ||
| }, | ||
| _openMenu : function() { | ||
| if( this.isMenuOpen ) return; | ||
| classie.add( this.trigger, 'gn-selected' ); | ||
| this.isMenuOpen = true; | ||
| classie.add( this.menu, 'gn-open-all' ); | ||
| this._closeIconMenu(); | ||
| }, | ||
| _closeMenu : function() { | ||
| if( !this.isMenuOpen ) return; | ||
| classie.remove( this.trigger, 'gn-selected' ); | ||
| this.isMenuOpen = false; | ||
| classie.remove( this.menu, 'gn-open-all' ); | ||
| this._closeIconMenu(); | ||
| } | ||
| } | ||
|
|
||
| // add to global namespace | ||
| window.gnMenu = gnMenu; | ||
|
|
||
| } )( window ); |
| @@ -0,0 +1,16 @@ | ||
| $(function() { | ||
| $('a[href*=#]:not([href=#])').click(function() { | ||
| if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { | ||
|
|
||
| var target = $(this.hash); | ||
| target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); | ||
| if (target.length) { | ||
| $('html,body').animate({ | ||
| scrollTop: target.offset().top | ||
| }, 1000); | ||
| return false; | ||
| } | ||
| } | ||
| this.toggleClass("active"); | ||
| }); | ||
| }); |
| @@ -0,0 +1,9 @@ | ||
| $(".navitem").click(function(e) { | ||
| e.preventDefault(); | ||
| $("#sidebar-wrapper").toggleClass("active"); | ||
| }); | ||
|
|
||
| $("#menu-toggle").click(function(e) { | ||
| e.preventDefault(); | ||
| $("#sidebar-wrapper").toggleClass("active"); | ||
| }); |
| @@ -0,0 +1,333 @@ | ||
| // The MIT License (MIT) | ||
|
|
||
| // Typed.js | Copyright (c) 2014 Matt Boldt | www.mattboldt.com | ||
|
|
||
| // Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| // of this software and associated documentation files (the "Software"), to deal | ||
| // in the Software without restriction, including without limitation the rights | ||
| // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| // copies of the Software, and to permit persons to whom the Software is | ||
| // furnished to do so, subject to the following conditions: | ||
|
|
||
| // The above copyright notice and this permission notice shall be included in | ||
| // all copies or substantial portions of the Software. | ||
|
|
||
| // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
| // THE SOFTWARE. | ||
|
|
||
|
|
||
|
|
||
|
|
||
| !function($){ | ||
|
|
||
| "use strict"; | ||
|
|
||
| var Typed = function(el, options){ | ||
|
|
||
| // chosen element to manipulate text | ||
| this.el = $(el); | ||
|
|
||
| // options | ||
| this.options = $.extend({}, $.fn.typed.defaults, options); | ||
|
|
||
| // text content of element | ||
| this.baseText = this.el.text() || this.el.attr('placeholder') || ''; | ||
|
|
||
| // typing speed | ||
| this.typeSpeed = this.options.typeSpeed; | ||
|
|
||
| // add a delay before typing starts | ||
| this.startDelay = this.options.startDelay; | ||
|
|
||
| // backspacing speed | ||
| this.backSpeed = this.options.backSpeed; | ||
|
|
||
| // amount of time to wait before backspacing | ||
| this.backDelay = this.options.backDelay; | ||
|
|
||
| // input strings of text | ||
| this.strings = this.options.strings; | ||
|
|
||
| // character number position of current string | ||
| this.strPos = 0; | ||
|
|
||
| // current array position | ||
| this.arrayPos = 0; | ||
|
|
||
| // number to stop backspacing on. | ||
| // default 0, can change depending on how many chars | ||
| // you want to remove at the time | ||
| this.stopNum = 0; | ||
|
|
||
| // Looping logic | ||
| this.loop = this.options.loop; | ||
| this.loopCount = this.options.loopCount; | ||
| this.curLoop = 0; | ||
|
|
||
| // for stopping | ||
| this.stop = false; | ||
|
|
||
| // show cursor | ||
| this.showCursor = this.isInput ? false : this.options.showCursor; | ||
|
|
||
| // custom cursor | ||
| this.cursorChar = this.options.cursorChar; | ||
|
|
||
| // attribute to type | ||
| this.isInput = this.el.is('input'); | ||
| this.attr = this.options.attr || (this.isInput ? 'placeholder' : null); | ||
|
|
||
| // All systems go! | ||
| this.build(); | ||
| }; | ||
|
|
||
| Typed.prototype = { | ||
|
|
||
| constructor: Typed | ||
|
|
||
| , init: function(){ | ||
| // begin the loop w/ first current string (global self.string) | ||
| // current string will be passed as an argument each time after this | ||
| var self = this; | ||
| self.timeout = setTimeout(function() { | ||
| // Start typing | ||
| self.typewrite(self.strings[self.arrayPos], self.strPos); | ||
| }, self.startDelay); | ||
| } | ||
|
|
||
| , build: function(){ | ||
| // Insert cursor | ||
| if (this.showCursor === true){ | ||
| this.cursor = $("<span class=\"typed-cursor\">" + this.cursorChar + "</span>"); | ||
| this.el.after(this.cursor); | ||
| } | ||
| this.init(); | ||
| } | ||
|
|
||
| // pass current string state to each function, types 1 char per call | ||
| , typewrite: function(curString, curStrPos){ | ||
| // exit when stopped | ||
| if(this.stop === true) | ||
| return; | ||
|
|
||
| // varying values for setTimeout during typing | ||
| // can't be global since number changes each time loop is executed | ||
| var humanize = Math.round(Math.random() * (100 - 30)) + this.typeSpeed; | ||
| var self = this; | ||
|
|
||
| // ------------- optional ------------- // | ||
| // backpaces a certain string faster | ||
| // ------------------------------------ // | ||
| // if (self.arrayPos == 1){ | ||
| // self.backDelay = 50; | ||
| // } | ||
| // else{ self.backDelay = 500; } | ||
|
|
||
| // contain typing function in a timeout humanize'd delay | ||
| self.timeout = setTimeout(function() { | ||
| // check for an escape character before a pause value | ||
| // format: \^\d+ .. eg: ^1000 .. should be able to print the ^ too using ^^ | ||
| // single ^ are removed from string | ||
| var charPause = 0; | ||
| var substr = curString.substr(curStrPos); | ||
| if (substr.charAt(0) === '^') { | ||
| var skip = 1; // skip atleast 1 | ||
| if(/^\^\d+/.test(substr)) { | ||
| substr = /\d+/.exec(substr)[0]; | ||
| skip += substr.length; | ||
| charPause = parseInt(substr); | ||
| } | ||
|
|
||
| // strip out the escape character and pause value so they're not printed | ||
| curString = curString.substring(0,curStrPos)+curString.substring(curStrPos+skip); | ||
| } | ||
|
|
||
| // timeout for any pause after a character | ||
| self.timeout = setTimeout(function() { | ||
| if(curStrPos === curString.length) { | ||
| // fires callback function | ||
| self.options.onStringTyped(self.arrayPos); | ||
|
|
||
| // is this the final string | ||
| if(self.arrayPos === self.strings.length-1) { | ||
| // animation that occurs on the last typed string | ||
| self.options.callback(); | ||
|
|
||
| self.curLoop++; | ||
|
|
||
| // quit if we wont loop back | ||
| if(self.loop === false || self.curLoop === self.loopCount) | ||
| return; | ||
| } | ||
|
|
||
| self.timeout = setTimeout(function(){ | ||
| self.backspace(curString, curStrPos); | ||
| }, self.backDelay); | ||
| } else { | ||
|
|
||
| /* call before functions if applicable */ | ||
| if(curStrPos === 0) | ||
| self.options.preStringTyped(self.arrayPos); | ||
|
|
||
| // start typing each new char into existing string | ||
| // curString: arg, self.baseText: original text inside element | ||
| var nextString = self.baseText + curString.substr(0, curStrPos+1); | ||
| if (self.attr) { | ||
| self.el.attr(self.attr, nextString); | ||
| } else { | ||
| self.el.text(nextString); | ||
| } | ||
|
|
||
| // add characters one by one | ||
| curStrPos++; | ||
| // loop the function | ||
| self.typewrite(curString, curStrPos); | ||
| } | ||
| // end of character pause | ||
| }, charPause); | ||
|
|
||
| // humanized value for typing | ||
| }, humanize); | ||
|
|
||
| } | ||
|
|
||
| , backspace: function(curString, curStrPos){ | ||
| // exit when stopped | ||
| if (this.stop === true) { | ||
| return; | ||
| } | ||
|
|
||
| // varying values for setTimeout during typing | ||
| // can't be global since number changes each time loop is executed | ||
| var humanize = Math.round(Math.random() * (100 - 30)) + this.backSpeed; | ||
| var self = this; | ||
|
|
||
| self.timeout = setTimeout(function() { | ||
|
|
||
| // ----- this part is optional ----- // | ||
| // check string array position | ||
| // on the first string, only delete one word | ||
| // the stopNum actually represents the amount of chars to | ||
| // keep in the current string. In my case it's 14. | ||
| // if (self.arrayPos == 1){ | ||
| // self.stopNum = 14; | ||
| // } | ||
| //every other time, delete the whole typed string | ||
| // else{ | ||
| // self.stopNum = 0; | ||
| // } | ||
|
|
||
| // ----- continue important stuff ----- // | ||
| // replace text with base text + typed characters | ||
| var nextString = self.baseText + curString.substr(0, curStrPos); | ||
| if (self.attr) { | ||
| self.el.attr(self.attr, nextString); | ||
| } else { | ||
| self.el.text(nextString); | ||
| } | ||
|
|
||
| // if the number (id of character in current string) is | ||
| // less than the stop number, keep going | ||
| if (curStrPos > self.stopNum){ | ||
| // subtract characters one by one | ||
| curStrPos--; | ||
| // loop the function | ||
| self.backspace(curString, curStrPos); | ||
| } | ||
| // if the stop number has been reached, increase | ||
| // array position to next string | ||
| else if (curStrPos <= self.stopNum) { | ||
| self.arrayPos++; | ||
|
|
||
| if(self.arrayPos === self.strings.length) { | ||
| self.arrayPos = 0; | ||
| self.init(); | ||
| } else | ||
| self.typewrite(self.strings[self.arrayPos], curStrPos); | ||
| } | ||
|
|
||
| // humanized value for typing | ||
| }, humanize); | ||
|
|
||
| } | ||
|
|
||
| // Start & Stop currently not working | ||
|
|
||
| // , stop: function() { | ||
| // var self = this; | ||
|
|
||
| // self.stop = true; | ||
| // clearInterval(self.timeout); | ||
| // } | ||
|
|
||
| // , start: function() { | ||
| // var self = this; | ||
| // if(self.stop === false) | ||
| // return; | ||
|
|
||
| // this.stop = false; | ||
| // this.init(); | ||
| // } | ||
|
|
||
| // Reset and rebuild the element | ||
| , reset: function(){ | ||
| var self = this; | ||
| clearInterval(self.timeout); | ||
| var id = this.el.attr('id'); | ||
| this.el.after('<span id="' + id + '"/>') | ||
| this.el.remove(); | ||
| this.cursor.remove(); | ||
| // Send the callback | ||
| self.options.resetCallback(); | ||
| } | ||
|
|
||
| }; | ||
|
|
||
| $.fn.typed = function (option) { | ||
| return this.each(function () { | ||
| var $this = $(this) | ||
| , data = $this.data('typed') | ||
| , options = typeof option == 'object' && option; | ||
| if (!data) $this.data('typed', (data = new Typed(this, options))); | ||
| if (typeof option == 'string') data[option](); | ||
| }); | ||
| }; | ||
|
|
||
| $.fn.typed.defaults = { | ||
| strings: ["These are the default values...", "You know what you should do?", "Use your own!", "Have a great day!"], | ||
| // typing speed | ||
| typeSpeed: 0, | ||
| // time before typing starts | ||
| startDelay: 0, | ||
| // backspacing speed | ||
| backSpeed: 0, | ||
| // time before backspacing | ||
| backDelay: 500, | ||
| // loop | ||
| loop: false, | ||
| // false = infinite | ||
| loopCount: false, | ||
| // show cursor | ||
| showCursor: true, | ||
| // character for cursor | ||
| cursorChar: "|", | ||
| // attribute to type (null == text) | ||
| attr: null, | ||
| // call when done callback function | ||
| callback: function() {}, | ||
| // starting callback function before each string | ||
| preStringTyped: function() {}, | ||
| //callback for every typed string | ||
| onStringTyped: function() {}, | ||
| // callback for reset | ||
| resetCallback: function() {} | ||
| }; | ||
|
|
||
|
|
||
| }(window.jQuery); | ||
|
|
| @@ -0,0 +1,16 @@ | ||
| // Bordered & Pulled | ||
| // ------------------------- | ||
|
|
||
| .@{fa-css-prefix}-border { | ||
| padding: .2em .25em .15em; | ||
| border: solid .08em @fa-border-color; | ||
| border-radius: .1em; | ||
| } | ||
|
|
||
| .pull-right { float: right; } | ||
| .pull-left { float: left; } | ||
|
|
||
| .@{fa-css-prefix} { | ||
| &.pull-left { margin-right: .3em; } | ||
| &.pull-right { margin-left: .3em; } | ||
| } |
| @@ -0,0 +1,12 @@ | ||
| // Base Class Definition | ||
| // ------------------------- | ||
|
|
||
| .@{fa-css-prefix} { | ||
| display: inline-block; | ||
| font-family: FontAwesome; | ||
| font-style: normal; | ||
| font-weight: normal; | ||
| line-height: 1; | ||
| -webkit-font-smoothing: antialiased; | ||
| -moz-osx-font-smoothing: grayscale; | ||
| } |
| @@ -0,0 +1,6 @@ | ||
| // Fixed Width Icons | ||
| // ------------------------- | ||
| .@{fa-css-prefix}-fw { | ||
| width: (18em / 14); | ||
| text-align: center; | ||
| } |
| @@ -0,0 +1,17 @@ | ||
| /*! | ||
| * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome | ||
| * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) | ||
| */ | ||
|
|
||
| @import "variables.less"; | ||
| @import "mixins.less"; | ||
| @import "path.less"; | ||
| @import "core.less"; | ||
| @import "larger.less"; | ||
| @import "fixed-width.less"; | ||
| @import "list.less"; | ||
| @import "bordered-pulled.less"; | ||
| @import "spinning.less"; | ||
| @import "rotated-flipped.less"; | ||
| @import "stacked.less"; | ||
| @import "icons.less"; |
| @@ -0,0 +1,13 @@ | ||
| // Icon Sizes | ||
| // ------------------------- | ||
|
|
||
| /* makes the font 33% larger relative to the icon container */ | ||
| .@{fa-css-prefix}-lg { | ||
| font-size: (4em / 3); | ||
| line-height: (3em / 4); | ||
| vertical-align: -15%; | ||
| } | ||
| .@{fa-css-prefix}-2x { font-size: 2em; } | ||
| .@{fa-css-prefix}-3x { font-size: 3em; } | ||
| .@{fa-css-prefix}-4x { font-size: 4em; } | ||
| .@{fa-css-prefix}-5x { font-size: 5em; } |
| @@ -0,0 +1,19 @@ | ||
| // List Icons | ||
| // ------------------------- | ||
|
|
||
| .@{fa-css-prefix}-ul { | ||
| padding-left: 0; | ||
| margin-left: @fa-li-width; | ||
| list-style-type: none; | ||
| > li { position: relative; } | ||
| } | ||
| .@{fa-css-prefix}-li { | ||
| position: absolute; | ||
| left: -@fa-li-width; | ||
| width: @fa-li-width; | ||
| top: (2em / 14); | ||
| text-align: center; | ||
| &.@{fa-css-prefix}-lg { | ||
| left: -@fa-li-width + (4em / 14); | ||
| } | ||
| } |
| @@ -0,0 +1,20 @@ | ||
| // Mixins | ||
| // -------------------------- | ||
|
|
||
| .fa-icon-rotate(@degrees, @rotation) { | ||
| filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); | ||
| -webkit-transform: rotate(@degrees); | ||
| -moz-transform: rotate(@degrees); | ||
| -ms-transform: rotate(@degrees); | ||
| -o-transform: rotate(@degrees); | ||
| transform: rotate(@degrees); | ||
| } | ||
|
|
||
| .fa-icon-flip(@horiz, @vert, @rotation) { | ||
| filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); | ||
| -webkit-transform: scale(@horiz, @vert); | ||
| -moz-transform: scale(@horiz, @vert); | ||
| -ms-transform: scale(@horiz, @vert); | ||
| -o-transform: scale(@horiz, @vert); | ||
| transform: scale(@horiz, @vert); | ||
| } |
| @@ -0,0 +1,14 @@ | ||
| /* FONT PATH | ||
| * -------------------------- */ | ||
|
|
||
| @font-face { | ||
| font-family: 'FontAwesome'; | ||
| src: ~"url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}')"; | ||
| src: ~"url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype')", | ||
| ~"url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff')", | ||
| ~"url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype')", | ||
| ~"url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg')"; | ||
| // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts | ||
| font-weight: normal; | ||
| font-style: normal; | ||
| } |
| @@ -0,0 +1,9 @@ | ||
| // Rotated & Flipped Icons | ||
| // ------------------------- | ||
|
|
||
| .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } | ||
| .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } | ||
| .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } | ||
|
|
||
| .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } | ||
| .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } |
| @@ -0,0 +1,32 @@ | ||
| // Spinning Icons | ||
| // -------------------------- | ||
|
|
||
| .@{fa-css-prefix}-spin { | ||
| -webkit-animation: spin 2s infinite linear; | ||
| -moz-animation: spin 2s infinite linear; | ||
| -o-animation: spin 2s infinite linear; | ||
| animation: spin 2s infinite linear; | ||
| } | ||
|
|
||
| @-moz-keyframes spin { | ||
| 0% { -moz-transform: rotate(0deg); } | ||
| 100% { -moz-transform: rotate(359deg); } | ||
| } | ||
| @-webkit-keyframes spin { | ||
| 0% { -webkit-transform: rotate(0deg); } | ||
| 100% { -webkit-transform: rotate(359deg); } | ||
| } | ||
| @-o-keyframes spin { | ||
| 0% { -o-transform: rotate(0deg); } | ||
| 100% { -o-transform: rotate(359deg); } | ||
| } | ||
| @keyframes spin { | ||
| 0% { | ||
| -webkit-transform: rotate(0deg); | ||
| transform: rotate(0deg); | ||
| } | ||
| 100% { | ||
| -webkit-transform: rotate(359deg); | ||
| transform: rotate(359deg); | ||
| } | ||
| } |
| @@ -0,0 +1,20 @@ | ||
| // Stacked Icons | ||
| // ------------------------- | ||
|
|
||
| .@{fa-css-prefix}-stack { | ||
| position: relative; | ||
| display: inline-block; | ||
| width: 2em; | ||
| height: 2em; | ||
| line-height: 2em; | ||
| vertical-align: middle; | ||
| } | ||
| .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { | ||
| position: absolute; | ||
| left: 0; | ||
| width: 100%; | ||
| text-align: center; | ||
| } | ||
| .@{fa-css-prefix}-stack-1x { line-height: inherit; } | ||
| .@{fa-css-prefix}-stack-2x { font-size: 2em; } | ||
| .@{fa-css-prefix}-inverse { color: @fa-inverse; } |
| @@ -0,0 +1,16 @@ | ||
| // Bordered & Pulled | ||
| // ------------------------- | ||
|
|
||
| .#{$fa-css-prefix}-border { | ||
| padding: .2em .25em .15em; | ||
| border: solid .08em $fa-border-color; | ||
| border-radius: .1em; | ||
| } | ||
|
|
||
| .pull-right { float: right; } | ||
| .pull-left { float: left; } | ||
|
|
||
| .#{$fa-css-prefix} { | ||
| &.pull-left { margin-right: .3em; } | ||
| &.pull-right { margin-left: .3em; } | ||
| } |
| @@ -0,0 +1,12 @@ | ||
| // Base Class Definition | ||
| // ------------------------- | ||
|
|
||
| .#{$fa-css-prefix} { | ||
| display: inline-block; | ||
| font-family: FontAwesome; | ||
| font-style: normal; | ||
| font-weight: normal; | ||
| line-height: 1; | ||
| -webkit-font-smoothing: antialiased; | ||
| -moz-osx-font-smoothing: grayscale; | ||
| } |
| @@ -0,0 +1,6 @@ | ||
| // Fixed Width Icons | ||
| // ------------------------- | ||
| .#{$fa-css-prefix}-fw { | ||
| width: (18em / 14); | ||
| text-align: center; | ||
| } |
| @@ -0,0 +1,13 @@ | ||
| // Icon Sizes | ||
| // ------------------------- | ||
|
|
||
| /* makes the font 33% larger relative to the icon container */ | ||
| .#{$fa-css-prefix}-lg { | ||
| font-size: (4em / 3); | ||
| line-height: (3em / 4); | ||
| vertical-align: -15%; | ||
| } | ||
| .#{$fa-css-prefix}-2x { font-size: 2em; } | ||
| .#{$fa-css-prefix}-3x { font-size: 3em; } | ||
| .#{$fa-css-prefix}-4x { font-size: 4em; } | ||
| .#{$fa-css-prefix}-5x { font-size: 5em; } |
| @@ -0,0 +1,19 @@ | ||
| // List Icons | ||
| // ------------------------- | ||
|
|
||
| .#{$fa-css-prefix}-ul { | ||
| padding-left: 0; | ||
| margin-left: $fa-li-width; | ||
| list-style-type: none; | ||
| > li { position: relative; } | ||
| } | ||
| .#{$fa-css-prefix}-li { | ||
| position: absolute; | ||
| left: -$fa-li-width; | ||
| width: $fa-li-width; | ||
| top: (2em / 14); | ||
| text-align: center; | ||
| &.#{$fa-css-prefix}-lg { | ||
| left: -$fa-li-width + (4em / 14); | ||
| } | ||
| } |
| @@ -0,0 +1,20 @@ | ||
| // Mixins | ||
| // -------------------------- | ||
|
|
||
| @mixin fa-icon-rotate($degrees, $rotation) { | ||
| filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); | ||
| -webkit-transform: rotate($degrees); | ||
| -moz-transform: rotate($degrees); | ||
| -ms-transform: rotate($degrees); | ||
| -o-transform: rotate($degrees); | ||
| transform: rotate($degrees); | ||
| } | ||
|
|
||
| @mixin fa-icon-flip($horiz, $vert, $rotation) { | ||
| filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); | ||
| -webkit-transform: scale($horiz, $vert); | ||
| -moz-transform: scale($horiz, $vert); | ||
| -ms-transform: scale($horiz, $vert); | ||
| -o-transform: scale($horiz, $vert); | ||
| transform: scale($horiz, $vert); | ||
| } |
| @@ -0,0 +1,14 @@ | ||
| /* FONT PATH | ||
| * -------------------------- */ | ||
|
|
||
| @font-face { | ||
| font-family: 'FontAwesome'; | ||
| src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); | ||
| src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), | ||
| url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), | ||
| url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), | ||
| url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); | ||
| //src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts | ||
| font-weight: normal; | ||
| font-style: normal; | ||
| } |
| @@ -0,0 +1,9 @@ | ||
| // Rotated & Flipped Icons | ||
| // ------------------------- | ||
|
|
||
| .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } | ||
| .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } | ||
| .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } | ||
|
|
||
| .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } | ||
| .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } |
| @@ -0,0 +1,32 @@ | ||
| // Spinning Icons | ||
| // -------------------------- | ||
|
|
||
| .#{$fa-css-prefix}-spin { | ||
| -webkit-animation: spin 2s infinite linear; | ||
| -moz-animation: spin 2s infinite linear; | ||
| -o-animation: spin 2s infinite linear; | ||
| animation: spin 2s infinite linear; | ||
| } | ||
|
|
||
| @-moz-keyframes spin { | ||
| 0% { -moz-transform: rotate(0deg); } | ||
| 100% { -moz-transform: rotate(359deg); } | ||
| } | ||
| @-webkit-keyframes spin { | ||
| 0% { -webkit-transform: rotate(0deg); } | ||
| 100% { -webkit-transform: rotate(359deg); } | ||
| } | ||
| @-o-keyframes spin { | ||
| 0% { -o-transform: rotate(0deg); } | ||
| 100% { -o-transform: rotate(359deg); } | ||
| } | ||
| @keyframes spin { | ||
| 0% { | ||
| -webkit-transform: rotate(0deg); | ||
| transform: rotate(0deg); | ||
| } | ||
| 100% { | ||
| -webkit-transform: rotate(359deg); | ||
| transform: rotate(359deg); | ||
| } | ||
| } |
| @@ -0,0 +1,20 @@ | ||
| // Stacked Icons | ||
| // ------------------------- | ||
|
|
||
| .#{$fa-css-prefix}-stack { | ||
| position: relative; | ||
| display: inline-block; | ||
| width: 2em; | ||
| height: 2em; | ||
| line-height: 2em; | ||
| vertical-align: middle; | ||
| } | ||
| .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { | ||
| position: absolute; | ||
| left: 0; | ||
| width: 100%; | ||
| text-align: center; | ||
| } | ||
| .#{$fa-css-prefix}-stack-1x { line-height: inherit; } | ||
| .#{$fa-css-prefix}-stack-2x { font-size: 2em; } | ||
| .#{$fa-css-prefix}-inverse { color: $fa-inverse; } |
| @@ -0,0 +1,17 @@ | ||
| /*! | ||
| * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome | ||
| * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) | ||
| */ | ||
|
|
||
| @import "variables"; | ||
| @import "mixins"; | ||
| @import "path"; | ||
| @import "core"; | ||
| @import "larger"; | ||
| @import "fixed-width"; | ||
| @import "list"; | ||
| @import "bordered-pulled"; | ||
| @import "spinning"; | ||
| @import "rotated-flipped"; | ||
| @import "stacked"; | ||
| @import "icons"; |
| @@ -0,0 +1,85 @@ | ||
|
|
||
| <br><br> | ||
| <h1><strong><a href="//andykamath.com/BlueWebsite">Blue</a></strong></h1> | ||
| <h2>Skills utilized: Bootstrap framework for HTML, jQuery.js, HTML5, CSS, and Javascript</h2> | ||
| <p>This website was made as a template for restaurants that would potentially want a website</p> | ||
| <br><br> | ||
| <h1><strong><a href="https://www.youtube.com/watch?v=1e3-3rNt5rE">Chucky</a></strong></h1> | ||
| <h2>Skills utilized: C#, Azure, SQL Server</h2> | ||
| <p>A simple desktop assistant</p> | ||
| <br><br> | ||
| <h1><strong><a href="//github.com/andykamath/iluvyoumommy">I Love You Mommy</a></strong></h1> | ||
| <h2>Skills utilized: C# for Windows Phone 8/8.1, XAML</h2> | ||
| <p>Comes up with pre-made texts to automatically respond to your mother when she texts you</p> | ||
| <br><br> | ||
| <h1><strong><a href="//andykamath.com/instagram">Instagram Collater</a></strong></h1> | ||
| <h2>Skills utilized: Instagram JS API, Instafeed.js, Bootstrap framework for HTML, jQuery.js, HTML5, CSS, and Javascript</h2> | ||
| <p>This website collates all your Instagram posts into a nice website</p> | ||
| <br><br> | ||
| <h1><strong><a href="//github.com/andykamath/MORGAN">MORGAN</a></strong></h1> | ||
| <h2>Skills utilized: C#</h2> | ||
| <p>My first real program made for a science fair</p> | ||
| <br><br> | ||
| <h1><strong><a href="//github.com/andykamath/passwords">Passwords</a></strong></h1> | ||
| <h2>Skills utilized: C#, Cryptography</h2> | ||
| <p>A C# Console application used to encrypt, decrypt, and manage passwords</p> | ||
| <br><br> | ||
| <h1><strong><a href="//phsjcl.com">Providence JCL</a></strong></h1> | ||
| <h2>Skills utilized: Bootstrap framework for HTML, jQuery.js, HTML5, CSS, and Javascript</h2> | ||
| <p>This website was made for my school's Junior Classical League, or Latin Club, again of which I was appointed Webmaster</p> | ||
| <br><br> | ||
| <a href="//andykamath.com/phstsa"><h1><strong>Providence TSA</strong></h1></a> | ||
| <h2>Skills utilized: Metro-Bootstrap framework for HTML, jQuery.js, HTML5, CSS, and Javascript</h2> | ||
| <p><a href="//andykamath.com/phstsa">This website</a> was made for my school's Technology Students Association, of which I am participating in the Webmaster and Software Development categories to further improve my skills and maybe earn awards</p> | ||
| <br><br> | ||
| <h1><strong><a href="//andykamath.com/stopthebullying">Stop The Bullying</a></strong></h1> | ||
| <h2>Skills utilized: Bootstrap framework for HTML, jQuery.js, HTML5, CSS, and Javascript</h2> | ||
| <p>The week before Winter Break, there was a threat to our school that made it seem like the suspect was bullied. I made this website to help people come up with ways to reduce bullying in schools</p> | ||
| <br><br> | ||
| <h1><strong><a href="//github.com/andykamath/TaskHat">TaskHat</a></strong></h1> | ||
| <h2>Skills utilized: C#, System.IO class to read/write from Text File</h2> | ||
| <p>Made to manage tasks easily - and then pick a random task when you want one</p> | ||
| <br><br> | ||
| </div> | ||
| </div> | ||
| <div class="contactme"> | ||
| <h1>Contact me!</h1> | ||
| <p>Email: andy@hackgician.net</p> | ||
| <a href="//github.com/andykamath">Github</a> | ||
| <a href="//youtube.com/MrCandonce">YouTube</a> | ||
| <a href="//medium.com/@andykamath">Blog</a> | ||
| <a href="//instagram.com/baendy">Instagram</a> | ||
| <a href="//twitter.com/baesedandy">Twitter</a> | ||
| </div> | ||
| </div> | ||
| <script type="text/javascript"> | ||
| $("#loader").show(); | ||
| $("#wholething").hide(); | ||
| $(window).load(function() { | ||
| $("#loader").hide(); | ||
| $("#wholething").show(); | ||
| }); | ||
| $(function() { | ||
| $('a[href*=#]:not([href=#])').click(function() { | ||
| if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { | ||
| var target = $(this.hash); | ||
| target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); | ||
| if (target.length) { | ||
| $('html,body').animate({ | ||
| scrollTop: target.offset().top | ||
| }, 1000); | ||
| return false; | ||
| } | ||
| } | ||
| }); | ||
| }); | ||
| var text = ['I\'m a sophomore', 'I\'m a full-stack web developer', 'I\'m an Entrepreneur', 'I\'m a .NET developer', 'I\'m a musician', 'I\'m a mathematician', 'I\'m a scientist', 'I\'m pentalingual']; | ||
| i = 0, | ||
|
|
||
| setInterval(function () | ||
| { | ||
| $("#about").text(text[i++ % text.length]); | ||
| }, 1000); | ||
| </script> | ||
| </body> | ||
| </html> |