diff --git a/2018/_src/.gitignore b/2018/_src/.gitignore new file mode 100644 index 0000000..4083037 --- /dev/null +++ b/2018/_src/.gitignore @@ -0,0 +1 @@ +local diff --git a/2018/_src/bin/build.pl b/2018/_src/bin/build.pl new file mode 100755 index 0000000..dde9353 --- /dev/null +++ b/2018/_src/bin/build.pl @@ -0,0 +1,191 @@ +#!/usr/bin/env perl +use v5.10; +use strict; +use warnings; + +use AnyEvent; +use AnyEvent::Loop; +use AnyEvent::Filesys::Notify; +use File::Basename; +use Template; +use YAML::Tiny qw/LoadFile/; + +my $current_dir = dirname(__FILE__); +my $template_dir = "$current_dir/../templates"; +my $root_dir = "$current_dir/../.."; + +my $watch = $ARGV[0] eq '--watch' || $ARGV[0] eq '-w'; + +sub main { + build_templates(); + + if ($watch) { + say "Watching changes to $root_dir"; + + my $notifier = AnyEvent::Filesys::Notify->new( + dirs => [ $root_dir ], + filter => sub { shift !~ /(\.html|~)$/ }, + cb => \&build_templates, + ); + + AnyEvent::Loop::run; + } +} + +sub build_templates { + my $config = LoadFile("$current_dir/../config.yml") + || die 'Problem loading config'; + + $config->{schedule} = build_schedule($config); + + say "Building templates:"; + + build_template('index.tt', $config, 'index.html'); + + for my $talk (@{$config->{talks} || []}) { + next unless $talk->{slug}; + build_template( + 'talk.tt', + { conference => $config->{conference}, talk => $talk }, + "/talks/$talk->{slug}.html" + ); + } + + say "Done!"; +} + +sub build_template { + my ($template_file, $vars, $output_file) = @_; + + say " - $output_file"; + + my $template = Template->new({ + ABSOLUTE => 1, + ENCODING => 'utf8', + }); + + $template->process( + "$template_dir/$template_file", + $vars, + "$root_dir/$output_file", + { binmode => ':utf8' }, + ) || die $template->error(), "\n";; +} + +# +# Schedule data structure designed to be easy to print as an HTML table. +# It is a hash wich keys are times in a form of 'HH:MM'. There is a key for +# each 10 minutes interval. +# +# Both Events and Talks can expand vertically into multiple intervals. Their +# duration explicits how much down can they go. +# +# Events span for all the schedule rows, while talks must have a room and, +# therefore, can only expand vertically and not horizontally. +# +# An interval can't have 'event' and 'talks'. +# +# Each interval has a boolean 'label' that indicates if the time should be +# printed in the schedule. This will be true at every interval where an event +# or talk starts or finishes. +# +# Shape: +# { +# label: Boolean, +# event: { +# name: String, +# duration: Int, +# }, +# talks: { +# $room_index_1: { +# author: String (Optional), +# name: String, +# slug String (Optional), +# duration: Int, +# accepted: Boolean, +# }, +# // Talk expands vertically multiple intervals +# $room_index_2: { +# skip: true, +# } +# } +# } +# +# This is not intended to design schedules, only to print them. It will be +# easier for you if you first use a Spreadsheet to design the schedule and +# test all options and variations. +# +# The whole thing is a bit of a hack and edge cases are not handled. Printing +# arbitrary schedules in HTML tables is not easy and this is only designed +# to simplify our amateur work process. +# +# Just try not to overlap things and pray for the best :p +# +sub build_schedule { + my $config = shift; + + my $schedule = {}; + + for my $talk (@{$config->{talks} || []}) { + next unless $talk->{accepted} && $talk->{time}; + + my $start_time = $talk->{time}; + my $end_time = sum_minutes_to_time($talk->{duration}, $start_time); + my $room = $talk->{room}; + + $schedule->{$start_time}{label} = 1; + $schedule->{$start_time}{talks}{$room} = $talk; + $schedule->{$end_time}{label} = 1; + + for my $time (get_times_between($start_time, $end_time)) { + $schedule->{$time}{talks}{$room}{skip} = 1; + } + }; + + for my $event (@{$config->{events} || []}) { + next unless $event->{time}; + + my $start_time = $event->{time}; + my $end_time = sum_minutes_to_time($event->{duration}, $start_time); + + $schedule->{$start_time}{label} = 1; + $schedule->{$start_time}{event} = $event; + $schedule->{$end_time}{label} = 1; + }; + + # Ensure we have an entry every 10 minutes + my @sorted_times = sort keys %$schedule; + return unless @sorted_times; + + for my $time (get_times_between($sorted_times[0], $sorted_times[-1])) { + $schedule->{$time}{label} ||= 0; + } + + return $schedule; +} + +sub sum_minutes_to_time { + my ($minutes, $time) = @_; + my ($time_hour, $time_minutes) = split(':', $time); + + my $added_minutes = ($time_minutes + $minutes) % 60; + my $added_hour = $time_hour + int(($time_minutes + $minutes) / 60); + + return sprintf('%02d:%02d', $added_hour, $added_minutes); +} + +sub get_times_between { + my ($from, $to) = @_; + + my @interval;; + my $current = $from; + + do { + $current = sum_minutes_to_time(10, $current); + push @interval, $current + } while ($current ne $to); + + return @interval; +} + +main(); diff --git a/2018/_src/build b/2018/_src/build new file mode 100755 index 0000000..e872f41 --- /dev/null +++ b/2018/_src/build @@ -0,0 +1,20 @@ +#!/bin/bash + +if [ "$with_docker" == "please" ]; then + docker run --rm -ti \ + -v $(pwd)/..:/work \ + -w /work/_src \ + -u $(id -u):$(id -g) \ + -e 'HOME=/tmp/' \ + perl ./build $* +else + rm -rf ../index.html ../talks + + export PERL5LIB=$(pwd)/local/lib/perl5:$PERL5LIB + + cpanm --local-lib=$(pwd)/local -nq Carton + ./local/bin/carton install + + $(pwd)/bin/build.pl $* +fi + diff --git a/2018/_src/config.yml b/2018/_src/config.yml new file mode 100644 index 0000000..4a0622e --- /dev/null +++ b/2018/_src/config.yml @@ -0,0 +1,261 @@ +conference: + name: 'Barcelona Perl & Friends 2018' + date: 'Saturday 10 Nov 2018' + url: 'http://friends.barcelona.pm/2018/' + registration_open: true + registration_url: 'https://goo.gl/forms/Q4oDujaF5i8sjJ7g2' + call_for_papers_open: true + call_for_papers_url: 'https://goo.gl/forms/gSQXo4yMkoOI2i7q1' + talks_open: true + schedule_open: true + finished: false + +venue: + name: 'CAPSiDE offices' + url: 'https://capside.com' + map_url: 'https://www.google.com/maps/embed?pb=!1m14!1m8!1m3!1d11973.793882743914!2d2.16937!3d41.386066!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0x60a6240b19be359b!2sCAPSiDE!5e0!3m2!1sca!2ses!4v1473529872313' + lunch_map_url: 'https://goo.gl/rECGRD' + rooms: + - name: '/lib' + - name: '/bin' + +events: + - name: 'Registration' + time: 09:00 + duration: 30 + - name: 'Morning Break' + time: 11:00 + duration: 30 + - name: 'Lunch' + time: 13:00 + duration: 90 + - name: 'Afternoon Break' + time: 16:30 + duration: 30 + +talks: + - name: 'Opening' + time: 09:30 + duration: 20 + accepted: true + room: 0 + - author: 'Sue Spence' + name: 'Spiders, Gophers & Butterflies' + slug: 'spiders-gophers-and-butterflies' + description: > + A little Go vs Perl 6 concurrency + icon: 'fa-random' + duration: 20 + accepted: true + room: 0 + time: 11:30 + - author: 'Francesc Guasch' + name: 'Ravada VDI' + slug: 'ravada-vdi' + description: > + Ravada is a free, easy to use Virtual Desktop solution. I will show + its features, how it works and what are the installation requirements. + url: 'http://ravada.upc.edu' + icon: 'fa-desktop' + duration: 20 + accepted: true + room: 0 + time: 17:30 + - author: 'Loïc Prieto' + name: 'MooseX::DIC Type-Constrained Dependency Injection' + slug: 'moosex-dic-type-constrained-dependency-injection' + description: > + A talk about Dependency Injection based on "interfaces" for Perl, with + the use of MooseX::DIC, a library I created for this task. Along the way, + I will present the benefits of using a Dependency Injection in your + application. + url: 'http://docs.moosex-dic.org' + icon: 'fa-bullseye' + duration: 20 + accepted: true + room: 1 + time: 11:30 + - author: 'Pau Cervera i Badia' + name: 'Building a markdown parser only with functions' + slug: 'building-a-markdown-parser-only-with-functions' + description: > + We show how to build a nontrivial parser using a functional language + such as clojure or F# or Haskell. The talk is example & test driven and + starts with the basics: parsing a single character and growing the parser + by layering abstraction levels on top of this simple construct. Special + emphasis is on the fact that no need for mutable variables or state is + needed. + icon: 'fa-clone' + duration: 50 + accepted: true + room: 1 + time: 10:00 + - author: 'Jose Luis Perez Diez' + name: 'Luser Hacking survival kit' + slug: 'luser-hacking-survival-kit' + description: > + Just presenting some tools and tips that can allow you to program in + your locked M$ workstation and never touch BASIC. + icon: 'fa-windows' + duration: 20 + accepted: true + room: 1 + time: 16:00 + - author: 'Xavier Noria' + name: 'A Tour of the Elixir Source Code' + slug: 'a-tour-of-the-elixir-source-code' + description: > + In this talk we are going to have a look at the Elixir source code to + understand its implementation. + icon: 'fa-flask' + duration: 50 + accepted: true + room: 0 + time: 14:30 + - author: 'Oriol Soriano Vila' + name: 'CloudDeploy: perl-flavoured Infra-as-Code' + slug: 'clouddeploy-perl-flavoured-infra-as-code' + description: > + CloudDeploy is a 100% perl-written toolkit for managing infrastructure + as Moose classes and deploying it in an automated manner to AWS (only + to AWS; at least, as of now). But it is also more than that: it + provides a CLI to deploy, a CLI utility to manage images, functionality + to calculate 'diffs' between versions of the same stack, etc. + + + At CAPSiDE we have been managing infrastructure for more than 15 years. + The experience we have earned along the way has been bundled into this + tool that has just been open sourced and made available to our + community. We use CloudDeploy daily and we heavily rely on it since the + project inception in 2013. + icon: 'fa-sitemap' + duration: 50 + accepted: true + room: 0 + time: 12:00 + - author: 'Diego Kuperman' + name: 'A bag of sweets with mojo' + slug: 'a-bag-of-sweets-with-mojo' + description: > + Anyone knows about Mojolicious web framework and many also knows some + of the modules that comes with it, like the Mojo::UserAgent and + Mojo::DOM. + What not that many people know is that inside the bag, there is lots + of other more general purpose modules with the same sweety interface + we know and love. In this talk I'll be exploring, thru examples, all + the non web related modules that comes inside the Mojolicious package. + icon: 'fa-heart' + duration: 50 + accepted: true + room: 0 + time: 15:30 + - author: 'Jose Luis Martinez' + name: 'Volar a la nube: consejos para tu viaje' + slug: 'volar-a-la-nube-consejos-para-tu-viaje' + description: > + Una charla sobre cosas que te ayudarán a hacer tu viaje a la nube un + placer. + icon: 'fa-cloud' + duration: 50 + accepted: true + room: 0 + time: 10:00 + - author: 'Ed Freyfogle' + name: 'Life inside a Perl-using, developer-focused, SaaS business' + slug: 'life-inside-a-perl-using-developer-focused-saas-business' + description: > + I'm one of the makers of the OpenCage Geocoder, a geocoding API built in + Perl. My talk will focus on the challenges and pleasures behind a SaaS + business targeting software developers. I'll look at some of the tools + and services we use, and the challenges of being a distributed team. + icon: 'fa-street-view' + duration: 50 + accepted: true + room: 1 + time: 14:30 + - author: 'Cristóbal García' + name: 'Robust code in dynamic languages: the Clojure approach' + slug: 'robust-code-in-dynamic-languages-the-clojure-approach' + description: > + Dynamic languages have a reputation of paying a high price for his + flexibility. The absence of a type checker may make it more difficult + to spot subtle bugs as the business rules or data model evolves. To + avoid such risks, one of the potential approaches we can take is to + increase our test coverage. Unfortunately, creating more test cases is + not a silver bullet. As any other code, tests need to be created and + managed. + + + In this talk, we will explore the clojure.spec framework, the response + from the clojure community to the challenges above. Once we describe + (specify) the valid shapes our data can take, the toolkit, among + other things, enables us to use generative testing to manage a large + number of cases along with automated data validation for everyday use. + icon: 'fa-check' + duration: 50 + accepted: true + room: 1 + time: 12:00 + - author: 'Toni Hermoso Pulido' + name: 'Wikipedia and Wikidata data access with Perl' + slug: 'wikipedia-and-wikidata-data-access-with-perl' + description: > + In this short talk we would introduce some popular and convenient + approaches for interacting with Wikipedia and Wikidata by using Perl. + + + We would learn how to query the available API and SPARQL endpoints, + create simple bots and import data. + icon: 'fa-wikipedia-w' + duration: 20 + accepted: true + room: 1 + time: 17:00 + - author: 'Salvador Fandiño' + name: 'Empaquetando aplicaciones Perl para Windows' + slug: 'empaquetando-aplicaciones-perl-para-windows' + description: > + Esta charla va sobre mi nuevo módulo Win32::Packer que permite crear + fácilmente instaladores para Windows de aplicaciones Perl con todas sus + dependencias en formato MSI. + icon: 'fa-truck' + duration: 20 + accepted: true + room: 1 + time: 15:30 + - author: 'Alex Fernández' + name: 'Code Your Future - Escuela de programación para refugiados' + slug: 'code-your-future' + description: > + CodeYourFuture, ubicada en Gran Bretaña, es la primera y única escuela + de programación que tiene como finalidad enseñar a los refugiados a + programar. La mitad de los estudiantes vienen de Siria. Otros vienen de + Uganda, Etiopía, Afganistán y otro es oficialmente reconocido como sin + estado por el gobierno de Gran Bretaña. Ninguno puede volver a su hogar + ni a sus vidas anteriores y aprenden a programar con el fin de encontrar + un trabajo estable en Gran Bretaña. Esperamos que después de seis meses, + cada estudiante tenga los suficientes conocimientos de programación para + encontrar un trabajo como desarrollador web. + + ¿Quieres ayudarnos a crear una comunidad en Barcelona? + icon: 'fa-code-fork' + duration: 20 + accepted: true + room: 0 + time: 17:00 + - author: 'Manuel Rivero' + name: 'Native and browser SPA versions using re-frame, ClojureScript and ReactNative' + slug: 'native-and-browser-spa-versions' + description: > + We'll talk about what we learned developing the browser and native + versions of a SPA, that share 90 sth % of their code using React and + ReactNative and about the advantages of using a functional language + like ClojureScript combined with the re-frame framework which has an + architecture similar to Redux but with great conceptual improvements + such as effects and coeffects that improve testability by eliminating + the need of mocking inside the SPA business logic, or reactive + subscriptions which make views dumber and can also reduce the number of + renderings. + icon: 'fa-ban' + accepted: true + cancelled: true diff --git a/2018/_src/cpanfile b/2018/_src/cpanfile new file mode 100644 index 0000000..879f48b --- /dev/null +++ b/2018/_src/cpanfile @@ -0,0 +1,6 @@ +requires 'AnyEvent'; +requires 'AnyEvent::Loop'; +requires 'AnyEvent::Filesys::Notify'; +requires 'File::Basename'; +requires 'Template'; +requires 'YAML::Tiny'; diff --git a/2018/_src/cpanfile.snapshot b/2018/_src/cpanfile.snapshot new file mode 100644 index 0000000..99e9a45 --- /dev/null +++ b/2018/_src/cpanfile.snapshot @@ -0,0 +1,1073 @@ +# carton snapshot format: version 1.0 +DISTRIBUTIONS + AnyEvent-7.14 + pathname: M/ML/MLEHMANN/AnyEvent-7.14.tar.gz + provides: + AE undef + AE::Log::COLLECT undef + AE::Log::FILTER undef + AE::Log::LOG undef + AnyEvent 7.14 + AnyEvent::Base 7.14 + AnyEvent::CondVar 7.14 + AnyEvent::CondVar::Base 7.14 + AnyEvent::DNS undef + AnyEvent::Debug undef + AnyEvent::Debug::Backtrace undef + AnyEvent::Debug::Wrap undef + AnyEvent::Debug::Wrapped undef + AnyEvent::Debug::shell undef + AnyEvent::Handle undef + AnyEvent::IO undef + AnyEvent::IO::IOAIO undef + AnyEvent::IO::Perl undef + AnyEvent::Impl::Cocoa undef + AnyEvent::Impl::EV undef + AnyEvent::Impl::Event undef + AnyEvent::Impl::EventLib undef + AnyEvent::Impl::FLTK undef + AnyEvent::Impl::Glib undef + AnyEvent::Impl::IOAsync undef + AnyEvent::Impl::Irssi undef + AnyEvent::Impl::POE undef + AnyEvent::Impl::Perl undef + AnyEvent::Impl::Qt undef + AnyEvent::Impl::Qt::Io undef + AnyEvent::Impl::Qt::Timer undef + AnyEvent::Impl::Tk undef + AnyEvent::Impl::UV undef + AnyEvent::Log undef + AnyEvent::Log::COLLECT undef + AnyEvent::Log::Ctx undef + AnyEvent::Log::FILTER undef + AnyEvent::Log::LOG undef + AnyEvent::Loop undef + AnyEvent::Socket undef + AnyEvent::Strict undef + AnyEvent::TLS undef + AnyEvent::Util undef + requirements: + Canary::Stability 0 + ExtUtils::MakeMaker 6.52 + AnyEvent-Filesys-Notify-1.23 + pathname: M/MG/MGRIMES/AnyEvent-Filesys-Notify-1.23.tar.gz + provides: + AnyEvent::Filesys::Notify 1.23 + AnyEvent::Filesys::Notify::Event 1.23 + AnyEvent::Filesys::Notify::Role::FSEvents 1.23 + AnyEvent::Filesys::Notify::Role::Fallback 1.23 + AnyEvent::Filesys::Notify::Role::Inotify2 1.23 + AnyEvent::Filesys::Notify::Role::KQueue 1.23 + requirements: + AnyEvent 7.05 + Carp 1.20 + Cwd 3.40 + Data::Dump 0 + Exporter 0 + File::Basename 0 + File::Find 0 + File::Path 0 + File::Spec 0 + File::Temp 0 + Linux::Inotify2 1.22 + Module::Build 0.4004 + Moo 1.003001 + MooX::Types::MooseLike::Base 0.25 + MooX::late 0.014 + Path::Iterator::Rule 1.005 + Test::Exception 0 + Test::More 0.87 + Test::Without::Module 0 + Try::Tiny 0.18 + autodie 0 + namespace::autoclean 0.24 + perl 5.006 + AppConfig-1.71 + pathname: N/NE/NEILB/AppConfig-1.71.tar.gz + provides: + AppConfig 1.71 + AppConfig::Args 1.71 + AppConfig::CGI 1.71 + AppConfig::File 1.71 + AppConfig::Getopt 1.71 + AppConfig::State 1.71 + AppConfig::Sys 1.71 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + perl 5.008008 + B-Hooks-EndOfScope-0.24 + pathname: E/ET/ETHER/B-Hooks-EndOfScope-0.24.tar.gz + provides: + B::Hooks::EndOfScope 0.24 + B::Hooks::EndOfScope::PP 0.24 + B::Hooks::EndOfScope::XS 0.24 + requirements: + ExtUtils::MakeMaker 0 + Hash::Util::FieldHash 0 + Module::Implementation 0.05 + Scalar::Util 0 + Sub::Exporter::Progressive 0.001006 + Text::ParseWords 0 + Tie::Hash 0 + Variable::Magic 0.48 + perl 5.006001 + strict 0 + warnings 0 + CPAN-Common-Index-0.010 + pathname: D/DA/DAGOLDEN/CPAN-Common-Index-0.010.tar.gz + provides: + CPAN::Common::Index 0.010 + CPAN::Common::Index::LocalPackage 0.010 + CPAN::Common::Index::MetaDB 0.010 + CPAN::Common::Index::Mirror 0.010 + CPAN::Common::Index::Mux::Ordered 0.010 + requirements: + CPAN::DistnameInfo 0 + CPAN::Meta::YAML 0 + Carp 0 + Class::Tiny 0 + ExtUtils::MakeMaker 6.17 + File::Basename 0 + File::Copy 0 + File::Fetch 0 + File::Spec 0 + File::Temp 0.19 + File::stat 0 + HTTP::Tiny 0 + Module::Load 0 + Search::Dict 1.07 + Tie::Handle::SkipHeader 0 + URI 0 + parent 0 + perl 5.008001 + strict 0 + warnings 0 + CPAN-DistnameInfo-0.12 + pathname: G/GB/GBARR/CPAN-DistnameInfo-0.12.tar.gz + provides: + CPAN::DistnameInfo 0.12 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + CPAN-Meta-Check-0.014 + pathname: L/LE/LEONT/CPAN-Meta-Check-0.014.tar.gz + provides: + CPAN::Meta::Check 0.014 + requirements: + CPAN::Meta::Prereqs 2.132830 + CPAN::Meta::Requirements 2.121 + Exporter 0 + ExtUtils::MakeMaker 0 + Module::Metadata 1.000023 + base 0 + perl 5.006 + strict 0 + warnings 0 + Canary-Stability-2012 + pathname: M/ML/MLEHMANN/Canary-Stability-2012.tar.gz + provides: + Canary::Stability 2012 + requirements: + ExtUtils::MakeMaker 0 + Capture-Tiny-0.46 + pathname: D/DA/DAGOLDEN/Capture-Tiny-0.46.tar.gz + provides: + Capture::Tiny 0.46 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 6.17 + File::Spec 0 + File::Temp 0 + IO::Handle 0 + Scalar::Util 0 + perl 5.006 + strict 0 + warnings 0 + Carton-v1.0.29 + pathname: M/MI/MIYAGAWA/Carton-v1.0.29.tar.gz + provides: + Carton 1.000029 + Carton::Builder undef + Carton::CLI undef + Carton::CPANfile undef + Carton::Dependency undef + Carton::Dist undef + Carton::Dist::Core undef + Carton::Environment undef + Carton::Error undef + Carton::Error::CPANfileNotFound undef + Carton::Error::CommandExit undef + Carton::Error::CommandNotFound undef + Carton::Error::SnapshotNotFound undef + Carton::Error::SnapshotParseError undef + Carton::Index undef + Carton::Mirror undef + Carton::Package undef + Carton::Packer undef + Carton::Snapshot undef + Carton::Snapshot::Emitter undef + Carton::Snapshot::Parser undef + Carton::Tree undef + Carton::Util undef + requirements: + CPAN::Meta 2.120921 + CPAN::Meta::Requirements 2.121 + Class::Tiny 1.001 + ExtUtils::MakeMaker 0 + Getopt::Long 2.39 + JSON::PP 2.27300 + Menlo 1.9016 + Module::CPANfile 0.9031 + Module::CoreList 0 + Path::Tiny 0.033 + Try::Tiny 0.09 + parent 0.223 + perl 5.008005 + version 0.77 + Class-Method-Modifiers-2.12 + pathname: E/ET/ETHER/Class-Method-Modifiers-2.12.tar.gz + provides: + Class::Method::Modifiers 2.12 + requirements: + B 0 + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 0 + base 0 + perl 5.006 + strict 0 + warnings 0 + Class-Tiny-1.006 + pathname: D/DA/DAGOLDEN/Class-Tiny-1.006.tar.gz + provides: + Class::Tiny 1.006 + Class::Tiny::Object 1.006 + requirements: + Carp 0 + ExtUtils::MakeMaker 6.17 + perl 5.006 + strict 0 + warnings 0 + Data-Dump-1.23 + pathname: G/GA/GAAS/Data-Dump-1.23.tar.gz + provides: + Data::Dump 1.23 + Data::Dump::FilterContext undef + Data::Dump::Filtered undef + Data::Dump::Trace 0.02 + Data::Dump::Trace::Call 0.02 + Data::Dump::Trace::Wrapper 0.02 + requirements: + ExtUtils::MakeMaker 0 + Symbol 0 + Test 0 + perl 5.006 + Devel-GlobalDestruction-0.14 + pathname: H/HA/HAARG/Devel-GlobalDestruction-0.14.tar.gz + provides: + Devel::GlobalDestruction 0.14 + requirements: + ExtUtils::MakeMaker 0 + Sub::Exporter::Progressive 0.001011 + perl 5.006 + Dist-CheckConflicts-0.11 + pathname: D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz + provides: + Dist::CheckConflicts 0.11 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 6.30 + Module::Runtime 0.009 + base 0 + strict 0 + warnings 0 + Exporter-Tiny-1.000000 + pathname: T/TO/TOBYINK/Exporter-Tiny-1.000000.tar.gz + provides: + Exporter::Shiny 1.000000 + Exporter::Tiny 1.000000 + requirements: + ExtUtils::MakeMaker 6.17 + perl 5.006001 + ExtUtils-Config-0.008 + pathname: L/LE/LEONT/ExtUtils-Config-0.008.tar.gz + provides: + ExtUtils::Config 0.008 + requirements: + Data::Dumper 0 + ExtUtils::MakeMaker 6.30 + strict 0 + warnings 0 + ExtUtils-Helpers-0.026 + pathname: L/LE/LEONT/ExtUtils-Helpers-0.026.tar.gz + provides: + ExtUtils::Helpers 0.026 + ExtUtils::Helpers::Unix 0.026 + ExtUtils::Helpers::VMS 0.026 + ExtUtils::Helpers::Windows 0.026 + requirements: + Carp 0 + Exporter 5.57 + ExtUtils::MakeMaker 0 + File::Basename 0 + File::Copy 0 + File::Spec::Functions 0 + Text::ParseWords 3.24 + perl 5.006 + strict 0 + warnings 0 + ExtUtils-InstallPaths-0.011 + pathname: L/LE/LEONT/ExtUtils-InstallPaths-0.011.tar.gz + provides: + ExtUtils::InstallPaths 0.011 + requirements: + Carp 0 + ExtUtils::Config 0.002 + ExtUtils::MakeMaker 0 + File::Spec 0 + perl 5.006 + strict 0 + warnings 0 + ExtUtils-MakeMaker-CPANfile-0.08 + pathname: I/IS/ISHIGAKI/ExtUtils-MakeMaker-CPANfile-0.08.tar.gz + provides: + ExtUtils::MakeMaker::CPANfile 0.08 + requirements: + CPAN::Meta::Converter 2.141170 + Cwd 0 + ExtUtils::MakeMaker 6.17 + File::Path 0 + Module::CPANfile 0 + Test::More 0.88 + version 0.76 + File-Monitor-1.00 + pathname: A/AN/ANDYA/File-Monitor-1.00.tar.gz + provides: + File::Monitor 1.00 + File::Monitor::Base 1.00 + File::Monitor::Delta 1.00 + File::Monitor::Object 1.00 + requirements: + Test::More 0 + version 0 + File-Which-1.22 + pathname: P/PL/PLICEASE/File-Which-1.22.tar.gz + provides: + File::Which 1.22 + requirements: + ExtUtils::MakeMaker 0 + perl 5.006 + File-pushd-1.014 + pathname: D/DA/DAGOLDEN/File-pushd-1.014.tar.gz + provides: + File::pushd 1.014 + requirements: + Carp 0 + Cwd 0 + Exporter 0 + ExtUtils::MakeMaker 6.17 + File::Path 0 + File::Spec 0 + File::Temp 0 + overload 0 + perl 5.006 + strict 0 + warnings 0 + HTTP-Tinyish-0.14 + pathname: M/MI/MIYAGAWA/HTTP-Tinyish-0.14.tar.gz + provides: + HTTP::Tinyish 0.14 + HTTP::Tinyish::Base undef + HTTP::Tinyish::Curl undef + HTTP::Tinyish::HTTPTiny undef + HTTP::Tinyish::LWP undef + HTTP::Tinyish::Wget undef + requirements: + ExtUtils::MakeMaker 0 + File::Which 0 + HTTP::Tiny 0.055 + IPC::Run3 0 + parent 0 + perl 5.008001 + IPC-Run3-0.048 + pathname: R/RJ/RJBS/IPC-Run3-0.048.tar.gz + provides: + IPC::Run3 0.048 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0.31 + Time::HiRes 0 + JSON-2.97001 + pathname: I/IS/ISHIGAKI/JSON-2.97001.tar.gz + provides: + JSON 2.97001 + JSON::Backend::PP 2.97001 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + Linux-Inotify2-1.22 + pathname: M/ML/MLEHMANN/Linux-Inotify2-1.22.tar.gz + provides: + Linux::Inotify2 1.22 + Linux::Inotify2::Event 1.22 + Linux::Inotify2::Watch 1.22 + requirements: + ExtUtils::MakeMaker 0 + common::sense 0 + Menlo-1.9017 + pathname: M/MI/MIYAGAWA/Menlo-1.9017.tar.gz + provides: + Menlo 1.9017 + Menlo::Builder::Static undef + Menlo::CLI::Compat undef + Menlo::Dependency undef + Menlo::Index::MetaCPAN undef + Menlo::Index::MetaDB 0.007 + Menlo::Index::Mirror undef + Menlo::Util undef + requirements: + CPAN::Common::Index 0.006 + CPAN::DistnameInfo 0 + CPAN::Meta 2.132830 + CPAN::Meta::Check 0 + CPAN::Meta::Requirements 0 + CPAN::Meta::YAML 0 + Capture::Tiny 0 + Class::Tiny 1.001 + Exporter 0 + ExtUtils::Config 0.003 + ExtUtils::Helpers 0.020 + ExtUtils::InstallPaths 0.002 + ExtUtils::MakeMaker 0 + File::Temp 0 + File::Which 0 + File::pushd 0 + Getopt::Long 2.36 + HTTP::Tiny 0.054 + HTTP::Tinyish 0.04 + JSON::PP 2 + Module::CPANfile 0 + Module::CoreList 0 + Module::Metadata 0 + Parse::CPAN::Meta 0 + Parse::PMFile 0.26 + String::ShellQuote 0 + URI 0 + Win32::ShellQuote 0 + local::lib 0 + parent 0 + perl 5.008001 + version 0 + Module-Build-0.4224 + pathname: L/LE/LEONT/Module-Build-0.4224.tar.gz + provides: + Module::Build 0.4224 + Module::Build::Base 0.4224 + Module::Build::Compat 0.4224 + Module::Build::Config 0.4224 + Module::Build::Cookbook 0.4224 + Module::Build::Dumper 0.4224 + Module::Build::Notes 0.4224 + Module::Build::PPMMaker 0.4224 + Module::Build::Platform::Default 0.4224 + Module::Build::Platform::MacOS 0.4224 + Module::Build::Platform::Unix 0.4224 + Module::Build::Platform::VMS 0.4224 + Module::Build::Platform::VOS 0.4224 + Module::Build::Platform::Windows 0.4224 + Module::Build::Platform::aix 0.4224 + Module::Build::Platform::cygwin 0.4224 + Module::Build::Platform::darwin 0.4224 + Module::Build::Platform::os2 0.4224 + Module::Build::PodParser 0.4224 + requirements: + CPAN::Meta 2.142060 + CPAN::Meta::YAML 0.003 + Cwd 0 + Data::Dumper 0 + ExtUtils::CBuilder 0.27 + ExtUtils::Install 0 + ExtUtils::Manifest 0 + ExtUtils::Mkbootstrap 0 + ExtUtils::ParseXS 2.21 + File::Basename 0 + File::Compare 0 + File::Copy 0 + File::Find 0 + File::Path 0 + File::Spec 0.82 + File::Temp 0.15 + Getopt::Long 0 + Module::Metadata 1.000002 + Parse::CPAN::Meta 1.4401 + Perl::OSType 1 + Pod::Man 2.17 + TAP::Harness 3.29 + Test::More 0.49 + Text::Abbrev 0 + Text::ParseWords 0 + perl 5.006001 + version 0.87 + Module-CPANfile-1.1002 + pathname: M/MI/MIYAGAWA/Module-CPANfile-1.1002.tar.gz + provides: + Module::CPANfile 1.1002 + Module::CPANfile::Environment undef + Module::CPANfile::Prereq undef + Module::CPANfile::Prereqs undef + Module::CPANfile::Requirement undef + requirements: + CPAN::Meta 2.12091 + CPAN::Meta::Prereqs 2.12091 + ExtUtils::MakeMaker 0 + JSON::PP 2.27300 + parent 0 + Module-Implementation-0.09 + pathname: D/DR/DROLSKY/Module-Implementation-0.09.tar.gz + provides: + Module::Implementation 0.09 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + Module::Runtime 0.012 + Try::Tiny 0 + strict 0 + warnings 0 + Module-Reader-0.003003 + pathname: H/HA/HAARG/Module-Reader-0.003003.tar.gz + provides: + Module::Reader 0.003003 + Module::Reader::File 0.003003 + requirements: + ExtUtils::MakeMaker 0 + Scalar::Util 0 + perl 5.006 + Module-Runtime-0.016 + pathname: Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz + provides: + Module::Runtime 0.016 + requirements: + Module::Build 0 + Test::More 0.41 + perl 5.006 + strict 0 + warnings 0 + Moo-2.003004 + pathname: H/HA/HAARG/Moo-2.003004.tar.gz + provides: + Method::Generate::Accessor undef + Method::Generate::BuildAll undef + Method::Generate::Constructor undef + Method::Generate::DemolishAll undef + Moo 2.003004 + Moo::HandleMoose undef + Moo::HandleMoose::FakeConstructor undef + Moo::HandleMoose::FakeMetaClass undef + Moo::HandleMoose::_TypeMap undef + Moo::Object undef + Moo::Role 2.003004 + Moo::_Utils undef + Moo::_mro undef + Moo::_strictures undef + Moo::sification undef + oo undef + requirements: + Class::Method::Modifiers 1.1 + Devel::GlobalDestruction 0.11 + Exporter 5.57 + ExtUtils::MakeMaker 0 + Module::Runtime 0.014 + Role::Tiny 2.000004 + Scalar::Util 0 + Sub::Defer 2.003001 + Sub::Quote 2.003001 + perl 5.006 + MooX-Types-MooseLike-0.29 + pathname: M/MA/MATEU/MooX-Types-MooseLike-0.29.tar.gz + provides: + MooX::Types::MooseLike 0.29 + MooX::Types::MooseLike::Base 0.29 + requirements: + ExtUtils::MakeMaker 0 + Module::Runtime 0.014 + MooX-late-0.015 + pathname: T/TO/TOBYINK/MooX-late-0.015.tar.gz + provides: + MooX::late 0.015 + MooX::late::DefinitionContext 0.015 + requirements: + ExtUtils::MakeMaker 6.17 + Moo 1.006000 + Type::Utils 1.000001 + Number-Compare-0.03 + pathname: R/RC/RCLAMP/Number-Compare-0.03.tar.gz + provides: + Number::Compare 0.03 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + Package-Stash-0.37 + pathname: D/DO/DOY/Package-Stash-0.37.tar.gz + provides: + Package::Stash 0.37 + Package::Stash::PP 0.37 + requirements: + B 0 + Carp 0 + Config 0 + Dist::CheckConflicts 0.02 + ExtUtils::MakeMaker 0 + File::Spec 0 + Getopt::Long 0 + Module::Implementation 0.06 + Package::Stash::XS 0.26 + Scalar::Util 0 + Symbol 0 + Text::ParseWords 0 + constant 0 + strict 0 + warnings 0 + Package-Stash-XS-0.28 + pathname: D/DO/DOY/Package-Stash-XS-0.28.tar.gz + provides: + Package::Stash::XS 0.28 + requirements: + ExtUtils::MakeMaker 6.30 + XSLoader 0 + strict 0 + warnings 0 + Parse-PMFile-0.41 + pathname: I/IS/ISHIGAKI/Parse-PMFile-0.41.tar.gz + provides: + Parse::PMFile 0.41 + requirements: + Dumpvalue 0 + ExtUtils::MakeMaker 0 + ExtUtils::MakeMaker::CPANfile 0.08 + File::Spec 0 + JSON::PP 2.00 + Safe 0 + version 0.83 + Path-Iterator-Rule-1.012 + pathname: D/DA/DAGOLDEN/Path-Iterator-Rule-1.012.tar.gz + provides: + PIR 1.012 + Path::Iterator::Rule 1.012 + requirements: + Carp 0 + ExtUtils::MakeMaker 6.17 + File::Basename 0 + File::Spec 0 + List::Util 0 + Number::Compare 0.02 + Scalar::Util 0 + Text::Glob 0 + Try::Tiny 0 + if 0 + perl 5.008001 + strict 0 + warnings 0 + warnings::register 0 + Path-Tiny-0.104 + pathname: D/DA/DAGOLDEN/Path-Tiny-0.104.tar.gz + provides: + Path::Tiny 0.104 + Path::Tiny::Error 0.104 + requirements: + Carp 0 + Cwd 0 + Digest 1.03 + Digest::SHA 5.45 + Exporter 5.57 + ExtUtils::MakeMaker 6.17 + Fcntl 0 + File::Copy 0 + File::Glob 0 + File::Path 2.07 + File::Spec 0.86 + File::Temp 0.19 + File::stat 0 + constant 0 + if 0 + overload 0 + perl 5.008001 + strict 0 + warnings 0 + Role-Tiny-2.000006 + pathname: H/HA/HAARG/Role-Tiny-2.000006.tar.gz + provides: + Role::Tiny 2.000006 + Role::Tiny::With 2.000006 + requirements: + Exporter 5.57 + perl 5.006 + String-ShellQuote-1.04 + pathname: R/RO/ROSCH/String-ShellQuote-1.04.tar.gz + provides: + String::ShellQuote 1.04 + requirements: + ExtUtils::MakeMaker 0 + Sub-Exporter-Progressive-0.001013 + pathname: F/FR/FREW/Sub-Exporter-Progressive-0.001013.tar.gz + provides: + Sub::Exporter::Progressive 0.001013 + requirements: + ExtUtils::MakeMaker 0 + Sub-Identify-0.14 + pathname: R/RG/RGARCIA/Sub-Identify-0.14.tar.gz + provides: + Sub::Identify 0.14 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + Sub-Quote-2.005001 + pathname: H/HA/HAARG/Sub-Quote-2.005001.tar.gz + provides: + Sub::Defer 2.005001 + Sub::Quote 2.005001 + requirements: + ExtUtils::MakeMaker 0 + Scalar::Util 0 + perl 5.006 + Sub-Uplevel-0.2800 + pathname: D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz + provides: + Sub::Uplevel 0.2800 + requirements: + Carp 0 + ExtUtils::MakeMaker 6.17 + constant 0 + perl 5.006 + strict 0 + warnings 0 + Template-Toolkit-2.27 + pathname: A/AB/ABW/Template-Toolkit-2.27.tar.gz + provides: + Template 2.27 + Template::Base 2.78 + Template::Config 2.75 + Template::Constants 2.75 + Template::Context 2.98 + Template::Directive 2.2 + Template::Document 2.79 + Template::Exception 2.7 + Template::Filters 2.87 + Template::Grammar 2.26 + Template::Iterator 2.68 + Template::Monad::Assert 1 + Template::Monad::Scalar 1 + Template::Namespace::Constants 1.27 + Template::Parser 2.89 + Template::Perl 2.2 + Template::Plugin 2.7 + Template::Plugin::Assert 1 + Template::Plugin::CGI 2.7 + Template::Plugin::Datafile 2.72 + Template::Plugin::Date 2.78 + Template::Plugin::Date::Calc 2.78 + Template::Plugin::Date::Manip 2.78 + Template::Plugin::Directory 2.7 + Template::Plugin::Dumper 2.7 + Template::Plugin::File 2.71 + Template::Plugin::Filter 1.38 + Template::Plugin::Format 2.7 + Template::Plugin::HTML 2.62 + Template::Plugin::Image 1.21 + Template::Plugin::Iterator 2.68 + Template::Plugin::Math 1.16 + Template::Plugin::Pod 2.69 + Template::Plugin::Procedural 1.17 + Template::Plugin::Scalar 1 + Template::Plugin::String 2.4 + Template::Plugin::Table 2.71 + Template::Plugin::URL 2.74 + Template::Plugin::View 2.68 + Template::Plugin::Wrap 2.68 + Template::Plugins 2.77 + Template::Provider 2.94 + Template::Service 2.8 + Template::Stash 2.91 + Template::Stash::Context 1.63 + Template::Stash::XS undef + Template::Test 2.75 + Template::TieString 2.75 + Template::Toolkit undef + Template::VMethods 2.16 + Template::View 2.91 + bytes 2.94 + requirements: + AppConfig 1.56 + ExtUtils::MakeMaker 0 + File::Spec 0.8 + File::Temp 0.12 + Scalar::Util 0 + Test-Exception-0.43 + pathname: E/EX/EXODIST/Test-Exception-0.43.tar.gz + provides: + Test::Exception 0.43 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 0 + Sub::Uplevel 0.18 + Test::Builder 0.7 + Test::Builder::Tester 1.07 + Test::Harness 2.03 + base 0 + perl 5.006001 + strict 0 + warnings 0 + Test-Without-Module-0.20 + pathname: C/CO/CORION/Test-Without-Module-0.20.tar.gz + provides: + Test::Without::Module 0.20 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + File::Find 0 + File::Spec 0 + Test::More 0 + Text-Glob-0.11 + pathname: R/RC/RCLAMP/Text-Glob-0.11.tar.gz + provides: + Text::Glob 0.11 + requirements: + Exporter 0 + ExtUtils::MakeMaker 0 + constant 0 + perl 5.00503 + Tie-Handle-Offset-0.003 + pathname: D/DA/DAGOLDEN/Tie-Handle-Offset-0.003.tar.gz + provides: + Tie::Handle::Offset 0.003 + Tie::Handle::SkipHeader 0.003 + requirements: + ExtUtils::MakeMaker 6.17 + File::Find 0 + File::Temp 0 + Test::More 0 + Tie::Handle 0 + strict 0 + Try-Tiny-0.30 + pathname: E/ET/ETHER/Try-Tiny-0.30.tar.gz + provides: + Try::Tiny 0.30 + requirements: + Carp 0 + Exporter 5.57 + ExtUtils::MakeMaker 0 + constant 0 + perl 5.006 + strict 0 + warnings 0 + Type-Tiny-1.002002 + pathname: T/TO/TOBYINK/Type-Tiny-1.002002.tar.gz + provides: + Devel::TypeTiny::Perl56Compat 1.002002 + Devel::TypeTiny::Perl58Compat 1.002002 + Error::TypeTiny 1.002002 + Error::TypeTiny::Assertion 1.002002 + Error::TypeTiny::Compilation 1.002002 + Error::TypeTiny::WrongNumberOfParameters 1.002002 + Eval::TypeTiny 1.002002 + Reply::Plugin::TypeTiny 1.002002 + Test::TypeTiny 1.002002 + Type::Coercion 1.002002 + Type::Coercion::FromMoose 1.002002 + Type::Coercion::Union 1.002002 + Type::Library 1.002002 + Type::Params 1.002002 + Type::Parser 1.002002 + Type::Registry 1.002002 + Type::Tiny 1.002002 + Type::Tiny::Class 1.002002 + Type::Tiny::Duck 1.002002 + Type::Tiny::Enum 1.002002 + Type::Tiny::Intersection 1.002002 + Type::Tiny::Role 1.002002 + Type::Tiny::Union 1.002002 + Type::Utils 1.002002 + Types::Common::Numeric 1.002002 + Types::Common::String 1.002002 + Types::Standard 1.002002 + Types::Standard::ArrayRef 1.002002 + Types::Standard::CycleTuple 1.002002 + Types::Standard::Dict 1.002002 + Types::Standard::HashRef 1.002002 + Types::Standard::Map 1.002002 + Types::Standard::ScalarRef 1.002002 + Types::Standard::Tuple 1.002002 + Types::TypeTiny 1.002002 + requirements: + Exporter::Tiny 0.026 + ExtUtils::MakeMaker 6.17 + perl 5.006001 + URI-1.73 + pathname: E/ET/ETHER/URI-1.73.tar.gz + provides: + URI 1.73 + URI::Escape 3.31 + URI::Heuristic 4.20 + URI::IRI 1.73 + URI::QueryParam 1.73 + URI::Split 1.73 + URI::URL 5.04 + URI::WithBase 2.20 + URI::data 1.73 + URI::file 4.21 + URI::file::Base 1.73 + URI::file::FAT 1.73 + URI::file::Mac 1.73 + URI::file::OS2 1.73 + URI::file::QNX 1.73 + URI::file::Unix 1.73 + URI::file::Win32 1.73 + URI::ftp 1.73 + URI::gopher 1.73 + URI::http 1.73 + URI::https 1.73 + URI::ldap 1.73 + URI::ldapi 1.73 + URI::ldaps 1.73 + URI::mailto 1.73 + URI::mms 1.73 + URI::news 1.73 + URI::nntp 1.73 + URI::pop 1.73 + URI::rlogin 1.73 + URI::rsync 1.73 + URI::rtsp 1.73 + URI::rtspu 1.73 + URI::sftp 1.73 + URI::sip 1.73 + URI::sips 1.73 + URI::snews 1.73 + URI::ssh 1.73 + URI::telnet 1.73 + URI::tn3270 1.73 + URI::urn 1.73 + URI::urn::isbn 1.73 + URI::urn::oid 1.73 + requirements: + Carp 0 + Cwd 0 + Data::Dumper 0 + Encode 0 + Exporter 5.57 + ExtUtils::MakeMaker 0 + MIME::Base64 2 + Net::Domain 0 + Scalar::Util 0 + constant 0 + integer 0 + overload 0 + parent 0 + perl 5.008001 + strict 0 + utf8 0 + warnings 0 + Variable-Magic-0.62 + pathname: V/VP/VPIT/Variable-Magic-0.62.tar.gz + provides: + Variable::Magic 0.62 + requirements: + Carp 0 + Config 0 + Exporter 0 + ExtUtils::MakeMaker 0 + IO::Handle 0 + IO::Select 0 + IPC::Open3 0 + POSIX 0 + Socket 0 + Test::More 0 + XSLoader 0 + base 0 + lib 0 + perl 5.008 + Win32-ShellQuote-0.003001 + pathname: H/HA/HAARG/Win32-ShellQuote-0.003001.tar.gz + provides: + Win32::ShellQuote 0.003001 + requirements: + perl 5.006 + YAML-1.24 + pathname: T/TI/TINITA/YAML-1.24.tar.gz + provides: + YAML 1.24 + YAML::Any 1.24 + YAML::Dumper undef + YAML::Dumper::Base undef + YAML::Error undef + YAML::Loader undef + YAML::Loader::Base undef + YAML::Marshall undef + YAML::Mo undef + YAML::Node undef + YAML::Tag undef + YAML::Type::blessed undef + YAML::Type::code undef + YAML::Type::glob undef + YAML::Type::ref undef + YAML::Type::regexp undef + YAML::Type::undef undef + YAML::Types undef + YAML::Warning undef + yaml_mapping undef + yaml_scalar undef + yaml_sequence undef + requirements: + ExtUtils::MakeMaker 0 + perl 5.008001 + YAML-Tiny-1.73 + pathname: E/ET/ETHER/YAML-Tiny-1.73.tar.gz + provides: + YAML::Tiny 1.73 + requirements: + B 0 + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 0 + Fcntl 0 + Scalar::Util 0 + perl 5.008001 + strict 0 + warnings 0 + common-sense-3.74 + pathname: M/ML/MLEHMANN/common-sense-3.74.tar.gz + provides: + common::sense 3.74 + requirements: + ExtUtils::MakeMaker 0 + local-lib-2.000024 + pathname: H/HA/HAARG/local-lib-2.000024.tar.gz + provides: + lib::core::only undef + local::lib 2.000024 + requirements: + perl 5.006 + namespace-autoclean-0.28 + pathname: E/ET/ETHER/namespace-autoclean-0.28.tar.gz + provides: + namespace::autoclean 0.28 + requirements: + B::Hooks::EndOfScope 0.12 + ExtUtils::MakeMaker 0 + List::Util 0 + Sub::Identify 0 + namespace::clean 0.20 + perl 5.006 + strict 0 + warnings 0 + namespace-clean-0.27 + pathname: R/RI/RIBASUSHI/namespace-clean-0.27.tar.gz + provides: + namespace::clean 0.27 + requirements: + B::Hooks::EndOfScope 0.12 + ExtUtils::MakeMaker 0 + Package::Stash 0.23 + perl 5.008001 diff --git a/2018/_src/templates/index.tt b/2018/_src/templates/index.tt new file mode 100644 index 0000000..7ebcd72 --- /dev/null +++ b/2018/_src/templates/index.tt @@ -0,0 +1,38 @@ + + + + [% conference.name %] + + + + + + + + + + + + + + + + +
+ [% INCLUDE templates/index/banner.tt %] + [% INCLUDE templates/index/presentation.tt %] + [% INCLUDE templates/index/venue.tt %] + [% INCLUDE templates/index/schedule.tt %] + [% INCLUDE templates/index/talks.tt %] + [% INCLUDE templates/index/footer.tt %] +
+ + + + + + + + + + diff --git a/2018/_src/templates/index/banner.tt b/2018/_src/templates/index/banner.tt new file mode 100644 index 0000000..b9ccd71 --- /dev/null +++ b/2018/_src/templates/index/banner.tt @@ -0,0 +1,29 @@ + diff --git a/2018/_src/templates/index/footer.tt b/2018/_src/templates/index/footer.tt new file mode 100644 index 0000000..d154d6d --- /dev/null +++ b/2018/_src/templates/index/footer.tt @@ -0,0 +1,12 @@ + diff --git a/2018/_src/templates/index/presentation.tt b/2018/_src/templates/index/presentation.tt new file mode 100644 index 0000000..4b57343 --- /dev/null +++ b/2018/_src/templates/index/presentation.tt @@ -0,0 +1,33 @@ +
+
+
+

