{{ post.title }}
11 |{{ post.content | strip_html | truncate: 250 }} continue reading
12 |├── _sass
├── modules
│ ├── _all.scss
│ └── _utility.scss
├── partials
│ ├── _latest-news.scss
│ ├── _about.scss
│ ├── _team.scss
│ ├── _buttons.scss
│ ├── _prizes.scss
│ ├── _statistic.scss
│ ├── _partners.scss
│ ├── _hackathon-location.scss
│ ├── _subscribe.scss
│ ├── _location-map.scss
│ ├── _top-section.scss
│ ├── _judges.scss
│ ├── _twitter-feed.scss
│ ├── _rockstar-speakers.scss
│ ├── _footer.scss
│ ├── _about-hackathon.scss
│ ├── _direction-details.scss
│ ├── _blog.scss
│ ├── _sprites.scss
│ ├── _base.scss
│ ├── _hero.scss
│ ├── _venue.scss
│ ├── _ribbon.scss
│ └── _tickets-2.scss
├── vendor
│ ├── bootstrap
│ │ ├── mixins
│ │ │ ├── _center-block.scss
│ │ │ ├── _opacity.scss
│ │ │ ├── _size.scss
│ │ │ ├── _text-overflow.scss
│ │ │ ├── _tab-focus.scss
│ │ │ ├── _resize.scss
│ │ │ ├── _labels.scss
│ │ │ ├── _text-emphasis.scss
│ │ │ ├── _progress-bar.scss
│ │ │ ├── _background-variant.scss
│ │ │ ├── _reset-filter.scss
│ │ │ ├── _nav-divider.scss
│ │ │ ├── _alerts.scss
│ │ │ ├── _nav-vertical-align.scss
│ │ │ ├── _pagination.scss
│ │ │ ├── _border-radius.scss
│ │ │ ├── _responsive-visibility.scss
│ │ │ ├── _panels.scss
│ │ │ ├── _hide-text.scss
│ │ │ ├── _clearfix.scss
│ │ │ ├── _list-group.scss
│ │ │ ├── _table-row.scss
│ │ │ ├── _buttons.scss
│ │ │ └── _image.scss
│ │ ├── _wells.scss
│ │ ├── _breadcrumbs.scss
│ │ ├── _responsive-embed.scss
│ │ ├── _close.scss
│ │ ├── _component-animations.scss
│ │ ├── _utilities.scss
│ │ ├── _media.scss
│ │ ├── _thumbnails.scss
│ │ ├── _pager.scss
│ │ ├── _mixins.scss
│ │ ├── _jumbotron.scss
│ │ ├── _labels.scss
│ │ ├── _badges.scss
│ │ ├── _code.scss
│ │ ├── _grid.scss
│ │ ├── _alerts.scss
│ │ └── _progress-bars.scss
│ ├── animations
│ │ ├── fade-enter
│ │ │ ├── _fadeIn.scss
│ │ │ ├── _fadeInUp.scss
│ │ │ ├── _fadeInDown.scss
│ │ │ ├── _fadeInRight.scss
│ │ │ ├── _fadeInLeft.scss
│ │ │ ├── _fadeInUpBig.scss
│ │ │ ├── _fadeInDownBig.scss
│ │ │ ├── _fadeInRightBig.scss
│ │ │ └── _fadeInLeftBig.scss
│ │ ├── fade-exit
│ │ │ ├── _fadeOut.scss
│ │ │ ├── _fadeOutUp.scss
│ │ │ ├── _fadeOutDown.scss
│ │ │ ├── _fadeOutLeft.scss
│ │ │ ├── _fadeOutRight.scss
│ │ │ ├── _fadeOutUpBig.scss
│ │ │ ├── _fadeOutDownBig.scss
│ │ │ ├── _fadeOutLeftBig.scss
│ │ │ └── _fadeOutRightBig.scss
│ │ ├── attention-seekers
│ │ │ ├── _flash.scss
│ │ │ ├── _pulse.scss
│ │ │ ├── _bounce.scss
│ │ │ ├── _shake.scss
│ │ │ ├── _swing.scss
│ │ │ ├── _tada.scss
│ │ │ └── _wobble.scss
│ │ ├── special
│ │ │ ├── _rollIn.scss
│ │ │ └── _rollOut.scss
│ │ ├── lightspeed
│ │ │ ├── _lightSpeedOut.scss
│ │ │ └── _lightSpeedIn.scss
│ │ ├── flippers
│ │ │ ├── _flipOutY.scss
│ │ │ ├── _flipOutX.scss
│ │ │ └── _flipInY.scss
│ │ ├── rotate-exit
│ │ │ ├── _rotateOutUpRight.scss
│ │ │ ├── _rotateOut.scss
│ │ │ ├── _rotateOutDownLeft.scss
│ │ │ ├── _rotateOutUpLeft.scss
│ │ │ └── _rotateOutDownRight.scss
│ │ ├── rotate-enter
│ │ │ ├── _rotateIn.scss
│ │ │ ├── _rotateInUpLeft.scss
│ │ │ ├── _rotateInDownLeft.scss
│ │ │ ├── _rotateInUpRight.scss
│ │ │ └── _rotateInDownRight.scss
│ │ ├── bounce-exit
│ │ │ ├── _bounceOutUp.scss
│ │ │ ├── _bounceOutDown.scss
│ │ │ ├── _bounceOutLeft.scss
│ │ │ ├── _bounceOutRight.scss
│ │ │ └── _bounceOut.scss
│ │ └── bounce-enter
│ │ │ ├── _bounceIn.scss
│ │ │ ├── _bounceInRight.scss
│ │ │ ├── _bounceInUp.scss
│ │ │ ├── _bounceInDown.scss
│ │ │ └── _bounceInLeft.scss
│ └── _bootstrap-custom.scss
├── remove-all-comments-monkey-patch.rb
├── config.rb
└── main.scss
├── img
├── posts
│ └── cod.jpg
├── sprites
│ ├── logos.png
│ ├── sprites.png
│ └── desktop.ini
├── venue
│ ├── venue_0.jpg
│ ├── venue_1.jpg
│ ├── venue_2.jpg
│ ├── venue_3.jpg
│ └── venue_4.jpg
├── favicons
│ ├── favicon.ico
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── favicon-96x96.png
│ ├── mstile-70x70.png
│ ├── favicon-160x160.png
│ ├── favicon-196x196.png
│ ├── mstile-144x144.png
│ ├── mstile-150x150.png
│ ├── mstile-310x150.png
│ ├── mstile-310x310.png
│ ├── apple-touch-icon.png
│ ├── apple-touch-icon-57x57.png
│ ├── apple-touch-icon-60x60.png
│ ├── apple-touch-icon-72x72.png
│ ├── apple-touch-icon-76x76.png
│ ├── apple-touch-icon-114x114.png
│ ├── apple-touch-icon-120x120.png
│ ├── apple-touch-icon-144x144.png
│ ├── apple-touch-icon-152x152.png
│ ├── apple-touch-icon-precomposed.png
│ ├── desktop.ini
│ └── browserconfig.xml
├── hackathon
│ ├── prize-1.png
│ ├── prize-2.png
│ ├── prize-3.png
│ ├── hackathon-0.png
│ ├── hackathon-1.png
│ └── hackathon-2.png
├── other
│ ├── map-marker.png
│ └── map-marker.svg
├── people
│ ├── RomanMazur.jpg
│ ├── OlehZasadnyy.jpg
│ ├── RicardoMiron.jpg
│ ├── RodolfoFerro.jpg
│ ├── DawidOstrowski.jpg
│ ├── DmytroDanylyk.jpg
│ ├── MateuszHerych.jpg
│ ├── OstapAndrusiv.jpg
│ ├── VitaliyZasadnyy.jpg
│ └── ValentynShybanov.jpg
├── seo
│ ├── organizer-logo.png
│ ├── sharing-twitter.png
│ ├── sharing-facebook.png
│ └── sharing-google-plus.png
├── about-section
│ ├── workshop.jpg
│ ├── conference.jpg
│ └── hackathon.jpg
├── sections-background
│ ├── blog.jpg
│ ├── hero.jpg
│ ├── judges.jpg
│ ├── schedule.jpg
│ ├── statistic.jpg
│ ├── subscribe.jpg
│ ├── guanajuato.png
│ ├── twitter-feed.jpg
│ ├── direction-details.jpg
│ ├── guanajuato_purple.png
│ └── rockstar-speakers.jpg
└── partners
│ └── google.svg
├── automation
├── images
│ ├── gifsicle.exe
│ ├── jpegtran.exe
│ ├── optipng.exe
│ ├── pngout.exe
│ ├── pngquant.exe
│ ├── svgo.bat
│ ├── pngout.bat
│ ├── gifsicle.bat
│ ├── optipng.bat
│ ├── pngquant.bat
│ ├── jpegtran.bat
│ └── all_image_optimization.bat
└── minifying
│ ├── yuicompressor-2.4.8.jar
│ ├── minify_scripts_js.sh
│ ├── minify_scripts_js.bat
│ ├── minify_js.bat
│ └── minify_js.sh
├── assets
└── GDG_DevFest_Partnership.pdf
├── fonts
├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.ttf
├── glyphicons-halflings-regular.woff
└── desktop.ini
├── Gemfile
├── blog.html
├── team.html
├── .gitignore
├── schedule.html
├── logistics.html
├── speakers.html
├── hackathon.html
├── _includes
├── analytics.html
├── top-section.html
├── latest-news.html
├── rockstar-speakers.html
├── disqus-comments.html
├── twitter-feed.html
├── prizes.html
├── about-hackathon.html
├── about.html
├── statistic.html
├── hero.html
├── hackathon-location.html
├── judges.html
├── location-map.html
├── partners.html
├── footer.html
├── tickets.html
├── navigation.html
├── tickets-2.html
└── subscribe.html
├── index.html
├── _data
├── organizers.yml
├── judges.yml
├── partners.yml
└── team.yml
├── _plugins
└── generator_scss.rb
├── js
└── sources
│ ├── jquery.countTo.min.js
│ └── jquery.appear.min.js
├── feed.xml
├── _layouts
├── compress.html
└── post.html
├── LICENSE.txt
├── cod.md
└── _posts
├── 2014-07-21-call-for-papers.markdown
└── 2014-07-21-hello-world.markdown
/_sass/modules/_all.scss:
--------------------------------------------------------------------------------
1 | @import "utility";
2 | @import "web-fonts";
--------------------------------------------------------------------------------
/img/posts/cod.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/posts/cod.jpg
--------------------------------------------------------------------------------
/img/sprites/logos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/sprites/logos.png
--------------------------------------------------------------------------------
/img/venue/venue_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/venue/venue_0.jpg
--------------------------------------------------------------------------------
/img/venue/venue_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/venue/venue_1.jpg
--------------------------------------------------------------------------------
/img/venue/venue_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/venue/venue_2.jpg
--------------------------------------------------------------------------------
/img/venue/venue_3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/venue/venue_3.jpg
--------------------------------------------------------------------------------
/img/venue/venue_4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/venue/venue_4.jpg
--------------------------------------------------------------------------------
/img/favicons/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/favicon.ico
--------------------------------------------------------------------------------
/img/hackathon/prize-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/hackathon/prize-1.png
--------------------------------------------------------------------------------
/img/hackathon/prize-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/hackathon/prize-2.png
--------------------------------------------------------------------------------
/img/hackathon/prize-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/hackathon/prize-3.png
--------------------------------------------------------------------------------
/img/other/map-marker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/other/map-marker.png
--------------------------------------------------------------------------------
/img/people/RomanMazur.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/people/RomanMazur.jpg
--------------------------------------------------------------------------------
/img/sprites/sprites.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/sprites/sprites.png
--------------------------------------------------------------------------------
/img/people/OlehZasadnyy.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/people/OlehZasadnyy.jpg
--------------------------------------------------------------------------------
/img/people/RicardoMiron.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/people/RicardoMiron.jpg
--------------------------------------------------------------------------------
/img/people/RodolfoFerro.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/people/RodolfoFerro.jpg
--------------------------------------------------------------------------------
/img/seo/organizer-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/seo/organizer-logo.png
--------------------------------------------------------------------------------
/img/seo/sharing-twitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/seo/sharing-twitter.png
--------------------------------------------------------------------------------
/_sass/partials/_latest-news.scss:
--------------------------------------------------------------------------------
1 | .latest-news {
2 | .post {
3 | margin-bottom: 40px;
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/automation/images/gifsicle.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/automation/images/gifsicle.exe
--------------------------------------------------------------------------------
/automation/images/jpegtran.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/automation/images/jpegtran.exe
--------------------------------------------------------------------------------
/automation/images/optipng.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/automation/images/optipng.exe
--------------------------------------------------------------------------------
/automation/images/pngout.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/automation/images/pngout.exe
--------------------------------------------------------------------------------
/automation/images/pngquant.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/automation/images/pngquant.exe
--------------------------------------------------------------------------------
/img/about-section/workshop.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/about-section/workshop.jpg
--------------------------------------------------------------------------------
/img/favicons/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/favicon-16x16.png
--------------------------------------------------------------------------------
/img/favicons/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/favicon-32x32.png
--------------------------------------------------------------------------------
/img/favicons/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/favicon-96x96.png
--------------------------------------------------------------------------------
/img/favicons/mstile-70x70.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/mstile-70x70.png
--------------------------------------------------------------------------------
/img/hackathon/hackathon-0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/hackathon/hackathon-0.png
--------------------------------------------------------------------------------
/img/hackathon/hackathon-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/hackathon/hackathon-1.png
--------------------------------------------------------------------------------
/img/hackathon/hackathon-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/hackathon/hackathon-2.png
--------------------------------------------------------------------------------
/img/people/DawidOstrowski.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/people/DawidOstrowski.jpg
--------------------------------------------------------------------------------
/img/people/DmytroDanylyk.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/people/DmytroDanylyk.jpg
--------------------------------------------------------------------------------
/img/people/MateuszHerych.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/people/MateuszHerych.jpg
--------------------------------------------------------------------------------
/img/people/OstapAndrusiv.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/people/OstapAndrusiv.jpg
--------------------------------------------------------------------------------
/img/people/VitaliyZasadnyy.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/people/VitaliyZasadnyy.jpg
--------------------------------------------------------------------------------
/img/seo/sharing-facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/seo/sharing-facebook.png
--------------------------------------------------------------------------------
/img/about-section/conference.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/about-section/conference.jpg
--------------------------------------------------------------------------------
/img/about-section/hackathon.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/about-section/hackathon.jpg
--------------------------------------------------------------------------------
/img/favicons/favicon-160x160.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/favicon-160x160.png
--------------------------------------------------------------------------------
/img/favicons/favicon-196x196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/favicon-196x196.png
--------------------------------------------------------------------------------
/img/favicons/mstile-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/mstile-144x144.png
--------------------------------------------------------------------------------
/img/favicons/mstile-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/mstile-150x150.png
--------------------------------------------------------------------------------
/img/favicons/mstile-310x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/mstile-310x150.png
--------------------------------------------------------------------------------
/img/favicons/mstile-310x310.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/mstile-310x310.png
--------------------------------------------------------------------------------
/img/people/ValentynShybanov.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/people/ValentynShybanov.jpg
--------------------------------------------------------------------------------
/img/sections-background/blog.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/sections-background/blog.jpg
--------------------------------------------------------------------------------
/img/sections-background/hero.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/sections-background/hero.jpg
--------------------------------------------------------------------------------
/img/seo/sharing-google-plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/seo/sharing-google-plus.png
--------------------------------------------------------------------------------
/assets/GDG_DevFest_Partnership.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/assets/GDG_DevFest_Partnership.pdf
--------------------------------------------------------------------------------
/img/favicons/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/apple-touch-icon.png
--------------------------------------------------------------------------------
/img/sections-background/judges.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/sections-background/judges.jpg
--------------------------------------------------------------------------------
/img/sections-background/schedule.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/sections-background/schedule.jpg
--------------------------------------------------------------------------------
/img/sections-background/statistic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/sections-background/statistic.jpg
--------------------------------------------------------------------------------
/img/sections-background/subscribe.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/sections-background/subscribe.jpg
--------------------------------------------------------------------------------
/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/img/favicons/apple-touch-icon-57x57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/apple-touch-icon-57x57.png
--------------------------------------------------------------------------------
/img/favicons/apple-touch-icon-60x60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/apple-touch-icon-60x60.png
--------------------------------------------------------------------------------
/img/favicons/apple-touch-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/apple-touch-icon-72x72.png
--------------------------------------------------------------------------------
/img/favicons/apple-touch-icon-76x76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/apple-touch-icon-76x76.png
--------------------------------------------------------------------------------
/img/sections-background/guanajuato.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/sections-background/guanajuato.png
--------------------------------------------------------------------------------
/img/sections-background/twitter-feed.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/sections-background/twitter-feed.jpg
--------------------------------------------------------------------------------
/img/favicons/apple-touch-icon-114x114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/apple-touch-icon-114x114.png
--------------------------------------------------------------------------------
/img/favicons/apple-touch-icon-120x120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/apple-touch-icon-120x120.png
--------------------------------------------------------------------------------
/img/favicons/apple-touch-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/apple-touch-icon-144x144.png
--------------------------------------------------------------------------------
/img/favicons/apple-touch-icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/apple-touch-icon-152x152.png
--------------------------------------------------------------------------------
/automation/minifying/yuicompressor-2.4.8.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/automation/minifying/yuicompressor-2.4.8.jar
--------------------------------------------------------------------------------
/img/favicons/apple-touch-icon-precomposed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/favicons/apple-touch-icon-precomposed.png
--------------------------------------------------------------------------------
/img/sections-background/direction-details.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/sections-background/direction-details.jpg
--------------------------------------------------------------------------------
/img/sections-background/guanajuato_purple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/sections-background/guanajuato_purple.png
--------------------------------------------------------------------------------
/img/sections-background/rockstar-speakers.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/futurelabmx/zeppelin/master/img/sections-background/rockstar-speakers.jpg
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source "http://rubygems.org"
2 |
3 | gem 'github-pages'
4 | gem 'compass'
5 | gem 'sass-media_query_combiner'
6 | gem 'autoprefixer-rails'
7 |
--------------------------------------------------------------------------------
/_sass/partials/_about.scss:
--------------------------------------------------------------------------------
1 | .about-details {
2 | img {
3 | width: 128px;
4 | }
5 | p {
6 | margin-top: 10px;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/fonts/desktop.ini:
--------------------------------------------------------------------------------
1 | [.ShellClassInfo]
2 | InfoTip=Ця папка є спільною в режимі онлайн.
3 | IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe
4 | IconIndex=12
5 |
--------------------------------------------------------------------------------
/img/favicons/desktop.ini:
--------------------------------------------------------------------------------
1 | [.ShellClassInfo]
2 | InfoTip=This folder is shared online.
3 | IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe
4 | IconIndex=12
5 |
--------------------------------------------------------------------------------
/blog.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | title: Blog
4 | permalink: /blog/
5 | image: blog.jpg
6 | ---
7 |
8 | {% include top-section.html %}
9 |
10 | {% include blog.html %}
--------------------------------------------------------------------------------
/_sass/partials/_team.scss:
--------------------------------------------------------------------------------
1 | .team {
2 | h3 {
3 | margin-bottom: 26px;
4 | }
5 | h4 {
6 | margin: 50px 0 20px;
7 | text-align: center;
8 | }
9 | }
10 |
11 |
12 |
--------------------------------------------------------------------------------
/img/sprites/desktop.ini:
--------------------------------------------------------------------------------
1 | [.ShellClassInfo]
2 | InfoTip=Ця папка є спільною в режимі онлайн.
3 | IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe
4 | IconIndex=12
5 |
--------------------------------------------------------------------------------
/automation/minifying/minify_scripts_js.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | echo "Optimizing scripts.js to scripts.min.js"
4 | java -jar yuicompressor-2.4.8.jar ../../js/scripts.js -o ../../js/scripts.min.js
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/mixins/_center-block.scss:
--------------------------------------------------------------------------------
1 | // Center-align a block level element
2 |
3 | @mixin center-block() {
4 | display: block;
5 | margin-left: auto;
6 | margin-right: auto;
7 | }
8 |
--------------------------------------------------------------------------------
/team.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | title: Team
4 | permalink: /team/
5 | color: "#00bcd4"
6 | modal: team
7 | ---
8 |
9 | {% include top-section.html %}
10 |
11 | {% include team.html %}
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ### General ###
2 | *.lock
3 |
4 | ### Jekyll ###
5 | _site/
6 |
7 | ### Sass ###
8 | .sass-cache
9 |
10 | ### Windows ###
11 | # Windows image file caches
12 | Thumbs.db
13 | ehthumbs.db
--------------------------------------------------------------------------------
/schedule.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | title: Programa de Eventos
4 | permalink: /programa/
5 | image: schedule.jpg
6 | ---
7 |
8 | {% include top-section.html %}
9 |
10 | {% include schedule.html %}
11 |
--------------------------------------------------------------------------------
/_sass/remove-all-comments-monkey-patch.rb:
--------------------------------------------------------------------------------
1 | class Sass::Tree::Visitors::Perform < Sass::Tree::Visitors::Base
2 |
3 | # Removes all comments completely
4 | def visit_comment(node)
5 | return []
6 | end
7 |
8 | end
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/mixins/_opacity.scss:
--------------------------------------------------------------------------------
1 | // Opacity
2 |
3 | @mixin opacity($opacity) {
4 | opacity: $opacity;
5 | // IE8 filter
6 | $opacity-ie: ($opacity * 100);
7 | filter: alpha(opacity=$opacity-ie);
8 | }
9 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/mixins/_size.scss:
--------------------------------------------------------------------------------
1 | // Sizing shortcuts
2 |
3 | @mixin size($width, $height) {
4 | width: $width;
5 | height: $height;
6 | }
7 |
8 | @mixin square($size) {
9 | @include size($size, $size);
10 | }
11 |
--------------------------------------------------------------------------------
/automation/images/svgo.bat:
--------------------------------------------------------------------------------
1 | @echo on
2 | if "%~1"=="" (set "SOURCE=..\..\img") else (set "SOURCE=%~1")
3 |
4 | echo Optimizing SVG with svgo
5 | forfiles /p %SOURCE% /s /m "*.svg" /c "cmd /c echo processing @path && svgo @path"
6 |
7 | pause
--------------------------------------------------------------------------------
/logistics.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | title: Get ready to DevFest
4 | permalink: /logistics/
5 | ---
6 |
7 | {% include top-section.html %}
8 |
9 | {% include find-way.html %}
10 |
11 | {% include direction-details.html %}
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/mixins/_text-overflow.scss:
--------------------------------------------------------------------------------
1 | // Text overflow
2 | // Requires inline-block or block for proper styling
3 |
4 | @mixin text-overflow() {
5 | overflow: hidden;
6 | text-overflow: ellipsis;
7 | white-space: nowrap;
8 | }
9 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/mixins/_tab-focus.scss:
--------------------------------------------------------------------------------
1 | // WebKit-style focus
2 |
3 | @mixin tab-focus() {
4 | // Default
5 | outline: thin dotted;
6 | // WebKit
7 | outline: 5px auto -webkit-focus-ring-color;
8 | outline-offset: -2px;
9 | }
10 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/mixins/_resize.scss:
--------------------------------------------------------------------------------
1 | // Resize anything
2 |
3 | @mixin resizable($direction) {
4 | resize: $direction; // Options: horizontal, vertical, both
5 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
6 | }
7 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/mixins/_labels.scss:
--------------------------------------------------------------------------------
1 | // Labels
2 |
3 | @mixin label-variant($color) {
4 | background-color: $color;
5 |
6 | &[href] {
7 | &:hover,
8 | &:focus {
9 | background-color: darken($color, 10%);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-enter/_fadeIn.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeIn == true {
2 |
3 | @include animate-keyframe(fadeIn) {
4 | 0% {opacity: 0;}
5 | 100% {opacity: 1;}
6 | }
7 |
8 | .fadeIn {
9 | @include animate-prefixer(animation-name, fadeIn);
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-exit/_fadeOut.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeOut == true {
2 |
3 | @include animate-keyframe(fadeOut) {
4 | 0% {opacity: 1;}
5 | 100% {opacity: 0;}
6 | }
7 |
8 | .fadeOut {
9 | @include animate-prefixer(animation-name, fadeOut);
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/mixins/_text-emphasis.scss:
--------------------------------------------------------------------------------
1 | // Typography
2 |
3 | // [converter] $parent hack
4 | @mixin text-emphasis-variant($parent, $color) {
5 | #{$parent} {
6 | color: $color;
7 | }
8 | a#{$parent}:hover {
9 | color: darken($color, 10%);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/attention-seekers/_flash.scss:
--------------------------------------------------------------------------------
1 | @if $use-flash == true {
2 |
3 | @include animate-keyframe(flash) {
4 | 0%, 50%, 100% {opacity: 1;}
5 | 25%, 75% {opacity: 0;}
6 | }
7 |
8 | .flash {
9 | @include animate-prefixer(animation-name, flash);
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/mixins/_progress-bar.scss:
--------------------------------------------------------------------------------
1 | // Progress bars
2 |
3 | @mixin progress-bar-variant($color) {
4 | background-color: $color;
5 |
6 | // Deprecated parent class requirement as of v3.2.0
7 | .progress-striped & {
8 | @include gradient-striped;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/automation/minifying/minify_scripts_js.bat:
--------------------------------------------------------------------------------
1 | @echo on
2 | set LOCAL_DIR=%~dp0
3 | set LOCAL_DIR=%LOCAL_DIR:~0,-1%
4 | set "SOURCE=..\..\js"
5 |
6 | echo Optimizing scripts.js to scripts.min.js
7 | cd %SOURCE%
8 | java -jar %LOCAL_DIR%\yuicompressor-2.4.8.jar scripts.js -o scripts.min.js
9 |
10 | pause
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/mixins/_background-variant.scss:
--------------------------------------------------------------------------------
1 | // Contextual backgrounds
2 |
3 | // [converter] $parent hack
4 | @mixin bg-variant($parent, $color) {
5 | #{$parent} {
6 | background-color: $color;
7 | }
8 | a#{$parent}:hover {
9 | background-color: darken($color, 10%);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/speakers.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | title: Speakers
4 | permalink: /speakers/
5 | modal: all
6 | ---
7 |
8 | {% include top-section.html %}
9 |
10 | {% if site.showSessions %}
11 | {% include speakers-list.html %}
12 | {% else %}
13 | {% include speakers-list-2.html %}
14 | {% endif %}
15 |
16 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/mixins/_reset-filter.scss:
--------------------------------------------------------------------------------
1 | // Reset filters for IE
2 | //
3 | // When you need to remove a gradient background, do not forget to use this to reset
4 | // the IE filter for IE9 and below.
5 |
6 | @mixin reset-filter() {
7 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
8 | }
9 |
--------------------------------------------------------------------------------
/automation/images/pngout.bat:
--------------------------------------------------------------------------------
1 | @echo on
2 | set LOCAL_DIR=%~dp0
3 | set LOCAL_DIR=%LOCAL_DIR:~0,-1%
4 | if "%~1"=="" (set "SOURCE=..\..\img") else (set "SOURCE=%~1")
5 |
6 | echo Optimizing PNG with pngout
7 | forfiles /p %SOURCE% /s /m "*.png" /c "cmd /c echo processing @path && %LOCAL_DIR%\pngout.exe @path"
8 |
9 | pause
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/mixins/_nav-divider.scss:
--------------------------------------------------------------------------------
1 | // Horizontal dividers
2 | //
3 | // Dividers (basically an hr) within dropdowns and nav lists
4 |
5 | @mixin nav-divider($color: #e5e5e5) {
6 | height: 1px;
7 | margin: (($line-height-computed / 2) - 1) 0;
8 | overflow: hidden;
9 | background-color: $color;
10 | }
11 |
--------------------------------------------------------------------------------
/automation/images/gifsicle.bat:
--------------------------------------------------------------------------------
1 | @echo on
2 | set LOCAL_DIR=%~dp0
3 | set LOCAL_DIR=%LOCAL_DIR:~0,-1%
4 | if "%~1"=="" (set "SOURCE=..\..\img") else (set "SOURCE=%~1")
5 |
6 | echo Optimizing GIF with gifsicle
7 | forfiles /p %SOURCE% /s /m "*.gif" /c "cmd /c echo processing @path && %LOCAL_DIR%\gifsicle.exe -b -O3 @path"
8 |
9 | pause
--------------------------------------------------------------------------------
/automation/images/optipng.bat:
--------------------------------------------------------------------------------
1 | @echo on
2 | set LOCAL_DIR=%~dp0
3 | set LOCAL_DIR=%LOCAL_DIR:~0,-1%
4 | if "%~1"=="" (set "SOURCE=..\..\img") else (set "SOURCE=%~1")
5 |
6 | echo Optimizing PNG with optipng
7 | forfiles /p %SOURCE% /s /m "*.png" /c "cmd /c echo processing @path && %LOCAL_DIR%\optipng.exe -force -o7 @path"
8 |
9 | pause
--------------------------------------------------------------------------------
/hackathon.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | title: Hackathon
4 | permalink: /hackathon/
5 | ---
6 |
7 | {% include top-section.html %}
8 |
9 | {% include about-hackathon.html %}
10 |
11 | {% include judges.html %}
12 |
13 | {% include prizes.html %}
14 |
15 | {% include hackathon-location.html %}
16 |
17 | {% include partners.html %}
--------------------------------------------------------------------------------
/automation/images/pngquant.bat:
--------------------------------------------------------------------------------
1 | @echo on
2 | set LOCAL_DIR=%~dp0
3 | set LOCAL_DIR=%LOCAL_DIR:~0,-1%
4 | if "%~1"=="" (set "SOURCE=..\..\img") else (set "SOURCE=%~1")
5 |
6 | echo Optimizing PNG with pngquant
7 | forfiles /p %SOURCE% /s /m "*.png" /c "cmd /c echo processing @path && %LOCAL_DIR%\pngquant.exe --skip-if-larger --force --ext .png @path"
8 |
9 | pause
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/mixins/_alerts.scss:
--------------------------------------------------------------------------------
1 | // Alerts
2 |
3 | @mixin alert-variant($background, $border, $text-color) {
4 | background-color: $background;
5 | border-color: $border;
6 | color: $text-color;
7 |
8 | hr {
9 | border-top-color: darken($border, 5%);
10 | }
11 | .alert-link {
12 | color: darken($text-color, 10%);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/automation/minifying/minify_js.bat:
--------------------------------------------------------------------------------
1 | @echo on
2 | set LOCAL_DIR=%~dp0
3 | set LOCAL_DIR=%LOCAL_DIR:~0,-1%
4 | if "%~1"=="" (set "SOURCE=..\..\js") else (set "SOURCE=%~1")
5 |
6 | echo Optimizing js with yuicompressor
7 | forfiles /p %SOURCE% /s /m "*.js" /c "cmd /c echo processing @path && java -jar %LOCAL_DIR%\yuicompressor-2.4.8.jar @path -o @fname.min.js"
8 |
9 | pause
--------------------------------------------------------------------------------
/automation/images/jpegtran.bat:
--------------------------------------------------------------------------------
1 | @echo on
2 | set LOCAL_DIR=%~dp0
3 | set LOCAL_DIR=%LOCAL_DIR:~0,-1%
4 | if "%~1"=="" (set "SOURCE=..\..\img") else (set "SOURCE=%~1")
5 |
6 | echo Optimizing JPEG with jpegtran
7 | forfiles /p %SOURCE% /s /m "*.jpg" /c "cmd /c echo processing @path && %LOCAL_DIR%\jpegtran.exe -optimize -progressive -copy none -outfile @path @path"
8 |
9 | pause
--------------------------------------------------------------------------------
/automation/minifying/minify_js.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [ "$#" -ne 1 ]; then
4 | FILES="../../js";
5 | else
6 | FILES=$1;
7 | fi
8 |
9 |
10 | for f in $FILES/*.js;
11 | do
12 | if [[ $f != *".min"* ]]; then
13 | echo "Processing $f ..."
14 | echo "java -jar yuicompressor-2.4.8.jar $f -o ${f%.js}.min.js"
15 | java -jar yuicompressor-2.4.8.jar $f -o ${f%.js}.min.js
16 | fi
17 | done
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/mixins/_nav-vertical-align.scss:
--------------------------------------------------------------------------------
1 | // Navbar vertical align
2 | //
3 | // Vertically center elements in the navbar.
4 | // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.
5 |
6 | @mixin navbar-vertical-align($element-height) {
7 | margin-top: (($navbar-height - $element-height) / 2);
8 | margin-bottom: (($navbar-height - $element-height) / 2);
9 | }
10 |
--------------------------------------------------------------------------------
/_sass/partials/_buttons.scss:
--------------------------------------------------------------------------------
1 | .btn {
2 | font-weight: $bold;
3 | transition: $base-cubic-transition;
4 | }
5 | .btn-primary {
6 | color: #fff !important;
7 | user-select: none;
8 | text-transform: uppercase;
9 | border: 0;
10 | background: $primary-color !important;
11 | &:hover, &:focus, &:active, &.active {
12 | outline: none;
13 | color: #fff;
14 | background: $primary-color-hover;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/_sass/partials/_prizes.scss:
--------------------------------------------------------------------------------
1 | $prize-img-width: 250px;
2 | $small-prize-img-width: 110px;
3 |
4 | .prizes {
5 | h3 {
6 | margin-bottom: 20px;
7 | }
8 | }
9 | .prize {
10 | margin-top: 50px;
11 | &:nth-child(3) {
12 | margin-top: 0;
13 | }
14 | }
15 | .prize-img-wrapper {
16 | img {
17 | max-width: $prize-img-width;
18 | margin: 0 auto;
19 | @media (max-width: 767px) {
20 | max-width: $small-prize-img-width;
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/img/favicons/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 | {{ post.content | strip_html | truncate: 250 }} continue reading{{ site.latestNewsTitle }}
6 | {{ post.title }}
11 | {{ site.rockstarSpeakersTitle }}
7 |
8 |
9 | {{ site.rockstarSpeakersButtonText }}
10 |
11 |
' %}{% if _pre2.size == 2 %}{% endif %}{% assign _second = _pre2.last | split: ' ' | join: ' ' %}{% for _element in site.compress_html.clippings %}{% assign _edges = ' , ; ,' | replace: 'element', _element | split: ';' %}{% for _edge in _edges %}{% assign _replacement = _edge | split: ',' %}{% assign _second = _second | replace: _replacement[0], _replacement[1] %}{% endfor %}{% endfor %}{% for _element in site.compress_html.endings %}{% assign _closing = '' | replace: 'element', _element %}{% assign _second = _second | remove: _closing %}{% endfor %}{{ _second }}{% endfor %}
12 |
--------------------------------------------------------------------------------
/_sass/partials/_footer.scss:
--------------------------------------------------------------------------------
1 | $footer-background-color: #fcfcfc;
2 | $footer-links-color: #8b8b8b;
3 |
4 | .footer {
5 | padding: 40px 52px 13px;
6 | border-top: 1px solid #e7e7e7;
7 | background-color: $footer-background-color;
8 | @media (max-width: 767px) {
9 | padding: 26px 20px 13px;
10 | }
11 | h5 {
12 | font-size: 18px;
13 | }
14 | ul {
15 | margin-top: 13px;
16 | padding: 0;
17 | }
18 | li {
19 | margin-bottom: 9px;
20 | list-style-type: none;
21 | }
22 | a {
23 | color: $footer-links-color;
24 | &:hover {
25 | text-decoration: underline;
26 | }
27 | }
28 | .social-links {
29 | margin-bottom: 0;
30 | }
31 | .copyright {
32 | font-size: 13px;
33 | line-height: 1.3;
34 | margin-top: 10px;
35 | }
36 | }
37 | .logo-footer {
38 | width: 185px;
39 | height: 60px;
40 | margin: -13px -13px 0;
41 | transform: scale(.65);
42 | }
--------------------------------------------------------------------------------
/automation/images/all_image_optimization.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | set LOCAL_DIR=%~dp0
4 | set LOCAL_DIR=%LOCAL_DIR:~0,-1%
5 | set SOURCE=%~1
6 |
7 | :LOOP
8 | if "%~1"=="" GOTO END
9 | if /I "%~1"=="-d" set "SOURCE=..\..\img"
10 | if /I "%~1"=="-jtran" GOTO JPEGTRAN
11 | if /I "%~1"=="-pout" GOTO PNGOUT
12 | if /I "%~1"=="-optip" GOTO OPTIPNG
13 | if /I "%~1"=="-pquant" GOTO PNGQUANT
14 | if /I "%~1"=="-gsicle" GOTO GIFSICLE
15 | if /I "%~1"=="-svgo" GOTO SVGO
16 | SHIFT & GOTO LOOP
17 |
18 | :JPEGTRAN
19 | call %LOCAL_DIR%\jpegtran.bat "%SOURCE%"
20 | SHIFT & GOTO LOOP
21 |
22 | :PNGOUT
23 | call %LOCAL_DIR%\pngout.bat "%SOURCE%"
24 | SHIFT & GOTO LOOP
25 |
26 | :OPTIPNG
27 | call %LOCAL_DIR%\optipng.bat "%SOURCE%"
28 | SHIFT & GOTO LOOP
29 |
30 | :PNGQUANT
31 | call %LOCAL_DIR%\pngquant.bat "%SOURCE%"
32 | SHIFT & GOTO LOOP
33 |
34 | :GIFSICLE
35 | call %LOCAL_DIR%\gifsicle.bat "%SOURCE%"
36 | SHIFT & GOTO LOOP
37 |
38 | :SVGO
39 | call %LOCAL_DIR%\svgo.bat "%SOURCE%"
40 | SHIFT & GOTO LOOP
41 |
42 | :END
43 | pause
--------------------------------------------------------------------------------
/_sass/vendor/animations/special/_rollIn.scss:
--------------------------------------------------------------------------------
1 | @if $use-rollIn == true {
2 |
3 | // originally authored by Nick Pettit - https://github.com/nickpettit/glide
4 |
5 | @-webkit-keyframes rollIn {
6 | 0% { opacity: 0; -webkit-transform: translateX(-100%) rotate(-$base-degrees * 4); }
7 | 100% { opacity: 1; -webkit-transform: translateX(0px) rotate(0deg); }
8 | }
9 |
10 | @-moz-keyframes rollIn {
11 | 0% { opacity: 0; -moz-transform: translateX(-100%) rotate(-$base-degrees * 4); }
12 | 100% { opacity: 1; -moz-transform: translateX(0px) rotate(0deg); }
13 | }
14 |
15 | @-o-keyframes rollIn {
16 | 0% { opacity: 0; -o-transform: translateX(-100%) rotate(-$base-degrees * 4); }
17 | 100% { opacity: 1; -o-transform: translateX(0px) rotate(0deg); }
18 | }
19 |
20 | @keyframes rollIn {
21 | 0% { opacity: 0; transform: translateX(-100%) rotate(-$base-degrees * 4); }
22 | 100% { opacity: 1; transform: translateX(0px) rotate(0deg); }
23 | }
24 |
25 | .rollIn {
26 | @include animate-prefixer(animation-name, rollIn);
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/lightspeed/_lightSpeedOut.scss:
--------------------------------------------------------------------------------
1 | @if $use-lightSpeedOut == true {
2 |
3 | @-webkit-keyframes lightSpeedOut {
4 | 0% { -webkit-transform: translateX(0%) skewX(0deg); opacity: 1; }
5 | 100% { -webkit-transform: translateX(100%) skewX(-$base-degrees); opacity: 0; }
6 | }
7 |
8 | @-moz-keyframes lightSpeedOut {
9 | 0% { -moz-transform: translateX(0%) skewX(0deg); opacity: 1; }
10 | 100% { -moz-transform: translateX(100%) skewX(-$base-degrees); opacity: 0; }
11 | }
12 |
13 | @-o-keyframes lightSpeedOut {
14 | 0% { -o-transform: translateX(0%) skewX(0deg); opacity: 1; }
15 | 100% { -o-transform: translateX(100%) skewX(-$base-degrees); opacity: 0; }
16 | }
17 |
18 | @keyframes lightSpeedOut {
19 | 0% { transform: translateX(0%) skewX(0deg); opacity: 1; }
20 | 100% { transform: translateX(100%) skewX(-$base-degrees); opacity: 0; }
21 | }
22 |
23 | .lightSpeedOut {
24 | @include animate-prefixer(animation-name, lightSpeedOut);
25 | @include animate-prefixer(animation-timing-function, $base-timing-function-in);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/_component-animations.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Component animations
3 | // --------------------------------------------------
4 |
5 | // Heads up!
6 | //
7 | // We don't use the `.opacity()` mixin here since it causes a bug with text
8 | // fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.
9 |
10 | .fade {
11 | opacity: 0;
12 | @include transition(opacity .15s linear);
13 | &.in {
14 | opacity: 1;
15 | }
16 | }
17 |
18 | .collapse {
19 | display: none;
20 | visibility: hidden;
21 |
22 | &.in { display: block; visibility: visible; }
23 | // [converter] extracted tr&.in to tr.collapse.in
24 | // [converter] extracted tbody&.in to tbody.collapse.in
25 | }
26 |
27 | tr.collapse.in { display: table-row; }
28 |
29 | tbody.collapse.in { display: table-row-group; }
30 |
31 | .collapsing {
32 | position: relative;
33 | height: 0;
34 | overflow: hidden;
35 | @include transition-property(height, visibility);
36 | @include transition-duration(.35s);
37 | @include transition-timing-function(ease);
38 | }
39 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/attention-seekers/_bounce.scss:
--------------------------------------------------------------------------------
1 | @if $use-bounce == true {
2 |
3 | @-webkit-keyframes bounce {
4 | 0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);}
5 | 40% {-webkit-transform: translateY(-$base-distance * 3);}
6 | 60% {-webkit-transform: translateY(-$base-distance * 1.5);}
7 | }
8 |
9 | @-moz-keyframes bounce {
10 | 0%, 20%, 50%, 80%, 100% {-moz-transform: translateY(0);}
11 | 40% {-moz-transform: translateY(-$base-distance * 3);}
12 | 60% {-moz-transform: translateY(-$base-distance * 1.5);}
13 | }
14 |
15 | @-o-keyframes bounce {
16 | 0%, 20%, 50%, 80%, 100% {-o-transform: translateY(0);}
17 | 40% {-o-transform: translateY(-$base-distance * 3);}
18 | 60% {-o-transform: translateY(-$base-distance * 1.5);}
19 | }
20 | @keyframes bounce {
21 | 0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
22 | 40% {transform: translateY(-$base-distance * 3);}
23 | 60% {transform: translateY(-$base-distance * 1.5);}
24 | }
25 |
26 | .bounce {
27 | @include animate-prefixer(animation-name, bounce);
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-enter/_fadeInUp.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeInUp == true {
2 |
3 | @-webkit-keyframes fadeInUp {
4 | 0% {
5 | opacity: 0;
6 | -webkit-transform: translateY($base-distance * 2);
7 | }
8 |
9 | 100% {
10 | opacity: 1;
11 | -webkit-transform: translateY(0);
12 | }
13 | }
14 |
15 | @-moz-keyframes fadeInUp {
16 | 0% {
17 | opacity: 0;
18 | -moz-transform: translateY($base-distance * 2);
19 | }
20 |
21 | 100% {
22 | opacity: 1;
23 | -moz-transform: translateY(0);
24 | }
25 | }
26 |
27 | @-o-keyframes fadeInUp {
28 | 0% {
29 | opacity: 0;
30 | -o-transform: translateY($base-distance * 2);
31 | }
32 |
33 | 100% {
34 | opacity: 1;
35 | -o-transform: translateY(0);
36 | }
37 | }
38 |
39 | @keyframes fadeInUp {
40 | 0% {
41 | opacity: 0;
42 | transform: translateY($base-distance * 2);
43 | }
44 |
45 | 100% {
46 | opacity: 1;
47 | transform: translateY(0);
48 | }
49 | }
50 |
51 | .fadeInUp {
52 | @include animate-prefixer(animation-name, fadeInUp);
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-enter/_fadeInDown.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeInDown == true {
2 |
3 | @-webkit-keyframes fadeInDown {
4 | 0% {
5 | opacity: 0;
6 | -webkit-transform: translateY(-$base-distance * 2);
7 | }
8 |
9 | 100% {
10 | opacity: 1;
11 | -webkit-transform: translateY(0);
12 | }
13 | }
14 |
15 | @-moz-keyframes fadeInDown {
16 | 0% {
17 | opacity: 0;
18 | -moz-transform: translateY(-$base-distance * 2);
19 | }
20 |
21 | 100% {
22 | opacity: 1;
23 | -moz-transform: translateY(0);
24 | }
25 | }
26 |
27 | @-o-keyframes fadeInDown {
28 | 0% {
29 | opacity: 0;
30 | -o-transform: translateY(-$base-distance * 2);
31 | }
32 |
33 | 100% {
34 | opacity: 1;
35 | -o-transform: translateY(0);
36 | }
37 | }
38 |
39 | @keyframes fadeInDown {
40 | 0% {
41 | opacity: 0;
42 | transform: translateY(-$base-distance * 2);
43 | }
44 |
45 | 100% {
46 | opacity: 1;
47 | transform: translateY(0);
48 | }
49 | }
50 |
51 | .fadeInDown {
52 | @include animate-prefixer(animation-name, fadeInDown);
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-exit/_fadeOutUp.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeOutUp == true {
2 |
3 | @-webkit-keyframes fadeOutUp {
4 | 0% {
5 | opacity: 1;
6 | -webkit-transform: translateY(0);
7 | }
8 |
9 | 100% {
10 | opacity: 0;
11 | -webkit-transform: translateY(-$base-distance * 2);
12 | }
13 | }
14 |
15 | @-moz-keyframes fadeOutUp {
16 | 0% {
17 | opacity: 1;
18 | -moz-transform: translateY(0);
19 | }
20 |
21 | 100% {
22 | opacity: 0;
23 | -moz-transform: translateY(-$base-distance * 2);
24 | }
25 | }
26 |
27 | @-o-keyframes fadeOutUp {
28 | 0% {
29 | opacity: 1;
30 | -o-transform: translateY(0);
31 | }
32 |
33 | 100% {
34 | opacity: 0;
35 | -o-transform: translateY(-$base-distance * 2);
36 | }
37 | }
38 |
39 | @keyframes fadeOutUp {
40 | 0% {
41 | opacity: 1;
42 | transform: translateY(0);
43 | }
44 |
45 | 100% {
46 | opacity: 0;
47 | transform: translateY(-$base-distance * 2);
48 | }
49 | }
50 |
51 | .fadeOutUp {
52 | @include animate-prefixer(animation-name, fadeOutUp);
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/_utilities.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Utility classes
3 | // --------------------------------------------------
4 |
5 |
6 | // Floats
7 | // -------------------------
8 |
9 | .clearfix {
10 | @include clearfix;
11 | }
12 | .center-block {
13 | @include center-block;
14 | }
15 | .pull-right {
16 | float: right !important;
17 | }
18 | .pull-left {
19 | float: left !important;
20 | }
21 |
22 |
23 | // Toggling content
24 | // -------------------------
25 |
26 | // Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1
27 | .hide {
28 | display: none !important;
29 | }
30 | .show {
31 | display: block !important;
32 | }
33 | .invisible {
34 | visibility: hidden;
35 | }
36 | .text-hide {
37 | @include text-hide;
38 | }
39 |
40 |
41 | // Hide from screenreaders and browsers
42 | //
43 | // Credit: HTML5 Boilerplate
44 |
45 | .hidden {
46 | display: none !important;
47 | visibility: hidden !important;
48 | }
49 |
50 |
51 | // For Affix plugin
52 | // -------------------------
53 |
54 | .affix {
55 | position: fixed;
56 | }
57 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-enter/_fadeInRight.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeInRight == true {
2 |
3 | @-webkit-keyframes fadeInRight {
4 | 0% {
5 | opacity: 0;
6 | -webkit-transform: translateX($base-distance * 2);
7 | }
8 |
9 | 100% {
10 | opacity: 1;
11 | -webkit-transform: translateX(0);
12 | }
13 | }
14 |
15 | @-moz-keyframes fadeInRight {
16 | 0% {
17 | opacity: 0;
18 | -moz-transform: translateX($base-distance * 2);
19 | }
20 |
21 | 100% {
22 | opacity: 1;
23 | -moz-transform: translateX(0);
24 | }
25 | }
26 |
27 | @-o-keyframes fadeInRight {
28 | 0% {
29 | opacity: 0;
30 | -o-transform: translateX($base-distance * 2);
31 | }
32 |
33 | 100% {
34 | opacity: 1;
35 | -o-transform: translateX(0);
36 | }
37 | }
38 |
39 | @keyframes fadeInRight {
40 | 0% {
41 | opacity: 0;
42 | transform: translateX($base-distance * 2);
43 | }
44 |
45 | 100% {
46 | opacity: 1;
47 | transform: translateX(0);
48 | }
49 | }
50 |
51 | .fadeInRight {
52 | @include animate-prefixer(animation-name, fadeInRight);
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-exit/_fadeOutDown.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeOutDown == true {
2 |
3 | @-webkit-keyframes fadeOutDown {
4 | 0% {
5 | opacity: 1;
6 | -webkit-transform: translateY(0);
7 | }
8 |
9 | 100% {
10 | opacity: 0;
11 | -webkit-transform: translateY($base-distance * 2);
12 | }
13 | }
14 |
15 | @-moz-keyframes fadeOutDown {
16 | 0% {
17 | opacity: 1;
18 | -moz-transform: translateY(0);
19 | }
20 |
21 | 100% {
22 | opacity: 0;
23 | -moz-transform: translateY($base-distance * 2);
24 | }
25 | }
26 |
27 | @-o-keyframes fadeOutDown {
28 | 0% {
29 | opacity: 1;
30 | -o-transform: translateY(0);
31 | }
32 |
33 | 100% {
34 | opacity: 0;
35 | -o-transform: translateY($base-distance * 2);
36 | }
37 | }
38 |
39 | @keyframes fadeOutDown {
40 | 0% {
41 | opacity: 1;
42 | transform: translateY(0);
43 | }
44 |
45 | 100% {
46 | opacity: 0;
47 | transform: translateY($base-distance * 2);
48 | }
49 | }
50 |
51 | .fadeOutDown {
52 | @include animate-prefixer(animation-name, fadeOutDown);
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/_media.scss:
--------------------------------------------------------------------------------
1 | .media {
2 | // Proper spacing between instances of .media
3 | margin-top: 15px;
4 |
5 | &:first-child {
6 | margin-top: 0;
7 | }
8 | }
9 |
10 | .media,
11 | .media-body {
12 | zoom: 1;
13 | overflow: hidden;
14 | }
15 |
16 | .media-body {
17 | width: 10000px;
18 | }
19 |
20 | .media-object {
21 | display: block;
22 | }
23 |
24 | .media-right,
25 | .media > .pull-right {
26 | padding-left: 10px;
27 | }
28 |
29 | .media-left,
30 | .media > .pull-left {
31 | padding-right: 10px;
32 | }
33 |
34 | .media-left,
35 | .media-right,
36 | .media-body {
37 | display: table-cell;
38 | vertical-align: top;
39 | }
40 |
41 | .media-middle {
42 | vertical-align: middle;
43 | }
44 |
45 | .media-bottom {
46 | vertical-align: bottom;
47 | }
48 |
49 | // Reset margins on headings for tighter default spacing
50 | .media-heading {
51 | margin-top: 0;
52 | margin-bottom: 5px;
53 | }
54 |
55 | // Media list variation
56 | //
57 | // Undo default ul/ol styles
58 | .media-list {
59 | padding-left: 0;
60 | list-style: none;
61 | }
62 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/_thumbnails.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Thumbnails
3 | // --------------------------------------------------
4 |
5 |
6 | // Mixin and adjust the regular image class
7 | .thumbnail {
8 | display: block;
9 | padding: $thumbnail-padding;
10 | margin-bottom: $line-height-computed;
11 | line-height: $line-height-base;
12 | background-color: $thumbnail-bg;
13 | border: 1px solid $thumbnail-border;
14 | border-radius: $thumbnail-border-radius;
15 | @include transition(border .2s ease-in-out);
16 |
17 | > img,
18 | a > img {
19 | @include img-responsive;
20 | margin-left: auto;
21 | margin-right: auto;
22 | }
23 |
24 | // [converter] extracted a&:hover, a&:focus, a&.active to a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active
25 |
26 | // Image captions
27 | .caption {
28 | padding: $thumbnail-caption-padding;
29 | color: $thumbnail-caption-color;
30 | }
31 | }
32 |
33 | // Add a hover state for linked versions only
34 | a.thumbnail:hover,
35 | a.thumbnail:focus,
36 | a.thumbnail.active {
37 | border-color: $link-color;
38 | }
39 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-enter/_fadeInLeft.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeInLeft == true {
2 |
3 | @-webkit-keyframes fadeInLeft {
4 | 0% {
5 | opacity: 0;
6 | -webkit-transform: translateX(-$base-distance * 2);
7 | }
8 |
9 | 100% {
10 | opacity: 1;
11 | -webkit-transform: translateX(0);
12 | }
13 | }
14 |
15 | @-moz-keyframes fadeInLeft {
16 | 0% {
17 | opacity: 0;
18 | -moz-transform: translateX(-$base-distance * 2);
19 | }
20 |
21 | 100% {
22 | opacity: 1;
23 | -moz-transform: translateX(0);
24 | }
25 | }
26 |
27 | @-o-keyframes fadeInLeft {
28 | 0% {
29 | opacity: 0;
30 | -o-transform: translateX(-$base-distance * 2);
31 | }
32 |
33 | 100% {
34 | opacity: 1;
35 | -o-transform: translateX(0);
36 | }
37 | }
38 |
39 | @keyframes fadeInLeft {
40 | 0% {
41 | opacity: 0;
42 | transform: translateX(-$base-distance * 2);
43 | }
44 |
45 | 100% {
46 | opacity: 1;
47 | transform: translateX(0);
48 | }
49 | }
50 |
51 | .fadeInLeft {
52 | @include animate-prefixer(animation-name, fadeInLeft);
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/attention-seekers/_shake.scss:
--------------------------------------------------------------------------------
1 | @if $use-shake == true {
2 |
3 | @-webkit-keyframes shake {
4 | 0%, 100% {-webkit-transform: translateX(0);}
5 | 10%, 30%, 50%, 70%, 90% {-webkit-transform: translateX(-$base-distance);}
6 | 20%, 40%, 60%, 80% {-webkit-transform: translateX($base-distance);}
7 | }
8 |
9 | @-moz-keyframes shake {
10 | 0%, 100% {-moz-transform: translateX(0);}
11 | 10%, 30%, 50%, 70%, 90% {-moz-transform: translateX(-$base-distance);}
12 | 20%, 40%, 60%, 80% {-moz-transform: translateX($base-distance);}
13 | }
14 |
15 | @-o-keyframes shake {
16 | 0%, 100% {-o-transform: translateX(0);}
17 | 10%, 30%, 50%, 70%, 90% {-o-transform: translateX(-$base-distance);}
18 | 20%, 40%, 60%, 80% {-o-transform: translateX($base-distance);}
19 | }
20 |
21 | @keyframes shake {
22 | 0%, 100% {transform: translateX(0);}
23 | 10%, 30%, 50%, 70%, 90% {transform: translateX(-$base-distance);}
24 | 20%, 40%, 60%, 80% {transform: translateX($base-distance);}
25 | }
26 |
27 | .shake {
28 | @include animate-prefixer(animation-name, shake);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-exit/_fadeOutLeft.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeOutLeft == true {
2 |
3 | @-webkit-keyframes fadeOutLeft {
4 | 0% {
5 | opacity: 1;
6 | -webkit-transform: translateX(0);
7 | }
8 |
9 | 100% {
10 | opacity: 0;
11 | -webkit-transform: translateX(-$base-distance * 2);
12 | }
13 | }
14 |
15 | @-moz-keyframes fadeOutLeft {
16 | 0% {
17 | opacity: 1;
18 | -moz-transform: translateX(0);
19 | }
20 |
21 | 100% {
22 | opacity: 0;
23 | -moz-transform: translateX(-$base-distance * 2);
24 | }
25 | }
26 |
27 | @-o-keyframes fadeOutLeft {
28 | 0% {
29 | opacity: 1;
30 | -o-transform: translateX(0);
31 | }
32 |
33 | 100% {
34 | opacity: 0;
35 | -o-transform: translateX(-$base-distance * 2);
36 | }
37 | }
38 |
39 | @keyframes fadeOutLeft {
40 | 0% {
41 | opacity: 1;
42 | transform: translateX(0);
43 | }
44 |
45 | 100% {
46 | opacity: 0;
47 | transform: translateX(-$base-distance * 2);
48 | }
49 | }
50 |
51 | .fadeOutLeft {
52 | @include animate-prefixer(animation-name, fadeOutLeft);
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-exit/_fadeOutRight.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeOutRight == true {
2 |
3 | @-webkit-keyframes fadeOutRight {
4 | 0% {
5 | opacity: 1;
6 | -webkit-transform: translateX(0);
7 | }
8 |
9 | 100% {
10 | opacity: 0;
11 | -webkit-transform: translateX($base-distance * 2);
12 | }
13 | }
14 |
15 | @-moz-keyframes fadeOutRight {
16 | 0% {
17 | opacity: 1;
18 | -moz-transform: translateX(0);
19 | }
20 |
21 | 100% {
22 | opacity: 0;
23 | -moz-transform: translateX($base-distance * 2);
24 | }
25 | }
26 |
27 | @-o-keyframes fadeOutRight {
28 | 0% {
29 | opacity: 1;
30 | -o-transform: translateX(0);
31 | }
32 |
33 | 100% {
34 | opacity: 0;
35 | -o-transform: translateX($base-distance * 2);
36 | }
37 | }
38 |
39 | @keyframes fadeOutRight {
40 | 0% {
41 | opacity: 1;
42 | transform: translateX(0);
43 | }
44 |
45 | 100% {
46 | opacity: 0;
47 | transform: translateX($base-distance * 2);
48 | }
49 | }
50 |
51 | .fadeOutRight {
52 | @include animate-prefixer(animation-name, fadeOutRight);
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/_sass/partials/_about-hackathon.scss:
--------------------------------------------------------------------------------
1 | $hackathon-img-width: 250px;
2 | $small-hackathon-img-width: 150px;
3 |
4 | .hackathon-row {
5 | margin-bottom: 90px;
6 | @media (max-width: 767px) {
7 | margin-bottom: 50px;
8 | }
9 | &.float-right {
10 | .hackathon-img-wrapper {
11 | float: right;
12 | }
13 | .hackathon-details {
14 | text-align: right;
15 | margin-left: 0;
16 | margin-right: $hackathon-img-width + 50px;
17 | @media (max-width: 767px) {
18 | text-align: left;
19 | margin-right: 0;
20 | }
21 | }
22 | }
23 | }
24 | .hackathon-img-wrapper {
25 | float: left;
26 | @media (max-width: 767px) {
27 | float: right;
28 | }
29 | img {
30 | max-width: $hackathon-img-width;
31 | margin: 0 auto;
32 | @media (max-width: 767px) {
33 | max-width: $small-hackathon-img-width;
34 | }
35 | }
36 | }
37 | .hackathon-details {
38 | text-align: left;
39 | margin-left: $hackathon-img-width + 50px;
40 | @media (max-width: 767px) {
41 | margin-left: 0;
42 | }
43 | p {
44 | font-size: 16px;
45 | }
46 | }
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-enter/_fadeInUpBig.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeInUpBig == true {
2 |
3 | @-webkit-keyframes fadeInUpBig {
4 | 0% {
5 | opacity: 0;
6 | -webkit-transform: translateY($base-distance-big * 2);
7 | }
8 |
9 | 100% {
10 | opacity: 1;
11 | -webkit-transform: translateY(0);
12 | }
13 | }
14 |
15 | @-moz-keyframes fadeInUpBig {
16 | 0% {
17 | opacity: 0;
18 | -moz-transform: translateY($base-distance-big * 2);
19 | }
20 |
21 | 100% {
22 | opacity: 1;
23 | -moz-transform: translateY(0);
24 | }
25 | }
26 |
27 | @-o-keyframes fadeInUpBig {
28 | 0% {
29 | opacity: 0;
30 | -o-transform: translateY($base-distance-big * 2);
31 | }
32 |
33 | 100% {
34 | opacity: 1;
35 | -o-transform: translateY(0);
36 | }
37 | }
38 |
39 | @keyframes fadeInUpBig {
40 | 0% {
41 | opacity: 0;
42 | transform: translateY($base-distance-big * 2);
43 | }
44 |
45 | 100% {
46 | opacity: 1;
47 | transform: translateY(0);
48 | }
49 | }
50 |
51 | .fadeInUpBig {
52 | @include animate-prefixer(animation-name, fadeInUpBig);
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/_includes/prizes.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{ site.prizesTitle }}
6 | {% for prize in site.prizes %}
7 | {% assign colWidth = 12 | divided_by: forloop.length %}
8 | {% assign check = forloop.index | modulo:2 %}
9 |
10 | {{ prize.title }}
11 |
12 |
13 |
14 | {{ prize.info }}
15 |
16 | {% endfor %}
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-enter/_fadeInDownBig.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeInDownBig == true {
2 |
3 | @-webkit-keyframes fadeInDownBig {
4 | 0% {
5 | opacity: 0;
6 | -webkit-transform: translateY(-$base-distance-big * 2);
7 | }
8 |
9 | 100% {
10 | opacity: 1;
11 | -webkit-transform: translateY(0);
12 | }
13 | }
14 |
15 | @-moz-keyframes fadeInDownBig {
16 | 0% {
17 | opacity: 0;
18 | -moz-transform: translateY(-$base-distance-big * 2);
19 | }
20 |
21 | 100% {
22 | opacity: 1;
23 | -moz-transform: translateY(0);
24 | }
25 | }
26 |
27 | @-o-keyframes fadeInDownBig {
28 | 0% {
29 | opacity: 0;
30 | -o-transform: translateY(-$base-distance-big * 2);
31 | }
32 |
33 | 100% {
34 | opacity: 1;
35 | -o-transform: translateY(0);
36 | }
37 | }
38 |
39 | @keyframes fadeInDownBig {
40 | 0% {
41 | opacity: 0;
42 | transform: translateY(-$base-distance-big * 2);
43 | }
44 |
45 | 100% {
46 | opacity: 1;
47 | transform: translateY(0);
48 | }
49 | }
50 |
51 | .fadeInDownBig {
52 | @include animate-prefixer(animation-name, fadeInDownBig);
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-exit/_fadeOutUpBig.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeOutUpBig == true {
2 |
3 | @-webkit-keyframes fadeOutUpBig {
4 | 0% {
5 | opacity: 1;
6 | -webkit-transform: translateY(0);
7 | }
8 |
9 | 100% {
10 | opacity: 0;
11 | -webkit-transform: translateY(-$base-distance-big * 2);
12 | }
13 | }
14 |
15 | @-moz-keyframes fadeOutUpBig {
16 | 0% {
17 | opacity: 1;
18 | -moz-transform: translateY(0);
19 | }
20 |
21 | 100% {
22 | opacity: 0;
23 | -moz-transform: translateY(-$base-distance-big * 2);
24 | }
25 | }
26 |
27 | @-o-keyframes fadeOutUpBig {
28 | 0% {
29 | opacity: 1;
30 | -o-transform: translateY(0);
31 | }
32 |
33 | 100% {
34 | opacity: 0;
35 | -o-transform: translateY(-$base-distance-big * 2);
36 | }
37 | }
38 |
39 | @keyframes fadeOutUpBig {
40 | 0% {
41 | opacity: 1;
42 | transform: translateY(0);
43 | }
44 |
45 | 100% {
46 | opacity: 0;
47 | transform: translateY(-$base-distance-big * 2);
48 | }
49 | }
50 |
51 | .fadeOutUpBig {
52 | @include animate-prefixer(animation-name, fadeOutUpBig);
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-enter/_fadeInRightBig.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeInRightBig == true {
2 |
3 | @-webkit-keyframes fadeInRightBig {
4 | 0% {
5 | opacity: 0;
6 | -webkit-transform: translateX($base-distance-big * 2);
7 | }
8 |
9 | 100% {
10 | opacity: 1;
11 | -webkit-transform: translateX(0);
12 | }
13 | }
14 |
15 | @-moz-keyframes fadeInRightBig {
16 | 0% {
17 | opacity: 0;
18 | -moz-transform: translateX($base-distance-big * 2);
19 | }
20 |
21 | 100% {
22 | opacity: 1;
23 | -moz-transform: translateX(0);
24 | }
25 | }
26 |
27 | @-o-keyframes fadeInRightBig {
28 | 0% {
29 | opacity: 0;
30 | -o-transform: translateX($base-distance-big * 2);
31 | }
32 |
33 | 100% {
34 | opacity: 1;
35 | -o-transform: translateX(0);
36 | }
37 | }
38 |
39 | @keyframes fadeInRightBig {
40 | 0% {
41 | opacity: 0;
42 | transform: translateX($base-distance-big * 2);
43 | }
44 |
45 | 100% {
46 | opacity: 1;
47 | transform: translateX(0);
48 | }
49 | }
50 |
51 | .fadeInRightBig {
52 | @include animate-prefixer(animation-name, fadeInRightBig);
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-exit/_fadeOutDownBig.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeOutDownBig == true {
2 |
3 | @-webkit-keyframes fadeOutDownBig {
4 | 0% {
5 | opacity: 1;
6 | -webkit-transform: translateY(0);
7 | }
8 |
9 | 100% {
10 | opacity: 0;
11 | -webkit-transform: translateY($base-distance-big * 2);
12 | }
13 | }
14 |
15 | @-moz-keyframes fadeOutDownBig {
16 | 0% {
17 | opacity: 1;
18 | -moz-transform: translateY(0);
19 | }
20 |
21 | 100% {
22 | opacity: 0;
23 | -moz-transform: translateY($base-distance-big * 2);
24 | }
25 | }
26 |
27 | @-o-keyframes fadeOutDownBig {
28 | 0% {
29 | opacity: 1;
30 | -o-transform: translateY(0);
31 | }
32 |
33 | 100% {
34 | opacity: 0;
35 | -o-transform: translateY($base-distance-big * 2);
36 | }
37 | }
38 |
39 | @keyframes fadeOutDownBig {
40 | 0% {
41 | opacity: 1;
42 | transform: translateY(0);
43 | }
44 |
45 | 100% {
46 | opacity: 0;
47 | transform: translateY($base-distance-big * 2);
48 | }
49 | }
50 |
51 | .fadeOutDownBig {
52 | @include animate-prefixer(animation-name, fadeOutDownBig);
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/_pager.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Pager pagination
3 | // --------------------------------------------------
4 |
5 |
6 | .pager {
7 | padding-left: 0;
8 | margin: $line-height-computed 0;
9 | list-style: none;
10 | text-align: center;
11 | @include clearfix;
12 | li {
13 | display: inline;
14 | > a,
15 | > span {
16 | display: inline-block;
17 | padding: 5px 14px;
18 | background-color: $pager-bg;
19 | border: 1px solid $pager-border;
20 | border-radius: $pager-border-radius;
21 | }
22 |
23 | > a:hover,
24 | > a:focus {
25 | text-decoration: none;
26 | background-color: $pager-hover-bg;
27 | }
28 | }
29 |
30 | .next {
31 | > a,
32 | > span {
33 | float: right;
34 | }
35 | }
36 |
37 | .previous {
38 | > a,
39 | > span {
40 | float: left;
41 | }
42 | }
43 |
44 | .disabled {
45 | > a,
46 | > a:hover,
47 | > a:focus,
48 | > span {
49 | color: $pager-disabled-color;
50 | background-color: $pager-bg;
51 | cursor: $cursor-disabled;
52 | }
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-enter/_fadeInLeftBig.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeInLeftBig == true {
2 |
3 | @-webkit-keyframes fadeInLeftBig {
4 | 0% {
5 | opacity: 0;
6 | -webkit-transform: translateX(-$base-distance-big * 2);
7 | }
8 |
9 | 100% {
10 | opacity: 1;
11 | -webkit-transform: translateX(0);
12 | }
13 | }
14 |
15 | @-moz-keyframes fadeInLeftBig {
16 | 0% {
17 | opacity: 0;
18 | -moz-transform: translateX(-$base-distance-big * 2);
19 | }
20 |
21 | 100% {
22 | opacity: 1;
23 | -moz-transform: translateX(0);
24 | }
25 | }
26 |
27 | @-o-keyframes fadeInLeftBig {
28 | 0% {
29 | opacity: 0;
30 | -o-transform: translateX(-$base-distance-big * 2);
31 | }
32 |
33 | 100% {
34 | opacity: 1;
35 | -o-transform: translateX(0);
36 | }
37 | }
38 |
39 | @keyframes fadeInLeftBig {
40 | 0% {
41 | opacity: 0;
42 | transform: translateX(-$base-distance-big * 2);
43 | }
44 |
45 | 100% {
46 | opacity: 1;
47 | transform: translateX(0);
48 | }
49 | }
50 |
51 | .fadeInLeftBig {
52 | @include animate-prefixer(animation-name, fadeInLeftBig);
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-exit/_fadeOutLeftBig.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeOutLeftBig == true {
2 |
3 | @-webkit-keyframes fadeOutLeftBig {
4 | 0% {
5 | opacity: 1;
6 | -webkit-transform: translateX(0);
7 | }
8 |
9 | 100% {
10 | opacity: 0;
11 | -webkit-transform: translateX(-$base-distance-big * 2);
12 | }
13 | }
14 |
15 | @-moz-keyframes fadeOutLeftBig {
16 | 0% {
17 | opacity: 1;
18 | -moz-transform: translateX(0);
19 | }
20 |
21 | 100% {
22 | opacity: 0;
23 | -moz-transform: translateX(-$base-distance-big * 2);
24 | }
25 | }
26 |
27 | @-o-keyframes fadeOutLeftBig {
28 | 0% {
29 | opacity: 1;
30 | -o-transform: translateX(0);
31 | }
32 |
33 | 100% {
34 | opacity: 0;
35 | -o-transform: translateX(-$base-distance-big * 2);
36 | }
37 | }
38 |
39 | @keyframes fadeOutLeftBig {
40 | 0% {
41 | opacity: 1;
42 | transform: translateX(0);
43 | }
44 |
45 | 100% {
46 | opacity: 0;
47 | transform: translateX(-$base-distance-big * 2);
48 | }
49 | }
50 |
51 | .fadeOutLeftBig {
52 | @include animate-prefixer(animation-name, fadeOutLeftBig);
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/fade-exit/_fadeOutRightBig.scss:
--------------------------------------------------------------------------------
1 | @if $use-fadeOutRightBig == true {
2 |
3 | @-webkit-keyframes fadeOutRightBig {
4 | 0% {
5 | opacity: 1;
6 | -webkit-transform: translateX(0);
7 | }
8 |
9 | 100% {
10 | opacity: 0;
11 | -webkit-transform: translateX($base-distance-big * 2);
12 | }
13 | }
14 |
15 | @-moz-keyframes fadeOutRightBig {
16 | 0% {
17 | opacity: 1;
18 | -moz-transform: translateX(0);
19 | }
20 |
21 | 100% {
22 | opacity: 0;
23 | -moz-transform: translateX($base-distance-big * 2);
24 | }
25 | }
26 |
27 | @-o-keyframes fadeOutRightBig {
28 | 0% {
29 | opacity: 1;
30 | -o-transform: translateX(0);
31 | }
32 |
33 | 100% {
34 | opacity: 0;
35 | -o-transform: translateX($base-distance-big * 2);
36 | }
37 | }
38 |
39 | @keyframes fadeOutRightBig {
40 | 0% {
41 | opacity: 1;
42 | transform: translateX(0);
43 | }
44 |
45 | 100% {
46 | opacity: 0;
47 | transform: translateX($base-distance-big * 2);
48 | }
49 | }
50 |
51 | .fadeOutRightBig {
52 | @include animate-prefixer(animation-name, fadeOutRightBig);
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/_sass/partials/_direction-details.scss:
--------------------------------------------------------------------------------
1 | $direction-details-color: #757575;
2 | .direction-details {
3 | display: inline-block;
4 | padding: 0;
5 | color: $direction-details-color;
6 | .image-section {
7 | @media (max-width: 767px) {
8 | min-height: 350px;
9 | }
10 | }
11 | .card {
12 | transform: translateY(-125px);
13 | ul {
14 | font-size: 17px;
15 | font-weight: $regular;
16 | margin: 0;
17 | padding: 0;
18 | list-style: none;
19 | }
20 | }
21 | .questions {
22 | transform: translateY(-100px);
23 | @media (min-width: 768px) and (max-width: 991px) {
24 | transform: translateY(-125px);
25 | }
26 | }
27 | h4, h5 {
28 | font-size: 31px;
29 | font-weight: $regular;
30 | color: initial;
31 | }
32 | h5 {
33 | font-size: 20px;
34 | }
35 | p {
36 | font-size: 17px;
37 | }
38 | }
39 | .list-with-description {
40 | li {
41 | margin-bottom: 20px;
42 | }
43 | a {
44 | display: block;
45 | }
46 | }
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------------------------------
3 |
4 | // Utilities
5 | @import "mixins/hide-text";
6 | @import "mixins/opacity";
7 | @import "mixins/image";
8 | @import "mixins/labels";
9 | @import "mixins/reset-filter";
10 | @import "mixins/resize";
11 | @import "mixins/responsive-visibility";
12 | @import "mixins/size";
13 | @import "mixins/tab-focus";
14 | @import "mixins/text-emphasis";
15 | @import "mixins/text-overflow";
16 | @import "mixins/vendor-prefixes";
17 |
18 | // Components
19 | @import "mixins/alerts";
20 | @import "mixins/buttons";
21 | @import "mixins/panels";
22 | @import "mixins/pagination";
23 | @import "mixins/list-group";
24 | @import "mixins/nav-divider";
25 | @import "mixins/forms";
26 | @import "mixins/progress-bar";
27 | @import "mixins/table-row";
28 |
29 | // Skins
30 | @import "mixins/background-variant";
31 | @import "mixins/border-radius";
32 | @import "mixins/gradients";
33 |
34 | // Layout
35 | @import "mixins/clearfix";
36 | @import "mixins/center-block";
37 | @import "mixins/nav-vertical-align";
38 | @import "mixins/grid-framework";
39 | @import "mixins/grid";
40 |
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 - 2017 Oleh Zasadnyy, Vitaliy Zasadnyy
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 |
--------------------------------------------------------------------------------
/_includes/about-hackathon.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{ site.aboutHackathonTitle }}
6 | {% for row in site.hackathonRows %}
7 | {% assign check = forloop.index0 | modulo:2 %}
8 |
9 |
10 |
11 |
12 |
13 | {{ row.title }}
14 | {{ row.details }}
15 |
16 |
17 | {% endfor %}
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/_jumbotron.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Jumbotron
3 | // --------------------------------------------------
4 |
5 |
6 | .jumbotron {
7 | padding: $jumbotron-padding ($jumbotron-padding / 2);
8 | margin-bottom: $jumbotron-padding;
9 | color: $jumbotron-color;
10 | background-color: $jumbotron-bg;
11 |
12 | h1,
13 | .h1 {
14 | color: $jumbotron-heading-color;
15 | }
16 |
17 | p {
18 | margin-bottom: ($jumbotron-padding / 2);
19 | font-size: $jumbotron-font-size;
20 | font-weight: 200;
21 | }
22 |
23 | > hr {
24 | border-top-color: darken($jumbotron-bg, 10%);
25 | }
26 |
27 | .container &,
28 | .container-fluid & {
29 | border-radius: $border-radius-large; // Only round corners at higher resolutions if contained in a container
30 | }
31 |
32 | .container {
33 | max-width: 100%;
34 | }
35 |
36 | @media screen and (min-width: $screen-sm-min) {
37 | padding: ($jumbotron-padding * 1.6) 0;
38 |
39 | .container &,
40 | .container-fluid & {
41 | padding-left: ($jumbotron-padding * 2);
42 | padding-right: ($jumbotron-padding * 2);
43 | }
44 |
45 | h1,
46 | .h1 {
47 | font-size: ($font-size-base * 4.5);
48 | }
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/cod.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 | title: Don't be a jerk policy
4 | permalink: /cod/
5 | isStaticPost: true
6 | ---
7 |
8 | __This "Don't be a jerk" policy is a shortened, more casual version of the longer Code of Conduct policy. [Read full version](http://meta.wikimedia.org/wiki/Don%27t_be_a_dick).__
9 |
10 |
11 | GDG Lviv prides itself on being an open, respectful, and inclusive community. That means jerky behavior isn’t allowed at GDG meetings. Because we know that it’s not obvious to everyone, here’s a reminder of the things we don’t allow: jokes or offensive comments about sex/sexuality/race/religion/nationality/body size, showing porn in public, touching people uninvited, or continuing to interact with someone after they’ve asked you to stop. Continuous jerky behavior may result in getting expelled from the meeting or GDG Chapter.
12 |
13 | If someone is bothering you, please tell GDG Organizers immediately and they will take care of it. We want to maintain GDG DevFest’s awesomeness.
14 |
15 |
16 | ######Contacts:
17 |
18 | - Vitaliy Zasadnyy, +38 063 863 20 62, [vitaliy.zasadnyy@gdg.org.ua](mailto:vitaliy.zasadnyy@gdg.org.ua)
19 |
20 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/special/_rollOut.scss:
--------------------------------------------------------------------------------
1 | @if $use-rollOut == true {
2 |
3 | // originally authored by Nick Pettit - https://github.com/nickpettit/glide
4 |
5 | @-webkit-keyframes rollOut {
6 | 0% {
7 | opacity: 1;
8 | -webkit-transform: translateX(0px) rotate(0deg);
9 | }
10 |
11 | 100% {
12 | opacity: 0;
13 | -webkit-transform: translateX(100%) rotate($base-degrees * 4);
14 | }
15 | }
16 |
17 | @-moz-keyframes rollOut {
18 | 0% {
19 | opacity: 1;
20 | -moz-transform: translateX(0px) rotate(0deg);
21 | }
22 |
23 | 100% {
24 | opacity: 0;
25 | -moz-transform: translateX(100%) rotate($base-degrees * 4);
26 | }
27 | }
28 |
29 | @-o-keyframes rollOut {
30 | 0% {
31 | opacity: 1;
32 | -o-transform: translateX(0px) rotate(0deg);
33 | }
34 |
35 | 100% {
36 | opacity: 0;
37 | -o-transform: translateX(100%) rotate($base-degrees * 4);
38 | }
39 | }
40 |
41 | @keyframes rollOut {
42 | 0% {
43 | opacity: 1;
44 | transform: translateX(0px) rotate(0deg);
45 | }
46 |
47 | 100% {
48 | opacity: 0;
49 | transform: translateX(100%) rotate($base-degrees * 4);
50 | }
51 | }
52 |
53 | .rollOut {
54 | @include animate-prefixer(animation-name, rollOut);
55 | }
56 |
57 | }
58 |
--------------------------------------------------------------------------------
/js/sources/jquery.appear.min.js:
--------------------------------------------------------------------------------
1 | !function(t){t.fn.appear=function(e,s){var o=t.extend({data:void 0,one:!0,accX:0,accY:0},s);return this.each(function(){var s=t(this);if(s.appeared=!1,!e)return void s.trigger("appear",o.data);var i=t(window),a=function(){if(!s.is(":visible"))return void(s.appeared=!1);var t=i.scrollLeft(),e=i.scrollTop(),a=s.offset(),r=a.left,n=a.top,p=o.accX,u=o.accY,c=s.height(),h=i.height(),l=s.width(),f=i.width();e>n+c+u||n>e+h+u||t>r+l+p||r>t+f+p?s.appeared=!1:s.appeared||s.trigger("appear",o.data)},r=function(){if(s.appeared=!0,o.one){i.unbind("scroll",a);var r=t.inArray(a,t.fn.appear.checks);0>r||t.fn.appear.checks.splice(r,1)}e.apply(this,arguments)};o.one?s.one("appear",o.data,r):s.bind("appear",o.data,r),i.scroll(a),t.fn.appear.checks.push(a),a()})},t.extend(t.fn.appear,{checks:[],timeout:null,checkAll:function(){var e=t.fn.appear.checks.length;if(e>0)for(;e--;)t.fn.appear.checks[e]()},run:function(){t.fn.appear.timeout&&clearTimeout(t.fn.appear.timeout),t.fn.appear.timeout=setTimeout(t.fn.appear.checkAll,20)}}),t.each(["append","prepend","after","before","attr","removeAttr","addClass","removeClass","toggleClass","remove","css","show","hide"],function(e,s){var o=t.fn[s];o&&(t.fn[s]=function(){var e=o.apply(this,arguments);return t.fn.appear.run(),e})})}(jQuery);
--------------------------------------------------------------------------------
/_sass/partials/_blog.scss:
--------------------------------------------------------------------------------
1 | .blog {
2 | h3 {
3 | margin: 0 0 20px;
4 | }
5 | }
6 | .post-section {
7 | padding-top: 20px;
8 | }
9 | .post {
10 | max-width: 750px;
11 | margin-bottom: 52px;
12 | @media (max-width: 767px) {
13 | margin-bottom: 26px;
14 | }
15 | li {
16 | font-size: 15px;
17 | line-height: 26px;
18 | }
19 | }
20 | .post-header {
21 | height: 20px;
22 | margin-top: 20px;
23 | font-size: 14px;
24 | .published {
25 | padding: 0;
26 | font-weight: $bold;
27 | }
28 | .publish-date {
29 | color: #656565;
30 | }
31 | .share {
32 | padding: 0;
33 | text-align: right;
34 | }
35 | .social-links {
36 | li {
37 | margin-left: 4px;
38 | }
39 | }
40 | }
41 | .post-body {
42 | margin-top: 19px;
43 | h4 {
44 | margin-top: 40px;
45 | }
46 | iframe, img {
47 | display: block;
48 | margin: 16px 0;
49 | }
50 | }
51 | .page-navigation {
52 | margin-bottom: 40px;
53 | font-weight: $bold;
54 | }
55 | .comments {
56 | margin-top: 26px;
57 | }
58 | .pagination {
59 | font-size: 14px;
60 | margin: 0;
61 | .page-number {
62 | margin: 0 7px;
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/_sass/partials/_sprites.scss:
--------------------------------------------------------------------------------
1 | .logo {
2 | background-image: url($logos-sprite);
3 | background-repeat: no-repeat;
4 | &.logo-dark {
5 | background-position: 0 -1px;
6 | }
7 | &.logo-gray {
8 | background-position: 0 -63px;
9 | }
10 | &.logo-light {
11 | background-position: 0 -127px;
12 | }
13 | }
14 | .icon {
15 | display: inline-block;
16 | width: 16px;
17 | height: 16px;
18 | cursor: pointer;
19 | fill: $icon-fill-color;
20 | transition: all .5s;
21 | }
22 | .icon-vk:hover {
23 | fill: #4c75a3;
24 | }
25 | .icon-rss:hover {
26 | fill: #f99638;
27 | }
28 | .icon-site:hover {
29 | fill: #ba620b;
30 | }
31 | .icon-email:hover {
32 | fill: #e34c41;
33 | }
34 | .icon-skype:hover {
35 | fill: #01aef2;
36 | }
37 | .icon-github:hover {
38 | fill: #464646;
39 | }
40 | .icon-twitter:hover {
41 | fill: #1bb2e9;
42 | }
43 | .icon-youtube:hover {
44 | fill: #cc181e;
45 | }
46 | .icon-facebook:hover {
47 | fill: #3c599b;
48 | }
49 | .icon-pinterest:hover {
50 | fill: #ed0103;
51 | }
52 | .icon-linkedin:hover {
53 | fill: #017eb4;
54 | }
55 | .icon-direction:hover {
56 | fill: #3a84df;
57 | }
58 | .icon-google-plus:hover {
59 | fill: #ce352c;
60 | }
61 | .icon-stack-overflow:hover {
62 | fill: #ef7c02;
63 | }
--------------------------------------------------------------------------------
/_sass/main.scss:
--------------------------------------------------------------------------------
1 | // Modules and Variables
2 | @import "partials/base";
3 |
4 | // Third-party
5 | @import "vendor/bootstrap-custom";
6 | @import "vendor/animate";
7 | @import "vendor/waves";
8 |
9 | // Partials
10 | @import "partials/global";
11 | @import "partials/buttons";
12 | @import "partials/helper";
13 | @import "partials/sprites";
14 | @import "partials/navigation";
15 |
16 | // Sections
17 | @import "partials/hero";
18 | @import "partials/top-section";
19 | @import "partials/about";
20 | @import "partials/statistic";
21 | @import "partials/latest-news";
22 | @import "partials/rockstar-speakers";
23 | @import "partials/tickets";
24 | @import "partials/tickets-2";
25 | @import "partials/location-map";
26 | @import "partials/venue";
27 | @import "partials/twitter-feed";
28 | @import "partials/partners";
29 | @import "partials/subscribe";
30 | @import "partials/footer";
31 | @import "partials/blog";
32 | @import "partials/find-way";
33 | @import "partials/direction-details";
34 | @import "partials/team";
35 | @import "partials/zoe-effect";
36 | @import "partials/lily-effect";
37 | @import "partials/ribbon";
38 | @import "partials/modal";
39 | @import "partials/schedule";
40 | @import "partials/about-hackathon";
41 | @import "partials/judges";
42 | @import "partials/prizes";
43 | @import "partials/hackathon-location";
--------------------------------------------------------------------------------
/_includes/about.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{ site.aboutTitle }}
6 |
7 | {% assign animationDelay = 0 %}
8 | {% for about in site.aboutBlock %}
9 | {% assign colWidth = 12 | divided_by: forloop.length %}
10 |
11 |
12 | {{ about.title }}
13 |
14 | {{ about.text }}
15 |
16 |
17 | {% assign animationDelay = animationDelay | plus:500 %}
18 | {% assign check = forloop.index | modulo:2 %}
19 | {% if check == 0 %} {% endif %}
20 | {% endfor %}
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/attention-seekers/_swing.scss:
--------------------------------------------------------------------------------
1 | @if $use-swing == true {
2 |
3 | @-webkit-keyframes swing {
4 | 20%, 40%, 60%, 80%, 100% { -webkit-transform-origin: $base-origin; }
5 | 20% { -webkit-transform: rotate(15deg); }
6 | 40% { -webkit-transform: rotate(-10deg); }
7 | 60% { -webkit-transform: rotate(5deg); }
8 | 80% { -webkit-transform: rotate(-5deg); }
9 | 100% { -webkit-transform: rotate(0deg); }
10 | }
11 |
12 | @-moz-keyframes swing {
13 | 20% { -moz-transform: rotate(15deg); }
14 | 40% { -moz-transform: rotate(-10deg); }
15 | 60% { -moz-transform: rotate(5deg); }
16 | 80% { -moz-transform: rotate(-5deg); }
17 | 100% { -moz-transform: rotate(0deg); }
18 | }
19 |
20 | @-o-keyframes swing {
21 | 20% { -o-transform: rotate(15deg); }
22 | 40% { -o-transform: rotate(-10deg); }
23 | 60% { -o-transform: rotate(5deg); }
24 | 80% { -o-transform: rotate(-5deg); }
25 | 100% { -o-transform: rotate(0deg); }
26 | }
27 |
28 | @keyframes swing {
29 | 20% { transform: rotate(15deg); }
30 | 40% { transform: rotate(-10deg); }
31 | 60% { transform: rotate(5deg); }
32 | 80% { transform: rotate(-5deg); }
33 | 100% { transform: rotate(0deg); }
34 | }
35 |
36 | .swing {
37 | @include animate-prefixer(transform-origin, $base-origin);
38 | @include animate-prefixer(animation-name, swing);
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/mixins/_buttons.scss:
--------------------------------------------------------------------------------
1 | // Button variants
2 | //
3 | // Easily pump out default styles, as well as :hover, :focus, :active,
4 | // and disabled options for all buttons
5 |
6 | @mixin button-variant($color, $background, $border) {
7 | color: $color;
8 | background-color: $background;
9 | border-color: $border;
10 |
11 | &:hover,
12 | &:focus,
13 | &.focus,
14 | &:active,
15 | &.active,
16 | .open > &.dropdown-toggle {
17 | color: $color;
18 | background-color: darken($background, 10%);
19 | border-color: darken($border, 12%);
20 | }
21 | &:active,
22 | &.active,
23 | .open > &.dropdown-toggle {
24 | background-image: none;
25 | }
26 | &.disabled,
27 | &[disabled],
28 | fieldset[disabled] & {
29 | &,
30 | &:hover,
31 | &:focus,
32 | &.focus,
33 | &:active,
34 | &.active {
35 | background-color: $background;
36 | border-color: $border;
37 | }
38 | }
39 |
40 | .badge {
41 | color: $background;
42 | background-color: $color;
43 | }
44 | }
45 |
46 | // Button sizes
47 | @mixin button-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {
48 | padding: $padding-vertical $padding-horizontal;
49 | font-size: $font-size;
50 | line-height: $line-height;
51 | border-radius: $border-radius;
52 | }
53 |
--------------------------------------------------------------------------------
/_includes/statistic.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {% assign animationDelay = 0 %}
7 | {% for statistic in site.statisticBlock %}
8 | {% assign colWidth = 12 | divided_by: forloop.length %}
9 |
10 |
11 | {{ statistic.count}}{{ statistic.specialCharacter}}
12 | {{ statistic.info}}
13 |
14 | {{ statistic.detail}}
15 |
16 |
17 | {% assign animationDelay = animationDelay | plus:500 %}
18 | {% assign check = forloop.index | modulo:2 %}
19 | {% if check == 0 %} {% endif %}
20 | {% endfor %}
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/flippers/_flipOutY.scss:
--------------------------------------------------------------------------------
1 | @if $use-flipOutY == true {
2 |
3 | @-webkit-keyframes flipOutY {
4 | 0% {
5 | -webkit-transform: perspective($flipper-perspective) rotateY(0deg);
6 | opacity: 1;
7 | }
8 | 100% {
9 | -webkit-transform: perspective($flipper-perspective) rotateY($flipper-degrees-max);
10 | opacity: 0;
11 | }
12 | }
13 |
14 | @-moz-keyframes flipOutY {
15 | 0% {
16 | -moz-transform: perspective($flipper-perspective) rotateY(0deg);
17 | opacity: 1;
18 | }
19 | 100% {
20 | -moz-transform: perspective($flipper-perspective) rotateY($flipper-degrees-max);
21 | opacity: 0;
22 | }
23 | }
24 |
25 | @-o-keyframes flipOutY {
26 | 0% {
27 | -o-transform: perspective($flipper-perspective) rotateY(0deg);
28 | opacity: 1;
29 | }
30 | 100% {
31 | -o-transform: perspective($flipper-perspective) rotateY($flipper-degrees-max);
32 | opacity: 0;
33 | }
34 | }
35 |
36 | @keyframes flipOutY {
37 | 0% {
38 | transform: perspective($flipper-perspective) rotateY(0deg);
39 | opacity: 1;
40 | }
41 | 100% {
42 | transform: perspective($flipper-perspective) rotateY($flipper-degrees-max);
43 | opacity: 0;
44 | }
45 | }
46 |
47 | .flipOutY {
48 | @include animate-prefixer(backface-visibility, visible !important);
49 | @include animate-prefixer(animation-name, flipOutY);
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/rotate-exit/_rotateOutUpRight.scss:
--------------------------------------------------------------------------------
1 | @if $use-rotateOutUpRight == true {
2 | @-webkit-keyframes rotateOutUpRight {
3 | 0% {
4 | -webkit-transform-origin: right bottom;
5 | -webkit-transform: rotate(0);
6 | opacity: 1;
7 | }
8 |
9 | 100% {
10 | -webkit-transform-origin: right bottom;
11 | -webkit-transform: rotate($rotate-degrees);
12 | opacity: 0;
13 | }
14 | }
15 |
16 | @-moz-keyframes rotateOutUpRight {
17 | 0% {
18 | -moz-transform-origin: right bottom;
19 | -moz-transform: rotate(0);
20 | opacity: 1;
21 | }
22 |
23 | 100% {
24 | -moz-transform-origin: right bottom;
25 | -moz-transform: rotate($rotate-degrees);
26 | opacity: 0;
27 | }
28 | }
29 |
30 | @-o-keyframes rotateOutUpRight {
31 | 0% {
32 | -o-transform-origin: right bottom;
33 | -o-transform: rotate(0);
34 | opacity: 1;
35 | }
36 |
37 | 100% {
38 | -o-transform-origin: right bottom;
39 | -o-transform: rotate($rotate-degrees);
40 | opacity: 0;
41 | }
42 | }
43 |
44 | @keyframes rotateOutUpRight {
45 | 0% {
46 | transform-origin: right bottom;
47 | transform: rotate(0);
48 | opacity: 1;
49 | }
50 |
51 | 100% {
52 | transform-origin: right bottom;
53 | transform: rotate($rotate-degrees);
54 | opacity: 0;
55 | }
56 | }
57 |
58 | .rotateOutUpRight {
59 | @include animate-prefixer(animation-name, rotateOutUpRight);
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/mixins/_image.scss:
--------------------------------------------------------------------------------
1 | // Image Mixins
2 | // - Responsive image
3 | // - Retina image
4 |
5 |
6 | // Responsive image
7 | //
8 | // Keep images from scaling beyond the width of their parents.
9 | @mixin img-responsive($display: block) {
10 | display: $display;
11 | max-width: 100%; // Part 1: Set a maximum relative to the parent
12 | height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
13 | }
14 |
15 |
16 | // Retina image
17 | //
18 | // Short retina mixin for setting background-image and -size. Note that the
19 | // spelling of `min--moz-device-pixel-ratio` is intentional.
20 | @mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {
21 | background-image: url(if($bootstrap-sass-asset-helper, twbs-image-path("#{$file-1x}"), "#{$file-1x}"));
22 |
23 | @media
24 | only screen and (-webkit-min-device-pixel-ratio: 2),
25 | only screen and ( min--moz-device-pixel-ratio: 2),
26 | only screen and ( -o-min-device-pixel-ratio: 2/1),
27 | only screen and ( min-device-pixel-ratio: 2),
28 | only screen and ( min-resolution: 192dpi),
29 | only screen and ( min-resolution: 2dppx) {
30 | background-image: url(if($bootstrap-sass-asset-helper, twbs-image-path("#{$file-2x}"), "#{$file-2x}"));
31 | background-size: $width-1x $height-1x;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/rotate-enter/_rotateIn.scss:
--------------------------------------------------------------------------------
1 | @if $use-rotateIn == true {
2 |
3 | @-webkit-keyframes rotateIn {
4 | 0% {
5 | -webkit-transform-origin: $rotate-origin;
6 | -webkit-transform: rotate(-$rotate-degrees-max);
7 | opacity: 0;
8 | }
9 |
10 | 100% {
11 | -webkit-transform-origin: $rotate-origin;
12 | -webkit-transform: rotate(0);
13 | opacity: 1;
14 | }
15 | }
16 | @-moz-keyframes rotateIn {
17 | 0% {
18 | -moz-transform-origin: $rotate-origin;
19 | -moz-transform: rotate(-$rotate-degrees-max);
20 | opacity: 0;
21 | }
22 |
23 | 100% {
24 | -moz-transform-origin: $rotate-origin;
25 | -moz-transform: rotate(0);
26 | opacity: 1;
27 | }
28 | }
29 | @-o-keyframes rotateIn {
30 | 0% {
31 | -o-transform-origin: $rotate-origin;
32 | -o-transform: rotate(-$rotate-degrees-max);
33 | opacity: 0;
34 | }
35 |
36 | 100% {
37 | -o-transform-origin: $rotate-origin;
38 | -o-transform: rotate(0);
39 | opacity: 1;
40 | }
41 | }
42 | @keyframes rotateIn {
43 | 0% {
44 | transform-origin: $rotate-origin;
45 | transform: rotate(-$rotate-degrees-max);
46 | opacity: 0;
47 | }
48 |
49 | 100% {
50 | transform-origin: $rotate-origin;
51 | transform: rotate(0);
52 | opacity: 1;
53 | }
54 | }
55 |
56 | .rotateIn {
57 | @include animate-prefixer(animation-name, rotateIn);
58 | }
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/rotate-exit/_rotateOut.scss:
--------------------------------------------------------------------------------
1 | @if $use-rotateOut == true {
2 |
3 | @-webkit-keyframes rotateOut {
4 | 0% {
5 | -webkit-transform-origin: $rotate-origin;
6 | -webkit-transform: rotate(0);
7 | opacity: 1;
8 | }
9 |
10 | 100% {
11 | -webkit-transform-origin: $rotate-origin;
12 | -webkit-transform: rotate($rotate-degrees-max);
13 | opacity: 0;
14 | }
15 | }
16 |
17 | @-moz-keyframes rotateOut {
18 | 0% {
19 | -moz-transform-origin: $rotate-origin;
20 | -moz-transform: rotate(0);
21 | opacity: 1;
22 | }
23 |
24 | 100% {
25 | -moz-transform-origin: $rotate-origin;
26 | -moz-transform: rotate($rotate-degrees-max);
27 | opacity: 0;
28 | }
29 | }
30 |
31 | @-o-keyframes rotateOut {
32 | 0% {
33 | -o-transform-origin: $rotate-origin;
34 | -o-transform: rotate(0);
35 | opacity: 1;
36 | }
37 |
38 | 100% {
39 | -o-transform-origin: $rotate-origin;
40 | -o-transform: rotate($rotate-degrees-max);
41 | opacity: 0;
42 | }
43 | }
44 |
45 | @keyframes rotateOut {
46 | 0% {
47 | transform-origin: $rotate-origin;
48 | transform: rotate(0);
49 | opacity: 1;
50 | }
51 |
52 | 100% {
53 | transform-origin: $rotate-origin;
54 | transform: rotate($rotate-degrees-max);
55 | opacity: 0;
56 | }
57 | }
58 |
59 | .rotateOut {
60 | @include animate-prefixer(animation-name, rotateOut);
61 | }
62 |
63 | }
64 |
--------------------------------------------------------------------------------
/_includes/hero.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {% include navigation.html %}
4 |
5 |
6 |
7 | {% assign heroText = site.heroTitle | split:"" %}
8 | {{ heroText[0] }}{{ site.typeoutFallback }}{{ heroText[1] }}
9 | {{ site.eventDate }}
10 | {% for button in site.heroButtons %}
11 | {{ button.text }}
12 | {% endfor %}
13 |
14 |
15 |
16 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/attention-seekers/_tada.scss:
--------------------------------------------------------------------------------
1 | @if $use-tada == true {
2 |
3 | @-webkit-keyframes tada {
4 | 0% {-webkit-transform: scale(1);}
5 | 10%, 20% {-webkit-transform: scale(0.9) rotate(-3deg);}
6 | 30%, 50%, 70%, 90% {-webkit-transform: scale(1.1) rotate(3deg);}
7 | 40%, 60%, 80% {-webkit-transform: scale(1.1) rotate(-3deg);}
8 | 100% {-webkit-transform: scale(1) rotate(0);}
9 | }
10 |
11 | @-moz-keyframes tada {
12 | 0% {-moz-transform: scale(1);}
13 | 10%, 20% {-moz-transform: scale(0.9) rotate(-3deg);}
14 | 30%, 50%, 70%, 90% {-moz-transform: scale(1.1) rotate(3deg);}
15 | 40%, 60%, 80% {-moz-transform: scale(1.1) rotate(-3deg);}
16 | 100% {-moz-transform: scale(1) rotate(0);}
17 | }
18 |
19 | @-o-keyframes tada {
20 | 0% {-o-transform: scale(1);}
21 | 10%, 20% {-o-transform: scale(0.9) rotate(-3deg);}
22 | 30%, 50%, 70%, 90% {-o-transform: scale(1.1) rotate(3deg);}
23 | 40%, 60%, 80% {-o-transform: scale(1.1) rotate(-3deg);}
24 | 100% {-o-transform: scale(1) rotate(0);}
25 | }
26 |
27 | @keyframes tada {
28 | 0% {transform: scale(1);}
29 | 10%, 20% {transform: scale(0.9) rotate(-3deg);}
30 | 30%, 50%, 70%, 90% {transform: scale(1.1) rotate(3deg);}
31 | 40%, 60%, 80% {transform: scale(1.1) rotate(-3deg);}
32 | 100% {transform: scale(1) rotate(0);}
33 | }
34 |
35 | .tada {
36 | @include animate-prefixer(animation-name, tada);
37 | }
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/rotate-enter/_rotateInUpLeft.scss:
--------------------------------------------------------------------------------
1 | @if $use-rotateInUpLeft == true {
2 |
3 | @-webkit-keyframes rotateInUpLeft {
4 | 0% {
5 | -webkit-transform-origin: left bottom;
6 | -webkit-transform: rotate($rotate-degrees);
7 | opacity: 0;
8 | }
9 |
10 | 100% {
11 | -webkit-transform-origin: left bottom;
12 | -webkit-transform: rotate(0);
13 | opacity: 1;
14 | }
15 | }
16 |
17 | @-moz-keyframes rotateInUpLeft {
18 | 0% {
19 | -moz-transform-origin: left bottom;
20 | -moz-transform: rotate($rotate-degrees);
21 | opacity: 0;
22 | }
23 |
24 | 100% {
25 | -moz-transform-origin: left bottom;
26 | -moz-transform: rotate(0);
27 | opacity: 1;
28 | }
29 | }
30 |
31 | @-o-keyframes rotateInUpLeft {
32 | 0% {
33 | -o-transform-origin: left bottom;
34 | -o-transform: rotate($rotate-degrees);
35 | opacity: 0;
36 | }
37 |
38 | 100% {
39 | -o-transform-origin: left bottom;
40 | -o-transform: rotate(0);
41 | opacity: 1;
42 | }
43 | }
44 |
45 | @keyframes rotateInUpLeft {
46 | 0% {
47 | transform-origin: left bottom;
48 | transform: rotate($rotate-degrees);
49 | opacity: 0;
50 | }
51 |
52 | 100% {
53 | transform-origin: left bottom;
54 | transform: rotate(0);
55 | opacity: 1;
56 | }
57 | }
58 |
59 | .rotateInUpLeft {
60 | @include animate-prefixer(animation-name, rotateInUpLeft);
61 | }
62 |
63 | }
64 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/rotate-enter/_rotateInDownLeft.scss:
--------------------------------------------------------------------------------
1 | @if $use-rotateInDownLeft == true {
2 |
3 | @-webkit-keyframes rotateInDownLeft {
4 | 0% {
5 | -webkit-transform-origin: left bottom;
6 | -webkit-transform: rotate(-$rotate-degrees);
7 | opacity: 0;
8 | }
9 |
10 | 100% {
11 | -webkit-transform-origin: left bottom;
12 | -webkit-transform: rotate(0);
13 | opacity: 1;
14 | }
15 | }
16 |
17 | @-moz-keyframes rotateInDownLeft {
18 | 0% {
19 | -moz-transform-origin: left bottom;
20 | -moz-transform: rotate(-$rotate-degrees);
21 | opacity: 0;
22 | }
23 |
24 | 100% {
25 | -moz-transform-origin: left bottom;
26 | -moz-transform: rotate(0);
27 | opacity: 1;
28 | }
29 | }
30 |
31 | @-o-keyframes rotateInDownLeft {
32 | 0% {
33 | -o-transform-origin: left bottom;
34 | -o-transform: rotate(-$rotate-degrees);
35 | opacity: 0;
36 | }
37 |
38 | 100% {
39 | -o-transform-origin: left bottom;
40 | -o-transform: rotate(0);
41 | opacity: 1;
42 | }
43 | }
44 |
45 | @keyframes rotateInDownLeft {
46 | 0% {
47 | transform-origin: left bottom;
48 | transform: rotate(-$rotate-degrees);
49 | opacity: 0;
50 | }
51 |
52 | 100% {
53 | transform-origin: left bottom;
54 | transform: rotate(0);
55 | opacity: 1;
56 | }
57 | }
58 |
59 | .rotateInDownLeft {
60 | @include animate-prefixer(animation-name, rotateInDownLeft);
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/rotate-exit/_rotateOutDownLeft.scss:
--------------------------------------------------------------------------------
1 | @if $use-rotateOutDownLeft == true {
2 |
3 | @-webkit-keyframes rotateOutDownLeft {
4 | 0% {
5 | -webkit-transform-origin: left bottom;
6 | -webkit-transform: rotate(0);
7 | opacity: 1;
8 | }
9 |
10 | 100% {
11 | -webkit-transform-origin: left bottom;
12 | -webkit-transform: rotate($rotate-degrees);
13 | opacity: 0;
14 | }
15 | }
16 |
17 | @-moz-keyframes rotateOutDownLeft {
18 | 0% {
19 | -moz-transform-origin: left bottom;
20 | -moz-transform: rotate(0);
21 | opacity: 1;
22 | }
23 |
24 | 100% {
25 | -moz-transform-origin: left bottom;
26 | -moz-transform: rotate($rotate-degrees);
27 | opacity: 0;
28 | }
29 | }
30 |
31 | @-o-keyframes rotateOutDownLeft {
32 | 0% {
33 | -o-transform-origin: left bottom;
34 | -o-transform: rotate(0);
35 | opacity: 1;
36 | }
37 |
38 | 100% {
39 | -o-transform-origin: left bottom;
40 | -o-transform: rotate($rotate-degrees);
41 | opacity: 0;
42 | }
43 | }
44 |
45 | @keyframes rotateOutDownLeft {
46 | 0% {
47 | transform-origin: left bottom;
48 | transform: rotate(0);
49 | opacity: 1;
50 | }
51 |
52 | 100% {
53 | transform-origin: left bottom;
54 | transform: rotate($rotate-degrees);
55 | opacity: 0;
56 | }
57 | }
58 |
59 | .rotateOutDownLeft {
60 | @include animate-prefixer(animation-name, rotateOutDownLeft);
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/rotate-exit/_rotateOutUpLeft.scss:
--------------------------------------------------------------------------------
1 | @if $use-rotateOutDownRight == true {
2 |
3 | @-webkit-keyframes rotateOutUpLeft {
4 | 0% {
5 | -webkit-transform-origin: left bottom;
6 | -webkit-transform: rotate(0);
7 | opacity: 1;
8 | }
9 |
10 | 100% {
11 | -webkit-transform-origin: left bottom;
12 | -webkit-transform: rotate(-$rotate-degrees);
13 | opacity: 0;
14 | }
15 | }
16 |
17 | @-moz-keyframes rotateOutUpLeft {
18 | 0% {
19 | -moz-transform-origin: left bottom;
20 | -moz-transform: rotate(0);
21 | opacity: 1;
22 | }
23 |
24 | 100% {
25 | -moz-transform-origin: left bottom;
26 | -moz-transform: rotate(-$rotate-degrees);
27 | opacity: 0;
28 | }
29 | }
30 |
31 | @-o-keyframes rotateOutUpLeft {
32 | 0% {
33 | -o-transform-origin: left bottom;
34 | -o-transform: rotate(0);
35 | opacity: 1;
36 | }
37 |
38 | 100% {
39 | -o-transform-origin: left bottom;
40 | -o-transform: rotate(-$rotate-degrees);
41 | opacity: 0;
42 | }
43 | }
44 |
45 | @keyframes rotateOutUpLeft {
46 | 0% {
47 | transform-origin: left bottom;
48 | transform: rotate(0);
49 | opacity: 1;
50 | }
51 |
52 | 100% {
53 | -transform-origin: left bottom;
54 | -transform: rotate(-$rotate-degrees);
55 | opacity: 0;
56 | }
57 | }
58 |
59 | .rotateOutUpLeft {
60 | @include animate-prefixer(animation-name, rotateOutUpLeft);
61 | }
62 |
63 | }
64 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/rotate-enter/_rotateInUpRight.scss:
--------------------------------------------------------------------------------
1 | @if $use-rotateInUpRight == true {
2 |
3 | @-webkit-keyframes rotateInUpRight {
4 | 0% {
5 | -webkit-transform-origin: right bottom;
6 | -webkit-transform: rotate(-$rotate-degrees);
7 | opacity: 0;
8 | }
9 |
10 | 100% {
11 | -webkit-transform-origin: right bottom;
12 | -webkit-transform: rotate(0);
13 | opacity: 1;
14 | }
15 | }
16 |
17 | @-moz-keyframes rotateInUpRight {
18 | 0% {
19 | -moz-transform-origin: right bottom;
20 | -moz-transform: rotate(-$rotate-degrees);
21 | opacity: 0;
22 | }
23 |
24 | 100% {
25 | -moz-transform-origin: right bottom;
26 | -moz-transform: rotate(0);
27 | opacity: 1;
28 | }
29 | }
30 |
31 | @-o-keyframes rotateInUpRight {
32 | 0% {
33 | -o-transform-origin: right bottom;
34 | -o-transform: rotate(-$rotate-degrees);
35 | opacity: 0;
36 | }
37 |
38 | 100% {
39 | -o-transform-origin: right bottom;
40 | -o-transform: rotate(0);
41 | opacity: 1;
42 | }
43 | }
44 |
45 | @keyframes rotateInUpRight {
46 | 0% {
47 | transform-origin: right bottom;
48 | transform: rotate(-$rotate-degrees);
49 | opacity: 0;
50 | }
51 |
52 | 100% {
53 | transform-origin: right bottom;
54 | transform: rotate(0);
55 | opacity: 1;
56 | }
57 | }
58 |
59 | .rotateInUpRight {
60 | @include animate-prefixer(animation-name, rotateInUpRight);
61 | }
62 |
63 | }
64 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/bounce-exit/_bounceOutUp.scss:
--------------------------------------------------------------------------------
1 | @if $use-bounceOutUp == true {
2 |
3 | @-webkit-keyframes bounceOutUp {
4 | 0% {
5 | -webkit-transform: translateY(0);
6 | }
7 |
8 | 20% {
9 | opacity: 1;
10 | -webkit-transform: translateY($base-distance * 2);
11 | }
12 |
13 | 100% {
14 | opacity: 0;
15 | -webkit-transform: translateY(-$base-distance-big * 2);
16 | }
17 | }
18 |
19 | @-moz-keyframes bounceOutUp {
20 | 0% {
21 | -moz-transform: translateY(0);
22 | }
23 |
24 | 20% {
25 | opacity: 1;
26 | -moz-transform: translateY($base-distance * 2);
27 | }
28 |
29 | 100% {
30 | opacity: 0;
31 | -moz-transform: translateY(-$base-distance-big * 2);
32 | }
33 | }
34 |
35 | @-o-keyframes bounceOutUp {
36 | 0% {
37 | -o-transform: translateY(0);
38 | }
39 |
40 | 20% {
41 | opacity: 1;
42 | -o-transform: translateY($base-distance * 2);
43 | }
44 |
45 | 100% {
46 | opacity: 0;
47 | -o-transform: translateY(-$base-distance-big * 2);
48 | }
49 | }
50 |
51 | @keyframes bounceOutUp {
52 | 0% {
53 | transform: translateY(0);
54 | }
55 |
56 | 20% {
57 | opacity: 1;
58 | transform: translateY($base-distance * 2);
59 | }
60 |
61 | 100% {
62 | opacity: 0;
63 | transform: translateY(-$base-distance-big * 2);
64 | }
65 | }
66 |
67 | .bounceOutUp {
68 | @include animate-prefixer(animation-name, bounceOutUp);
69 | }
70 |
71 | }
72 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/rotate-enter/_rotateInDownRight.scss:
--------------------------------------------------------------------------------
1 | @if $use-rotateInDownRight == true {
2 |
3 | @-webkit-keyframes rotateInDownRight {
4 | 0% {
5 | -webkit-transform-origin: right bottom;
6 | -webkit-transform: rotate($rotate-degrees);
7 | opacity: 0;
8 | }
9 |
10 | 100% {
11 | -webkit-transform-origin: right bottom;
12 | -webkit-transform: rotate(0);
13 | opacity: 1;
14 | }
15 | }
16 |
17 | @-moz-keyframes rotateInDownRight {
18 | 0% {
19 | -moz-transform-origin: right bottom;
20 | -moz-transform: rotate($rotate-degrees);
21 | opacity: 0;
22 | }
23 |
24 | 100% {
25 | -moz-transform-origin: right bottom;
26 | -moz-transform: rotate(0);
27 | opacity: 1;
28 | }
29 | }
30 |
31 | @-o-keyframes rotateInDownRight {
32 | 0% {
33 | -o-transform-origin: right bottom;
34 | -o-transform: rotate($rotate-degrees);
35 | opacity: 0;
36 | }
37 |
38 | 100% {
39 | -o-transform-origin: right bottom;
40 | -o-transform: rotate(0);
41 | opacity: 1;
42 | }
43 | }
44 |
45 | @keyframes rotateInDownRight {
46 | 0% {
47 | transform-origin: right bottom;
48 | transform: rotate($rotate-degrees);
49 | opacity: 0;
50 | }
51 |
52 | 100% {
53 | transform-origin: right bottom;
54 | transform: rotate(0);
55 | opacity: 1;
56 | }
57 | }
58 |
59 | .rotateInDownRight {
60 | @include animate-prefixer(animation-name, rotateInDownRight);
61 | }
62 |
63 | }
64 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/rotate-exit/_rotateOutDownRight.scss:
--------------------------------------------------------------------------------
1 | @if $use-rotateOutDownRight == true {
2 |
3 | @-webkit-keyframes rotateOutDownRight {
4 | 0% {
5 | -webkit-transform-origin: right bottom;
6 | -webkit-transform: rotate(0);
7 | opacity: 1;
8 | }
9 |
10 | 100% {
11 | -webkit-transform-origin: right bottom;
12 | -webkit-transform: rotate(-$rotate-degrees);
13 | opacity: 0;
14 | }
15 | }
16 |
17 | @-moz-keyframes rotateOutDownRight {
18 | 0% {
19 | -moz-transform-origin: right bottom;
20 | -moz-transform: rotate(0);
21 | opacity: 1;
22 | }
23 |
24 | 100% {
25 | -moz-transform-origin: right bottom;
26 | -moz-transform: rotate(-$rotate-degrees);
27 | opacity: 0;
28 | }
29 | }
30 |
31 | @-o-keyframes rotateOutDownRight {
32 | 0% {
33 | -o-transform-origin: right bottom;
34 | -o-transform: rotate(0);
35 | opacity: 1;
36 | }
37 |
38 | 100% {
39 | -o-transform-origin: right bottom;
40 | -o-transform: rotate(-$rotate-degrees);
41 | opacity: 0;
42 | }
43 | }
44 |
45 | @keyframes rotateOutDownRight {
46 | 0% {
47 | transform-origin: right bottom;
48 | transform: rotate(0);
49 | opacity: 1;
50 | }
51 |
52 | 100% {
53 | transform-origin: right bottom;
54 | transform: rotate(-$rotate-degrees);
55 | opacity: 0;
56 | }
57 | }
58 |
59 | .rotateOutDownRight {
60 | @include animate-prefixer(animation-name, rotateOutDownRight);
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/bounce-exit/_bounceOutDown.scss:
--------------------------------------------------------------------------------
1 | @if $use-bounceOutDown == true {
2 |
3 | @-webkit-keyframes bounceOutDown {
4 | 0% {
5 | -webkit-transform: translateY(0);
6 | }
7 |
8 | 20% {
9 | opacity: 1;
10 | -webkit-transform: translateY(-$base-distance * 2);
11 | }
12 |
13 | 100% {
14 | opacity: 0;
15 | -webkit-transform: translateY($base-distance-big * 2);
16 | }
17 | }
18 |
19 | @-moz-keyframes bounceOutDown {
20 | 0% {
21 | -moz-transform: translateY(0);
22 | }
23 |
24 | 20% {
25 | opacity: 1;
26 | -moz-transform: translateY(-$base-distance * 2);
27 | }
28 |
29 | 100% {
30 | opacity: 0;
31 | -moz-transform: translateY($base-distance-big * 2);
32 | }
33 | }
34 |
35 | @-o-keyframes bounceOutDown {
36 | 0% {
37 | -o-transform: translateY(0);
38 | }
39 |
40 | 20% {
41 | opacity: 1;
42 | -o-transform: translateY(-$base-distance * 2);
43 | }
44 |
45 | 100% {
46 | opacity: 0;
47 | -o-transform: translateY($base-distance-big * 2);
48 | }
49 | }
50 |
51 | @keyframes bounceOutDown {
52 | 0% {
53 | transform: translateY(0);
54 | }
55 |
56 | 20% {
57 | opacity: 1;
58 | transform: translateY(-$base-distance * 2);
59 | }
60 |
61 | 100% {
62 | opacity: 0;
63 | transform: translateY($base-distance-big * 2);
64 | }
65 | }
66 |
67 | .bounceOutDown {
68 | @include animate-prefixer(animation-name, bounceOutDown);
69 | }
70 |
71 | }
72 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/bounce-exit/_bounceOutLeft.scss:
--------------------------------------------------------------------------------
1 | @if $use-bounceOutLeft == true {
2 |
3 | @-webkit-keyframes bounceOutLeft {
4 | 0% {
5 | -webkit-transform: translateX(0);
6 | }
7 |
8 | 20% {
9 | opacity: 1;
10 | -webkit-transform: translateX($base-distance * 2);
11 | }
12 |
13 | 100% {
14 | opacity: 0;
15 | -webkit-transform: translateX(-$base-distance-big * 2);
16 | }
17 | }
18 |
19 | @-moz-keyframes bounceOutLeft {
20 | 0% {
21 | -moz-transform: translateX(0);
22 | }
23 |
24 | 20% {
25 | opacity: 1;
26 | -moz-transform: translateX($base-distance * 2);
27 | }
28 |
29 | 100% {
30 | opacity: 0;
31 | -moz-transform: translateX(-$base-distance-big * 2);
32 | }
33 | }
34 |
35 | @-o-keyframes bounceOutLeft {
36 | 0% {
37 | -o-transform: translateX(0);
38 | }
39 |
40 | 20% {
41 | opacity: 1;
42 | -o-transform: translateX($base-distance * 2);
43 | }
44 |
45 | 100% {
46 | opacity: 0;
47 | -o-transform: translateX(-$base-distance-big * 2);
48 | }
49 | }
50 |
51 | @keyframes bounceOutLeft {
52 | 0% {
53 | transform: translateX(0);
54 | }
55 |
56 | 20% {
57 | opacity: 1;
58 | transform: translateX($base-distance * 2);
59 | }
60 |
61 | 100% {
62 | opacity: 0;
63 | transform: translateX(-$base-distance-big * 2);
64 | }
65 | }
66 |
67 | .bounceOutLeft {
68 | @include animate-prefixer(animation-name, bounceOutLeft);
69 | }
70 |
71 | }
72 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/bounce-exit/_bounceOutRight.scss:
--------------------------------------------------------------------------------
1 | @if $use-bounceOutRight == true {
2 |
3 | @-webkit-keyframes bounceOutRight {
4 | 0% {
5 | -webkit-transform: translateX(0);
6 | }
7 |
8 | 20% {
9 | opacity: 1;
10 | -webkit-transform: translateX(-$base-distance * 2);
11 | }
12 |
13 | 100% {
14 | opacity: 0;
15 | -webkit-transform: translateX($base-distance-big * 2);
16 | }
17 | }
18 |
19 | @-moz-keyframes bounceOutRight {
20 | 0% {
21 | -moz-transform: translateX(0);
22 | }
23 |
24 | 20% {
25 | opacity: 1;
26 | -moz-transform: translateX(-$base-distance * 2);
27 | }
28 |
29 | 100% {
30 | opacity: 0;
31 | -moz-transform: translateX($base-distance-big * 2);
32 | }
33 | }
34 |
35 | @-o-keyframes bounceOutRight {
36 | 0% {
37 | -o-transform: translateX(0);
38 | }
39 |
40 | 20% {
41 | opacity: 1;
42 | -o-transform: translateX(-$base-distance * 2);
43 | }
44 |
45 | 100% {
46 | opacity: 0;
47 | -o-transform: translateX($base-distance-big * 2);
48 | }
49 | }
50 |
51 | @keyframes bounceOutRight {
52 | 0% {
53 | transform: translateX(0);
54 | }
55 |
56 | 20% {
57 | opacity: 1;
58 | transform: translateX(-$base-distance * 2);
59 | }
60 |
61 | 100% {
62 | opacity: 0;
63 | transform: translateX($base-distance-big * 2);
64 | }
65 | }
66 |
67 | .bounceOutRight {
68 | @include animate-prefixer(animation-name, bounceOutRight);
69 | }
70 |
71 | }
72 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/bounce-enter/_bounceIn.scss:
--------------------------------------------------------------------------------
1 | @if $use-bounceIn == true {
2 |
3 | @-webkit-keyframes bounceIn {
4 | 0% {
5 | opacity: 0;
6 | -webkit-transform: scale(0.3);
7 | }
8 |
9 | 50% {
10 | opacity: 1;
11 | -webkit-transform: scale(1.05);
12 | }
13 |
14 | 70% {
15 | -webkit-transform: scale(0.9);
16 | }
17 |
18 | 100% {
19 | -webkit-transform: scale(1);
20 | }
21 | }
22 |
23 | @-moz-keyframes bounceIn {
24 | 0% {
25 | opacity: 0;
26 | -moz-transform: scale(0.3);
27 | }
28 |
29 | 50% {
30 | opacity: 1;
31 | -moz-transform: scale(1.05);
32 | }
33 |
34 | 70% {
35 | -moz-transform: scale(0.9);
36 | }
37 |
38 | 100% {
39 | -moz-transform: scale(1);
40 | }
41 | }
42 |
43 | @-o-keyframes bounceIn {
44 | 0% {
45 | opacity: 0;
46 | -o-transform: scale(0.3);
47 | }
48 |
49 | 50% {
50 | opacity: 1;
51 | -o-transform: scale(1.05);
52 | }
53 |
54 | 70% {
55 | -o-transform: scale(0.9);
56 | }
57 |
58 | 100% {
59 | -o-transform: scale(1);
60 | }
61 | }
62 |
63 | @keyframes bounceIn {
64 | 0% {
65 | opacity: 0;
66 | transform: scale(0.3);
67 | }
68 |
69 | 50% {
70 | opacity: 1;
71 | transform: scale(1.05);
72 | }
73 |
74 | 70% {
75 | transform: scale(0.9);
76 | }
77 |
78 | 100% {
79 | transform: scale(1);
80 | }
81 | }
82 |
83 | .bounceIn {
84 | @include animate-prefixer(animation-name, bounceIn);
85 | }
86 |
87 | }
88 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/bounce-exit/_bounceOut.scss:
--------------------------------------------------------------------------------
1 | @if $use-bounceOut == true {
2 |
3 | @-webkit-keyframes bounceOut {
4 | 0% {
5 | -webkit-transform: scale(1);
6 | }
7 |
8 | 25% {
9 | -webkit-transform: scale(0.95);
10 | }
11 |
12 | 50% {
13 | opacity: 1;
14 | -webkit-transform: scale(1.1);
15 | }
16 |
17 | 100% {
18 | opacity: 0;
19 | -webkit-transform: scale(0.3);
20 | }
21 | }
22 |
23 | @-moz-keyframes bounceOut {
24 | 0% {
25 | -moz-transform: scale(1);
26 | }
27 |
28 | 25% {
29 | -moz-transform: scale(0.95);
30 | }
31 |
32 | 50% {
33 | opacity: 1;
34 | -moz-transform: scale(1.1);
35 | }
36 |
37 | 100% {
38 | opacity: 0;
39 | -moz-transform: scale(0.3);
40 | }
41 | }
42 |
43 | @-o-keyframes bounceOut {
44 | 0% {
45 | -o-transform: scale(1);
46 | }
47 |
48 | 25% {
49 | -o-transform: scale(0.95);
50 | }
51 |
52 | 50% {
53 | opacity: 1;
54 | -o-transform: scale(1.1);
55 | }
56 |
57 | 100% {
58 | opacity: 0;
59 | -o-transform: scale(0.3);
60 | }
61 | }
62 |
63 | @keyframes bounceOut {
64 | 0% {
65 | transform: scale(1);
66 | }
67 |
68 | 25% {
69 | transform: scale(0.95);
70 | }
71 |
72 | 50% {
73 | opacity: 1;
74 | transform: scale(1.1);
75 | }
76 |
77 | 100% {
78 | opacity: 0;
79 | transform: scale(0.3);
80 | }
81 | }
82 |
83 | .bounceOut {
84 | @include animate-prefixer(animation-name, bounceOut);
85 | }
86 |
87 | }
88 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/_labels.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Labels
3 | // --------------------------------------------------
4 |
5 | .label {
6 | display: inline;
7 | padding: .2em .6em .3em;
8 | font-size: 75%;
9 | font-weight: bold;
10 | line-height: 1;
11 | color: $label-color;
12 | text-align: center;
13 | white-space: nowrap;
14 | vertical-align: baseline;
15 | border-radius: .25em;
16 |
17 | // [converter] extracted a& to a.label
18 |
19 | // Empty labels collapse automatically (not available in IE8)
20 | &:empty {
21 | display: none;
22 | }
23 |
24 | // Quick fix for labels in buttons
25 | .btn & {
26 | position: relative;
27 | top: -1px;
28 | }
29 | }
30 |
31 | // Add hover effects, but only for links
32 | a.label {
33 | &:hover,
34 | &:focus {
35 | color: $label-link-hover-color;
36 | text-decoration: none;
37 | cursor: pointer;
38 | }
39 | }
40 |
41 | // Colors
42 | // Contextual variations (linked labels get darker on :hover)
43 |
44 | .label-default {
45 | @include label-variant($label-default-bg);
46 | }
47 |
48 | .label-primary {
49 | @include label-variant($label-primary-bg);
50 | }
51 |
52 | .label-success {
53 | @include label-variant($label-success-bg);
54 | }
55 |
56 | .label-info {
57 | @include label-variant($label-info-bg);
58 | }
59 |
60 | .label-warning {
61 | @include label-variant($label-warning-bg);
62 | }
63 |
64 | .label-danger {
65 | @include label-variant($label-danger-bg);
66 | }
67 |
--------------------------------------------------------------------------------
/_includes/hackathon-location.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {% if site.hackathonLocationName %}
7 | {{ site.hackathonLocationName }}
8 | {% endif %}
9 | {{ site.hackathonStreetAddress }}, {{ site.hackathonAddressLocality }}
10 |
11 | {{ site.hackathonTimeTitle }}
12 | {% assign startTime = site.hackathonStartTime | split: "T" %}
13 | -
14 | {% assign endTime = site.hackathonEndTime | split: "T" %}
15 |
16 |
17 | {{ site.viewOnMap }}
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/_layouts/post.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {% include head.html %}
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | {% include top-section.html %}
16 |
17 | {% include post.html isStaticPost=page.isStaticPost %}
18 |
19 | {% include footer.html %}
20 |
21 |
22 |
23 |
24 |
25 | {% include analytics.html %}
26 |
27 |
28 |
31 |
32 |
37 |
38 |
39 |
40 | {% include schema-event.html %}
41 |
42 |
43 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/_badges.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Badges
3 | // --------------------------------------------------
4 |
5 |
6 | // Base class
7 | .badge {
8 | display: inline-block;
9 | min-width: 10px;
10 | padding: 3px 7px;
11 | font-size: $font-size-small;
12 | font-weight: $badge-font-weight;
13 | color: $badge-color;
14 | line-height: $badge-line-height;
15 | vertical-align: baseline;
16 | white-space: nowrap;
17 | text-align: center;
18 | background-color: $badge-bg;
19 | border-radius: $badge-border-radius;
20 |
21 | // Empty badges collapse automatically (not available in IE8)
22 | &:empty {
23 | display: none;
24 | }
25 |
26 | // Quick fix for badges in buttons
27 | .btn & {
28 | position: relative;
29 | top: -1px;
30 | }
31 |
32 | .btn-xs & {
33 | top: 0;
34 | padding: 1px 5px;
35 | }
36 |
37 | // [converter] extracted a& to a.badge
38 |
39 | // Account for badges in navs
40 | .list-group-item.active > &,
41 | .nav-pills > .active > a > & {
42 | color: $badge-active-color;
43 | background-color: $badge-active-bg;
44 | }
45 |
46 | .list-group-item > & {
47 | float: right;
48 | }
49 |
50 | .list-group-item > & + & {
51 | margin-right: 5px;
52 | }
53 |
54 | .nav-pills > li > a > & {
55 | margin-left: 3px;
56 | }
57 | }
58 |
59 | // Hover state, but only for links
60 | a.badge {
61 | &:hover,
62 | &:focus {
63 | color: $badge-link-hover-color;
64 | text-decoration: none;
65 | cursor: pointer;
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/_includes/judges.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{ site.judgesTitle }}
7 |
8 | {% assign animationDelay = 0 %} {% for judge in site.data.judges %}
9 | {% assign colWidth = 12 | divided_by: forloop.length %}
10 |
11 |
12 | {{ judge.name }} {{ judge.surname }}
13 | {{ judge.company }}
14 | {{ judge.title }}
15 |
16 | {% assign animationDelay = animationDelay | plus:500 %}
17 | {% assign check = forloop.index | modulo:2 %}
18 | {% if check == 0 %}
19 |
20 | {% endif %}
21 | {% endfor %}
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/_data/judges.yml:
--------------------------------------------------------------------------------
1 | -
2 | id: 0
3 | name: "Dmytro"
4 | surname: "Danylyk"
5 | company: "Lemberg Solutions Limited"
6 | title: "Android Developer"
7 | thumbnailUrl: DmytroDanylyk.jpg
8 | social:
9 | - {name: "google-plus", link: "https://plus.google.com/+DmytroDanylyk"}
10 | - {name: "twitter", link: "https://twitter.com/dmytrodanylyk"}
11 | - {name: "github", link: "https://github.com/dmytrodanylyk"}
12 | -
13 | id: 1
14 | name: "Vitaliy"
15 | surname: "Zasadnyy"
16 | company: "Nravo, GDG Lviv"
17 | title: "Team Lead, Unity 3D Developer"
18 | thumbnailUrl: VitaliyZasadnyy.jpg
19 | social:
20 | - {name: "google-plus", link: "https://google.com/+VitalikZasadnyy"}
21 | - {name: "twitter", link: "https://twitter.com/zasadnyy"}
22 | - {name: "github", link: "https://github.com/zasadnyy"}
23 | - {name: "site", link: "http://zasadnyy.com/"}
24 | -
25 | id: 2
26 | name: "Ostap"
27 | surname: "Andrusiv"
28 | company: "ELEKS, GDG Lviv"
29 | title: "R&D Engineer"
30 | thumbnailUrl: OstapAndrusiv.jpg
31 | social:
32 | - {name: "google-plus", link: "https://google.com/+OstapAndrusiv"}
33 | - {name: "twitter", link: "https://twitter.com/p1f"}
34 | - {name: "site", link: "http://andrusiv.com/"}
35 | -
36 | id: 3
37 | name: "Oleh"
38 | surname: "Zasadnyy"
39 | company: "EPAM Systems, GDG Lviv"
40 | title: "Junior Software Engineer"
41 | thumbnailUrl: OlehZasadnyy.jpg
42 | social:
43 | - {name: "google-plus", link: "https://google.com/+OlehZasadnyy"}
44 | - {name: "github", link: "https://github.com/ozasadnyy"}
--------------------------------------------------------------------------------
/_sass/modules/_utility.scss:
--------------------------------------------------------------------------------
1 | @mixin vendorize($property, $value) {
2 | @each $prefix in -webkit-, -moz-, -ms-, -o-, '' {
3 | #{$prefix}#{$property}: $value;
4 | }
5 | }
6 |
7 | @mixin clear() {
8 | &:before, &:after {
9 | content: "\0020";
10 | display: block;
11 | height: 0;
12 | overflow: hidden;
13 | }
14 | &:after {
15 | clear: both;
16 | }
17 | }
18 |
19 | @mixin hoverActiveFocus($property, $value) {
20 | &:hover, &:active, &:focus {
21 | #{$property}: $value;
22 | }
23 | }
24 |
25 | @mixin linkColor($color) {
26 | color: $color;
27 |
28 | &:hover, &:active, &:focus {
29 | color: lighten($color, $link-lighten-amount);
30 | }
31 | }
32 |
33 | @mixin flexbox() {
34 | display: -webkit-box;
35 | display: -moz-box;
36 | display: -ms-flexbox;
37 | display: -webkit-flex;
38 | display: flex;
39 | }
40 |
41 | @mixin flex($values) {
42 | -webkit-box-flex: $values;
43 | -moz-box-flex: $values;
44 | -webkit-flex: $values;
45 | -ms-flex: $values;
46 | flex: $values;
47 | }
48 |
49 | @mixin order($val) {
50 | -webkit-box-ordinal-group: $val;
51 | -moz-box-ordinal-group: $val;
52 | -ms-flex-order: $val;
53 | -webkit-order: $val;
54 | order: $val;
55 | }
56 |
57 | @mixin trimText($font-size, $line-height, $lines) {
58 | display: block;
59 | display: -webkit-box;
60 | overflow: hidden;
61 | height: $font-size*$line-height*$lines+2px;
62 | text-overflow: ellipsis;
63 | -webkit-line-clamp: $lines;
64 | -webkit-box-orient: vertical;
65 | }
--------------------------------------------------------------------------------
/_sass/vendor/_bootstrap-custom.scss:
--------------------------------------------------------------------------------
1 | // Core variables and mixins
2 | @import "bootstrap/variables";
3 | @import "bootstrap/mixins";
4 |
5 | // Reset and dependencies
6 | @import "bootstrap/normalize";
7 | @import "bootstrap/print";
8 | // @import "bootstrap/glyphicons";
9 |
10 | // Core CSS
11 | @import "bootstrap/scaffolding";
12 | @import "bootstrap/type";
13 | @import "bootstrap/code";
14 | @import "bootstrap/grid";
15 | // @import "bootstrap/tables";
16 | @import "bootstrap/forms";
17 | @import "bootstrap/buttons";
18 |
19 | // Components
20 | @import "bootstrap/component-animations";
21 | // @import "bootstrap/dropdowns";
22 | // @import "bootstrap/button-groups";
23 | // @import "bootstrap/input-groups";
24 | // @import "bootstrap/navs";
25 | // @import "bootstrap/navbar";
26 | // @import "bootstrap/breadcrumbs";
27 | // @import "bootstrap/pagination";
28 | // @import "bootstrap/pager";
29 | // @import "bootstrap/labels";
30 | // @import "bootstrap/badges";
31 | @import "bootstrap/jumbotron";
32 | @import "bootstrap/thumbnails";
33 | // @import "bootstrap/alerts";
34 | // @import "bootstrap/progress-bars";
35 | @import "bootstrap/media";
36 | // @import "bootstrap/list-group";
37 | // @import "bootstrap/panels";
38 | @import "bootstrap/responsive-embed";
39 | // @import "bootstrap/wells";
40 | @import "bootstrap/close";
41 |
42 | // Components w/ JavaScript
43 | @import "bootstrap/modals";
44 | // @import "bootstrap/tooltip";
45 | // @import "bootstrap/popovers";
46 | // @import "bootstrap/carousel";
47 |
48 | // Utility classes
49 | @import "bootstrap/utilities";
50 | @import "bootstrap/responsive-utilities";
51 |
--------------------------------------------------------------------------------
/_sass/partials/_base.scss:
--------------------------------------------------------------------------------
1 | @import "compass";
2 |
3 | // Font weights
4 | $light: 100;
5 | $regular: 300;
6 | $bold: 500;
7 | $extra-bold: 600;
8 |
9 | // Base Font
10 | $base-font-family: sans-serif;
11 | $base-font-weight: $regular;
12 | $base-font-size: 13px;
13 | $base-line-height: 23px;
14 |
15 | // Fixed Font
16 | $fixed-font-family: 'Roboto';
17 | $fixed-font-size: 85%;
18 | $fixed-line-height: $base-line-height;
19 |
20 | // Headings
21 | $header-font-weight: $light;
22 | $h1-font-size: 6.125 * $base-font-size;
23 | $h2-font-size: 5.875 * $base-font-size;
24 | $h3-font-size: 5 * $base-font-size;
25 | $h4-font-size: 3.125 * $base-font-size;
26 | $h5-font-size: 2.3 * $base-font-size;
27 | $h6-font-size: 1.875 * $base-font-size;
28 |
29 | // Colors
30 | $main-color: #03a9f4;
31 | $link-color: $main-color;
32 | $link-lighten-amount: 20%;
33 | $base-background-color: #fff;
34 | $base-section-background-color: $link-color;
35 | $primary-color: #4285f4;
36 | $primary-color-hover: #3266d5;
37 | $icon-fill-color: #8b8b8b;
38 |
39 | // Sizes
40 | $min-section-height: 350px;
41 | $section-padding-top: 50px;
42 | $section-padding-bottom: 60px;
43 | $small-section-padding-top: 20px;
44 | $small-section-padding-bottom: 40px;
45 |
46 | // Global variables
47 | $base-transition: all .3s;
48 | $base-cubic-transition: all .3s cubic-bezier(0.175, 0.885, 0.320, 1.275);
49 | $long-transition: all .5s;
50 | $long-cubic-transition: all .5s cubic-bezier(0.175, 0.885, 0.320, 1.275);
51 |
52 | // Path
53 | $image-dir: "../img";
54 | $sprites-dir: $image-dir + "/sprites";
55 | $logos-sprite: $sprites-dir + "/logos.svg";
56 |
57 | @import "modules/all";
--------------------------------------------------------------------------------
/_sass/vendor/animations/flippers/_flipOutX.scss:
--------------------------------------------------------------------------------
1 | @if $use-flipOutX == true {
2 |
3 | @-webkit-keyframes flipOutX {
4 | 0% {
5 | -webkit-transform: perspective($flipper-perspective) rotateX(0deg);
6 | opacity: 1;
7 | }
8 | 100% {
9 | -webkit-transform: perspective($flipper-perspective) rotateX($flipper-degrees-max);
10 | opacity: 0;
11 | }
12 | }
13 |
14 | @-moz-keyframes flipOutX {
15 | 0% {
16 | -moz-transform: perspective($flipper-perspective) rotateX(0deg);
17 | opacity: 1;
18 | }
19 | 100% {
20 | -moz-transform: perspective($flipper-perspective) rotateX($flipper-degrees-max);
21 | opacity: 0;
22 | }
23 | }
24 |
25 | @-o-keyframes flipOutX {
26 | 0% {
27 | -o-transform: perspective($flipper-perspective) rotateX(0deg);
28 | opacity: 1;
29 | }
30 | 100% {
31 | -o-transform: perspective($flipper-perspective) rotateX($flipper-degrees-max);
32 | opacity: 0;
33 | }
34 | }
35 |
36 | @keyframes flipOutX {
37 | 0% {
38 | transform: perspective($flipper-perspective) rotateX(0deg);
39 | opacity: 1;
40 | }
41 | 100% {
42 | transform: perspective($flipper-perspective) rotateX($flipper-degrees-max);
43 | opacity: 0;
44 | }
45 | }
46 |
47 | .flipOutX {
48 | @include animate-prefixer(animation-name, flipOutX);
49 | @include animate-prefixer(backface-visibility, visible !important);
50 | }
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/bounce-enter/_bounceInRight.scss:
--------------------------------------------------------------------------------
1 | @if $use-bounceInRight == true {
2 |
3 | @-webkit-keyframes bounceInRight {
4 | 0% {
5 | opacity: 0;
6 | -webkit-transform: translateX($base-distance-big * 2);
7 | }
8 |
9 | 60% {
10 | opacity: 1;
11 | -webkit-transform: translateX(-$base-distance * 3);
12 | }
13 |
14 | 80% {
15 | -webkit-transform: translateX($base-distance);
16 | }
17 |
18 | 100% {
19 | -webkit-transform: translateX(0);
20 | }
21 | }
22 |
23 | @-moz-keyframes bounceInRight {
24 | 0% {
25 | opacity: 0;
26 | -moz-transform: translateX($base-distance-big * 2);
27 | }
28 |
29 | 60% {
30 | opacity: 1;
31 | -moz-transform: translateX(-$base-distance * 3);
32 | }
33 |
34 | 80% {
35 | -moz-transform: translateX($base-distance);
36 | }
37 |
38 | 100% {
39 | -moz-transform: translateX(0);
40 | }
41 | }
42 |
43 | @-o-keyframes bounceInRight {
44 | 0% {
45 | opacity: 0;
46 | -o-transform: translateX($base-distance-big * 2);
47 | }
48 |
49 | 60% {
50 | opacity: 1;
51 | -o-transform: translateX(-$base-distance * 3);
52 | }
53 |
54 | 80% {
55 | -o-transform: translateX($base-distance);
56 | }
57 |
58 | 100% {
59 | -o-transform: translateX(0);
60 | }
61 | }
62 |
63 | @keyframes bounceInRight {
64 | 0% {
65 | opacity: 0;
66 | transform: translateX($base-distance-big * 2);
67 | }
68 |
69 | 60% {
70 | opacity: 1;
71 | transform: translateX(-$base-distance * 3);
72 | }
73 |
74 | 80% {
75 | transform: translateX($base-distance);
76 | }
77 |
78 | 100% {
79 | transform: translateX(0);
80 | }
81 | }
82 |
83 | .bounceInRight {
84 | @include animate-prefixer(animation-name, bounceInRight);
85 | }
86 | }
87 |
--------------------------------------------------------------------------------
/_includes/location-map.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | {{ site.locationBlockTitle }}
9 |
10 | {% if site.eventLocationName %}- {{ site.eventLocationName }}
{% endif %}
11 | - {{ site.eventStreetAddress }}, {{ site.eventAddressLocality }}
12 | - {{ site.email }}
13 | -
14 | {% assign startTime = site.eventStartTime | split: "T" %}
15 | -
16 | {% assign endTime = site.eventEndTime | split: "T" %}
17 |
18 |
19 |
20 |
21 |
22 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/lightspeed/_lightSpeedIn.scss:
--------------------------------------------------------------------------------
1 | @if $use-lightSpeedIn == true {
2 |
3 | @-webkit-keyframes lightSpeedIn {
4 | 0% { -webkit-transform: translateX(100%) skewX(-$base-degrees); opacity: 0; }
5 | 60% { -webkit-transform: translateX(-20%) skewX($base-degrees); opacity: 1; }
6 | 80% { -webkit-transform: translateX(0%) skewX(-$base-degrees / 2); opacity: 1; }
7 | 100% { -webkit-transform: translateX(0%) skewX(0deg); opacity: 1; }
8 | }
9 |
10 | @-moz-keyframes lightSpeedIn {
11 | 0% { -moz-transform: translateX(100%) skewX(-$base-degrees); opacity: 0; }
12 | 60% { -moz-transform: translateX(-20%) skewX($base-degrees); opacity: 1; }
13 | 80% { -moz-transform: translateX(0%) skewX(-$base-degrees / 2); opacity: 1; }
14 | 100% { -moz-transform: translateX(0%) skewX(0deg); opacity: 1; }
15 | }
16 |
17 | @-o-keyframes lightSpeedIn {
18 | 0% { -o-transform: translateX(100%) skewX(-$base-degrees); opacity: 0; }
19 | 60% { -o-transform: translateX(-20%) skewX($base-degrees); opacity: 1; }
20 | 80% { -o-transform: translateX(0%) skewX(-$base-degrees / 2); opacity: 1; }
21 | 100% { -o-transform: translateX(0%) skewX(0deg); opacity: 1; }
22 | }
23 |
24 | @keyframes lightSpeedIn {
25 | 0% { transform: translateX(100%) skewX(-$base-degrees); opacity: 0; }
26 | 60% { transform: translateX(-20%) skewX($base-degrees); opacity: 1; }
27 | 80% { transform: translateX(0%) skewX(-$base-degrees / 2); opacity: 1; }
28 | 100% { transform: translateX(0%) skewX(0deg); opacity: 1; }
29 | }
30 |
31 | .lightSpeedIn {
32 | @include animate-prefixer(animation-name, lightSpeedIn);
33 | @include animate-prefixer(animation-timing-function, $base-timing-function-out);
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/_code.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Code (inline and block)
3 | // --------------------------------------------------
4 |
5 |
6 | // Inline and block code styles
7 | code,
8 | kbd,
9 | pre,
10 | samp {
11 | font-family: $font-family-monospace;
12 | }
13 |
14 | // Inline code
15 | code {
16 | padding: 2px 4px;
17 | font-size: 90%;
18 | color: $code-color;
19 | background-color: $code-bg;
20 | border-radius: $border-radius-base;
21 | }
22 |
23 | // User input typically entered via keyboard
24 | kbd {
25 | padding: 2px 4px;
26 | font-size: 90%;
27 | color: $kbd-color;
28 | background-color: $kbd-bg;
29 | border-radius: $border-radius-small;
30 | box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
31 |
32 | kbd {
33 | padding: 0;
34 | font-size: 100%;
35 | font-weight: bold;
36 | box-shadow: none;
37 | }
38 | }
39 |
40 | // Blocks of code
41 | pre {
42 | display: block;
43 | padding: (($line-height-computed - 1) / 2);
44 | margin: 0 0 ($line-height-computed / 2);
45 | font-size: ($font-size-base - 1); // 14px to 13px
46 | line-height: $line-height-base;
47 | word-break: break-all;
48 | word-wrap: break-word;
49 | color: $pre-color;
50 | background-color: $pre-bg;
51 | border: 1px solid $pre-border-color;
52 | border-radius: $border-radius-base;
53 |
54 | // Account for some code outputs that place code tags in pre tags
55 | code {
56 | padding: 0;
57 | font-size: inherit;
58 | color: inherit;
59 | white-space: pre-wrap;
60 | background-color: transparent;
61 | border-radius: 0;
62 | }
63 | }
64 |
65 | // Enable scrollable blocks of code
66 | .pre-scrollable {
67 | max-height: $pre-scrollable-max-height;
68 | overflow-y: scroll;
69 | }
70 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/bounce-enter/_bounceInUp.scss:
--------------------------------------------------------------------------------
1 | @if $use-bounceInUp == true {
2 |
3 | @-webkit-keyframes bounceInUp {
4 | 0% {
5 | opacity: 0;
6 | -webkit-transform: translateY($base-distance-big * 2);
7 | }
8 |
9 | 60% {
10 | opacity: 1;
11 | -webkit-transform: translateY(-$base-distance * 3);
12 | }
13 |
14 | 80% {
15 | -webkit-transform: translateY($base-distance);
16 | }
17 |
18 | 100% {
19 | -webkit-transform: translateY(0);
20 | }
21 | }
22 | @-moz-keyframes bounceInUp {
23 | 0% {
24 | opacity: 0;
25 | -moz-transform: translateY($base-distance-big * 2);
26 | }
27 |
28 | 60% {
29 | opacity: 1;
30 | -moz-transform: translateY(-$base-distance * 3);
31 | }
32 |
33 | 80% {
34 | -moz-transform: translateY($base-distance);
35 | }
36 |
37 | 100% {
38 | -moz-transform: translateY(0);
39 | }
40 | }
41 |
42 | @-o-keyframes bounceInUp {
43 | 0% {
44 | opacity: 0;
45 | -o-transform: translateY($base-distance-big * 2);
46 | }
47 |
48 | 60% {
49 | opacity: 1;
50 | -o-transform: translateY(-$base-distance * 3);
51 | }
52 |
53 | 80% {
54 | -o-transform: translateY($base-distance);
55 | }
56 |
57 | 100% {
58 | -o-transform: translateY(0);
59 | }
60 | }
61 |
62 | @keyframes bounceInUp {
63 | 0% {
64 | opacity: 0;
65 | transform: translateY($base-distance-big * 2);
66 | }
67 |
68 | 60% {
69 | opacity: 1;
70 | transform: translateY(-$base-distance * 3);
71 | }
72 |
73 | 80% {
74 | transform: translateY($base-distance);
75 | }
76 |
77 | 100% {
78 | transform: translateY(0);
79 | }
80 | }
81 |
82 | .bounceInUp {
83 | @include animate-prefixer(animation-name, bounceInUp);
84 | }
85 |
86 | }
87 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/bounce-enter/_bounceInDown.scss:
--------------------------------------------------------------------------------
1 | @if $use-bounceInDown == true {
2 | @-webkit-keyframes bounceInDown {
3 | 0% {
4 | opacity: 0;
5 | -webkit-transform: translateY(-$base-distance-big * 2);
6 | }
7 |
8 | 60% {
9 | opacity: 1;
10 | -webkit-transform: translateY($base-distance * 3);
11 | }
12 |
13 | 80% {
14 | -webkit-transform: translateY(-$base-distance);
15 | }
16 |
17 | 100% {
18 | -webkit-transform: translateY(0);
19 | }
20 | }
21 |
22 | @-moz-keyframes bounceInDown {
23 | 0% {
24 | opacity: 0;
25 | -moz-transform: translateY(-$base-distance-big * 2);
26 | }
27 |
28 | 60% {
29 | opacity: 1;
30 | -moz-transform: translateY($base-distance * 3);
31 | }
32 |
33 | 80% {
34 | -moz-transform: translateY(-$base-distance);
35 | }
36 |
37 | 100% {
38 | -moz-transform: translateY(0);
39 | }
40 | }
41 |
42 | @-o-keyframes bounceInDown {
43 | 0% {
44 | opacity: 0;
45 | -o-transform: translateY(-$base-distance-big * 2);
46 | }
47 |
48 | 60% {
49 | opacity: 1;
50 | -o-transform: translateY($base-distance * 3);
51 | }
52 |
53 | 80% {
54 | -o-transform: translateY(-$base-distance);
55 | }
56 |
57 | 100% {
58 | -o-transform: translateY(0);
59 | }
60 | }
61 |
62 | @keyframes bounceInDown {
63 | 0% {
64 | opacity: 0;
65 | transform: translateY(-$base-distance-big * 2);
66 | }
67 |
68 | 60% {
69 | opacity: 1;
70 | transform: translateY($base-distance * 3);
71 | }
72 |
73 | 80% {
74 | transform: translateY(-$base-distance);
75 | }
76 |
77 | 100% {
78 | transform: translateY(0);
79 | }
80 | }
81 |
82 | .bounceInDown {
83 | @include animate-prefixer(animation-name, bounceInDown);
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/_sass/partials/_hero.scss:
--------------------------------------------------------------------------------
1 | .top-section-hero {
2 | width: 100%;
3 | height: 100%;
4 | padding-top: 0;
5 | .jumbotron {
6 | position: relative;
7 | top: 50%;
8 | margin: 0;
9 | left: 0;
10 | transform: translateY(-60%);
11 | @media (max-width: 767px) {
12 | margin: 0;
13 | padding: 0;
14 | }
15 | p {
16 | font-size: $base-font-size * 2;
17 | font-weight: $light;
18 | margin-bottom: 15px;
19 | }
20 | .btn {
21 | margin: 0 3px;
22 | }
23 | }
24 | }
25 | .typeout-fallback {
26 | display: none;
27 | @media (max-width: 767px) {
28 | display: inline-block;
29 | }
30 | }
31 | .explore {
32 | margin-left: -16px;
33 | position: absolute;
34 | bottom: -25px;
35 | left: 50%;
36 | animation: callToAction 3.5s linear 0s infinite;
37 | @media (max-width: 767px) {
38 | margin-left: -12.5px;
39 | bottom: 30px;
40 | animation: none;
41 | }
42 | }
43 | .icon-arrow-down {
44 | width: 32px;
45 | height: 32px;
46 | fill: #e6e6e6;
47 | @media (max-width: 767px) {
48 | width: 24px;
49 | height: 24px;
50 | }
51 | }
52 | @keyframes callToAction {
53 | 0% {
54 | opacity: 0;
55 | transform: translateY(-16px);
56 | }
57 | 25% {
58 | opacity: 1;
59 | transform: translateY(0);
60 | }
61 | 75% {
62 | opacity: 1;
63 | transform: translateY(0);
64 | }
65 | 85% {
66 | opacity: 0;
67 | transform: translateY(-16px);
68 | }
69 | 100% {
70 | opacity: 0;
71 | transform: translateY(-16px);
72 | }
73 | }
--------------------------------------------------------------------------------
/_sass/vendor/animations/bounce-enter/_bounceInLeft.scss:
--------------------------------------------------------------------------------
1 | @if $use-bounceInLeft == true {
2 |
3 | @-webkit-keyframes bounceInLeft {
4 | 0% {
5 | opacity: 0;
6 | -webkit-transform: translateX(-$base-distance-big * 2);
7 | }
8 |
9 | 60% {
10 | opacity: 1;
11 | -webkit-transform: translateX($base-distance * 3);
12 | }
13 |
14 | 80% {
15 | -webkit-transform: translateX(-$base-distance);
16 | }
17 |
18 | 100% {
19 | -webkit-transform: translateX(0);
20 | }
21 | }
22 |
23 | @-moz-keyframes bounceInLeft {
24 | 0% {
25 | opacity: 0;
26 | -moz-transform: translateX(-$base-distance-big * 2);
27 | }
28 |
29 | 60% {
30 | opacity: 1;
31 | -moz-transform: translateX($base-distance * 3);
32 | }
33 |
34 | 80% {
35 | -moz-transform: translateX(-$base-distance);
36 | }
37 |
38 | 100% {
39 | -moz-transform: translateX(0);
40 | }
41 | }
42 |
43 | @-o-keyframes bounceInLeft {
44 | 0% {
45 | opacity: 0;
46 | -o-transform: translateX(-$base-distance-big * 2);
47 | }
48 |
49 | 60% {
50 | opacity: 1;
51 | -o-transform: translateX($base-distance * 3);
52 | }
53 |
54 | 80% {
55 | -o-transform: translateX(-$base-distance);
56 | }
57 |
58 | 100% {
59 | -o-transform: translateX(0);
60 | }
61 | }
62 |
63 | @keyframes bounceInLeft {
64 | 0% {
65 | opacity: 0;
66 | transform: translateX(-$base-distance-big * 2);
67 | }
68 |
69 | 60% {
70 | opacity: 1;
71 | transform: translateX($base-distance * 3);
72 | }
73 |
74 | 80% {
75 | transform: translateX(-$base-distance);
76 | }
77 |
78 | 100% {
79 | transform: translateX(0);
80 | }
81 | }
82 |
83 | .bounceInLeft {
84 | @include animate-prefixer(animation-name, bounceInLeft);
85 | }
86 | }
87 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/_grid.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Grid system
3 | // --------------------------------------------------
4 |
5 |
6 | // Container widths
7 | //
8 | // Set the container width, and override it for fixed navbars in media queries.
9 |
10 | .container {
11 | @include container-fixed;
12 |
13 | @media (min-width: $screen-sm-min) {
14 | width: $container-sm;
15 | }
16 | @media (min-width: $screen-md-min) {
17 | width: $container-md;
18 | }
19 | @media (min-width: $screen-lg-min) {
20 | width: $container-lg;
21 | }
22 | }
23 |
24 |
25 | // Fluid container
26 | //
27 | // Utilizes the mixin meant for fixed width containers, but without any defined
28 | // width for fluid, full width layouts.
29 |
30 | .container-fluid {
31 | @include container-fixed;
32 | }
33 |
34 |
35 | // Row
36 | //
37 | // Rows contain and clear the floats of your columns.
38 |
39 | .row {
40 | @include make-row;
41 | }
42 |
43 |
44 | // Columns
45 | //
46 | // Common styles for small and large grid columns
47 |
48 | @include make-grid-columns;
49 |
50 |
51 | // Extra small grid
52 | //
53 | // Columns, offsets, pushes, and pulls for extra small devices like
54 | // smartphones.
55 |
56 | @include make-grid(xs);
57 |
58 |
59 | // Small grid
60 | //
61 | // Columns, offsets, pushes, and pulls for the small device range, from phones
62 | // to tablets.
63 |
64 | @media (min-width: $screen-sm-min) {
65 | @include make-grid(sm);
66 | }
67 |
68 |
69 | // Medium grid
70 | //
71 | // Columns, offsets, pushes, and pulls for the desktop device range.
72 |
73 | @media (min-width: $screen-md-min) {
74 | @include make-grid(md);
75 | }
76 |
77 |
78 | // Large grid
79 | //
80 | // Columns, offsets, pushes, and pulls for the large desktop device range.
81 |
82 | @media (min-width: $screen-lg-min) {
83 | @include make-grid(lg);
84 | }
85 |
--------------------------------------------------------------------------------
/_includes/partners.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{ site.organizersTitle }}
6 | {% for organizer in site.data.organizers %}
7 | {{ organizer.group }}
8 |
9 | {% for element in organizer.elements %}
10 | -
11 |
12 |
13 |
14 |
15 | {% endfor %}
16 |
17 | {% endfor %}
18 | {{ site.partnersTitle }}
19 | {% for partner in site.data.partners %}
20 | {{ partner.group }}
21 |
22 | {% for element in partner.elements %}
23 | -
24 |
25 |
26 |
27 |
28 | {% endfor %}
29 |
30 | {% endfor %}
31 | {{ site.partnersC4sponsorsButton }}
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/_alerts.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Alerts
3 | // --------------------------------------------------
4 |
5 |
6 | // Base styles
7 | // -------------------------
8 |
9 | .alert {
10 | padding: $alert-padding;
11 | margin-bottom: $line-height-computed;
12 | border: 1px solid transparent;
13 | border-radius: $alert-border-radius;
14 |
15 | // Headings for larger alerts
16 | h4 {
17 | margin-top: 0;
18 | // Specified for the h4 to prevent conflicts of changing $headings-color
19 | color: inherit;
20 | }
21 |
22 | // Provide class for links that match alerts
23 | .alert-link {
24 | font-weight: $alert-link-font-weight;
25 | }
26 |
27 | // Improve alignment and spacing of inner content
28 | > p,
29 | > ul {
30 | margin-bottom: 0;
31 | }
32 |
33 | > p + p {
34 | margin-top: 5px;
35 | }
36 | }
37 |
38 | // Dismissible alerts
39 | //
40 | // Expand the right padding and account for the close button's positioning.
41 |
42 | .alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.
43 | .alert-dismissible {
44 | padding-right: ($alert-padding + 20);
45 |
46 | // Adjust close link position
47 | .close {
48 | position: relative;
49 | top: -2px;
50 | right: -21px;
51 | color: inherit;
52 | }
53 | }
54 |
55 | // Alternate styles
56 | //
57 | // Generate contextual modifier classes for colorizing the alert.
58 |
59 | .alert-success {
60 | @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text);
61 | }
62 |
63 | .alert-info {
64 | @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text);
65 | }
66 |
67 | .alert-warning {
68 | @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text);
69 | }
70 |
71 | .alert-danger {
72 | @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text);
73 | }
74 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/attention-seekers/_wobble.scss:
--------------------------------------------------------------------------------
1 | @if $use-wobble == true {
2 |
3 | // originally authored by Nick Pettit - https://github.com/nickpettit/glide
4 |
5 | @-webkit-keyframes wobble {
6 | 0% { -webkit-transform: translateX(0%); }
7 | 15% { -webkit-transform: translateX(-25%) rotate(-5deg); }
8 | 30% { -webkit-transform: translateX(20%) rotate(3deg); }
9 | 45% { -webkit-transform: translateX(-15%) rotate(-3deg); }
10 | 60% { -webkit-transform: translateX(10%) rotate(2deg); }
11 | 75% { -webkit-transform: translateX(-5%) rotate(-1deg); }
12 | 100% { -webkit-transform: translateX(0%); }
13 | }
14 |
15 | @-moz-keyframes wobble {
16 | 0% { -moz-transform: translateX(0%); }
17 | 15% { -moz-transform: translateX(-25%) rotate(-5deg); }
18 | 30% { -moz-transform: translateX(20%) rotate(3deg); }
19 | 45% { -moz-transform: translateX(-15%) rotate(-3deg); }
20 | 60% { -moz-transform: translateX(10%) rotate(2deg); }
21 | 75% { -moz-transform: translateX(-5%) rotate(-1deg); }
22 | 100% { -moz-transform: translateX(0%); }
23 | }
24 |
25 | @-o-keyframes wobble {
26 | 0% { -o-transform: translateX(0%); }
27 | 15% { -o-transform: translateX(-25%) rotate(-5deg); }
28 | 30% { -o-transform: translateX(20%) rotate(3deg); }
29 | 45% { -o-transform: translateX(-15%) rotate(-3deg); }
30 | 60% { -o-transform: translateX(10%) rotate(2deg); }
31 | 75% { -o-transform: translateX(-5%) rotate(-1deg); }
32 | 100% { -o-transform: translateX(0%); }
33 | }
34 |
35 | @keyframes wobble {
36 | 0% { transform: translateX(0%); }
37 | 15% { transform: translateX(-25%) rotate(-5deg); }
38 | 30% { transform: translateX(20%) rotate(3deg); }
39 | 45% { transform: translateX(-15%) rotate(-3deg); }
40 | 60% { transform: translateX(10%) rotate(2deg); }
41 | 75% { transform: translateX(-5%) rotate(-1deg); }
42 | 100% { transform: translateX(0%); }
43 | }
44 |
45 | .wobble {
46 | @include animate-prefixer(animation-name, wobble);
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/_includes/footer.html:
--------------------------------------------------------------------------------
1 |
2 |
46 |
--------------------------------------------------------------------------------
/_includes/tickets.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{ site.ticketsTitle }}
6 | {% for ticketsOffer in site.ticketsOffers %}
7 | {% assign colWidth = 12 | divided_by: forloop.length %}
8 | {% assign check = forloop.index | modulo:2 %}
9 |
10 | {% if ticketsOffer.ribbon != null %}{{ ticketsOffer.ribbon }}{% endif %}
11 |
12 | {{ ticketsOffer.name }}
13 | {{ ticketsOffer.price }} {{ ticketsOffer.priceCurrency }}
14 |
15 |
16 |
17 | {% for listItem in ticketsOffer.ticketContentList %}
18 | - {{ listItem }}
19 | {% endfor %}
20 |
21 | {% if ticketsOffer.soldOut == true %}
22 |
23 | {% elsif ticketsOffer.disabled != true %}
24 | {{ ticketsOffer.buyButtonText }}
25 | {% else %}
26 | {% assign ticketValidFrom = ticketsOffer.validFrom | split: "T" %}
27 |
28 | {% endif %}
29 |
30 |
31 | {% endfor %}
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/_sass/partials/_venue.scss:
--------------------------------------------------------------------------------
1 | .venue-col {
2 | height: 100%;
3 | padding: 0;
4 | padding-right: 5px;
5 | &:last-child {
6 | padding: 0;
7 | }
8 | @media (max-width: 767px) {
9 | padding: 0;
10 | }
11 | }
12 | .venue-small-col {
13 | .venue-elem-wrapper {
14 | &:nth-child(odd) {
15 | @media (max-width: 767px) {
16 | padding-right: 2.5px;
17 | }
18 | }
19 | &:nth-child(even) {
20 | @media (max-width: 767px) {
21 | padding-left: 2.5px;
22 | }
23 | }
24 | }
25 | }
26 | .venue-elem-wrapper {
27 | padding: 0;
28 | padding-bottom: 5px;
29 | }
30 | .venue-elem {
31 | overflow: hidden;
32 | text-align: left;
33 | transition: $base-transition;
34 | }
35 | .venue-big-elem {
36 | height: 610px;
37 | @media (min-width: 768px) and (max-width: 991px) {
38 | height: 580px;
39 | }
40 | @media (max-width: 767px) {
41 | height: 340px;
42 | }
43 | }
44 | .venue-small-elem {
45 | height: 200px;
46 | @media (min-width: 768px) and (max-width: 991px) {
47 | height: 190px;
48 | }
49 | @media (max-width: 767px) {
50 | height: 200px;
51 | }
52 | }
53 | .venue-text {
54 | padding: 30px 20px;
55 | color: #fff;
56 | background: $main-color;
57 | @media (max-width: 767px) {
58 | padding: 20px 15px;
59 | }
60 | h5 {
61 | margin-top: 0;
62 | @media (min-width: 768px) and (max-width: 991px) {
63 | font-size: 26px;
64 | }
65 | @media (max-width: 767px) {
66 | font-size: 21px;
67 | }
68 | }
69 | p {
70 | font-size: 17px;
71 | @media (min-width: 768px) and (max-width: 991px) {
72 | font-size: 16px;
73 | line-height: 19px;
74 | }
75 | @media (max-width: 767px) {
76 | font-size: 14px;
77 | line-height: 16px;
78 | }
79 | }
80 | }
--------------------------------------------------------------------------------
/_data/partners.yml:
--------------------------------------------------------------------------------
1 | -
2 | group: "General sponsor"
3 | elements:
4 | - {name: "Google", description: "Google", link: "https://www.google.com.ua/intl/en/about/", imageUrl: "google.svg"}
5 | - {name: "GDG Lviv", description: "GDG Lviv - Open and volunteer geek community", link: "http://lviv.gdg.org.ua", imageUrl: "gdg-lviv.svg"}
6 | -
7 | group: "With support of"
8 | elements:
9 | - {name: "Google", description: "Google", link: "https://www.google.com.ua/intl/en/about/", imageUrl: "google.svg", width: "120px"}
10 | - {name: "GDG Lviv", description: "GDG Lviv - Open and volunteer geek community", link: "http://lviv.gdg.org.ua", imageUrl: "gdg-lviv.svg", width: "120px"}
11 | - {name: "GDG[x]", description: "GDG[x] - Yeah, we can fix that", link: "https://github.com/gdg-x", imageUrl: "gdg-x.svg", width: "120px"}
12 | -
13 | group: "Information partners"
14 | elements:
15 | - {name: "Google", description: "Google", link: "https://www.google.com.ua/intl/en/about/", imageUrl: "google.svg"}
16 | - {name: "GDG Lviv", description: "GDG Lviv - Open and volunteer geek community", link: "http://lviv.gdg.org.ua", imageUrl: "gdg-lviv.svg"}
17 | - {name: "GDG[x]", description: "GDG[x] - Yeah, we can fix that", link: "https://github.com/gdg-x", imageUrl: "gdg-x.svg"}
18 | - {name: "Google", description: "Google", link: "https://www.google.com.ua/intl/en/about/", imageUrl: "google.svg"}
19 | - {name: "GDG Lviv", description: "GDG Lviv - Open and volunteer geek community", link: "http://lviv.gdg.org.ua", imageUrl: "gdg-lviv.svg"}
20 | - {name: "GDG[x]", description: "GDG[x] - Yeah, we can fix that", link: "https://github.com/gdg-x", imageUrl: "gdg-x.svg"}
21 | - {name: "Google", description: "Google", link: "https://www.google.com.ua/intl/en/about/", imageUrl: "google.svg"}
22 | - {name: "GDG Lviv", description: "GDG Lviv - Open and volunteer geek community", link: "http://lviv.gdg.org.ua", imageUrl: "gdg-lviv.svg"}
23 | - {name: "GDG[x]", description: "GDG[x] - Yeah, we can fix that", link: "https://github.com/gdg-x", imageUrl: "gdg-x.svg"}
--------------------------------------------------------------------------------
/_data/team.yml:
--------------------------------------------------------------------------------
1 | -
2 | id: 0
3 | name: "Vitaliy"
4 | surname: "Zasadnyy"
5 | title: "Sponsors and Speakers Manager"
6 | thumbnailUrl: VitaliyZasadnyy.jpg
7 | team: true
8 | ribbon:
9 | - {abbr: "GDG", title: "Google Developer Group"}
10 | social:
11 | - {name: "google-plus", link: "https://google.com/+VitalikZasadnyy"}
12 | - {name: "twitter", link: "https://twitter.com/zasadnyy"}
13 | - {name: "github", link: "https://github.com/zasadnyy"}
14 | - {name: "site", link: "http://zasadnyy.com/"}
15 | -
16 | id: 1
17 | name: "Oleh"
18 | surname: "Zasadnyy"
19 | title: "Designer and Web Developer"
20 | thumbnailUrl: OlehZasadnyy.jpg
21 | team: true
22 | ribbon:
23 | - {abbr: "GDG", title: "Google Developer Group"}
24 | social:
25 | - {name: "google-plus", link: "https://google.com/+OlehZasadnyy"}
26 | - {name: "github", link: "https://github.com/ozasadnyy"}
27 | -
28 | id: 2
29 | name: "Ostap"
30 | surname: "Andrusiv"
31 | title: "Sponsors and Speakers Manager"
32 | thumbnailUrl: OstapAndrusiv.jpg
33 | team: true
34 | ribbon:
35 | - {abbr: "GDG", title: "Google Developer Group"}
36 | social:
37 | - {name: "google-plus", link: "https://google.com/+OstapAndrusiv"}
38 | - {name: "twitter", link: "https://twitter.com/p1f"}
39 | - {name: "site", link: "http://andrusiv.com/"}
40 | -
41 | id: 4
42 | name: "Dmytro"
43 | surname: "Danylyk"
44 | title: "Android Program Committee"
45 | thumbnailUrl: DmytroDanylyk.jpg
46 | subTeam: true
47 | social:
48 | - {name: "google-plus", link: "https://plus.google.com/+DmytroDanylyk"}
49 | - {name: "twitter", link: "https://twitter.com/dmytrodanylyk"}
50 | - {name: "github", link: "https://github.com/dmytrodanylyk"}
51 | -
52 | id: 7
53 | name: "Valentyn"
54 | surname: "Shybanov"
55 | title: "Web and Cloud Program Committee"
56 | thumbnailUrl: ValentynShybanov.jpg
57 | subTeam: true
58 | social:
59 | - {name: "google-plus", link: "https://google.com/+ValentynShybanov"}
60 | - {name: "site", link: "http://olostan.name/"}
--------------------------------------------------------------------------------
/_sass/partials/_ribbon.scss:
--------------------------------------------------------------------------------
1 | $ribbon-color: #999;
2 | $gdg-ribbon-border-color: #427fed;
3 | $gdgw-ribbon-border-color: #ed2c82;
4 | $gde-ribbon-border-color: #db4437;
5 | $wt-ribbon-border-color: #72e1b3;
6 | .ribbon-wrapper {
7 | position: absolute;
8 | z-index: 5;
9 | right: 0;
10 | margin-top: 10px;
11 | list-style: none;
12 | li {
13 | overflow: hidden;
14 | margin-bottom: 5px;
15 | &:nth-child(3) .abbr, &:nth-child(3) .full-title {
16 | transition-delay: .1s;
17 | }
18 | &:nth-child(2) .abbr, &:nth-child(2) .full-title {
19 | transition-delay: .15s;
20 | }
21 | }
22 | .gdg {
23 | border-right: 4px solid $gdg-ribbon-border-color;
24 | }
25 | .gdgw {
26 | border-right: 4px solid $gdgw-ribbon-border-color;
27 | }
28 | .gde {
29 | border-right: 4px solid $gde-ribbon-border-color;
30 | }
31 | .wt {
32 | border-right: 4px solid $wt-ribbon-border-color;
33 | }
34 | .ribbon {
35 | font-size: 13px;
36 | font-weight: 300;
37 | line-height: 22px;
38 | display: inline-block;
39 | float: right;
40 | min-width: 44px;
41 | height: 22px;
42 | margin: 0;
43 | padding: 0 7px;
44 | transition: $base-transition;
45 | text-align: left;
46 | word-wrap: normal;
47 | color: $ribbon-color;
48 | background-color: #fff;
49 | box-shadow: 0 0 20px rgba(0, 0, 0, .2);
50 | }
51 | .abbr {
52 | .ribbon-activator:hover & {
53 | transform: translateX(100%);
54 | @media (max-width: 767px) {
55 | transform: translateX(0);
56 | }
57 | }
58 | }
59 | .full-title {
60 | clear: both;
61 | margin-top: -22px;
62 | transform: translateX(100%);
63 | .ribbon-activator:hover & {
64 | transform: translateX(0);
65 | @media (max-width: 767px) {
66 | transform: translateX(100%);
67 | }
68 | }
69 | }
70 | }
--------------------------------------------------------------------------------
/_sass/partials/_tickets-2.scss:
--------------------------------------------------------------------------------
1 | $border-color: rgba(51, 51, 51, .6);
2 |
3 | .tickets-2 {
4 | .ticket-text {
5 | margin: 0;
6 | font-size: 32px;
7 | font-weight: $light;
8 | line-height: 39px;
9 | }
10 | .price {
11 | @extend .ticket-text;
12 | @media (max-width: 767px) {
13 | font-size: 28px;
14 | margin-top: 15px;
15 | }
16 | }
17 | .title {
18 | @extend .ticket-text;
19 | padding-left: 10px;
20 | text-align: left;
21 | @media (max-width: 767px) {
22 | padding: 0;
23 | text-align: center;
24 | }
25 | }
26 | .ticket-additional-text {
27 | margin-top: 3px;
28 | display: block;
29 | font-size: 12px;
30 | line-height: 13px;
31 | @media (max-width: 767px) {
32 | font-size: 13px;
33 | line-height: 14px;
34 | }
35 | }
36 | .ticket-additional-info {
37 | @extend .ticket-additional-text;
38 | padding-left: 10px;
39 | text-align: left;
40 | @media (max-width: 767px) {
41 | padding: 0;
42 | text-align: center;
43 | }
44 | }
45 | .ticket-fallback {
46 | padding-top: 2px;
47 | line-height: 1.2;;
48 | }
49 | .ticket-sold-out {
50 | font-size: 18px;
51 | padding-top: 10px;
52 | }
53 | .tickets-info {
54 | font-size: 16px;
55 | }
56 | .button {
57 | @media (max-width: 767px) {
58 | margin-top: 20px;
59 | width: 100%;
60 | }
61 | a {
62 | @media (max-width: 767px) {
63 | width: 100%;
64 | font-size: 20px;
65 | }
66 | }
67 | }
68 | }
69 | .tickets-table {
70 | margin: 0 auto;
71 | margin-bottom: 20px;
72 | padding: 0 15px;
73 | border: 1px solid $border-color;
74 | max-width: 850px;
75 | }
76 | .tickets-row {
77 | padding: 20px 0;
78 | border-bottom: 1px dashed $border-color;
79 | &:last-child {
80 | border: none;
81 | }
82 | }
--------------------------------------------------------------------------------
/img/partners/google.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_includes/navigation.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
9 |
31 |
--------------------------------------------------------------------------------
/_sass/vendor/animations/flippers/_flipInY.scss:
--------------------------------------------------------------------------------
1 | @if $use-flipInY == true {
2 |
3 | @-webkit-keyframes flipInY {
4 | 0% {
5 | -webkit-transform: perspective($flipper-perspective) rotateY($flipper-degrees-max);
6 | opacity: 0;
7 | }
8 |
9 | 40% {
10 | -webkit-transform: perspective($flipper-perspective) rotateY(-$flipper-degrees);
11 | }
12 |
13 | 70% {
14 | -webkit-transform: perspective($flipper-perspective) rotateY($flipper-degrees);
15 | }
16 |
17 | 100% {
18 | -webkit-transform: perspective($flipper-perspective) rotateY(0deg);
19 | opacity: 1;
20 | }
21 | }
22 |
23 | @-moz-keyframes flipInY {
24 | 0% {
25 | -moz-transform: perspective($flipper-perspective) rotateY($flipper-degrees-max);
26 | opacity: 0;
27 | }
28 |
29 | 40% {
30 | -moz-transform: perspective($flipper-perspective) rotateY(-$flipper-degrees);
31 | }
32 |
33 | 70% {
34 | -moz-transform: perspective($flipper-perspective) rotateY($flipper-degrees);
35 | }
36 |
37 | 100% {
38 | -moz-transform: perspective($flipper-perspective) rotateY(0deg);
39 | opacity: 1;
40 | }
41 | }
42 |
43 | @-o-keyframes flipInY {
44 | 0% {
45 | -o-transform: perspective($flipper-perspective) rotateY($flipper-degrees-max);
46 | opacity: 0;
47 | }
48 |
49 | 40% {
50 | -o-transform: perspective($flipper-perspective) rotateY(-$flipper-degrees);
51 | }
52 |
53 | 70% {
54 | -o-transform: perspective($flipper-perspective) rotateY($flipper-degrees);
55 | }
56 |
57 | 100% {
58 | -o-transform: perspective($flipper-perspective) rotateY(0deg);
59 | opacity: 1;
60 | }
61 | }
62 |
63 | @keyframes flipInY {
64 | 0% {
65 | transform: perspective($flipper-perspective) rotateY($flipper-degrees-max);
66 | opacity: 0;
67 | }
68 |
69 | 40% {
70 | transform: perspective($flipper-perspective) rotateY(-$flipper-degrees);
71 | }
72 |
73 | 70% {
74 | transform: perspective($flipper-perspective) rotateY($flipper-degrees);
75 | }
76 |
77 | 100% {
78 | transform: perspective($flipper-perspective) rotateY(0deg);
79 | opacity: 1;
80 | }
81 | }
82 |
83 | .flipInY {
84 | @include animate-prefixer(backface-visibility, visible !important);
85 | @include animate-prefixer(animation-name, flipInY);
86 | }
87 | }
88 |
--------------------------------------------------------------------------------
/_includes/tickets-2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{ site.ticketsTitle }}
6 |
7 | {% assign animationDelay = 0 %}
8 | {% for ticketsOffer in site.ticketsOffers %}
9 |
10 |
11 |
12 | {{ ticketsOffer.name }}
13 | {% if ticketsOffer.additionalInfo != null %}
14 | {{ ticketsOffer.additionalInfo }}
15 | {% endif %}
16 | {% if ticketsOffer.disabled != true %}
17 | {% assign ticketValidTo = ticketsOffer.validThrough | split: "T" %}
18 | Before {{ ticketValidTo[0] | date: "%-d %B %Y"}} {{ ticketValidTo[1] }} or {{ ticketsOffer.ticketsNumber }} tickets
19 | {% endif %}
20 |
21 |
22 | {{ ticketsOffer.price }} {{ ticketsOffer.priceCurrency }}
23 |
24 |
25 | {% if ticketsOffer.soldOut == true %}
26 | {{ ticketsOffer.soldOutText }}
27 | {% elsif ticketsOffer.disabled != true %}
28 |
31 | {% else %}
32 | {% assign ticketValidFrom = ticketsOffer.validFrom | split: "T" %}
33 | Ticket sales will begin on {{ ticketValidFrom[0] | date: "%-d %B %Y"}} {{ ticketValidFrom[1] }}
34 | {% endif %}
35 |
36 |
37 |
38 | {% assign animationDelay = animationDelay | plus:250 %}
39 | {% endfor %}
40 |
41 | {{ site.ticketsInfo }}
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/_posts/2014-07-21-call-for-papers.markdown:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 | title: "Call for Papers"
4 | date: 2014-07-21 09:00:00
5 | isStaticPost: false
6 | ---
7 | GDG DevFest Ukraine 2014 will be held 24-25th of October in ancient city of Lviv. If you want to be part of this great event as a speaker you knocked at the good door.
8 |
9 | #### Presenters – who should speak at the DevFest Conference?
10 |
11 | * developers (freelance and hired)
12 | * companies developing software (apps, tools, frameworks etc.)
13 | * research institutions with Google relevant activities
14 | * companies, organisations and individuals using Google technologies
15 |
16 | If you belong to one of those groups you are cordially invited to submit a talk proposal (or a number of proposals). An independent program committee assesses the proposals and selects the actual conference talks.
17 |
18 | #### Themes and topics – what do we expect?
19 | Our team prepared set of interesting topics in but if you have any cool idea you want to share not from this list, feel free to submit it as well.
20 |
21 | ##### Android
22 |
23 | __Google I/O 2014__
24 |
25 | * Material Design
26 | * Migration to ART
27 | * New Android Camera API
28 | * New Job Scheduler
29 | * Storage Access Framework
30 | * Elevation & Clipping
31 |
32 | __General__
33 |
34 | * Android Continuous Integration
35 | * Loaders, Cursor Adapters
36 | * Android Animations
37 | * Patterns in Android development
38 |
39 | ##### Web
40 |
41 | * AngularJS (1x and 2.0)
42 | * Dart (AngularDart, server-side)
43 | * Polymer and WebComponents
44 | * Material Design in Web
45 | * ChromeOS (apps development)
46 | * Web Performance (tools, techniques, approaches)
47 |
48 |
49 | ##### Cloud
50 |
51 | * Google Cloud Platform
52 | * Compute Engine
53 | * App Engine
54 | * Storages (SQL, NoSQL, BigData)
55 | * APIs
56 | * Go (as a language for a Cloud Ready Apps)
57 |
58 |
59 | #### Please submit your proposals [here](http://bit.ly/dfua-c4p).
60 | __Deadline__ is September 1, 2014
61 |
62 | __Please note:__ There is no guarantee that a submission will be put onto the conference agenda!
63 |
64 | The program committee picks the most interesting talk proposals and informs the selected submitters until September 15, 2014.
65 |
66 | #### Any questions?
67 | Email organizers at [devfest@gdg.org.ua](mailto:devfest@gdg.org.ua)
--------------------------------------------------------------------------------
/_posts/2014-07-21-hello-world.markdown:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 | title: "Hello World!"
4 | date: 2014-07-21 08:00:00
5 | isStaticPost: false
6 | ---
7 |
8 | We're very excited - not just because of the inordinate amount of caffeine based products consumed -
9 | but also because our team are putting together
10 | the final missing parts to the biggest Google related event in Ukraine - [GDG DevFest 2014](http://devfest.gdg.org.ua/).
11 |
12 | This year event will take place in cultural capital of Ukraine - Lviv. Being a unique European city in Ukraine, Lviv is among top 10 cities of the world to visit in 2014 according to the travel group “The Rough Guide” and is among top 10 cities for spending weekends in Europe according to Lonely Planet. So take your time to spend weeked in last hidden gem in the Europe in company of experts and technical geeks.
13 |
14 | So should you also be excited? Well yes... and here's why!
15 |
16 | * **Attendance**: we're expecting over 350 attendees
17 | * **Topic**: more than 48 hours of pure Google technologies
18 | * **Date**: 24-25 of October, expect hackathon and workshops on a first day and conference on the second
19 | * **Venue**: Kinopalace Cinema - for a first time we'll make technical event in real cinema directly in the heart of the ancient city of Lviv
20 | * **Speakers**: we're in the process of finalising the list of speakers
21 |
22 | but we've already secured a first batch of experts:
23 |
24 | * **Dawid Ostrowski** - Developer Relation from Google, who excited about cloud technologies
25 | * **Mateusz Herych** - Android GDE and GDG organizer from Krakow
26 | * **Dmytro Danylyk** - developer, blogger, speaker, author of open source 1000+ star libraries
27 | * **Roman Mazur** - speaker on various international conferences like Droidcon Eastern Europe and Ankara Developer Days
28 |
29 |
30 | More details about speakers, DevFest Hackathon and Lviv will appear in subsequent posts, meantime like us on [Facebook](https://facebook.com/GDGLviv), follow on [Twitter](https://twitter.com/intent/user?screen_name=GDGLviv), add to circles in [Google+](https://plus.google.com/b/102444623953913144164) or subcribe to our [mailing list](http://gdg.us5.list-manage1.com/subscribe/post?u=9fc8aa205b0521b5f05fc8e1e&id=ae0fb459fc) and [RSS feed](http://devfest.gdg.org.ua/feed.xml) in order not to miss any cool stuff about festival.
31 |
--------------------------------------------------------------------------------
/_includes/subscribe.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{ site.subscribeTitle }}
7 |
8 |
28 | {{ site.subscribeInfo }}
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/_sass/vendor/bootstrap/_progress-bars.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Progress bars
3 | // --------------------------------------------------
4 |
5 |
6 | // Bar animations
7 | // -------------------------
8 |
9 | // WebKit
10 | @-webkit-keyframes progress-bar-stripes {
11 | from { background-position: 40px 0; }
12 | to { background-position: 0 0; }
13 | }
14 |
15 | // Spec and IE10+
16 | @keyframes progress-bar-stripes {
17 | from { background-position: 40px 0; }
18 | to { background-position: 0 0; }
19 | }
20 |
21 |
22 | // Bar itself
23 | // -------------------------
24 |
25 | // Outer container
26 | .progress {
27 | overflow: hidden;
28 | height: $line-height-computed;
29 | margin-bottom: $line-height-computed;
30 | background-color: $progress-bg;
31 | border-radius: $progress-border-radius;
32 | @include box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
33 | }
34 |
35 | // Bar of progress
36 | .progress-bar {
37 | float: left;
38 | width: 0%;
39 | height: 100%;
40 | font-size: $font-size-small;
41 | line-height: $line-height-computed;
42 | color: $progress-bar-color;
43 | text-align: center;
44 | background-color: $progress-bar-bg;
45 | @include box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
46 | @include transition(width .6s ease);
47 | }
48 |
49 | // Striped bars
50 | //
51 | // `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the
52 | // `.progress-bar-striped` class, which you just add to an existing
53 | // `.progress-bar`.
54 | .progress-striped .progress-bar,
55 | .progress-bar-striped {
56 | @include gradient-striped;
57 | background-size: 40px 40px;
58 | }
59 |
60 | // Call animation for the active one
61 | //
62 | // `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the
63 | // `.progress-bar.active` approach.
64 | .progress.active .progress-bar,
65 | .progress-bar.active {
66 | @include animation(progress-bar-stripes 2s linear infinite);
67 | }
68 |
69 |
70 | // Variations
71 | // -------------------------
72 |
73 | .progress-bar-success {
74 | @include progress-bar-variant($progress-bar-success-bg);
75 | }
76 |
77 | .progress-bar-info {
78 | @include progress-bar-variant($progress-bar-info-bg);
79 | }
80 |
81 | .progress-bar-warning {
82 | @include progress-bar-variant($progress-bar-warning-bg);
83 | }
84 |
85 | .progress-bar-danger {
86 | @include progress-bar-variant($progress-bar-danger-bg);
87 | }
88 |
--------------------------------------------------------------------------------