A free one-day conference for Geeks and Friends

+

+ The computer industry is becoming a place where you are trapped + in the feeling that you're missing out if you're not using last week's + "hot thing" commented on Twitter, and that no one will be interested if + you're not talking about the last functional programming lanaguage, new + framework, etc. +

+

+ The fact is that innovations and amazing things are going + on in lots of our "out of sight" communities. Come to show us what + you've done, how you like to work, what is working for you and what is not, + without the feeling that you'll be frowned upon because you say jQuery, + SQL Server, Ruby or Windows. +

+

+ + We're the Perl Community. We want to share with you our ideas + and innovations, and want to see yours, no matter what technology + you use, what gender you are or where you're from. + +

+
+ +
+
diff --git a/2018/_src/templates/index/schedule.tt b/2018/_src/templates/index/schedule.tt new file mode 100644 index 0000000..ae17b7b --- /dev/null +++ b/2018/_src/templates/index/schedule.tt @@ -0,0 +1,85 @@ +[% IF conference.schedule_open == 'true' %] +
+
+
+

Schedule

+ [% IF conference.finished %] +

+ The schedule for the [% conference.name %] started at 9:30 and + included 18 talks (4 of them were lightning talks). We finished + at 19:00 after almost 10 hours of a great conference. +

+ [% ELSE %] +

+ The show will start at 9:30am, but we'll open at 9 for + registration. We'll have a couple of coffee breaks and an 1:30h + lunch break. +

+ [% END %] +

+ + + + + + [% FOREACH room IN venue.rooms %] + + [% END %] + + + + + [% FOREACH time IN schedule.keys.sort %] + [% line = schedule.$time %] + + [% IF line.label %] + + [% ELSE %] + + [% END %] + + [% IF line.event %] + [% colspan = venue.rooms.size %] + [% rowspan = line.event.duration / 10 %] + + [% END %] + + [% FOREACH room IN venue.rooms %] + [% index = loop.index %] + [% talk = line.talks.$index %] + + [% IF talk && ! talk.skip %] + [% rowspan = talk.duration / 10 %] + + [% ELSIF !talk.skip %] + + [% END %] + [% END %] + + [% END %] + +
[% room.name %]
[% time %] +
[% line.event.name %]
+
+
+ [% IF talk.slug %] + [% talk.name %] + [% ELSE %] + [% talk.name %] + [% END %] +
+ + [% IF talk.author %] +
[% talk.author %]
+ [% END %] +
+
+
+[% END %] diff --git a/2018/_src/templates/index/talks.tt b/2018/_src/templates/index/talks.tt new file mode 100644 index 0000000..c4ef265 --- /dev/null +++ b/2018/_src/templates/index/talks.tt @@ -0,0 +1,58 @@ +
+
+
+

Talks

+ + [% IF conference.call_for_papers_open == 'true' %] +

+ Submit a talk! +

+

+ We have some really good and experienced speakers already lined up + but we'd really you to show up and tell + us your story. Don't feel shy, we're among friends. +

+

+ You might think that you have nothing to talk about. Think twice. + What you take for granted might be unknown for others. If you think + that you don't have something to talk about for 20 to 50 minutes, you + can submit a Lightning Talk (talks limited to 5 minutes). + Surprise us! +

+ [% ELSIF conference.talks_open == 'true' %] +

+ This is the list of talks for this edition. We're very proud of the + list of speakers and talks and we hope you'll enjoy them! +

+ [% ELSE %] +

+ We're working on our list of talks. Stay tuned! +

+ [% END %] +
+ + [% IF conference.talks_open == 'true' %] + + [% END %] +
+
diff --git a/2018/_src/templates/index/venue.tt b/2018/_src/templates/index/venue.tt new file mode 100644 index 0000000..2923b3c --- /dev/null +++ b/2018/_src/templates/index/venue.tt @@ -0,0 +1,45 @@ +[% IF venue.name %] +
+
+
+

Venue

+ +

+ [% IF conference.finished %] + The conference took place at + [% ELSE %] + The conference will take place at + [% END %] + [% venue.name %] . +

+ +
+
+
+ + + +
+
+
+
+ + [% IF venue.lunch_map_url %] +

Where to eat?

+

+ Hey! Please note that lunch will not be provided and you'll have to go + find something outside. Don't worry, we have prepared a map with + recommended places to eat, around the venue: + Have a look +

+ [% END %] +
+
+[% END %] diff --git a/2018/_src/templates/talk.tt b/2018/_src/templates/talk.tt new file mode 100644 index 0000000..ef581de --- /dev/null +++ b/2018/_src/templates/talk.tt @@ -0,0 +1,16 @@ + + + [% conference.name %] + + + + + + + + + + + diff --git a/2018/assets/css/custom.css b/2018/assets/css/custom.css new file mode 100644 index 0000000..50a5ae2 --- /dev/null +++ b/2018/assets/css/custom.css @@ -0,0 +1,184 @@ +section.special { + text-align: justify; +} + +span.fit iframe { + width: 100%; + margin-bottom: -9px; +} + +.icons { + text-align: center; +} + +.major b.block { + opacity: 0.8; + font-size: 1.2em; +} + +#banner { + background-clip: padding-box; +} + +#banner h2 { + text-transform: none; + font-size: 3em; + margin-bottom: 120px; +} + +#banner h2 .principal { + font-size: 1.5em; +} + +#banner:after { + background-color: #173b5f; +} + +#banner .inner { + padding-left: 20em; +} + +@media screen and (max-width: 1000px) { + #banner h2 { + text-transform: none; + font-size: 2.1em; + } + #banner h2 .principal { + font-size: 1.6em; + } +} + +@media screen and (max-width: 780px) { + #banner h2 { + text-transform: none; + font-size: 1.6em; + } + #banner h2 .principal { + font-size: 1.2em; + } +} + +@media screen and (max-width: 600px) { + #banner .inner { + padding-left: 10em; + } +} + +@media screen and (max-width: 350px) { + #banner .inner { + padding-left: 0em; + } +} + +#talk-list h3{ + margin-bottom: 0px; +} + +#talk-list h4{ + font-weight: normal; +} + +.features li:nth-child(21n + 1) { background-color: rgba(0, 0, 0, 0.035); } +.features li:nth-child(21n + 2) { background-color: rgba(0, 0, 0, 0.07); } +.features li:nth-child(21n + 3) { background-color: rgba(0, 0, 0, 0.105); } +.features li:nth-child(21n + 4) { background-color: rgba(0, 0, 0, 0.14); } +.features li:nth-child(21n + 5) { background-color: rgba(0, 0, 0, 0.175); } +.features li:nth-child(21n + 6) { background-color: rgba(0, 0, 0, 0.21); } +.features li:nth-child(21n + 7) { background-color: rgba(0, 0, 0, 0.245); } +.features li:nth-child(21n + 8) { background-color: rgba(0, 0, 0, 0.28); } +.features li:nth-child(21n + 9) { background-color: rgba(0, 0, 0, 0.315); } +.features li:nth-child(21n + 10) { background-color: rgba(0, 0, 0, 0.35); } +.features li:nth-child(21n + 11) { background-color: rgba(0, 0, 0, 0.35); } +.features li:nth-child(21n + 12) { background-color: rgba(0, 0, 0, 0.315); } +.features li:nth-child(21n + 13) { background-color: rgba(0, 0, 0, 0.28); } +.features li:nth-child(21n + 14) { background-color: rgba(0, 0, 0, 0.245); } +.features li:nth-child(21n + 15) { background-color: rgba(0, 0, 0, 0.21); } +.features li:nth-child(21n + 16) { background-color: rgba(0, 0, 0, 0.175); } +.features li:nth-child(21n + 17) { background-color: rgba(0, 0, 0, 0.14); } +.features li:nth-child(21n + 18) { background-color: rgba(0, 0, 0, 0.105); } +.features li:nth-child(21n + 19) { background-color: rgba(0, 0, 0, 0.07); } +.features li:nth-child(21n + 20) { background-color: rgba(0, 0, 0, 0.035); } + +.features li.cancelled { + background-color: #f38272; + color: white; +} + +.features li.cancelled h2 { + color: #8d1c0c; + margin-top: -4px; +} + +.features li.cancelled::before { + color: #8d1c0c; +} + +#schedule { + margin-bottom: 10em; +} + +#schedule thead { + border: 0; + font-size: 2em; +} + +#schedule tr { + background-color: inherit; + border: 0; +} + +#schedule .title { + font-size: 1.2em; + color: #fff; + font-weight: bold; + text-transform: uppercase; + margin-bottom: 1em; +} + +#schedule td.time { + border-top: 1px solid rgba(0, 0, 0, 0.315) +} + +#schedule td.room { + padding: 2em; + text-align: left; +} + +#schedule td.room-0 { + background-color: rgba(0, 0, 0, 0.21); + border-bottom: 2px solid rgba(0, 0, 0, 0.125); +} + +#schedule td.room-1 { + background-color: rgba(0, 0, 0, 0.15); + border-bottom: 2px solid rgba(0, 0, 0, 0.125); +} + +#schedule td.room-venue { + background-color: #2e3842; + border-bottom: 2px solid rgba(0, 0, 0, 0.125); +} + +#schedule td.time { + vertical-align: top; + padding-top: 0; +} + +#schedule td.time-10 { min-height: 3em; } +#schedule td.time-20 { min-height: 6em; } +#schedule td.time-30 { min-height: 9em; } +#schedule td.time-50 { min-height: 15em; } +#schedule td.time-90 { min-height: 20em; } +#schedule td.empty { height: 0; padding: 0; } + +@media screen and (max-width: 736px) { + #schedule thead { + display: none; + } + + #schedule td.room { + display: inline-block; + width: 100%; + + } +} diff --git a/2018/assets/css/font-awesome.min.css b/2018/assets/css/font-awesome.min.css new file mode 100644 index 0000000..9b27f8e --- /dev/null +++ b/2018/assets/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.6.3');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.6.3') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.6.3') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.6.3') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.6.3') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/2018/assets/css/ie8.css b/2018/assets/css/ie8.css new file mode 100644 index 0000000..3da0a3f --- /dev/null +++ b/2018/assets/css/ie8.css @@ -0,0 +1,95 @@ +/* + Spectral by HTML5 UP + html5up.net | @ajlkn + Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +*/ + +/* Icon */ + + .icon.major { + border: none; + } + + .icon.major:before { + font-size: 3em; + } + +/* Form */ + + label { + color: #2E3842; + } + + input[type="text"], + input[type="password"], + input[type="email"], + select, + textarea { + border: solid 1px #dfdfdf; + } + +/* Button */ + + input[type="submit"], + input[type="reset"], + input[type="button"], + button, + .button { + border: solid 2px #dfdfdf; + } + + input[type="submit"].special, + input[type="reset"].special, + input[type="button"].special, + button.special, + .button.special { + border: 0 !important; + } + +/* Page Wrapper + Menu */ + + #menu { + display: none; + } + + body.is-menu-visible #menu { + display: block; + } + +/* Header */ + + #header nav > ul > li > a.menuToggle:after { + display: none; + } + +/* Banner + Wrapper (style4) */ + + #banner, + .wrapper.style4 { + -ms-behavior: url("assets/js/ie/backgroundsize.min.htc"); + } + + #banner:before, + .wrapper.style4:before { + display: none; + } + +/* Banner */ + + #banner .more { + height: 4em; + } + + #banner .more:after { + display: none; + } + +/* Main */ + + #main > header { + -ms-behavior: url("assets/js/ie/backgroundsize.min.htc"); + } + + #main > header:before { + display: none; + } \ No newline at end of file diff --git a/2018/assets/css/ie9.css b/2018/assets/css/ie9.css new file mode 100644 index 0000000..939de7c --- /dev/null +++ b/2018/assets/css/ie9.css @@ -0,0 +1,125 @@ +/* + Spectral by HTML5 UP + html5up.net | @ajlkn + Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +*/ + +/* Spotlight */ + + .spotlight { + display: block; + } + + .spotlight .image { + display: inline-block; + vertical-align: top; + } + + .spotlight .content { + padding: 4em 4em 2em 4em ; + display: inline-block; + } + + .spotlight:after { + clear: both; + content: ''; + display: block; + } + +/* Features */ + + .features { + display: block; + } + + .features li { + float: left; + } + + .features:after { + content: ''; + display: block; + clear: both; + } + +/* Banner + Wrapper (style4) */ + + #banner, + .wrapper.style4 { + background-image: url("../../images/banner.jpg"); + background-position: center center; + background-repeat: no-repeat; + background-size: cover; + position: relative; + } + + #banner:before, + .wrapper.style4:before { + background: #000000; + content: ''; + height: 100%; + left: 0; + opacity: 0.5; + position: absolute; + top: 0; + width: 100%; + } + + #banner .inner, + .wrapper.style4 .inner { + position: relative; + z-index: 1; + } + +/* Banner */ + + #banner { + padding: 14em 0 12em 0 ; + height: auto; + } + + #banner:after { + display: none; + } + +/* CTA */ + + #cta .inner header { + float: left; + } + + #cta .inner .actions { + float: left; + } + + #cta .inner:after { + clear: both; + content: ''; + display: block; + } + +/* Main */ + + #main > header { + background-image: url("../../images/banner.jpg"); + background-position: center center; + background-repeat: no-repeat; + background-size: cover; + position: relative; + } + + #main > header:before { + background: #000000; + content: ''; + height: 100%; + left: 0; + opacity: 0.5; + position: absolute; + top: 0; + width: 100%; + } + + #main > header > * { + position: relative; + z-index: 1; + } \ No newline at end of file diff --git a/2018/assets/css/images/arrow.svg b/2018/assets/css/images/arrow.svg new file mode 100644 index 0000000..49ee37c --- /dev/null +++ b/2018/assets/css/images/arrow.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/2018/assets/css/images/bars.svg b/2018/assets/css/images/bars.svg new file mode 100644 index 0000000..50e4e41 --- /dev/null +++ b/2018/assets/css/images/bars.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/2018/assets/css/images/close.svg b/2018/assets/css/images/close.svg new file mode 100644 index 0000000..3ad8786 --- /dev/null +++ b/2018/assets/css/images/close.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/2018/assets/css/main.css b/2018/assets/css/main.css new file mode 100644 index 0000000..628bc51 --- /dev/null +++ b/2018/assets/css/main.css @@ -0,0 +1,3814 @@ +@import url(font-awesome.min.css); +@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,400italic,600,600italic,800,800italic"); + +/* + Spectral by HTML5 UP + html5up.net | @ajlkn + Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +*/ + +/* Reset */ + + html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; + } + + article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { + display: block; + } + + body { + line-height: 1; + } + + ol, ul { + list-style: none; + } + + blockquote, q { + quotes: none; + } + + blockquote:before, blockquote:after, q:before, q:after { + content: ''; + content: none; + } + + table { + border-collapse: collapse; + border-spacing: 0; + } + + body { + -webkit-text-size-adjust: none; + } + +/* Box Model */ + + *, *:before, *:after { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + } + +/* Grid */ + + .row { + border-bottom: solid 1px transparent; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + } + + .row > * { + float: left; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + } + + .row:after, .row:before { + content: ''; + display: block; + clear: both; + height: 0; + } + + .row.uniform > * > :first-child { + margin-top: 0; + } + + .row.uniform > * > :last-child { + margin-bottom: 0; + } + + .row.\30 \25 > * { + padding: 0 0 0 0em; + } + + .row.\30 \25 { + margin: 0 0 -1px 0em; + } + + .row.uniform.\30 \25 > * { + padding: 0em 0 0 0em; + } + + .row.uniform.\30 \25 { + margin: 0em 0 -1px 0em; + } + + .row > * { + padding: 0 0 0 1.5em; + } + + .row { + margin: 0 0 -1px -1.5em; + } + + .row.uniform > * { + padding: 1.5em 0 0 1.5em; + } + + .row.uniform { + margin: -1.5em 0 -1px -1.5em; + } + + .row.\32 00\25 > * { + padding: 0 0 0 3em; + } + + .row.\32 00\25 { + margin: 0 0 -1px -3em; + } + + .row.uniform.\32 00\25 > * { + padding: 3em 0 0 3em; + } + + .row.uniform.\32 00\25 { + margin: -3em 0 -1px -3em; + } + + .row.\31 50\25 > * { + padding: 0 0 0 2.25em; + } + + .row.\31 50\25 { + margin: 0 0 -1px -2.25em; + } + + .row.uniform.\31 50\25 > * { + padding: 2.25em 0 0 2.25em; + } + + .row.uniform.\31 50\25 { + margin: -2.25em 0 -1px -2.25em; + } + + .row.\35 0\25 > * { + padding: 0 0 0 0.75em; + } + + .row.\35 0\25 { + margin: 0 0 -1px -0.75em; + } + + .row.uniform.\35 0\25 > * { + padding: 0.75em 0 0 0.75em; + } + + .row.uniform.\35 0\25 { + margin: -0.75em 0 -1px -0.75em; + } + + .row.\32 5\25 > * { + padding: 0 0 0 0.375em; + } + + .row.\32 5\25 { + margin: 0 0 -1px -0.375em; + } + + .row.uniform.\32 5\25 > * { + padding: 0.375em 0 0 0.375em; + } + + .row.uniform.\32 5\25 { + margin: -0.375em 0 -1px -0.375em; + } + + .\31 2u, .\31 2u\24 { + width: 100%; + clear: none; + margin-left: 0; + } + + .\31 1u, .\31 1u\24 { + width: 91.6666666667%; + clear: none; + margin-left: 0; + } + + .\31 0u, .\31 0u\24 { + width: 83.3333333333%; + clear: none; + margin-left: 0; + } + + .\39 u, .\39 u\24 { + width: 75%; + clear: none; + margin-left: 0; + } + + .\38 u, .\38 u\24 { + width: 66.6666666667%; + clear: none; + margin-left: 0; + } + + .\37 u, .\37 u\24 { + width: 58.3333333333%; + clear: none; + margin-left: 0; + } + + .\36 u, .\36 u\24 { + width: 50%; + clear: none; + margin-left: 0; + } + + .\35 u, .\35 u\24 { + width: 41.6666666667%; + clear: none; + margin-left: 0; + } + + .\34 u, .\34 u\24 { + width: 33.3333333333%; + clear: none; + margin-left: 0; + } + + .\33 u, .\33 u\24 { + width: 25%; + clear: none; + margin-left: 0; + } + + .\32 u, .\32 u\24 { + width: 16.6666666667%; + clear: none; + margin-left: 0; + } + + .\31 u, .\31 u\24 { + width: 8.3333333333%; + clear: none; + margin-left: 0; + } + + .\31 2u\24 + *, + .\31 1u\24 + *, + .\31 0u\24 + *, + .\39 u\24 + *, + .\38 u\24 + *, + .\37 u\24 + *, + .\36 u\24 + *, + .\35 u\24 + *, + .\34 u\24 + *, + .\33 u\24 + *, + .\32 u\24 + *, + .\31 u\24 + * { + clear: left; + } + + .\-11u { + margin-left: 91.66667%; + } + + .\-10u { + margin-left: 83.33333%; + } + + .\-9u { + margin-left: 75%; + } + + .\-8u { + margin-left: 66.66667%; + } + + .\-7u { + margin-left: 58.33333%; + } + + .\-6u { + margin-left: 50%; + } + + .\-5u { + margin-left: 41.66667%; + } + + .\-4u { + margin-left: 33.33333%; + } + + .\-3u { + margin-left: 25%; + } + + .\-2u { + margin-left: 16.66667%; + } + + .\-1u { + margin-left: 8.33333%; + } + + @media screen and (max-width: 1680px) { + + .row > * { + padding: 0 0 0 1.5em; + } + + .row { + margin: 0 0 -1px -1.5em; + } + + .row.uniform > * { + padding: 1.5em 0 0 1.5em; + } + + .row.uniform { + margin: -1.5em 0 -1px -1.5em; + } + + .row.\32 00\25 > * { + padding: 0 0 0 3em; + } + + .row.\32 00\25 { + margin: 0 0 -1px -3em; + } + + .row.uniform.\32 00\25 > * { + padding: 3em 0 0 3em; + } + + .row.uniform.\32 00\25 { + margin: -3em 0 -1px -3em; + } + + .row.\31 50\25 > * { + padding: 0 0 0 2.25em; + } + + .row.\31 50\25 { + margin: 0 0 -1px -2.25em; + } + + .row.uniform.\31 50\25 > * { + padding: 2.25em 0 0 2.25em; + } + + .row.uniform.\31 50\25 { + margin: -2.25em 0 -1px -2.25em; + } + + .row.\35 0\25 > * { + padding: 0 0 0 0.75em; + } + + .row.\35 0\25 { + margin: 0 0 -1px -0.75em; + } + + .row.uniform.\35 0\25 > * { + padding: 0.75em 0 0 0.75em; + } + + .row.uniform.\35 0\25 { + margin: -0.75em 0 -1px -0.75em; + } + + .row.\32 5\25 > * { + padding: 0 0 0 0.375em; + } + + .row.\32 5\25 { + margin: 0 0 -1px -0.375em; + } + + .row.uniform.\32 5\25 > * { + padding: 0.375em 0 0 0.375em; + } + + .row.uniform.\32 5\25 { + margin: -0.375em 0 -1px -0.375em; + } + + .\31 2u\28xlarge\29, .\31 2u\24\28xlarge\29 { + width: 100%; + clear: none; + margin-left: 0; + } + + .\31 1u\28xlarge\29, .\31 1u\24\28xlarge\29 { + width: 91.6666666667%; + clear: none; + margin-left: 0; + } + + .\31 0u\28xlarge\29, .\31 0u\24\28xlarge\29 { + width: 83.3333333333%; + clear: none; + margin-left: 0; + } + + .\39 u\28xlarge\29, .\39 u\24\28xlarge\29 { + width: 75%; + clear: none; + margin-left: 0; + } + + .\38 u\28xlarge\29, .\38 u\24\28xlarge\29 { + width: 66.6666666667%; + clear: none; + margin-left: 0; + } + + .\37 u\28xlarge\29, .\37 u\24\28xlarge\29 { + width: 58.3333333333%; + clear: none; + margin-left: 0; + } + + .\36 u\28xlarge\29, .\36 u\24\28xlarge\29 { + width: 50%; + clear: none; + margin-left: 0; + } + + .\35 u\28xlarge\29, .\35 u\24\28xlarge\29 { + width: 41.6666666667%; + clear: none; + margin-left: 0; + } + + .\34 u\28xlarge\29, .\34 u\24\28xlarge\29 { + width: 33.3333333333%; + clear: none; + margin-left: 0; + } + + .\33 u\28xlarge\29, .\33 u\24\28xlarge\29 { + width: 25%; + clear: none; + margin-left: 0; + } + + .\32 u\28xlarge\29, .\32 u\24\28xlarge\29 { + width: 16.6666666667%; + clear: none; + margin-left: 0; + } + + .\31 u\28xlarge\29, .\31 u\24\28xlarge\29 { + width: 8.3333333333%; + clear: none; + margin-left: 0; + } + + .\31 2u\24\28xlarge\29 + *, + .\31 1u\24\28xlarge\29 + *, + .\31 0u\24\28xlarge\29 + *, + .\39 u\24\28xlarge\29 + *, + .\38 u\24\28xlarge\29 + *, + .\37 u\24\28xlarge\29 + *, + .\36 u\24\28xlarge\29 + *, + .\35 u\24\28xlarge\29 + *, + .\34 u\24\28xlarge\29 + *, + .\33 u\24\28xlarge\29 + *, + .\32 u\24\28xlarge\29 + *, + .\31 u\24\28xlarge\29 + * { + clear: left; + } + + .\-11u\28xlarge\29 { + margin-left: 91.66667%; + } + + .\-10u\28xlarge\29 { + margin-left: 83.33333%; + } + + .\-9u\28xlarge\29 { + margin-left: 75%; + } + + .\-8u\28xlarge\29 { + margin-left: 66.66667%; + } + + .\-7u\28xlarge\29 { + margin-left: 58.33333%; + } + + .\-6u\28xlarge\29 { + margin-left: 50%; + } + + .\-5u\28xlarge\29 { + margin-left: 41.66667%; + } + + .\-4u\28xlarge\29 { + margin-left: 33.33333%; + } + + .\-3u\28xlarge\29 { + margin-left: 25%; + } + + .\-2u\28xlarge\29 { + margin-left: 16.66667%; + } + + .\-1u\28xlarge\29 { + margin-left: 8.33333%; + } + + } + + @media screen and (max-width: 1280px) { + + .row > * { + padding: 0 0 0 1.5em; + } + + .row { + margin: 0 0 -1px -1.5em; + } + + .row.uniform > * { + padding: 1.5em 0 0 1.5em; + } + + .row.uniform { + margin: -1.5em 0 -1px -1.5em; + } + + .row.\32 00\25 > * { + padding: 0 0 0 3em; + } + + .row.\32 00\25 { + margin: 0 0 -1px -3em; + } + + .row.uniform.\32 00\25 > * { + padding: 3em 0 0 3em; + } + + .row.uniform.\32 00\25 { + margin: -3em 0 -1px -3em; + } + + .row.\31 50\25 > * { + padding: 0 0 0 2.25em; + } + + .row.\31 50\25 { + margin: 0 0 -1px -2.25em; + } + + .row.uniform.\31 50\25 > * { + padding: 2.25em 0 0 2.25em; + } + + .row.uniform.\31 50\25 { + margin: -2.25em 0 -1px -2.25em; + } + + .row.\35 0\25 > * { + padding: 0 0 0 0.75em; + } + + .row.\35 0\25 { + margin: 0 0 -1px -0.75em; + } + + .row.uniform.\35 0\25 > * { + padding: 0.75em 0 0 0.75em; + } + + .row.uniform.\35 0\25 { + margin: -0.75em 0 -1px -0.75em; + } + + .row.\32 5\25 > * { + padding: 0 0 0 0.375em; + } + + .row.\32 5\25 { + margin: 0 0 -1px -0.375em; + } + + .row.uniform.\32 5\25 > * { + padding: 0.375em 0 0 0.375em; + } + + .row.uniform.\32 5\25 { + margin: -0.375em 0 -1px -0.375em; + } + + .\31 2u\28large\29, .\31 2u\24\28large\29 { + width: 100%; + clear: none; + margin-left: 0; + } + + .\31 1u\28large\29, .\31 1u\24\28large\29 { + width: 91.6666666667%; + clear: none; + margin-left: 0; + } + + .\31 0u\28large\29, .\31 0u\24\28large\29 { + width: 83.3333333333%; + clear: none; + margin-left: 0; + } + + .\39 u\28large\29, .\39 u\24\28large\29 { + width: 75%; + clear: none; + margin-left: 0; + } + + .\38 u\28large\29, .\38 u\24\28large\29 { + width: 66.6666666667%; + clear: none; + margin-left: 0; + } + + .\37 u\28large\29, .\37 u\24\28large\29 { + width: 58.3333333333%; + clear: none; + margin-left: 0; + } + + .\36 u\28large\29, .\36 u\24\28large\29 { + width: 50%; + clear: none; + margin-left: 0; + } + + .\35 u\28large\29, .\35 u\24\28large\29 { + width: 41.6666666667%; + clear: none; + margin-left: 0; + } + + .\34 u\28large\29, .\34 u\24\28large\29 { + width: 33.3333333333%; + clear: none; + margin-left: 0; + } + + .\33 u\28large\29, .\33 u\24\28large\29 { + width: 25%; + clear: none; + margin-left: 0; + } + + .\32 u\28large\29, .\32 u\24\28large\29 { + width: 16.6666666667%; + clear: none; + margin-left: 0; + } + + .\31 u\28large\29, .\31 u\24\28large\29 { + width: 8.3333333333%; + clear: none; + margin-left: 0; + } + + .\31 2u\24\28large\29 + *, + .\31 1u\24\28large\29 + *, + .\31 0u\24\28large\29 + *, + .\39 u\24\28large\29 + *, + .\38 u\24\28large\29 + *, + .\37 u\24\28large\29 + *, + .\36 u\24\28large\29 + *, + .\35 u\24\28large\29 + *, + .\34 u\24\28large\29 + *, + .\33 u\24\28large\29 + *, + .\32 u\24\28large\29 + *, + .\31 u\24\28large\29 + * { + clear: left; + } + + .\-11u\28large\29 { + margin-left: 91.66667%; + } + + .\-10u\28large\29 { + margin-left: 83.33333%; + } + + .\-9u\28large\29 { + margin-left: 75%; + } + + .\-8u\28large\29 { + margin-left: 66.66667%; + } + + .\-7u\28large\29 { + margin-left: 58.33333%; + } + + .\-6u\28large\29 { + margin-left: 50%; + } + + .\-5u\28large\29 { + margin-left: 41.66667%; + } + + .\-4u\28large\29 { + margin-left: 33.33333%; + } + + .\-3u\28large\29 { + margin-left: 25%; + } + + .\-2u\28large\29 { + margin-left: 16.66667%; + } + + .\-1u\28large\29 { + margin-left: 8.33333%; + } + + } + + @media screen and (max-width: 980px) { + + .row > * { + padding: 0 0 0 1.5em; + } + + .row { + margin: 0 0 -1px -1.5em; + } + + .row.uniform > * { + padding: 1.5em 0 0 1.5em; + } + + .row.uniform { + margin: -1.5em 0 -1px -1.5em; + } + + .row.\32 00\25 > * { + padding: 0 0 0 3em; + } + + .row.\32 00\25 { + margin: 0 0 -1px -3em; + } + + .row.uniform.\32 00\25 > * { + padding: 3em 0 0 3em; + } + + .row.uniform.\32 00\25 { + margin: -3em 0 -1px -3em; + } + + .row.\31 50\25 > * { + padding: 0 0 0 2.25em; + } + + .row.\31 50\25 { + margin: 0 0 -1px -2.25em; + } + + .row.uniform.\31 50\25 > * { + padding: 2.25em 0 0 2.25em; + } + + .row.uniform.\31 50\25 { + margin: -2.25em 0 -1px -2.25em; + } + + .row.\35 0\25 > * { + padding: 0 0 0 0.75em; + } + + .row.\35 0\25 { + margin: 0 0 -1px -0.75em; + } + + .row.uniform.\35 0\25 > * { + padding: 0.75em 0 0 0.75em; + } + + .row.uniform.\35 0\25 { + margin: -0.75em 0 -1px -0.75em; + } + + .row.\32 5\25 > * { + padding: 0 0 0 0.375em; + } + + .row.\32 5\25 { + margin: 0 0 -1px -0.375em; + } + + .row.uniform.\32 5\25 > * { + padding: 0.375em 0 0 0.375em; + } + + .row.uniform.\32 5\25 { + margin: -0.375em 0 -1px -0.375em; + } + + .\31 2u\28medium\29, .\31 2u\24\28medium\29 { + width: 100%; + clear: none; + margin-left: 0; + } + + .\31 1u\28medium\29, .\31 1u\24\28medium\29 { + width: 91.6666666667%; + clear: none; + margin-left: 0; + } + + .\31 0u\28medium\29, .\31 0u\24\28medium\29 { + width: 83.3333333333%; + clear: none; + margin-left: 0; + } + + .\39 u\28medium\29, .\39 u\24\28medium\29 { + width: 75%; + clear: none; + margin-left: 0; + } + + .\38 u\28medium\29, .\38 u\24\28medium\29 { + width: 66.6666666667%; + clear: none; + margin-left: 0; + } + + .\37 u\28medium\29, .\37 u\24\28medium\29 { + width: 58.3333333333%; + clear: none; + margin-left: 0; + } + + .\36 u\28medium\29, .\36 u\24\28medium\29 { + width: 50%; + clear: none; + margin-left: 0; + } + + .\35 u\28medium\29, .\35 u\24\28medium\29 { + width: 41.6666666667%; + clear: none; + margin-left: 0; + } + + .\34 u\28medium\29, .\34 u\24\28medium\29 { + width: 33.3333333333%; + clear: none; + margin-left: 0; + } + + .\33 u\28medium\29, .\33 u\24\28medium\29 { + width: 25%; + clear: none; + margin-left: 0; + } + + .\32 u\28medium\29, .\32 u\24\28medium\29 { + width: 16.6666666667%; + clear: none; + margin-left: 0; + } + + .\31 u\28medium\29, .\31 u\24\28medium\29 { + width: 8.3333333333%; + clear: none; + margin-left: 0; + } + + .\31 2u\24\28medium\29 + *, + .\31 1u\24\28medium\29 + *, + .\31 0u\24\28medium\29 + *, + .\39 u\24\28medium\29 + *, + .\38 u\24\28medium\29 + *, + .\37 u\24\28medium\29 + *, + .\36 u\24\28medium\29 + *, + .\35 u\24\28medium\29 + *, + .\34 u\24\28medium\29 + *, + .\33 u\24\28medium\29 + *, + .\32 u\24\28medium\29 + *, + .\31 u\24\28medium\29 + * { + clear: left; + } + + .\-11u\28medium\29 { + margin-left: 91.66667%; + } + + .\-10u\28medium\29 { + margin-left: 83.33333%; + } + + .\-9u\28medium\29 { + margin-left: 75%; + } + + .\-8u\28medium\29 { + margin-left: 66.66667%; + } + + .\-7u\28medium\29 { + margin-left: 58.33333%; + } + + .\-6u\28medium\29 { + margin-left: 50%; + } + + .\-5u\28medium\29 { + margin-left: 41.66667%; + } + + .\-4u\28medium\29 { + margin-left: 33.33333%; + } + + .\-3u\28medium\29 { + margin-left: 25%; + } + + .\-2u\28medium\29 { + margin-left: 16.66667%; + } + + .\-1u\28medium\29 { + margin-left: 8.33333%; + } + + } + + @media screen and (max-width: 736px) { + + .row > * { + padding: 0 0 0 1.5em; + } + + .row { + margin: 0 0 -1px -1.5em; + } + + .row.uniform > * { + padding: 1.5em 0 0 1.5em; + } + + .row.uniform { + margin: -1.5em 0 -1px -1.5em; + } + + .row.\32 00\25 > * { + padding: 0 0 0 3em; + } + + .row.\32 00\25 { + margin: 0 0 -1px -3em; + } + + .row.uniform.\32 00\25 > * { + padding: 3em 0 0 3em; + } + + .row.uniform.\32 00\25 { + margin: -3em 0 -1px -3em; + } + + .row.\31 50\25 > * { + padding: 0 0 0 2.25em; + } + + .row.\31 50\25 { + margin: 0 0 -1px -2.25em; + } + + .row.uniform.\31 50\25 > * { + padding: 2.25em 0 0 2.25em; + } + + .row.uniform.\31 50\25 { + margin: -2.25em 0 -1px -2.25em; + } + + .row.\35 0\25 > * { + padding: 0 0 0 0.75em; + } + + .row.\35 0\25 { + margin: 0 0 -1px -0.75em; + } + + .row.uniform.\35 0\25 > * { + padding: 0.75em 0 0 0.75em; + } + + .row.uniform.\35 0\25 { + margin: -0.75em 0 -1px -0.75em; + } + + .row.\32 5\25 > * { + padding: 0 0 0 0.375em; + } + + .row.\32 5\25 { + margin: 0 0 -1px -0.375em; + } + + .row.uniform.\32 5\25 > * { + padding: 0.375em 0 0 0.375em; + } + + .row.uniform.\32 5\25 { + margin: -0.375em 0 -1px -0.375em; + } + + .\31 2u\28small\29, .\31 2u\24\28small\29 { + width: 100%; + clear: none; + margin-left: 0; + } + + .\31 1u\28small\29, .\31 1u\24\28small\29 { + width: 91.6666666667%; + clear: none; + margin-left: 0; + } + + .\31 0u\28small\29, .\31 0u\24\28small\29 { + width: 83.3333333333%; + clear: none; + margin-left: 0; + } + + .\39 u\28small\29, .\39 u\24\28small\29 { + width: 75%; + clear: none; + margin-left: 0; + } + + .\38 u\28small\29, .\38 u\24\28small\29 { + width: 66.6666666667%; + clear: none; + margin-left: 0; + } + + .\37 u\28small\29, .\37 u\24\28small\29 { + width: 58.3333333333%; + clear: none; + margin-left: 0; + } + + .\36 u\28small\29, .\36 u\24\28small\29 { + width: 50%; + clear: none; + margin-left: 0; + } + + .\35 u\28small\29, .\35 u\24\28small\29 { + width: 41.6666666667%; + clear: none; + margin-left: 0; + } + + .\34 u\28small\29, .\34 u\24\28small\29 { + width: 33.3333333333%; + clear: none; + margin-left: 0; + } + + .\33 u\28small\29, .\33 u\24\28small\29 { + width: 25%; + clear: none; + margin-left: 0; + } + + .\32 u\28small\29, .\32 u\24\28small\29 { + width: 16.6666666667%; + clear: none; + margin-left: 0; + } + + .\31 u\28small\29, .\31 u\24\28small\29 { + width: 8.3333333333%; + clear: none; + margin-left: 0; + } + + .\31 2u\24\28small\29 + *, + .\31 1u\24\28small\29 + *, + .\31 0u\24\28small\29 + *, + .\39 u\24\28small\29 + *, + .\38 u\24\28small\29 + *, + .\37 u\24\28small\29 + *, + .\36 u\24\28small\29 + *, + .\35 u\24\28small\29 + *, + .\34 u\24\28small\29 + *, + .\33 u\24\28small\29 + *, + .\32 u\24\28small\29 + *, + .\31 u\24\28small\29 + * { + clear: left; + } + + .\-11u\28small\29 { + margin-left: 91.66667%; + } + + .\-10u\28small\29 { + margin-left: 83.33333%; + } + + .\-9u\28small\29 { + margin-left: 75%; + } + + .\-8u\28small\29 { + margin-left: 66.66667%; + } + + .\-7u\28small\29 { + margin-left: 58.33333%; + } + + .\-6u\28small\29 { + margin-left: 50%; + } + + .\-5u\28small\29 { + margin-left: 41.66667%; + } + + .\-4u\28small\29 { + margin-left: 33.33333%; + } + + .\-3u\28small\29 { + margin-left: 25%; + } + + .\-2u\28small\29 { + margin-left: 16.66667%; + } + + .\-1u\28small\29 { + margin-left: 8.33333%; + } + + } + + @media screen and (max-width: 480px) { + + .row > * { + padding: 0 0 0 1.5em; + } + + .row { + margin: 0 0 -1px -1.5em; + } + + .row.uniform > * { + padding: 1.5em 0 0 1.5em; + } + + .row.uniform { + margin: -1.5em 0 -1px -1.5em; + } + + .row.\32 00\25 > * { + padding: 0 0 0 3em; + } + + .row.\32 00\25 { + margin: 0 0 -1px -3em; + } + + .row.uniform.\32 00\25 > * { + padding: 3em 0 0 3em; + } + + .row.uniform.\32 00\25 { + margin: -3em 0 -1px -3em; + } + + .row.\31 50\25 > * { + padding: 0 0 0 2.25em; + } + + .row.\31 50\25 { + margin: 0 0 -1px -2.25em; + } + + .row.uniform.\31 50\25 > * { + padding: 2.25em 0 0 2.25em; + } + + .row.uniform.\31 50\25 { + margin: -2.25em 0 -1px -2.25em; + } + + .row.\35 0\25 > * { + padding: 0 0 0 0.75em; + } + + .row.\35 0\25 { + margin: 0 0 -1px -0.75em; + } + + .row.uniform.\35 0\25 > * { + padding: 0.75em 0 0 0.75em; + } + + .row.uniform.\35 0\25 { + margin: -0.75em 0 -1px -0.75em; + } + + .row.\32 5\25 > * { + padding: 0 0 0 0.375em; + } + + .row.\32 5\25 { + margin: 0 0 -1px -0.375em; + } + + .row.uniform.\32 5\25 > * { + padding: 0.375em 0 0 0.375em; + } + + .row.uniform.\32 5\25 { + margin: -0.375em 0 -1px -0.375em; + } + + .\31 2u\28xsmall\29, .\31 2u\24\28xsmall\29 { + width: 100%; + clear: none; + margin-left: 0; + } + + .\31 1u\28xsmall\29, .\31 1u\24\28xsmall\29 { + width: 91.6666666667%; + clear: none; + margin-left: 0; + } + + .\31 0u\28xsmall\29, .\31 0u\24\28xsmall\29 { + width: 83.3333333333%; + clear: none; + margin-left: 0; + } + + .\39 u\28xsmall\29, .\39 u\24\28xsmall\29 { + width: 75%; + clear: none; + margin-left: 0; + } + + .\38 u\28xsmall\29, .\38 u\24\28xsmall\29 { + width: 66.6666666667%; + clear: none; + margin-left: 0; + } + + .\37 u\28xsmall\29, .\37 u\24\28xsmall\29 { + width: 58.3333333333%; + clear: none; + margin-left: 0; + } + + .\36 u\28xsmall\29, .\36 u\24\28xsmall\29 { + width: 50%; + clear: none; + margin-left: 0; + } + + .\35 u\28xsmall\29, .\35 u\24\28xsmall\29 { + width: 41.6666666667%; + clear: none; + margin-left: 0; + } + + .\34 u\28xsmall\29, .\34 u\24\28xsmall\29 { + width: 33.3333333333%; + clear: none; + margin-left: 0; + } + + .\33 u\28xsmall\29, .\33 u\24\28xsmall\29 { + width: 25%; + clear: none; + margin-left: 0; + } + + .\32 u\28xsmall\29, .\32 u\24\28xsmall\29 { + width: 16.6666666667%; + clear: none; + margin-left: 0; + } + + .\31 u\28xsmall\29, .\31 u\24\28xsmall\29 { + width: 8.3333333333%; + clear: none; + margin-left: 0; + } + + .\31 2u\24\28xsmall\29 + *, + .\31 1u\24\28xsmall\29 + *, + .\31 0u\24\28xsmall\29 + *, + .\39 u\24\28xsmall\29 + *, + .\38 u\24\28xsmall\29 + *, + .\37 u\24\28xsmall\29 + *, + .\36 u\24\28xsmall\29 + *, + .\35 u\24\28xsmall\29 + *, + .\34 u\24\28xsmall\29 + *, + .\33 u\24\28xsmall\29 + *, + .\32 u\24\28xsmall\29 + *, + .\31 u\24\28xsmall\29 + * { + clear: left; + } + + .\-11u\28xsmall\29 { + margin-left: 91.66667%; + } + + .\-10u\28xsmall\29 { + margin-left: 83.33333%; + } + + .\-9u\28xsmall\29 { + margin-left: 75%; + } + + .\-8u\28xsmall\29 { + margin-left: 66.66667%; + } + + .\-7u\28xsmall\29 { + margin-left: 58.33333%; + } + + .\-6u\28xsmall\29 { + margin-left: 50%; + } + + .\-5u\28xsmall\29 { + margin-left: 41.66667%; + } + + .\-4u\28xsmall\29 { + margin-left: 33.33333%; + } + + .\-3u\28xsmall\29 { + margin-left: 25%; + } + + .\-2u\28xsmall\29 { + margin-left: 16.66667%; + } + + .\-1u\28xsmall\29 { + margin-left: 8.33333%; + } + + } + +/* Basic */ + + @-ms-viewport { + width: device-width; + } + + body { + background: #2e3842; + } + + body.is-loading *, body.is-loading *:before, body.is-loading *:after { + -moz-animation: none !important; + -webkit-animation: none !important; + -ms-animation: none !important; + animation: none !important; + -moz-transition: none !important; + -webkit-transition: none !important; + -ms-transition: none !important; + transition: none !important; + } + + body, input, select, textarea { + color: #fff; + font-family: "Open Sans", Helvetica, sans-serif; + font-size: 15pt; + font-weight: 400; + letter-spacing: 0.075em; + line-height: 1.65em; + } + + @media screen and (max-width: 1680px) { + + body, input, select, textarea { + font-size: 13pt; + } + + } + + @media screen and (max-width: 1280px) { + + body, input, select, textarea { + font-size: 12pt; + } + + } + + @media screen and (max-width: 736px) { + + body, input, select, textarea { + font-size: 11pt; + letter-spacing: 0.0375em; + } + + } + + a { + -moz-transition: color 0.2s ease, border-bottom-color 0.2s ease; + -webkit-transition: color 0.2s ease, border-bottom-color 0.2s ease; + -ms-transition: color 0.2s ease, border-bottom-color 0.2s ease; + transition: color 0.2s ease, border-bottom-color 0.2s ease; + border-bottom: dotted 1px; + color: inherit; + text-decoration: none; + } + + a:hover { + border-bottom-color: transparent; + } + + strong, b { + color: #fff; + font-weight: 600; + } + + em, i { + font-style: italic; + } + + p { + margin: 0 0 2em 0; + } + + h1, h2, h3, h4, h5, h6 { + color: #fff; + font-weight: 800; + letter-spacing: 0.225em; + line-height: 1em; + margin: 0 0 1em 0; + text-transform: uppercase; + } + + h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { + color: inherit; + text-decoration: none; + } + + h2 { + font-size: 1.35em; + line-height: 1.75em; + } + + @media screen and (max-width: 736px) { + + h2 { + font-size: 1.1em; + line-height: 1.65em; + } + + } + + h3 { + font-size: 1.15em; + line-height: 1.75em; + } + + @media screen and (max-width: 736px) { + + h3 { + font-size: 1em; + line-height: 1.65em; + } + + } + + h4 { + font-size: 1em; + line-height: 1.5em; + } + + h5 { + font-size: 0.8em; + line-height: 1.5em; + } + + h6 { + font-size: 0.7em; + line-height: 1.5em; + } + + sub { + font-size: 0.8em; + position: relative; + top: 0.5em; + } + + sup { + font-size: 0.8em; + position: relative; + top: -0.5em; + } + + hr { + border: 0; + border-bottom: solid 2px #fff; + margin: 3em 0; + } + + hr.major { + margin: 4.5em 0; + } + + blockquote { + border-left: solid 4px #fff; + font-style: italic; + margin: 0 0 2em 0; + padding: 0.5em 0 0.5em 2em; + } + + code { + background: rgba(144, 144, 144, 0.25); + border-radius: 3px; + font-family: "Courier New", monospace; + font-size: 0.9em; + letter-spacing: 0; + margin: 0 0.25em; + padding: 0.25em 0.65em; + } + + pre { + -webkit-overflow-scrolling: touch; + font-family: "Courier New", monospace; + font-size: 0.9em; + margin: 0 0 2em 0; + } + + pre code { + display: block; + line-height: 1.75em; + padding: 1em 1.5em; + overflow-x: auto; + } + + .align-left { + text-align: left; + } + + .align-center { + text-align: center; + } + + .align-right { + text-align: right; + } + +/* Section/Article */ + + section.special, article.special { + text-align: center; + } + + header p { + color: rgba(255, 255, 255, 0.5); + position: relative; + top: -0.25em; + } + + header h3 + p { + font-size: 1.1em; + } + + header h4 + p, + header h5 + p, + header h6 + p { + font-size: 0.9em; + } + + header.major { + margin: 0 0 3.5em 0; + } + + header.major h2, header.major h3, header.major h4, header.major h5, header.major h6 { + border-bottom: solid 2px #fff; + display: inline-block; + padding-bottom: 1em; + position: relative; + } + + header.major h2:after, header.major h3:after, header.major h4:after, header.major h5:after, header.major h6:after { + content: ''; + display: block; + height: 1px; + } + + header.major p { + color: #fff; + top: 0; + } + + @media screen and (max-width: 736px) { + + header.major { + margin: 0 0 2em 0; + } + + } + + @media screen and (max-width: 980px) { + + header br { + display: none; + } + + } + +/* Form */ + + form { + margin: 0 0 2em 0; + } + + label { + color: #fff; + display: block; + font-size: 0.9em; + font-weight: 600; + margin: 0 0 1em 0; + } + + input[type="text"], + input[type="password"], + input[type="email"], + select, + textarea { + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + appearance: none; + background: rgba(144, 144, 144, 0.25); + border-radius: 3px; + border: none; + color: inherit; + display: block; + outline: 0; + padding: 0 1em; + text-decoration: none; + width: 100%; + } + + input[type="text"]:invalid, + input[type="password"]:invalid, + input[type="email"]:invalid, + select:invalid, + textarea:invalid { + box-shadow: none; + } + + input[type="text"]:focus, + input[type="password"]:focus, + input[type="email"]:focus, + select:focus, + textarea:focus { + box-shadow: 0 0 0 2px #21b2a6; + } + + .select-wrapper { + text-decoration: none; + display: block; + position: relative; + } + + .select-wrapper:before { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + font-family: FontAwesome; + font-style: normal; + font-weight: normal; + text-transform: none !important; + } + + .select-wrapper:before { + -moz-pointer-events: none; + -webkit-pointer-events: none; + -ms-pointer-events: none; + pointer-events: none; + color: #fff; + content: '\f078'; + display: block; + height: 2.75em; + line-height: 2.75em; + position: absolute; + right: 0; + text-align: center; + top: 0; + width: 2.75em; + } + + .select-wrapper select::-ms-expand { + display: none; + } + + input[type="text"], + input[type="password"], + input[type="email"], + select { + height: 2.75em; + } + + textarea { + padding: 0.75em 1em; + } + + input[type="checkbox"], + input[type="radio"] { + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + appearance: none; + display: block; + float: left; + margin-right: -2em; + opacity: 0; + width: 1em; + z-index: -1; + } + + input[type="checkbox"] + label, + input[type="radio"] + label { + text-decoration: none; + color: #fff; + cursor: pointer; + display: inline-block; + font-size: 1em; + font-weight: 400; + padding-left: 2.4em; + padding-right: 0.75em; + position: relative; + } + + input[type="checkbox"] + label:before, + input[type="radio"] + label:before { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + font-family: FontAwesome; + font-style: normal; + font-weight: normal; + text-transform: none !important; + } + + input[type="checkbox"] + label:before, + input[type="radio"] + label:before { + background: rgba(144, 144, 144, 0.25); + border-radius: 3px; + content: ''; + display: inline-block; + height: 1.65em; + left: 0; + line-height: 1.58125em; + position: absolute; + text-align: center; + top: 0; + width: 1.65em; + } + + input[type="checkbox"]:checked + label:before, + input[type="radio"]:checked + label:before { + background: #2e3842; + color: #fff; + content: '\f00c'; + } + + input[type="checkbox"]:focus + label:before, + input[type="radio"]:focus + label:before { + box-shadow: 0 0 0 2px #21b2a6; + } + + input[type="checkbox"] + label:before { + border-radius: 3px; + } + + input[type="radio"] + label:before { + border-radius: 100%; + } + + ::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.5) !important; + opacity: 1.0; + } + + :-moz-placeholder { + color: rgba(255, 255, 255, 0.5) !important; + opacity: 1.0; + } + + ::-moz-placeholder { + color: rgba(255, 255, 255, 0.5) !important; + opacity: 1.0; + } + + :-ms-input-placeholder { + color: rgba(255, 255, 255, 0.5) !important; + opacity: 1.0; + } + + .formerize-placeholder { + color: rgba(255, 255, 255, 0.5) !important; + opacity: 1.0; + } + +/* Box */ + + .box { + border-radius: 3px; + border: solid 2px #fff; + margin-bottom: 2em; + padding: 1.5em; + } + + .box > :last-child, + .box > :last-child > :last-child, + .box > :last-child > :last-child > :last-child { + margin-bottom: 0; + } + + .box.alt { + border: 0; + border-radius: 0; + padding: 0; + } + +/* Icon */ + + .icon { + text-decoration: none; + border-bottom: none; + position: relative; + } + + .icon:before { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + font-family: FontAwesome; + font-style: normal; + font-weight: normal; + text-transform: none !important; + } + + .icon > .label { + display: none; + } + + .icon.major { + -moz-transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + transform: rotate(-45deg); + border-radius: 3px; + border: solid 2px #fff; + display: inline-block; + font-size: 1.35em; + height: calc(3em + 2px); + line-height: 3em; + text-align: center; + width: calc(3em + 2px); + } + + .icon.major:before { + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + display: inline-block; + font-size: 1.5em; + } + + @media screen and (max-width: 736px) { + + .icon.major { + font-size: 1em; + } + + } + + .icon.style1 { + color: #00ffcc; + } + + .icon.style2 { + color: #00f0ff; + } + + .icon.style3 { + color: #76ddff; + } + +/* Image */ + + .image { + border-radius: 3px; + border: 0; + display: inline-block; + position: relative; + } + + .image img { + border-radius: 3px; + display: block; + } + + .image.left { + float: left; + margin: 0 2em 2em 0; + top: 0.25em; + } + + .image.right { + float: right; + margin: 0 0 2em 2em; + top: 0.25em; + } + + .image.left, .image.right { + max-width: 40%; + } + + .image.left img, .image.right img { + width: 100%; + } + + .image.fit { + display: block; + margin: 0 0 2em 0; + width: 100%; + } + + .image.fit img { + width: 100%; + } + +/* List */ + + ol { + list-style: decimal; + margin: 0 0 2em 0; + padding-left: 1.25em; + } + + ol li { + padding-left: 0.25em; + } + + ul { + list-style: disc; + margin: 0 0 2em 0; + padding-left: 1em; + } + + ul li { + padding-left: 0.5em; + } + + ul.alt { + list-style: none; + padding-left: 0; + } + + ul.alt li { + border-top: solid 1px #fff; + padding: 0.5em 0; + } + + ul.alt li:first-child { + border-top: 0; + padding-top: 0; + } + + ul.icons { + cursor: default; + list-style: none; + padding-left: 0; + } + + ul.icons li { + display: inline-block; + padding: 0 1em 0 0; + } + + ul.icons li:last-child { + padding-right: 0 !important; + } + + ul.icons.major { + padding: 1em 0; + } + + ul.icons.major li { + padding-right: 3.5em; + } + + @media screen and (max-width: 736px) { + + ul.icons.major li { + padding: 0 1em !important; + } + + } + + ul.actions { + cursor: default; + list-style: none; + padding-left: 0; + } + + ul.actions li { + display: inline-block; + padding: 0 1.5em 0 0; + vertical-align: middle; + } + + ul.actions li:last-child { + padding-right: 0; + } + + ul.actions.small li { + padding: 0 0.75em 0 0; + } + + ul.actions.vertical li { + display: block; + padding: 1.5em 0 0 0; + } + + ul.actions.vertical li:first-child { + padding-top: 0; + } + + ul.actions.vertical li > * { + margin-bottom: 0; + } + + ul.actions.vertical.small li { + padding: 0.75em 0 0 0; + } + + ul.actions.vertical.small li:first-child { + padding-top: 0; + } + + ul.actions.fit { + display: table; + margin-left: -1.5em; + padding: 0; + table-layout: fixed; + width: calc(100% + 1.5em); + } + + ul.actions.fit li { + display: table-cell; + padding: 0 0 0 1.5em; + } + + ul.actions.fit li > * { + margin-bottom: 0; + } + + ul.actions.fit.small { + margin-left: -0.75em; + width: calc(100% + 0.75em); + } + + ul.actions.fit.small li { + padding: 0 0 0 0.75em; + } + + @media screen and (max-width: 736px) { + + ul.actions li { + display: block; + padding: 1em 0 0 0; + text-align: center; + width: 100%; + } + + ul.actions li:first-child { + padding-top: 0; + } + + ul.actions li > * { + margin: 0 auto !important; + max-width: 30em; + width: 100%; + } + + ul.actions li > *.icon:before { + margin-left: -1em; + } + + ul.actions.small li { + padding: 0.5em 0 0 0; + } + + ul.actions.small li:first-child { + padding-top: 0; + } + + } + + dl { + margin: 0 0 2em 0; + } + +/* Table */ + + .table-wrapper { + -webkit-overflow-scrolling: touch; + overflow-x: auto; + } + + table { + margin: 0 0 2em 0; + width: 100%; + } + + table tbody tr { + border: solid 1px #fff; + border-left: 0; + border-right: 0; + } + + table tbody tr:nth-child(2n + 1) { + background-color: rgba(144, 144, 144, 0.25); + } + + table td { + padding: 0.75em 0.75em; + } + + table th { + color: #fff; + font-size: 0.9em; + font-weight: 600; + padding: 0 0.75em 0.75em 0.75em; + text-align: left; + } + + table thead { + border-bottom: solid 2px #fff; + } + + table tfoot { + border-top: solid 2px #fff; + } + + table.alt { + border-collapse: separate; + } + + table.alt tbody tr td { + border: solid 1px #fff; + border-left-width: 0; + border-top-width: 0; + } + + table.alt tbody tr td:first-child { + border-left-width: 1px; + } + + table.alt tbody tr:first-child td { + border-top-width: 1px; + } + + table.alt thead { + border-bottom: 0; + } + + table.alt tfoot { + border-top: 0; + } + +/* Button */ + + input[type="submit"], + input[type="reset"], + input[type="button"], + button, + .button { + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + appearance: none; + -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; + -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; + -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; + transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; + background-color: transparent; + border-radius: 3px; + border: 0; + box-shadow: inset 0 0 0 2px #fff; + color: #fff; + cursor: pointer; + display: inline-block; + font-size: 0.8em; + font-weight: 600; + height: 3.125em; + letter-spacing: 0.225em; + line-height: 3.125em; + padding: 0 2.75em; + text-align: center; + text-decoration: none; + text-transform: uppercase; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + input[type="submit"]:hover, + input[type="reset"]:hover, + input[type="button"]:hover, + button:hover, + .button:hover { + background-color: rgba(144, 144, 144, 0.25); + } + + input[type="submit"]:active, + input[type="reset"]:active, + input[type="button"]:active, + button:active, + .button:active { + background-color: rgba(144, 144, 144, 0.5); + } + + input[type="submit"].icon:before, + input[type="reset"].icon:before, + input[type="button"].icon:before, + button.icon:before, + .button.icon:before { + margin-right: 0.5em; + } + + input[type="submit"].fit, + input[type="reset"].fit, + input[type="button"].fit, + button.fit, + .button.fit { + display: block; + margin: 0 0 1em 0; + width: 100%; + } + + input[type="submit"].small, + input[type="reset"].small, + input[type="button"].small, + button.small, + .button.small { + font-size: 0.8em; + } + + input[type="submit"].big, + input[type="reset"].big, + input[type="button"].big, + button.big, + .button.big { + font-size: 1.35em; + } + + input[type="submit"].special, + input[type="reset"].special, + input[type="button"].special, + button.special, + .button.special { + background-color: #ed4933; + box-shadow: none !important; + color: #ffffff !important; + } + + input[type="submit"].special:hover, + input[type="reset"].special:hover, + input[type="button"].special:hover, + button.special:hover, + .button.special:hover { + background-color: #ef5e4a !important; + } + + input[type="submit"].special:active, + input[type="reset"].special:active, + input[type="button"].special:active, + button.special:active, + .button.special:active { + background-color: #eb341c !important; + } + + input[type="submit"].disabled, input[type="submit"]:disabled, + input[type="reset"].disabled, + input[type="reset"]:disabled, + input[type="button"].disabled, + input[type="button"]:disabled, + button.disabled, + button:disabled, + .button.disabled, + .button:disabled { + -moz-pointer-events: none; + -webkit-pointer-events: none; + -ms-pointer-events: none; + pointer-events: none; + opacity: 0.25; + } + + @media screen and (max-width: 736px) { + + input[type="submit"], + input[type="reset"], + input[type="button"], + button, + .button { + height: 3.75em; + line-height: 3.75em; + } + + } + +/* Features */ + + .features { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + list-style: none; + padding: 0; + width: 100%; + } + + .features li { + padding: 4em 4em 2em 6em ; + display: block; + position: relative; + text-align: left; + width: 50%; + } + + .features li:nth-child(1) { + background-color: rgba(0, 0, 0, 0.035); + } + + .features li:nth-child(2) { + background-color: rgba(0, 0, 0, 0.07); + } + + .features li:nth-child(3) { + background-color: rgba(0, 0, 0, 0.105); + } + + .features li:nth-child(4) { + background-color: rgba(0, 0, 0, 0.14); + } + + .features li:nth-child(5) { + background-color: rgba(0, 0, 0, 0.175); + } + + .features li:nth-child(6) { + background-color: rgba(0, 0, 0, 0.21); + } + + .features li:nth-child(7) { + background-color: rgba(0, 0, 0, 0.245); + } + + .features li:nth-child(8) { + background-color: rgba(0, 0, 0, 0.28); + } + + .features li:nth-child(9) { + background-color: rgba(0, 0, 0, 0.315); + } + + .features li:nth-child(10) { + background-color: rgba(0, 0, 0, 0.35); + } + + .features li:before { + display: block; + color: #00ffcc; + position: absolute; + left: 1.75em; + top: 2.75em; + font-size: 1.5em; + } + + .features li:nth-child(1) { + border-top-left-radius: 3px; + } + + .features li:nth-child(2) { + border-top-right-radius: 3px; + } + + .features li:nth-last-child(1) { + border-bottom-right-radius: 3px; + } + + .features li:nth-last-child(2) { + border-bottom-left-radius: 3px; + } + + @media screen and (max-width: 980px) { + + .features li { + padding: 3em 2em 1em 2em ; + text-align: center; + } + + .features li:before { + left: 0; + margin: 0 0 1em 0; + position: relative; + top: 0; + } + + } + + @media screen and (max-width: 736px) { + + .features li { + padding: 3em 0 1em 0 ; + background-color: transparent !important; + border-top: solid 2px #fff; + width: 100%; + } + + .features li:first-child { + border-top: 0; + } + + } + +/* Spotlight */ + + .spotlight { + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + } + + .spotlight .image { + -moz-order: 1; + -webkit-order: 1; + -ms-order: 1; + order: 1; + border-radius: 0; + width: 40%; + } + + .spotlight .image img { + border-radius: 0; + width: 100%; + } + + .spotlight .content { + padding: 2em 4em 0.1em 4em ; + -moz-order: 2; + -webkit-order: 2; + -ms-order: 2; + order: 2; + max-width: 48em; + width: 60%; + } + + .spotlight:nth-child(2n) { + -moz-flex-direction: row-reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + } + + .spotlight:nth-child(1) { + background-color: rgba(0, 0, 0, 0.075); + } + + .spotlight:nth-child(2) { + background-color: rgba(0, 0, 0, 0.15); + } + + .spotlight:nth-child(3) { + background-color: rgba(0, 0, 0, 0.225); + } + + .spotlight:nth-child(4) { + background-color: rgba(0, 0, 0, 0.3); + } + + .spotlight:nth-child(5) { + background-color: rgba(0, 0, 0, 0.375); + } + + .spotlight:nth-child(6) { + background-color: rgba(0, 0, 0, 0.45); + } + + .spotlight:nth-child(7) { + background-color: rgba(0, 0, 0, 0.525); + } + + .spotlight:nth-child(8) { + background-color: rgba(0, 0, 0, 0.6); + } + + .spotlight:nth-child(9) { + background-color: rgba(0, 0, 0, 0.675); + } + + .spotlight:nth-child(10) { + background-color: rgba(0, 0, 0, 0.75); + } + + @media screen and (max-width: 1280px) { + + .spotlight .image { + width: 45%; + } + + .spotlight .content { + width: 55%; + } + + } + + @media screen and (max-width: 980px) { + + .spotlight { + display: block; + } + + .spotlight br { + display: none; + } + + .spotlight .image { + width: 100%; + } + + .spotlight .content { + padding: 4em 3em 2em 3em ; + max-width: none; + text-align: center; + width: 100%; + } + + } + + @media screen and (max-width: 736px) { + + .spotlight .content { + padding: 3em 2em 1em 2em ; + } + + } + +/* Wrapper */ + + .wrapper { + padding: 6em 0 4em 0 ; + } + + .wrapper > .inner { + width: 60em; + margin: 0 auto; + } + + @media screen and (max-width: 1280px) { + + .wrapper > .inner { + width: 90%; + } + + } + + @media screen and (max-width: 980px) { + + .wrapper > .inner { + width: 100%; + } + + } + + .wrapper.alt { + padding: 0; + } + + .wrapper.style1 { + background-color: #21b2a6; + color: #c7ebe8; + } + + .wrapper.style1 strong, .wrapper.style1 b { + color: #ffffff; + } + + .wrapper.style1 h2, .wrapper.style1 h3, .wrapper.style1 h4, .wrapper.style1 h5, .wrapper.style1 h6 { + color: #ffffff; + } + + .wrapper.style1 hr { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 blockquote { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 code { + background: rgba(255, 255, 255, 0.075); + } + + .wrapper.style1 header p { + color: #a6e0db; + } + + .wrapper.style1 header.major h2, .wrapper.style1 header.major h3, .wrapper.style1 header.major h4, .wrapper.style1 header.major h5, .wrapper.style1 header.major h6 { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 header.major p { + color: #c7ebe8; + } + + .wrapper.style1 label { + color: #ffffff; + } + + .wrapper.style1 input[type="text"], + .wrapper.style1 input[type="password"], + .wrapper.style1 input[type="email"], + .wrapper.style1 select, + .wrapper.style1 textarea { + background: rgba(255, 255, 255, 0.075); + } + + .wrapper.style1 .select-wrapper:before { + color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 input[type="checkbox"] + label, + .wrapper.style1 input[type="radio"] + label { + color: #c7ebe8; + } + + .wrapper.style1 input[type="checkbox"] + label:before, + .wrapper.style1 input[type="radio"] + label:before { + background: rgba(255, 255, 255, 0.075); + } + + .wrapper.style1 input[type="checkbox"]:checked + label:before, + .wrapper.style1 input[type="radio"]:checked + label:before { + background: #ffffff; + color: #21b2a6; + } + + .wrapper.style1 ::-webkit-input-placeholder { + color: #a6e0db !important; + } + + .wrapper.style1 :-moz-placeholder { + color: #a6e0db !important; + } + + .wrapper.style1 ::-moz-placeholder { + color: #a6e0db !important; + } + + .wrapper.style1 :-ms-input-placeholder { + color: #a6e0db !important; + } + + .wrapper.style1 .formerize-placeholder { + color: #a6e0db !important; + } + + .wrapper.style1 .icon.major { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 ul.alt li { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 table tbody tr { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 table tbody tr:nth-child(2n + 1) { + background-color: rgba(255, 255, 255, 0.075); + } + + .wrapper.style1 table th { + color: #ffffff; + } + + .wrapper.style1 table thead { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 table tfoot { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 table.alt tbody tr td { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 input[type="submit"], + .wrapper.style1 input[type="reset"], + .wrapper.style1 input[type="button"], + .wrapper.style1 button, + .wrapper.style1 .button { + box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.125); + color: #ffffff; + } + + .wrapper.style1 input[type="submit"]:hover, + .wrapper.style1 input[type="reset"]:hover, + .wrapper.style1 input[type="button"]:hover, + .wrapper.style1 button:hover, + .wrapper.style1 .button:hover { + background-color: rgba(255, 255, 255, 0.075); + } + + .wrapper.style1 input[type="submit"]:active, + .wrapper.style1 input[type="reset"]:active, + .wrapper.style1 input[type="button"]:active, + .wrapper.style1 button:active, + .wrapper.style1 .button:active { + background-color: rgba(255, 255, 255, 0.2); + } + + @media screen and (max-width: 736px) { + + .wrapper.style1 .features li { + border-top-color: rgba(0, 0, 0, 0.125); + } + + } + + .wrapper.style2 { + background-color: #2e3842; + } + + .wrapper.style3 { + background-color: #505393; + color: #d3d4e4; + } + + .wrapper.style3 strong, .wrapper.style3 b { + color: #ffffff; + } + + .wrapper.style3 h2, .wrapper.style3 h3, .wrapper.style3 h4, .wrapper.style3 h5, .wrapper.style3 h6 { + color: #ffffff; + } + + .wrapper.style3 hr { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 blockquote { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 code { + background: rgba(255, 255, 255, 0.075); + } + + .wrapper.style3 header p { + color: #b9bad3; + } + + .wrapper.style3 header.major h2, .wrapper.style3 header.major h3, .wrapper.style3 header.major h4, .wrapper.style3 header.major h5, .wrapper.style3 header.major h6 { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 header.major p { + color: #d3d4e4; + } + + .wrapper.style3 label { + color: #ffffff; + } + + .wrapper.style3 input[type="text"], + .wrapper.style3 input[type="password"], + .wrapper.style3 input[type="email"], + .wrapper.style3 select, + .wrapper.style3 textarea { + background: rgba(255, 255, 255, 0.075); + } + + .wrapper.style3 .select-wrapper:before { + color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 input[type="checkbox"] + label, + .wrapper.style3 input[type="radio"] + label { + color: #d3d4e4; + } + + .wrapper.style3 input[type="checkbox"] + label:before, + .wrapper.style3 input[type="radio"] + label:before { + background: rgba(255, 255, 255, 0.075); + } + + .wrapper.style3 input[type="checkbox"]:checked + label:before, + .wrapper.style3 input[type="radio"]:checked + label:before { + background: #ffffff; + color: #505393; + } + + .wrapper.style3 ::-webkit-input-placeholder { + color: #b9bad3 !important; + } + + .wrapper.style3 :-moz-placeholder { + color: #b9bad3 !important; + } + + .wrapper.style3 ::-moz-placeholder { + color: #b9bad3 !important; + } + + .wrapper.style3 :-ms-input-placeholder { + color: #b9bad3 !important; + } + + .wrapper.style3 .formerize-placeholder { + color: #b9bad3 !important; + } + + .wrapper.style3 .icon.major { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 ul.alt li { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 table tbody tr { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 table tbody tr:nth-child(2n + 1) { + background-color: rgba(255, 255, 255, 0.075); + } + + .wrapper.style3 table th { + color: #ffffff; + } + + .wrapper.style3 table thead { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 table tfoot { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 table.alt tbody tr td { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 input[type="submit"], + .wrapper.style3 input[type="reset"], + .wrapper.style3 input[type="button"], + .wrapper.style3 button, + .wrapper.style3 .button { + box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.125); + color: #ffffff; + } + + .wrapper.style3 input[type="submit"]:hover, + .wrapper.style3 input[type="reset"]:hover, + .wrapper.style3 input[type="button"]:hover, + .wrapper.style3 button:hover, + .wrapper.style3 .button:hover { + background-color: rgba(255, 255, 255, 0.075); + } + + .wrapper.style3 input[type="submit"]:active, + .wrapper.style3 input[type="reset"]:active, + .wrapper.style3 input[type="button"]:active, + .wrapper.style3 button:active, + .wrapper.style3 .button:active { + background-color: rgba(255, 255, 255, 0.2); + } + + @media screen and (max-width: 736px) { + + .wrapper.style3 .features li { + border-top-color: rgba(0, 0, 0, 0.125); + } + + } + + .wrapper.style4 { + background-color: transparent; + } + + .wrapper.style5 { + background-color: #ffffff; + color: #4E4852; + } + + .wrapper.style5 strong, .wrapper.style5 b { + color: #2E3842; + } + + .wrapper.style5 h2, .wrapper.style5 h3, .wrapper.style5 h4, .wrapper.style5 h5, .wrapper.style5 h6 { + color: #2E3842; + } + + .wrapper.style5 hr { + border-color: #dfdfdf; + } + + .wrapper.style5 blockquote { + border-color: #dfdfdf; + } + + .wrapper.style5 code { + background: rgba(0, 0, 0, 0.0375); + } + + .wrapper.style5 header p { + color: #8E8892; + } + + .wrapper.style5 header.major h2, .wrapper.style5 header.major h3, .wrapper.style5 header.major h4, .wrapper.style5 header.major h5, .wrapper.style5 header.major h6 { + border-color: #dfdfdf; + } + + .wrapper.style5 header.major p { + color: #4E4852; + } + + .wrapper.style5 label { + color: #2E3842; + } + + .wrapper.style5 input[type="text"], + .wrapper.style5 input[type="password"], + .wrapper.style5 input[type="email"], + .wrapper.style5 select, + .wrapper.style5 textarea { + background: rgba(0, 0, 0, 0.0375); + } + + .wrapper.style5 .select-wrapper:before { + color: #dfdfdf; + } + + .wrapper.style5 input[type="checkbox"] + label, + .wrapper.style5 input[type="radio"] + label { + color: #4E4852; + } + + .wrapper.style5 input[type="checkbox"] + label:before, + .wrapper.style5 input[type="radio"] + label:before { + background: rgba(0, 0, 0, 0.0375); + } + + .wrapper.style5 input[type="checkbox"]:checked + label:before, + .wrapper.style5 input[type="radio"]:checked + label:before { + background: #2E3842; + color: #ffffff; + } + + .wrapper.style5 ::-webkit-input-placeholder { + color: #8E8892 !important; + } + + .wrapper.style5 :-moz-placeholder { + color: #8E8892 !important; + } + + .wrapper.style5 ::-moz-placeholder { + color: #8E8892 !important; + } + + .wrapper.style5 :-ms-input-placeholder { + color: #8E8892 !important; + } + + .wrapper.style5 .formerize-placeholder { + color: #8E8892 !important; + } + + .wrapper.style5 .icon.major { + border-color: #dfdfdf; + } + + .wrapper.style5 ul.alt li { + border-color: #dfdfdf; + } + + .wrapper.style5 table tbody tr { + border-color: #dfdfdf; + } + + .wrapper.style5 table tbody tr:nth-child(2n + 1) { + background-color: rgba(0, 0, 0, 0.0375); + } + + .wrapper.style5 table th { + color: #2E3842; + } + + .wrapper.style5 table thead { + border-color: #dfdfdf; + } + + .wrapper.style5 table tfoot { + border-color: #dfdfdf; + } + + .wrapper.style5 table.alt tbody tr td { + border-color: #dfdfdf; + } + + .wrapper.style5 input[type="submit"], + .wrapper.style5 input[type="reset"], + .wrapper.style5 input[type="button"], + .wrapper.style5 button, + .wrapper.style5 .button { + box-shadow: inset 0 0 0 2px #dfdfdf; + color: #2E3842; + } + + .wrapper.style5 input[type="submit"]:hover, + .wrapper.style5 input[type="reset"]:hover, + .wrapper.style5 input[type="button"]:hover, + .wrapper.style5 button:hover, + .wrapper.style5 .button:hover { + background-color: rgba(0, 0, 0, 0.0375); + } + + .wrapper.style5 input[type="submit"]:active, + .wrapper.style5 input[type="reset"]:active, + .wrapper.style5 input[type="button"]:active, + .wrapper.style5 button:active, + .wrapper.style5 .button:active { + background-color: rgba(0, 0, 0, 0.1); + } + + @media screen and (max-width: 736px) { + + .wrapper.style5 .features li { + border-top-color: #dfdfdf; + } + + } + + @media screen and (max-width: 980px) { + + .wrapper { + padding: 4em 3em 2em 3em ; + } + + } + + @media screen and (max-width: 736px) { + + .wrapper { + padding: 3em 2em 1em 2em ; + } + + } + +/* Page Wrapper + Menu */ + + #page-wrapper { + -moz-transition: opacity 0.5s ease; + -webkit-transition: opacity 0.5s ease; + -ms-transition: opacity 0.5s ease; + transition: opacity 0.5s ease; + opacity: 1; + padding-top: 3em; + } + + #page-wrapper:before { + background: transparent; + content: ''; + display: block; + display: none; + height: 100%; + left: 0; + position: fixed; + top: 0; + width: 100%; + z-index: 10001; + } + + #menu { + -moz-transform: translateX(20em); + -webkit-transform: translateX(20em); + -ms-transform: translateX(20em); + transform: translateX(20em); + -moz-transition: -moz-transform 0.5s ease; + -webkit-transition: -webkit-transform 0.5s ease; + -ms-transition: -ms-transform 0.5s ease; + transition: transform 0.5s ease; + -webkit-overflow-scrolling: touch; + background: #21b2a6; + color: #ffffff; + height: 100%; + max-width: 80%; + overflow-y: auto; + padding: 3em 2em; + position: fixed; + right: 0; + top: 0; + width: 20em; + z-index: 10002; + } + + #menu ul { + list-style: none; + padding: 0; + } + + #menu ul > li { + border-top: solid 1px rgba(0, 0, 0, 0.125); + margin: 0.5em 0 0 0; + padding: 0.5em 0 0 0; + } + + #menu ul > li:first-child { + border-top: 0 !important; + margin-top: 0 !important; + padding-top: 0 !important; + } + + #menu ul > li > a { + border: 0; + color: inherit; + display: block; + font-size: 0.8em; + letter-spacing: 0.225em; + outline: 0; + text-decoration: none; + text-transform: uppercase; + } + + @media screen and (max-width: 736px) { + + #menu ul > li > a { + line-height: 3em; + } + + } + + #menu .close { + background-image: url("images/close.svg"); + background-position: 4.85em 1em; + background-repeat: no-repeat; + border: 0; + cursor: pointer; + display: block; + height: 3em; + position: absolute; + right: 0; + top: 0; + vertical-align: middle; + width: 7em; + } + + @media screen and (max-width: 736px) { + + #menu { + padding: 3em 1.5em; + } + + } + + body.is-menu-visible #page-wrapper { + opacity: 0.35; + } + + body.is-menu-visible #page-wrapper:before { + display: block; + } + + body.is-menu-visible #menu { + -moz-transform: translateX(0); + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + +/* Header */ + + #header { + -moz-transition: background-color 0.2s ease; + -webkit-transition: background-color 0.2s ease; + -ms-transition: background-color 0.2s ease; + transition: background-color 0.2s ease; + background: #2e3842; + height: 3em; + left: 0; + line-height: 3em; + position: fixed; + top: 0; + width: 100%; + z-index: 10000; + } + + #header h1 { + -moz-transition: opacity 0.2s ease; + -webkit-transition: opacity 0.2s ease; + -ms-transition: opacity 0.2s ease; + transition: opacity 0.2s ease; + height: inherit; + left: 1.25em; + line-height: inherit; + position: absolute; + top: 0; + } + + #header h1 a { + border: 0; + display: block; + height: inherit; + line-height: inherit; + } + + @media screen and (max-width: 736px) { + + #header h1 a { + font-size: 0.8em; + } + + } + + #header nav { + height: inherit; + line-height: inherit; + position: absolute; + right: 0; + top: 0; + } + + #header nav > ul { + list-style: none; + margin: 0; + padding: 0; + white-space: nowrap; + } + + #header nav > ul > li { + display: inline-block; + padding: 0; + } + + #header nav > ul > li > a { + border: 0; + color: #fff; + display: block; + font-size: 0.8em; + letter-spacing: 0.225em; + padding: 0 1.5em; + text-transform: uppercase; + } + + #header nav > ul > li > a.menuToggle { + outline: 0; + position: relative; + } + + #header nav > ul > li > a.menuToggle:after { + background-image: url("images/bars.svg"); + background-position: right center; + background-repeat: no-repeat; + content: ''; + display: inline-block; + height: 3.75em; + vertical-align: top; + width: 2em; + } + + @media screen and (max-width: 736px) { + + #header nav > ul > li > a.menuToggle { + padding: 0 1.5em; + } + + #header nav > ul > li > a.menuToggle span { + display: none; + } + + } + + @media screen and (max-width: 736px) { + + #header nav > ul > li > a { + padding: 0 0 0 1.5em; + } + + } + + #header nav > ul > li:first-child { + margin-left: 0; + } + + #header.alt { + background: transparent; + } + + #header.alt h1 { + -moz-pointer-events: none; + -webkit-pointer-events: none; + -ms-pointer-events: none; + pointer-events: none; + opacity: 0; + } + +/* Banner */ + + #banner { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-direction: column; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + cursor: default; + height: 100vh; + min-height: 35em; + overflow: hidden; + position: relative; + text-align: center; + } + + #banner h2 { + -moz-transform: scale(1); + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + -moz-transition: -moz-transform 0.5s ease, opacity 0.5s ease; + -webkit-transition: -webkit-transform 0.5s ease, opacity 0.5s ease; + -ms-transition: -ms-transform 0.5s ease, opacity 0.5s ease; + transition: transform 0.5s ease, opacity 0.5s ease; + display: inline-block; + font-size: 1.75em; + opacity: 1; + padding: 0.35em 1em; + position: relative; + z-index: 1; + } + + #banner h2:before, #banner h2:after { + -moz-transition: width 0.85s ease; + -webkit-transition: width 0.85s ease; + -ms-transition: width 0.85s ease; + transition: width 0.85s ease; + -moz-transition-delay: 0.25s; + -webkit-transition-delay: 0.25s; + -ms-transition-delay: 0.25s; + transition-delay: 0.25s; + background: #fff; + content: ''; + display: block; + height: 2px; + position: absolute; + width: 100%; + } + + #banner h2:before { + top: 0; + left: 0; + } + + #banner h2:after { + bottom: 0; + right: 0; + } + + #banner p { + letter-spacing: 0.225em; + text-transform: uppercase; + } + + #banner p a { + color: inherit; + } + + #banner .more { + -moz-transition: -moz-transform 0.75s ease, opacity 0.75s ease; + -webkit-transition: -webkit-transform 0.75s ease, opacity 0.75s ease; + -ms-transition: -ms-transform 0.75s ease, opacity 0.75s ease; + transition: transform 0.75s ease, opacity 0.75s ease; + -moz-transition-delay: 3.5s; + -webkit-transition-delay: 3.5s; + -ms-transition-delay: 3.5s; + transition-delay: 3.5s; + -moz-transform: translateY(0); + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + border: none; + bottom: 0; + color: inherit; + font-size: 0.8em; + height: 8.5em; + left: 50%; + letter-spacing: 0.225em; + margin-left: -8.5em; + opacity: 1; + outline: 0; + padding-left: 0.225em; + position: absolute; + text-align: center; + text-transform: uppercase; + width: 16em; + z-index: 1; + } + + #banner .more:after { + background-image: url("images/arrow.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + bottom: 4em; + content: ''; + display: block; + height: 1.5em; + left: 50%; + margin: 0 0 0 -0.75em; + position: absolute; + width: 1.5em; + } + + #banner:after { + -moz-pointer-events: none; + -webkit-pointer-events: none; + -ms-pointer-events: none; + pointer-events: none; + -moz-transition: opacity 3s ease-in-out; + -webkit-transition: opacity 3s ease-in-out; + -ms-transition: opacity 3s ease-in-out; + transition: opacity 3s ease-in-out; + -moz-transition-delay: 1.25s; + -webkit-transition-delay: 1.25s; + -ms-transition-delay: 1.25s; + transition-delay: 1.25s; + content: ''; + background: #2e3842; + display: block; + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; + opacity: 0; + } + + @media screen and (max-width: 736px) { + + #banner { + padding: 7em 3em 5em 3em ; + height: auto; + min-height: 0; + } + + #banner h2 { + font-size: 1.25em; + } + + #banner br { + display: none; + } + + #banner .more { + display: none; + } + + } + + body.is-loading #banner h2 { + -moz-transform: scale(0.95); + -webkit-transform: scale(0.95); + -ms-transform: scale(0.95); + transform: scale(0.95); + opacity: 0; + } + + body.is-loading #banner h2:before, body.is-loading #banner h2:after { + width: 0; + } + + body.is-loading #banner .more { + -moz-transform: translateY(8.5em); + -webkit-transform: translateY(8.5em); + -ms-transform: translateY(8.5em); + transform: translateY(8.5em); + opacity: 0; + } + + body.is-loading #banner:after { + opacity: 1; + } + +/* CTA */ + + #cta .inner { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + max-width: 45em; + } + + #cta .inner header { + -moz-order: 1; + -webkit-order: 1; + -ms-order: 1; + order: 1; + padding-right: 3em; + width: 70%; + } + + #cta .inner header p { + color: inherit; + } + + #cta .inner .actions { + -moz-order: 2; + -webkit-order: 2; + -ms-order: 2; + order: 2; + width: 30%; + } + + @media screen and (max-width: 980px) { + + #cta .inner { + display: block; + text-align: center; + } + + #cta .inner header { + padding-right: 0; + width: 100%; + } + + #cta .inner .actions { + margin-left: auto; + margin-right: auto; + max-width: 20em; + width: 100%; + } + + } + + @media screen and (max-width: 736px) { + + #cta .inner .actions { + max-width: none; + } + + } + +/* Main */ + + #main > header { + padding: 12em 0 10em 0 ; + background-image: -moz-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: -webkit-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: -ms-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-attachment: fixed; + background-position: center center; + background-repeat: no-repeat; + background-size: cover; + text-align: center; + } + + #main > header h2 { + font-size: 1.75em; + margin: 0 0 0.5em 0; + } + + #main > header p { + color: inherit; + letter-spacing: 0.225em; + text-transform: uppercase; + top: 0; + } + + #main > header p a { + color: inherit; + } + + @media screen and (max-width: 1680px) { + + #main > header { + padding: 10em 0 8em 0 ; + } + + } + + @media screen and (max-width: 1280px) { + + #main > header { + padding: 8em 3em 6em 3em ; + } + + } + + @media screen and (max-width: 980px) { + + #main > header { + padding: 10em 3em 8em 3em ; + } + + } + + @media screen and (max-width: 736px) { + + #main > header { + padding: 5em 3em 3em 3em ; + } + + #main > header h2 { + font-size: 1.25em; + margin: 0 0 1em 0; + } + + } + + body.is-mobile #main > header { + background-attachment: scroll; + } + +/* Footer */ + + #footer { + padding: 6em 0 4em 0 ; + background-color: #1d242a; + text-align: center; + } + + #footer .icons { + font-size: 1.25em; + } + + #footer .icons a { + color: rgba(255, 255, 255, 0.5); + } + + #footer .icons a:hover { + color: #fff; + } + + #footer .copyright { + color: rgba(255, 255, 255, 0.5); + font-size: 0.8em; + letter-spacing: 0.225em; + list-style: none; + padding: 0; + text-transform: uppercase; + } + + #footer .copyright li { + border-left: solid 1px rgba(255, 255, 255, 0.5); + display: inline-block; + line-height: 1em; + margin-left: 1em; + padding-left: 1em; + } + + #footer .copyright li:first-child { + border-left: 0; + margin-left: 0; + padding-left: 0; + } + + #footer .copyright li a { + color: inherit; + } + + #footer .copyright li a:hover { + color: #fff; + } + + @media screen and (max-width: 480px) { + + #footer .copyright li { + border: 0; + display: block; + line-height: 1.65em; + margin: 0; + padding: 0.5em 0; + } + + } + + @media screen and (max-width: 980px) { + + #footer { + padding: 4em 3em 2em 3em ; + } + + } + + @media screen and (max-width: 736px) { + + #footer { + padding: 3em 2em 1em 2em ; + } + + } + +/* Landing */ + + body.landing #page-wrapper { + background-image: -moz-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: -webkit-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: -ms-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-attachment: fixed; + background-position: center center; + background-repeat: no-repeat; + background-size: cover; + padding-top: 0; + } + + body.landing #footer { + background-color: rgba(29, 36, 42, 0.9); + } + + body.is-mobile.landing #page-wrapper { + background: none; + } + + body.is-mobile.landing #banner, + body.is-mobile.landing .wrapper.style4 { + background-image: -moz-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: -webkit-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: -ms-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-position: center center; + background-repeat: no-repeat; + background-size: cover; + } + + body.is-mobile.landing #footer { + background-color: #1d242a; + } \ No newline at end of file diff --git a/2018/assets/fonts/FontAwesome.otf b/2018/assets/fonts/FontAwesome.otf new file mode 100644 index 0000000..d4de13e Binary files /dev/null and b/2018/assets/fonts/FontAwesome.otf differ diff --git a/2018/assets/fonts/fontawesome-webfont.eot b/2018/assets/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..c7b00d2 Binary files /dev/null and b/2018/assets/fonts/fontawesome-webfont.eot differ diff --git a/2018/assets/fonts/fontawesome-webfont.svg b/2018/assets/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..8b66187 --- /dev/null +++ b/2018/assets/fonts/fontawesome-webfont.svg @@ -0,0 +1,685 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/2018/assets/fonts/fontawesome-webfont.ttf b/2018/assets/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..f221e50 Binary files /dev/null and b/2018/assets/fonts/fontawesome-webfont.ttf differ diff --git a/2018/assets/fonts/fontawesome-webfont.woff b/2018/assets/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..6e7483c Binary files /dev/null and b/2018/assets/fonts/fontawesome-webfont.woff differ diff --git a/2018/assets/fonts/fontawesome-webfont.woff2 b/2018/assets/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000..7eb74fd Binary files /dev/null and b/2018/assets/fonts/fontawesome-webfont.woff2 differ diff --git a/2018/assets/js/ie/backgroundsize.min.htc b/2018/assets/js/ie/backgroundsize.min.htc new file mode 100644 index 0000000..3d9960d --- /dev/null +++ b/2018/assets/js/ie/backgroundsize.min.htc @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/2018/assets/js/ie/html5shiv.js b/2018/assets/js/ie/html5shiv.js new file mode 100644 index 0000000..dcf351c --- /dev/null +++ b/2018/assets/js/ie/html5shiv.js @@ -0,0 +1,8 @@ +/* + HTML5 Shiv v3.6.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +*/ +(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); +a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; +c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| +"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment(); +for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d #mq-test-1 { width: 42px; }',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){v(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},g=function(a){return a.replace(c.regex.minmaxwh,"").match(c.regex.other)};if(c.ajax=f,c.queue=d,c.unsupportedmq=g,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,comments:/\/\*[^*]*\*+([^/][^*]*\*+)*\//gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,minmaxwh:/\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,other:/\([^\)]*\)/g},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var h,i,j,k=a.document,l=k.documentElement,m=[],n=[],o=[],p={},q=30,r=k.getElementsByTagName("head")[0]||l,s=k.getElementsByTagName("base")[0],t=r.getElementsByTagName("link"),u=function(){var a,b=k.createElement("div"),c=k.body,d=l.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=k.createElement("body"),c.style.background="none"),l.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&l.insertBefore(c,l.firstChild),a=b.offsetWidth,f?l.removeChild(c):c.removeChild(b),l.style.fontSize=d,e&&(c.style.fontSize=e),a=j=parseFloat(a)},v=function(b){var c="clientWidth",d=l[c],e="CSS1Compat"===k.compatMode&&d||k.body[c]||d,f={},g=t[t.length-1],p=(new Date).getTime();if(b&&h&&q>p-h)return a.clearTimeout(i),i=a.setTimeout(v,q),void 0;h=p;for(var s in m)if(m.hasOwnProperty(s)){var w=m[s],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?j||u():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?j||u():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(n[w.rules]))}for(var C in o)o.hasOwnProperty(C)&&o[C]&&o[C].parentNode===r&&r.removeChild(o[C]);o.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=k.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,r.insertBefore(E,g.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(k.createTextNode(F)),o.push(E)}},w=function(a,b,d){var e=a.replace(c.regex.comments,"").replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},i=!f&&d;b.length&&(b+="/"),i&&(f=1);for(var j=0;f>j;j++){var k,l,o,p;i?(k=d,n.push(h(a))):(k=e[j].match(c.regex.findStyles)&&RegExp.$1,n.push(RegExp.$2&&h(RegExp.$2))),o=k.split(","),p=o.length;for(var q=0;p>q;q++)l=o[q],g(l)||m.push({media:l.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:n.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}v()},x=function(){if(d.length){var b=d.shift();f(b.href,function(c){w(c,b.href,b.media),p[b.href]=!0,a.setTimeout(function(){x()},0)})}},y=function(){for(var b=0;ba?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; + +return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/\s*$/g,ra={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:k.htmlSerialize?[0,"",""]:[1,"X
","
"]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?""!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m(" + + + + + + + +

Where to eat?

+

+ Hey! Please note that lunch will not be provided and you'll have to go + find something outside. Don't worry, we have prepared a map with + recommended places to eat, around the venue: + Have a look +

+ + + + + + +
+
+
+

Schedule

+ +

+ The schedule for the Barcelona Perl & Friends 2018 started at 9:30 and + included 18 talks (4 of them were lightning talks). We finished + at 19:00 after almost 10 hours of a great conference. +

+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/lib/bin
09:00 +
Registration
+
09:30 +
+ + Opening + +
+ + +
09:50
10:00 + + + +
Jose Luis Martinez
+ +
+ + + +
Pau Cervera i Badia
+ +
10:50
11:00 +
Morning Break
+
11:30 + + + +
Sue Spence
+ +
+ + + +
Loïc Prieto
+ +
11:50
12:00 + + + +
Oriol Soriano Vila
+ +
+ + + +
Cristóbal García
+ +
12:50
13:00 +
Lunch
+
14:30 + + + +
Xavier Noria
+ +
+ + + +
Ed Freyfogle
+ +
15:20
15:30 + + + +
Diego Kuperman
+ +
+ + + +
Salvador Fandiño
+ +
15:50
16:00 + + + +
Jose Luis Perez Diez
+ +
16:20
16:30 +
Afternoon Break
+
17:00 + + + +
Alex Fernández
+ +
+ + + +
Toni Hermoso Pulido
+ +
17:20
17:30 +
+ + Ravada VDI + +
+ + +
Francesc Guasch
+ +
17:50
+ + + + +
+
+
+

Talks

+ + +

+ Submit a talk! +

+

+ We have some really good and experienced speakers already lined up + but we'd really you to show up and tell + us your story. Don't feel shy, we're among friends. +

+

+ You might think that you have nothing to talk about. Think twice. + What you take for granted might be unknown for others. If you think + that you don't have something to talk about for 20 to 50 minutes, you + can submit a Lightning Talk (talks limited to 5 minutes). + Surprise us! +

+ +
+ + +
    + + + + + +
  • + + +

    Spiders, Gophers & Butterflies

    +

    Sue Spence

    + +

    +A little Go vs Perl 6 concurrency +

    + + + +
  • + + + + +
  • + + +

    Ravada VDI

    +

    Francesc Guasch

    + +

    +Ravada is a free, easy to use Virtual Desktop solution. I will show its features, how it works and what are the installation requirements. +

    + + + + http://ravada.upc.edu + +
  • + + + + +
  • + + +

    MooseX::DIC Type-Constrained Dependency Injection

    +

    Loïc Prieto

    + +

    +A talk about Dependency Injection based on "interfaces" for Perl, with the use of MooseX::DIC, a library I created for this task. Along the way, I will present the benefits of using a Dependency Injection in your application. +

    + + + + http://docs.moosex-dic.org + +
  • + + + + +
  • + + +

    Building a markdown parser only with functions

    +

    Pau Cervera i Badia

    + +

    +We show how to build a nontrivial parser using a functional language such as clojure or F# or Haskell. The talk is example & test driven and starts with the basics: parsing a single character and growing the parser by layering abstraction levels on top of this simple construct. Special emphasis is on the fact that no need for mutable variables or state is needed. +

    + + + +
  • + + + + +
  • + + +

    Luser Hacking survival kit

    +

    Jose Luis Perez Diez

    + +

    +Just presenting some tools and tips that can allow you to program in your locked M$ workstation and never touch BASIC. +

    + + + +
  • + + + + +
  • + + +

    A Tour of the Elixir Source Code

    +

    Xavier Noria

    + +

    +In this talk we are going to have a look at the Elixir source code to understand its implementation. +

    + + + +
  • + + + + +
  • + + +

    CloudDeploy: perl-flavoured Infra-as-Code

    +

    Oriol Soriano Vila

    + +

    +CloudDeploy is a 100% perl-written toolkit for managing infrastructure as Moose classes and deploying it in an automated manner to AWS (only to AWS; at least, as of now). But it is also more than that: it provides a CLI to deploy, a CLI utility to manage images, functionality to calculate 'diffs' between versions of the same stack, etc. At CAPSiDE we have been managing infrastructure for more than 15 years. The experience we have earned along the way has been bundled into this tool that has just been open sourced and made available to our community. We use CloudDeploy daily and we heavily rely on it since the project inception in 2013. +

    + + + +
  • + + + + +
  • + + +

    A bag of sweets with mojo

    +

    Diego Kuperman

    + +

    +Anyone knows about Mojolicious web framework and many also knows some of the modules that comes with it, like the Mojo::UserAgent and Mojo::DOM. What not that many people know is that inside the bag, there is lots of other more general purpose modules with the same sweety interface we know and love. In this talk I'll be exploring, thru examples, all the non web related modules that comes inside the Mojolicious package. +

    + + + +
  • + + + + +
  • + + +

    Volar a la nube: consejos para tu viaje

    +

    Jose Luis Martinez

    + +

    +Una charla sobre cosas que te ayudarán a hacer tu viaje a la nube un placer. +

    + + + +
  • + + + + +
  • + + +

    Life inside a Perl-using, developer-focused, SaaS business

    +

    Ed Freyfogle

    + +

    +I'm one of the makers of the OpenCage Geocoder, a geocoding API built in Perl. My talk will focus on the challenges and pleasures behind a SaaS business targeting software developers. I'll look at some of the tools and services we use, and the challenges of being a distributed team. +

    + + + +
  • + + + + +
  • + + +

    Robust code in dynamic languages: the Clojure approach

    +

    Cristóbal García

    + +

    +Dynamic languages have a reputation of paying a high price for his flexibility. The absence of a type checker may make it more difficult to spot subtle bugs as the business rules or data model evolves. To avoid such risks, one of the potential approaches we can take is to increase our test coverage. Unfortunately, creating more test cases is not a silver bullet. As any other code, tests need to be created and managed. In this talk, we will explore the clojure.spec framework, the response from the clojure community to the challenges above. Once we describe (specify) the valid shapes our data can take, the toolkit, among other things, enables us to use generative testing to manage a large number of cases along with automated data validation for everyday use. +

    + + + +
  • + + + + +
  • + + +

    Wikipedia and Wikidata data access with Perl

    +

    Toni Hermoso Pulido

    + +

    +In this short talk we would introduce some popular and convenient approaches for interacting with Wikipedia and Wikidata by using Perl. We would learn how to query the available API and SPARQL endpoints, create simple bots and import data. +

    + + + +
  • + + + + +
  • + + +

    Empaquetando aplicaciones Perl para Windows

    +

    Salvador Fandiño

    + +

    +Esta charla va sobre mi nuevo módulo Win32::Packer que permite crear fácilmente instaladores para Windows de aplicaciones Perl con todas sus dependencias en formato MSI. +

    + + + +
  • + + + + +
  • + + +

    Code Your Future - Escuela de programación para refugiados

    +

    Alex Fernández

    + +

    +CodeYourFuture, ubicada en Gran Bretaña, es la primera y única escuela de programación que tiene como finalidad enseñar a los refugiados a programar. La mitad de los estudiantes vienen de Siria. Otros vienen de Uganda, Etiopía, Afganistán y otro es oficialmente reconocido como sin estado por el gobierno de Gran Bretaña. Ninguno puede volver a su hogar ni a sus vidas anteriores y aprenden a programar con el fin de encontrar un trabajo estable en Gran Bretaña. Esperamos que después de seis meses, cada estudiante tenga los suficientes conocimientos de programación para encontrar un trabajo como desarrollador web. ¿Quieres ayudarnos a crear una comunidad en Barcelona? +

    + + + +
  • + + + + +
  • + +

    Cancelled

    + + +

    Native and browser SPA versions using re-frame, ClojureScript and ReactNative

    +

    Manuel Rivero

    + +

    +We'll talk about what we learned developing the browser and native versions of a SPA, that share 90 sth % of their code using React and ReactNative and about the advantages of using a functional language like ClojureScript combined with the re-frame framework which has an architecture similar to Redux but with great conceptual improvements such as effects and coeffects that improve testability by eliminating the need of mocking inside the SPA business logic, or reactive subscriptions which make views dumber and can also reduce the number of renderings. +

    + + + +
  • + + +
+ +
+
+ + + + + + + + + + + + + + diff --git a/2018/talks/a-bag-of-sweets-with-mojo.html b/2018/talks/a-bag-of-sweets-with-mojo.html new file mode 100644 index 0000000..99f2bb6 --- /dev/null +++ b/2018/talks/a-bag-of-sweets-with-mojo.html @@ -0,0 +1,17 @@ + + + Barcelona Perl & Friends 2018 + + + + + + + + + + + diff --git a/2018/talks/a-tour-of-the-elixir-source-code.html b/2018/talks/a-tour-of-the-elixir-source-code.html new file mode 100644 index 0000000..4580b65 --- /dev/null +++ b/2018/talks/a-tour-of-the-elixir-source-code.html @@ -0,0 +1,17 @@ + + + Barcelona Perl & Friends 2018 + + + + + + + + + + + diff --git a/2018/talks/building-a-markdown-parser-only-with-functions.html b/2018/talks/building-a-markdown-parser-only-with-functions.html new file mode 100644 index 0000000..763f653 --- /dev/null +++ b/2018/talks/building-a-markdown-parser-only-with-functions.html @@ -0,0 +1,17 @@ + + + Barcelona Perl & Friends 2018 + + + + + + + + + + + diff --git a/2018/talks/clouddeploy-perl-flavoured-infra-as-code.html b/2018/talks/clouddeploy-perl-flavoured-infra-as-code.html new file mode 100644 index 0000000..ed9420c --- /dev/null +++ b/2018/talks/clouddeploy-perl-flavoured-infra-as-code.html @@ -0,0 +1,17 @@ + + + Barcelona Perl & Friends 2018 + + + + + + + + + + + diff --git a/2018/talks/code-your-future.html b/2018/talks/code-your-future.html new file mode 100644 index 0000000..3ade36d --- /dev/null +++ b/2018/talks/code-your-future.html @@ -0,0 +1,17 @@ + + + Barcelona Perl & Friends 2018 + + + + + + + + + + + diff --git a/2018/talks/empaquetando-aplicaciones-perl-para-windows.html b/2018/talks/empaquetando-aplicaciones-perl-para-windows.html new file mode 100644 index 0000000..e82316b --- /dev/null +++ b/2018/talks/empaquetando-aplicaciones-perl-para-windows.html @@ -0,0 +1,17 @@ + + + Barcelona Perl & Friends 2018 + + + + + + + + + + + diff --git a/2018/talks/life-inside-a-perl-using-developer-focused-saas-business.html b/2018/talks/life-inside-a-perl-using-developer-focused-saas-business.html new file mode 100644 index 0000000..60985f7 --- /dev/null +++ b/2018/talks/life-inside-a-perl-using-developer-focused-saas-business.html @@ -0,0 +1,17 @@ + + + Barcelona Perl & Friends 2018 + + + + + + + + + + + diff --git a/2018/talks/luser-hacking-survival-kit.html b/2018/talks/luser-hacking-survival-kit.html new file mode 100644 index 0000000..4b71af3 --- /dev/null +++ b/2018/talks/luser-hacking-survival-kit.html @@ -0,0 +1,17 @@ + + + Barcelona Perl & Friends 2018 + + + + + + + + + + + diff --git a/2018/talks/moosex-dic-type-constrained-dependency-injection.html b/2018/talks/moosex-dic-type-constrained-dependency-injection.html new file mode 100644 index 0000000..5669515 --- /dev/null +++ b/2018/talks/moosex-dic-type-constrained-dependency-injection.html @@ -0,0 +1,17 @@ + + + Barcelona Perl & Friends 2018 + + + + + + + + + + + diff --git a/2018/talks/native-and-browser-spa-versions.html b/2018/talks/native-and-browser-spa-versions.html new file mode 100644 index 0000000..61a4fa3 --- /dev/null +++ b/2018/talks/native-and-browser-spa-versions.html @@ -0,0 +1,17 @@ + + + Barcelona Perl & Friends 2018 + + + + + + + + + + + diff --git a/2018/talks/ravada-vdi.html b/2018/talks/ravada-vdi.html new file mode 100644 index 0000000..7a21855 --- /dev/null +++ b/2018/talks/ravada-vdi.html @@ -0,0 +1,17 @@ + + + Barcelona Perl & Friends 2018 + + + + + + + + + + + diff --git a/2018/talks/robust-code-in-dynamic-languages-the-clojure-approach.html b/2018/talks/robust-code-in-dynamic-languages-the-clojure-approach.html new file mode 100644 index 0000000..8269b69 --- /dev/null +++ b/2018/talks/robust-code-in-dynamic-languages-the-clojure-approach.html @@ -0,0 +1,17 @@ + + + Barcelona Perl & Friends 2018 + + + + + + + + + + + diff --git a/2018/talks/spiders-gophers-and-butterflies.html b/2018/talks/spiders-gophers-and-butterflies.html new file mode 100644 index 0000000..fcd7cec --- /dev/null +++ b/2018/talks/spiders-gophers-and-butterflies.html @@ -0,0 +1,17 @@ + + + Barcelona Perl & Friends 2018 + + + + + + + + + + + diff --git a/2018/talks/volar-a-la-nube-consejos-para-tu-viaje.html b/2018/talks/volar-a-la-nube-consejos-para-tu-viaje.html new file mode 100644 index 0000000..ad3ef49 --- /dev/null +++ b/2018/talks/volar-a-la-nube-consejos-para-tu-viaje.html @@ -0,0 +1,17 @@ + + + Barcelona Perl & Friends 2018 + + + + + + + + + + + diff --git a/2018/talks/wikipedia-and-wikidata-data-access-with-perl.html b/2018/talks/wikipedia-and-wikidata-data-access-with-perl.html new file mode 100644 index 0000000..8ad5488 --- /dev/null +++ b/2018/talks/wikipedia-and-wikidata-data-access-with-perl.html @@ -0,0 +1,17 @@ + + + Barcelona Perl & Friends 2018 + + + + + + + + + + +